-/home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/lref_map_defs.moo: ./lref_map_defs.ma /home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
-./lref_map_defs.mo: /home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/lref_map_defs.moo
-/home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo: ./terms_defs.ma /home/tassi/helm/matita/coq.moo
-./terms_defs.mo: /home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
-/home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/tlt_defs.moo: ./tlt_defs.ma /home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
-./tlt_defs.mo: /home/tassi/helm/matita/.matita/xml/matita/LAMBDA-TYPES/tlt_defs.moo
+/home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/lref_map_defs.moo: ./lref_map_defs.ma /home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
+./lref_map_defs.mo: /home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/lref_map_defs.moo
+/home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo: ./terms_defs.ma /home/sacerdot/miohelm/matita/coq.moo
+./terms_defs.mo: /home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
+/home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/tlt_defs.moo: ./tlt_defs.ma /home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/terms_defs.moo
+./tlt_defs.mo: /home/sacerdot/miohelm/matita/.matita/xml/matita/LAMBDA-TYPES/tlt_defs.moo
!! TOTAL TIME SPENT IN disambiguate_thing: 0.
!! TOTAL TIME SPENT IN disambiguate_thing.refine_thing: 0.
!! TOTAL TIME SPENT IN add_obj: 0.
(pos n)*((neg p)+(pos q)) = (pos n)*(neg p)+ (pos n)*(pos q).
intros.
simplify.
-change in match p + n * (S p) with (pred ((S n) * (S p))).
-change in match q + n * (S q) with (pred ((S n) * (S q))).
+change in match (p + n * (S p)) with (pred ((S n) * (S p))).
+change in match (q + n * (S q)) with (pred ((S n) * (S q))).
rewrite < nat_compare_pred_pred.
rewrite < nat_compare_times_l.
rewrite < nat_compare_S_S.
alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)".
theorem t: (\forall x:nat. x=x) \to True.
intro H.
- change in match x in H : \forall _.% with (0+x).
- change in H: \forall _.(? ? ? (? % ?)) with 0.
+ change in match x in H : (\forall _.%) with (0+x).
+ change in H: (\forall _.(? ? ? (? % ?))) with 0.
constructor 1.
qed.
(* This test tests "replace in match t" where t contains some metavariables *)
theorem t2: 2 + (3 * 4) = (5 + 5) + 2 * 2.
- replace in match 5+? with (6 + 4); [reflexivity | reflexivity].
+ replace in match (5+?) with (6 + 4); [reflexivity | reflexivity].
qed.
alias symbol "plus" (instance 0) = "Coq's natural plus".
definition myplus \def \lambda x,y. x+y.
+alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)".
lemma lem: \forall n. S (n + n) = (S n) + n.
intro; reflexivity.
qed.
theorem trivial: \forall n. S (myplus n n) = myplus (S n) n.
- unfold myplus in \vdash \forall _.(? ? ? %).
+ unfold myplus in \vdash (\forall _.(? ? ? %)).
intro.
unfold myplus.
rewrite > lem.
(* This test needs to parse "uno" in the context of the hypothesis H,
not in the context of the goal. *)
+alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
theorem t: let uno \def S O in uno + uno = S uno \to uno=uno.
intros. unfold uno in H.
reflexivity.