X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Flibrary%2Fnat%2Fminus.ma;h=8302f7ce5873aee8dc6f7893065068e0fb38feb7;hb=5c6b8eec9db4119a87eb4fd4055f1ac31a713d90;hp=3acce20afe21277adfab0b15c6d023022afd5da5;hpb=78044035b4419e569df0d7f6a7f96fa32d21a19d;p=helm.git diff --git a/helm/matita/library/nat/minus.ma b/helm/matita/library/nat/minus.ma index 3acce20af..8302f7ce5 100644 --- a/helm/matita/library/nat/minus.ma +++ b/helm/matita/library/nat/minus.ma @@ -82,20 +82,22 @@ qed. theorem minus_to_plus :\forall n,m,p:nat.m \leq n \to n-m = p \to n = m+p. -intros.apply trans_eq ? ? ((n-m)+m) ?. +intros.apply trans_eq ? ? ((n-m)+m). apply plus_minus_m_m. apply H.elim H1. apply sym_plus. qed. -theorem plus_to_minus :\forall n,m,p:nat.m \leq n \to +theorem plus_to_minus :\forall n,m,p:nat. n = m+p \to n-m = p. intros. apply inj_plus_r m. -rewrite < H1. +rewrite < H. rewrite < sym_plus. symmetry. -apply plus_minus_m_m.assumption. +apply plus_minus_m_m.rewrite > H. +rewrite > sym_plus. +apply le_plus_n. qed. theorem minus_S_S : \forall n,m:nat. @@ -118,8 +120,8 @@ intros 2. apply nat_elim2 (\lambda n,m.n \leq m \to n-m = O). intros.simplify.reflexivity. intros.apply False_ind. -(* ancora problemi con il not *) -apply not_le_Sn_O n1 H. +apply not_le_Sn_O. +goal 13.apply H. intros. simplify.apply H.apply le_S_S_to_le. apply H1. qed. @@ -220,7 +222,7 @@ apply (leb_elim z y). apply inj_plus_l (x*z).assumption. apply trans_eq nat ? (x*y). rewrite < distr_times_plus.rewrite < plus_minus_m_m ? ? H.reflexivity. - rewrite < plus_minus_m_m ? ? ?. + rewrite < plus_minus_m_m. reflexivity. apply le_times_r.assumption. intro.rewrite > eq_minus_n_m_O. @@ -235,9 +237,9 @@ theorem distr_times_minus: \forall n,m,p:nat. n*(m-p) = n*m-n*p theorem eq_minus_minus_minus_plus: \forall n,m,p:nat. (n-m)-p = n-(m+p). intros. -cut m+p \le n \or \not m+p \le n. +cut m+p \le n \or m+p \nleq n. elim Hcut. - symmetry.apply plus_to_minus.assumption. + symmetry.apply plus_to_minus. rewrite > assoc_plus.rewrite > sym_plus p.rewrite < plus_minus_m_m. rewrite > sym_plus.rewrite < plus_minus_m_m. reflexivity. @@ -259,8 +261,6 @@ p+(n-m) = n-(m-p). intros. apply sym_eq. apply plus_to_minus. -apply le_plus_to_minus. -apply trans_le ? n.assumption.rewrite < sym_plus.apply le_plus_n. rewrite < assoc_plus. rewrite < plus_minus_m_m. rewrite < sym_plus.