]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/tests/rewrite.ma
fix
[helm.git] / helm / matita / tests / rewrite.ma
index e597e66ef276b9ac0a6fc20197a55e7281f0b45f..1c7308836f523f990bd2d046f9e6e5dc7e29260a 100644 (file)
@@ -2,10 +2,24 @@ alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
 alias num (instance 0) = "natural number".
 alias symbol "eq" (instance 0) = "leibnitz's equality".
 alias symbol "plus" (instance 0) = "natural plus".
+
+(* with the unary [[ - ]] we point the term that the path refers to *)
 theorem a:
   \forall a,b:nat.
-  a = b \to b + a = a + a.
+  a = b \to a + b = ((\lambda w.((\lambda x.x + b) a)) b).
 intros.
+
+(* a + b = (\w.(\x. [[ x + b ]] ) a) b *)
+rewrite right H in \vdash (? ? ? ((\lambda x.%) ?)).
+
+(* [[ a + b ]] = (\w.(\x.x + a) a) b *)
 rewrite right H in \vdash (? ? % ?).
+
+(* a + a = (\w. [[ (\x.x + a) a ]] b *)
+simplify in \vdash (? ? ? ((\lambda x.%) ?)).
+
+(* a + a = (\w.a + a) [[ b ]] *)
+rewrite right H in \vdash (? ? ? (? %)).
+simplify.
 reflexivity.
-qed.
\ No newline at end of file
+qed.