(**************************************************************************)
-(* ___ *)
+(* ___ *)
(* ||M|| *)
(* ||A|| A project by Andrea Asperti *)
(* ||T|| *)
(**************************************************************************)
set "baseuri" "cic:/matita/tests/elim".
+include "coq.ma".
inductive stupidtype: Set \def
| Base : stupidtype
| Next : stupidtype \to stupidtype
| Pair : stupidtype \to stupidtype \to stupidtype.
-alias symbol "eq" (instance 0) = "leibnitz's equality".
-alias symbol "exists" (instance 0) = "exists".
-alias symbol "or" (instance 0) = "logical or".
+alias symbol "eq" (instance 0) = "Coq's leibnitz's equality".
+alias symbol "exists" (instance 0) = "Coq's exists".
+alias symbol "or" (instance 0) = "Coq's logical or".
+alias num (instance 0) = "natural number".
+alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)".
+alias id "refl_equal" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)".
theorem serious:
\forall a:stupidtype.
clear a.left.left.
reflexivity.
clear H.clear H1.clear a.right.
- exists.exact e2.exists.exact e1.reflexivity.
+ exists.exact s.exists.exact s1.reflexivity.
clear H.clear a.left.right.
- exists.exact e3.reflexivity.
-qed.
\ No newline at end of file
+ exists.exact s.reflexivity.
+qed.
+
+theorem t: 0=0 \to stupidtype.
+ intros; constructor 1.
+qed.
+
+(* In this test "elim t" should open a new goal 0=0 and put it in the *)
+(* goallist so that the THEN tactical closes it using reflexivity. *)
+theorem foo: let ax \def refl_equal ? 0 in t ax = t ax.
+ elim t; reflexivity.
+qed.