X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Ftests%2Fdiscriminate.ma;h=8b655de87bf8135c3494b88bea6ddcd2d5dbb682;hb=946be00a2b9e1713e934414bd8419f267cca1077;hp=d8e4bf2e25a84951c358c1437551c0d5a971d105;hpb=7f2444c2670cadafddd8785b687ef312158376b0;p=helm.git diff --git a/matita/tests/discriminate.ma b/matita/tests/discriminate.ma index d8e4bf2e2..8b655de87 100644 --- a/matita/tests/discriminate.ma +++ b/matita/tests/discriminate.ma @@ -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