]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/tests/apply.ma
ocaml 3.09 transition
[helm.git] / helm / matita / tests / apply.ma
index 35a788ac68171c75a56b2fe4e95947e5f9f0c3ee..21c0faa419100b2958493aaee9f697b714c22a9d 100644 (file)
@@ -38,3 +38,20 @@ theorem a:
 intros.
 apply H.
 qed.
+
+
+(* this test shows what happens when a term of type A -> ? is applied to
+   a goal of type A' -> B: if A unifies with A' the unifier becomes ? := B
+   and no goal is opened; otherwise the unifier becomes ? := A' -> B and a
+   new goal of type A is created. *)
+theorem c:
+ \forall A,B:Prop.
+   A \to (\forall P: Prop. A \to P) \to (A \to B) \land (B \to B).
+ intros 4; split; [ apply H1 | apply H1; exact H ].
+qed.
+
+(* this test requires the delta-expansion of not in the type of the applied
+   term (to reveal a product) *)
+theorem d: \forall A: Prop. \lnot A \to A \to False.
+ intros. apply H. assumption.
+qed.
\ No newline at end of file