当simpl或cbn战术无效时,coq降低

当simpl或cbn战术无效时,coq降低,coq,coq-tactic,Coq,Coq Tactic,我试图证明这一点: Fixpoint max(a: nat)(b:nat): nat := if a <=? b then b else a. Example ex: forall n:nat, n = max n n. Proof. intros. (...) 固定点最大值(a:nat)(b:nat):nat:= 如果一个存在一个固定点,即使函数不是递归的,这就是fix的来源。使用定义 fix仅当结构递减参数(此处为n,第一个)以构造函数开头时,才会减少。因此,如果你的函数真的是递归的

我试图证明这一点:

Fixpoint max(a: nat)(b:nat): nat :=
if a <=? b then b
else a.
Example ex: forall n:nat, n = max n n.
Proof.
intros.
(...)
固定点最大值(a:nat)(b:nat):nat:=

如果一个存在一个
固定点
,即使函数不是递归的,这就是
fix
的来源。使用
定义


fix
仅当结构递减参数(此处为
n
,第一个)以构造函数开头时,才会减少。因此,如果你的函数真的是递归的,你可以使用析构函数n.

即使函数不是递归的,也有一个
固定点
,这就是
fix
的来源。使用
定义

fix
仅当结构递减参数(此处为
n
,第一个)以构造函数开头时,才会减少。因此,如果函数真的是递归的,那么可以使用
析构函数n.

n = (fix max (a b : nat) {struct a} : nat := if a <=? b then b else a) n n