3、Agda中的布尔函数式编程与定理证明

Agda中的布尔函数式编程与定理证明

布尔函数式编程

布尔运算定义

在Agda中,我们可以通过模式匹配和方程来定义布尔运算。例如,对于布尔合取(conjunction),可以通过查看第一个参数来定义:

tt && b = b
ff && b = ff

这里, b 被Agda视为变量,变量名可以是几乎任何Unicode字符,但不能是构造函数名,也不能使用一些内置标点符号,如点、分号和括号。

对于布尔析取(disjunction),定义如下:

_||_ : B → B → B
tt || b = tt
ff || b = b

我们可以使用 Control-c Control-n 在Agda中测试这些定义,例如计算 tt && (ff || tt) 会得到 tt

if-then-else操作

在Agda中,我们可以自定义 if-then-else 操作,代码如下:

if_then_else_ : @ {ℓ} {A : Set ℓ} → B → A → A → A
if tt then t else f = t
if ff then t 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值