我有一个问题:Record
和Definition
记录和定义
我有这样的定义:
Definition rule := term -> term.
,我为它编写一个布尔函数。
Definition beq_rule a b := beq_term a && beq_term b.
其中beq_term : term -> term -> bool.
所以我的beq_rule
定义实际上只返回类型的beq_term
这是不是我想要在这里。我想这回我的一个类型:rule -> rule -> bool.
因此,我改变规则的定义,通过Record
:
Record rule := mkRule {lhs : term; rhs : term}.
和
Definition beq_rule (a b : rule) : bool :=
beq_term (lhs a) (lhs b) && beq_term (rhs a) (rhs b).
我的问题是:
1)我的第一个定义的rule
使用的Definition
与另一个使用的Record
有什么不同?
2)如果我想通过Definition
定义规则,我可以给别名lhs
和rhs
喜欢Record
的定义吗?