Coq:不平等测试

时间:2017-12-09 07:03:44

标签: if-statement math coq

在Coq:

中有一个简单的条件分支构造和/或相等测试
Check ltac:(tryif unify 1 (S 0) then idtac "success" else idtac "fail"). (*success...*)

是否有类似方法来测试<和/或<=

1 个答案:

答案 0 :(得分:1)

也许您可以使用标准库中的lebltb函数(它们包含符号<=?<?)。

Require Import Arith.

Check ltac:(match (eval cbv in (2 <? 5)) with
            | true =>  idtac "success"
            | false => idtac "fail" end).

当然,如果函数的评估卡在变量上,例如,这将失败。如果您在上下文中有x,则可以查看3 < 51 < S (S x),但不会查看S x < S (S x)