]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/library/nat/relevant_equations.ma
ocaml 3.09 transition
[helm.git] / helm / matita / library / nat / relevant_equations.ma
index fee1fd4071a600027e5301d68979d2f15bf2bbff..f4cf43775058d9cfdd550c68f2cb959f00fba512 100644 (file)
 set "baseuri" "cic:/matita/nat/relevant_equations.ma".
 
 include "nat/times.ma".
+include "nat/minus.ma".
 
 theorem times_plus_l: \forall n,m,p:nat. (n+m)*p = n*p + m*p.
 intros.
-apply trans_eq ? ? (p*(n+m)).
+apply (trans_eq ? ? (p*(n+m))).
 apply sym_times.
-apply trans_eq ? ? (p*n+p*m).
+apply (trans_eq ? ? (p*n+p*m)).
 apply distr_times_plus.
 apply eq_f2.
 apply sym_times.
 apply sym_times.
 qed.
 
+theorem times_minus_l: \forall n,m,p:nat. (n-m)*p = n*p - m*p.
+intros.
+apply (trans_eq ? ? (p*(n-m))).
+apply sym_times.
+apply (trans_eq ? ? (p*n-p*m)).
+apply distr_times_minus.
+apply eq_f2.
+apply sym_times.
+apply sym_times.
+qed.
+
 theorem times_plus_plus: \forall n,m,p,q:nat. (n + m)*(p + q) =
 n*p + n*q + m*p + m*q.
 intros.
-apply trans_eq nat ? ((n*(p+q) + m*(p+q))).
+apply (trans_eq nat ? ((n*(p+q) + m*(p+q)))).
 apply times_plus_l.
 rewrite > distr_times_plus.
 rewrite > distr_times_plus.