尝试证明四则运算
在了解皮亚诺公理体系后,我突然幻想,尝试构建一个类似的公理体系(在不看标答的情况下)。由于是瞎试,所以肯定有非常多不严谨的地方,权当娱乐罢了。
定义
文字叙述的部分
定义一个表达式由算符和数组成。
算符有以下几个性质:
- 返回值:可以是表达式(布尔)或者数
- 输入值:可以是若干个,类型可以是表达式或数
- 描述:将它与正常逻辑体系中的算符做同构
数可以被一系列规则定义,初始只有一个,是0。可以说,此处的数就是指自然数。可用集合 \(\mathbb{N}\) 表示。
使用一个字母可以代表任意数或表达式(合法的)。数用小写字母,表达式用大写字母。
使用 \([]\) 框住一个表达式,作用相当于 \(()\) 对于数的作用。
这种格式表示假设,用于论证 \(\Rightarrow\) 算符
符号定义的部分
\(\wedge\) 算符:表示与。双目,输入均为布尔。返回布尔。
\(\vee\) 算符:表示或。双目,输入均为布尔。返回布尔。
\(=\) 算符:表示等于。双目,输入均为数,返回布尔。性质:
\[$[a=b] \Rightarrow [b=a]$
\]
\[$[a=b \wedge b=c] \Rightarrow [a=c]$
\]
\(\sim\) 算符:表示非。单目,输入布尔,返回布尔。
\(s\) 算符:表示后继。单目:输入数,返回数。
\(\exist\) 量词:表示存在量词。只能修饰变量。
\(\forall\) 量词:表示全称量词。只能修饰变量。
\(0\) 数字:是一个数(自然数)。
之后再加。
公理
皮亚诺的(我不怎么会用)
- \([sa=sb]\Leftrightarrow [a=b]\)
- \(\sim\exist a:sa=0\) 又写作 \(\forall a:sa\neq 0\)
- \([a\in\mathbb{N}]\Rightarrow[sa\in\mathbb{N}]\)
- 数学归纳法:存在一个命题 \(F(x)\) ,\([F(0)\wedge[\forall a\in\mathbb{N}:F(a)\Rightarrow F(sa)]]\Rightarrow[\forall a\in\mathbb{N}:F(a)]\) (这个比较关键)
我的
- \([A\Rightarrow B]\Rightarrow[\sim B\Rightarrow \sim A]\)
等等不再赘述。一般来说我没有证明的我都当作公理了。
一些基本定理
2024/12/16:为了可读性加入了一些分割和自然语言。
加法
符号 \(+\) ,双目,输入均为数,返回数。对于任何两个数都可计算。
定义式
\[$a+0=a$
\]
\[$a+sb=s(a+b)$
\]
交换律
\[$a+b=b+a$
\]
证明:
\[$\large{\mathrm{Lemma\ 1.1:}}$
\]
\[$\mathrm{LET}:0+a=a+0$ \]\[$0+sa=s(0+a)=s(a+0)=sa=sa+0$ \]
\[$\therefore[0+a=a+0]\Rightarrow [0+sa=sa+0]$
\]
\[$\because0+0=0+0$
\]
\[$\therefore0+a=a+0$
\]
\[$\large{\mathrm{Lemma\ 1.2:}}$
\]
\[$\mathrm{LET}:sa+b=s(a+b)$ \]\[$s(a+sb)=ss(a+b)$ \]\[$sa+sb=s(sa+b)=ss(a+b)$ \]\[$sa+sb=s(a+sb)$ \]
\[$\therefore[sa+b=s(a+b)]\Rightarrow [sa+sb=s(a+sb)]$
\]
\[$\because sa+0=sa=s(a+0)$
\]
\[$\therefore sa+b=s(a+b)$
\]
\[$\large{\mathrm{Theorem\ 1:}}$
\]
\[$\mathrm{LET}:a+b=b+a$ \]\[$sb+a=s(b+a)=s(a+b)$ \]\[$a+sb=s(a+b)$ \]\[$a+sb=sb+a$ \]
\[$\therefore[a+b=b+a]\Rightarrow [a+sb=sb+a]$
\]
\[$\therefore a+b=b+a$
\]
结合律
\[$(a+b)+c=a+(b+c)$
\]
证明:
\[$(a+b)+0=a+b=a+(b+0)$
\]
未完待续。。。

浙公网安备 33010602011771号