]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/tests/discriminate.ma
auto => auto new everywhere + minor updates to make more tests pass
[helm.git] / helm / software / matita / tests / discriminate.ma
index d8e4bf2e25a84951c358c1437551c0d5a971d105..8b655de87bf8135c3494b88bea6ddcd2d5dbb682 100644 (file)
@@ -17,24 +17,55 @@ include "legacy/coq.ma".
 alias id "not" = "cic:/Coq/Init/Logic/not.con".
 alias num (instance 0) = "natural number".
 alias symbol "eq" (instance 0) = "Coq's leibnitz's equality".
+alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)".
+alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)".
+alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
+alias id "bool" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1)".
+alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)".
+alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
 
 inductive foo: Prop \def I_foo: foo.
 
+alias num (instance 0) = "binary integer number".
 theorem stupid:
   1 = 0 \to (\forall p:Prop. p \to not p).
   intros.
   generalize in match I_foo.
-  discriminate H.
+  destruct H.
 qed.
 
 inductive bar_list (A:Set): Set \def
   | bar_nil: bar_list A
   | bar_cons: A \to bar_list A \to bar_list A.
 
-alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)".
+
 theorem stupid2:
   \forall A:Set.\forall x:A.\forall l:bar_list A.
   bar_nil A = bar_cons A x l \to False.
   intros.
-  discriminate H.
+  destruct H.
+qed.
+
+inductive dt (A:Type): Type \to Type \def
+ | k1: \forall T:Type. dt A T
+ | k2: \forall T:Type. \forall T':Type. dt A (T \to T').
+theorem stupid3:
+ k1 False (False → True) = k2 False False True → False.
+ intros;
+ destruct H.
+qed.
+
+inductive dddt (A:Type): Type \to Type \def
+ | kkk1: dddt A nat
+ | kkk2: dddt A nat.
+theorem stupid4: kkk1 False = kkk2 False \to False.
+ intros;
+ destruct H.
 qed.
+
+theorem recursive: S (S (S O)) = S (S O) \to False.
+ intros;
+ destruct H.
+qed.
\ No newline at end of file