Beyond Booleans — overreacted
13 hours ago
- 在Lean中,像`2+2=4`这样的逻辑语句属于`Prop`类型,而非布尔类型。
- Lean中的命题也是类型;证明就是该类型的一个值。
- 证明一个命题等价于构造该类型的一个值。
- 同一命题的多个证明被视为相等(证明无关性)。
- Lean允许将像'x在0和1之间'这样的约束表达为类型层面的证明,从而实现类型化的真值。
- 证明可以通过Mathlib中的现有定理进行组合。
- `Eq`类型仅有一个构造子`refl`,这使得无法证明错误的等式。
- 这通过计算逻辑(而不仅仅是数字)连接了数学和编程。