Syntax Coq简介语法
有人能解释一下下面的Syntax Coq简介语法,syntax,coq,Syntax,Coq,有人能解释一下下面的介绍语法吗 Lemma is_single_nBTP : forall t, is_single_nBT t = true -> exists n : nat, t = Leaf n. Proof. intros [ nleaf | nnode t1 t2] h. exists nleaf. reflexivity. ... 其中,nBT是一个nat二叉树,是一个函数,当t是一个叶子时,它返回true (本例来自此。)该[A | B]是一种分离模式。这与函数式编程语言
介绍
语法吗
Lemma is_single_nBTP : forall t, is_single_nBT t = true -> exists n : nat, t = Leaf n.
Proof.
intros [ nleaf | nnode t1 t2] h.
exists nleaf.
reflexivity.
...
其中,nBT
是一个nat二叉树,是一个函数,当t
是一个叶子时,它返回true
(本例来自此。)该[A | B]
是一种分离模式。这与函数式编程语言中的案例分析思想相同
在这种情况下,您将创建两个子目标。其中,t
是一片叶子,以自然数nleaf
为参数,另一个t
作为节点
引入,参数为nnode
、t1
和t2
无论如何,另一个参数h:is_single_nBT?=如果?
是Leaf nleaf
或节点nnode t1 t2
,则引入true
。我是否可以使用案例
策略?您还可以查看文档的“简介模式”部分,并将其与其他策略一起使用。我经常在归纳和析构函数中使用它。例如,当你对一个自然数进行归纳时,你可以将归纳n作为[| p hi]
直接命名前导和归纳假设。