X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Ftests%2Finjection.ma;h=69edcf6205ea8ccaee3fd29d76f05bc7f4b92b06;hb=977aadd03056689f9dc71425e20bcd7ae6f49810;hp=7d9586fd1badd4482f9dc88667cb01e755f42b89;hpb=c9efb92560230e52522266417f6c5b75f6e8d8aa;p=helm.git diff --git a/helm/software/matita/tests/injection.ma b/helm/software/matita/tests/injection.ma index 7d9586fd1..69edcf620 100644 --- a/helm/software/matita/tests/injection.ma +++ b/helm/software/matita/tests/injection.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/test/injection/". +set "baseuri" "cic:/matita/tests/injection". include "legacy/coq.ma". @@ -26,7 +26,7 @@ inductive t0 : Type := theorem injection_test0: ∀n,n',m,m'. k0 n m = k0 n' m' → m = m'. intros; - injection H; + destruct H; assumption. qed. @@ -36,7 +36,7 @@ inductive t : Type → Type := theorem injection_test1: ∀n,n'. k n = k n' → n = n'. intros; - injection H; + destruct H; assumption. qed. @@ -46,7 +46,7 @@ inductive tt (A:Type) : Type -> Type := theorem injection_test2: ∀n,n',m,m'. k1 bool n n' = k1 bool m m' → n' = m'. intros; - injection H; + destruct H; assumption. qed. @@ -54,31 +54,9 @@ inductive ttree : Type → Type := tempty: ttree nat | tnode : ∀A. ttree A → ttree A → ttree A. -(* CSC: there is an undecidable unification problem here: - consider a constructor k : \forall x. f x -> i (g x) - The head of the outtype of the injection MutCase should be (f ?1) - such that (f ?1) unifies with (g d) [ where d is the Rel that binds - the corresponding right parameter in the outtype ] - Coq dodges the problem by generating an equality between sigma-types - (that state the existence of a ?1 such that ...) -theorem injection_test3: - ∀t,t'. tnode nat t tempty = tnode nat t' tempty → t = t'. - intros; - injection H; - assumption. -qed. - -theorem injection_test3: - ∀t,t'. - tnode nat (tnode nat t t') tempty = tnode nat (tnode nat t' tempty) tempty → - t = t'. - intros; - injection H; -*) - theorem injection_test4: ∀n,n',m,m'. k1 bool (S n) (S (S m)) = k1 bool (S n') (S (S (S m'))) → m = S m'. intros; - injection H; + destruct H; assumption. -qed. \ No newline at end of file +qed.