欢迎光临散文网 会员登陆 & 注册

从〇到1,创造一个纯粹的世界!元一的,秩序的_20230803

2023-08-04 10:22 作者:Biehmltym  | 我要投稿

从〇到1,创造一个纯粹的世界!元一的,秩序的_20230803感谢up的课

 裘香莲  https://b23.tv/11Rjb4v

之前用晶体管和电线,模拟过整个8大基本数据类型,类似于手搓门电路,寄存器,cpu。今天用01和lambda表达式从数学的进行了,8大基本数据类型的搭建。连+-*/   if/else   布尔 都是用01 推演出来的。优雅。


编程的目的是:让机器代替人做某些事情
这样就需要
1.人把要做的事情写下来
2.机器能理解并且执行人写下来的
lambda 演算恰巧就做这两件事情

lambda 演算规则。
函数:
一:定义二:调用
函数执行

左边函数就是筛子,右边就是被筛的米和沙子

可以把左邊理解成,篩選方式,右邊為實際上例子的舉例


筛子变复杂的方法二是多个筛子连在一起 





答案:
地球=>地球 左输入, 右输出,就是一个函数,函数是最小的了,已化简完毕。








公理:自然数的后继是自然数。这里实际已经定义的后继的概念。然后你在用公理去推后继的定理。。。公理是大于定理的。后继的概念根本不需要推导。

严谨!这里后继确实是公理提供的!说了一堆是为了让后继这个概念表示自然数好明白一点.

前继的推理也有问题,加=>道=>道(任意)是怎么推出 前继=自然数=>自然数(任意)

回复 @大预言术士 :省略了[doge][doge][doge]没有逻辑推理能推出来 只能归纳出来。需要你自己尝试几下,目的是减短函数链。只要能达到这个目的,前继换成其他函数也没问题!


用函数定义自然数





严谨!这里后继确实是公理提供的!说了一堆是为了让后继这个概念表示自然数好明白一点[脱单doge] 结果把你绕进去了


0:我们给一个任意一个函数,我们就认为它就是零;
后继:( )括号内接收任意一个自然数,然后调用 ,最后生成一个化简以后生成一个新的函数,这个函数的结果就是上一个自然数的后继

我们现在先做一个假设,假设它执行结果就是加 =>道=>道。 当然也可以:道=>道=>道.现在呢我们就利用一个特点,每次让他执行这个后期函数以后呢,在原来的这个函数上面的追加一个东西.这样我们就用它的长度每增加一个长度为1,来表示这个后继增加一次.以此类推,这样我们就把所有的自然数,用函数的方式定义了一遍。

为什么要引用这个语法糖呢?
因为 看起来非常不易读 ,把某一个很长的一个片段的 简写。

就简写成 零,这个读作:道=>道 赋值给 零 。
以后所有的道箭头道呢都可以用零来代替
註:這個“零”的值不一定是0,可能是其他的值,這個“零”只是名稱。

所以语法糖呢就是它没有任何实际的含义,只是为了方便看起来方便。
我们继续就把这一大坨 自然数 =>加 =>自然数 就把它标记为是后继,函数表达式 就 读作 :自然数 =>加 =>自然数 赋值给后继。
对于执行结果:
第一层简写标记方法:
加=>道=>道, 我们就把它 简写(赋值) 成 一,写 做:

一 = 加 => 道 => 道
二 = 加 =>加 => 道 => 道
,一只是个记号,可以用任何其他任何来标记。

第二层简写标记方法(简中简): 道 => 道 直接用记号 零 表示 。
一 = 加 => 道 => 道
一 = 加 => 零

二 = 加 =>加 => 道 => 道
二 = 加 =>加 => 零
二 = 加 =>一

综上总结规律,直接:
三 = 加 =>二
四 = 加 =>三

因此回顾函数:
一 = 后继(零 ) 一 记为 后继(零) 第一次后继后
二 = 后继(一 )二 记为 后继(一) 第二次后继后
三 = 后继(二) 三 记为 后继(二) 第三次后继后

赋值语法,没有任何实际含义,只是为了使用方便。

为了方便此时,让 任意 = 零:


   
完整的布尔真假判断函数,输入3参数,
布尔真假函数:
如果 = (输入)=>(输入)
如果 =(条件,选择一,选择二)=>条件(选择一,选择二)
定义条件:如果真,则真,如果假,则假。真假也是函数。
真函数:
真 =(选择一,选择二)=> 选择一
假函数:
假 =(选择一,选择二)=> 选择二

因此:
如果 =(真,选择一,选择二)=>真(选择一,选择二)
真(选择一,选择二) 真函数 调用选择一,选择二。

因为:
(选择一,选择二)=> 选择一(选择一,选择二)
//选择一



为了直观理解,根据语义






定义的函数

1.零=道=>道
2.后继=自然数=>加=>自然数
3.前继=自然数=>自然数(零)
4.相等=(数一,数二)=>?
5.加 =(数一,数二)=>
如果 (为零(数二) , 数一 , 加(后继(数一),前继(数二)))
6.乘 =(数一,数二)=>?
7.为零=(自然数)=>?
8.如果=(条件,选择一,选择二)=>条件(选择一,选择二)
9.递归!
10.真=(选择一,选择二)=>选择一
11.假=(选择一,选择二)=>选择二
12.非=(条件)=>如果(条件,假,真)
13.或=(条件一,条件二)=>如果(条件一
,真
,如果(条件二,真,假))
14.与=(条件一,条件二)=>?

练习题:

练习7
与=(条件一,条件二)=>?// 输出真或假
练习8
乘=(数一,数二)=>?// 输出自然数
减=(数一,数二)=>?
除=(数一,数二)=>?
练习9
大于=(数一,数二)=>? // 输出真或假
小于=(数一,数二)=>?
练习10
相等=(数一,数二)=>?// 输出自然数
练习11.斐波那契数
第一个月初有一对刚诞生的兔子
第二个月之后(第三个月初)它们可以生育
每月每对可生育的兔子会诞生下一对新兔子
兔子永不死去
过了100个月,总计有多少兔子?

斐波那契数 = (第几月)=>?//输出自然数

第4


((条件)=>((条件,选择一,选择二)=>条件(选择一,选择二))(条件,((选择一,选择二)=>选择二),((选择一,选择二)=>选择一))) (((条件)=>((条件,选择一,选择二)=>条件(选择一,选择二)) (条件,((选择一,选择二)=>选择二),((选择一,选择二)=>选择一))) ((选择一,选择二)=>选择一));



从〇到1,创造一个纯粹的世界!元一的,秩序的_20230803的评论 (共 条)

分享到微博请遵守国家法律