]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/tests/injection.ma
added $(USER) so that the night bench can override it (and not put garbage in MY...
[helm.git] / helm / software / matita / tests / injection.ma
index 149a39e81f986a20652f4f16ca40fc34169ac403..7d9586fd1badd4482f9dc88667cb01e755f42b89 100644 (file)
@@ -54,6 +54,13 @@ 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;
@@ -67,13 +74,11 @@ theorem injection_test3:
    t = t'.
  intros;
  injection H;
+*) 
 
 theorem injection_test4:
- ∀n,n',m,m'. k1 bool (S n) (S m) = k1 bool (S n') (S (S m')) → m = S m'.
+ ∀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;
  assumption.
-qed.
-
-
+qed.
\ No newline at end of file