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.
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.
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.