0
条件分岐のための簡単な構築物は、Coqの中平等テスト/ wがあります:コック:不等式テスト
Check ltac:(tryif unify 1 (S 0) then idtac "success" else idtac "fail"). (*success...*)
は<
および/または<=
をテストするための同様の方法はありますか?
条件分岐のための簡単な構築物は、Coqの中平等テスト/ wがあります:コック:不等式テスト
Check ltac:(tryif unify 1 (S 0) then idtac "success" else idtac "fail"). (*success...*)
は<
および/または<=
をテストするための同様の方法はありますか?
標準ライブラリ(<=?
と<?
という表記があります)のとltb
関数を使用できますか?
Require Import Arith.
Check ltac:(match (eval cbv in (2 <? 5)) with
| true => idtac "success"
| false => idtac "fail" end).
もちろん、関数の評価が変数に固定されていない場合、これは失敗します。文脈にx
がある場合、それは3 < 5
および1 < S (S x)
であることを確認することができますが、ではそうではありません。
'Require Import Arith。 | true => idtac "success" | false => idtac "fail" end)を使用してltac:(match(e e <?S(S e))) 「成功している」と答えたので、(当面は)問題を解決する – jaam