所以我一直在学习使用Coq,到目前为止,我一直在使用我自己定义的自然类型,所以我不是100%清楚使用默认的自然类型可以做什么。然而,程序固定点需要它,并且我最终需要利用(对人类来说显而易见的)事实,即(n > m) -> (S >S)。我似乎不能证明这一点-我运行类似这样的东西 Theorem gt_triv : forall nm : nat, n > m -> (S n) > (S m
昨天我在这里问了一个关于Coq证明的问题,这个答案对我很有帮助,我能够独自解决许多练习,发现新的功能。今天我还有一个练习,那就是For all m, n, if m <= n then max(m,n) = n。我试着在我之后做自我介绍,但是我被困住了。任何帮助都将不胜感激!Fixpoint max (mn : Nat) : Nat :=
我正在尝试创建一个(j : Nat) -> {auto p : So (j < n)} -> Fin n类型的Idris函数来将Nat转换为Fin n。为了让Z的用例能够工作(并输出FZ),我试图证明0 < n的证明足以生成FZ : Fin n。但我不知道该怎么做。我愿意创建一个完全不同的函数,只要它能将Nat值转换为Fin n值(如果它们存在的话)。我的目标是拥有一些其他函数,可以将任何Nat转换为Mod n