Library Mtac2Tests.unification
From Mtac2 Require Import Mtac2.
Import M.
Import M.notations.
Goal True.
MProof.
unify_cnt (B:=fun x=>x) UniCoq True False (failwith "equal?") (ret I).
Qed.
Goal True.
MProof.
unify_cnt (B:=fun x=>x) UniCoq True True (ret I) (failwith "not equal?").
Qed.
Goal True.
MProof.
pose (r := UniCoq).
mtry
unify_cnt (B:=fun _=>_) r True True (failwith "equal?") (failwith "not equal?")
with NotAUnifStrategy => ret I end.
Qed.
Import M.
Import M.notations.
Goal True.
MProof.
unify_cnt (B:=fun x=>x) UniCoq True False (failwith "equal?") (ret I).
Qed.
Goal True.
MProof.
unify_cnt (B:=fun x=>x) UniCoq True True (ret I) (failwith "not equal?").
Qed.
Goal True.
MProof.
pose (r := UniCoq).
mtry
unify_cnt (B:=fun _=>_) r True True (failwith "equal?") (failwith "not equal?")
with NotAUnifStrategy => ret I end.
Qed.