X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Ftests%2Frewrite.ma;h=aa4fa1f3285ad09f7cb64ce287cda697680b3881;hb=18b2b2742fe8ebb3d11b32b9bb727f510df6927a;hp=1c7308836f523f990bd2d046f9e6e5dc7e29260a;hpb=343d12bf023859c1f2f377eb90e4458f35e3b3ac;p=helm.git diff --git a/helm/matita/tests/rewrite.ma b/helm/matita/tests/rewrite.ma index 1c7308836..aa4fa1f32 100644 --- a/helm/matita/tests/rewrite.ma +++ b/helm/matita/tests/rewrite.ma @@ -1,25 +1,34 @@ +set "baseuri" "cic:/matita/tests/rewrite/". + 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 "eq" (instance 0) = "leibnitz's equality". alias symbol "plus" (instance 0) = "natural plus". +alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". -(* with the unary [[ - ]] we point the term that the path refers to *) theorem a: \forall a,b:nat. - a = b \to a + b = ((\lambda w.((\lambda x.x + b) a)) b). + a = b \to b + a + b + a= (\lambda j.((\lambda w.((\lambda x.x + b + w + j) a)) b)) a. intros. +rewrite < H in \vdash (? ? ? ((\lambda j.((\lambda w.%) ?)) ?)). -(* 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 (? ? % ?). +rewrite < H in \vdash (? ? % ?). -(* a + a = (\w. [[ (\x.x + a) a ]] b *) -simplify in \vdash (? ? ? ((\lambda x.%) ?)). +simplify in \vdash (? ? ? ((\lambda _.((\lambda _.%) ?)) ?)). -(* a + a = (\w.a + a) [[ b ]] *) -rewrite right H in \vdash (? ? ? (? %)). +rewrite < H in \vdash (? ? ? (% ?)). simplify. reflexivity. qed. + +theorem t: \forall n. 0=0 \to n = n + 0. + intros. + apply plus_n_O. +qed. + +(* In this test "rewrite < t" should open a new goal 0=0 and put it in *) +(* the goallist so that the THEN tactical closes it using reflexivity. *) +theorem foo: \forall n. n = n + 0. + intros. + rewrite < t; reflexivity. +qed. \ No newline at end of file