X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Fnat%2Fle_arith.ma;h=6ad389346a8b9e2347493f1b0b3299866feb7869;hb=5f6a2cf7134fda213ffc721ee7eebf5be30d7800;hp=9ab53fd7405a1946cf555974992c922dbdcc2acb;hpb=a9f72dea3b74e3c0c33daf5be8f4d5d75611492c;p=helm.git diff --git a/helm/software/matita/library/nat/le_arith.ma b/helm/software/matita/library/nat/le_arith.ma index 9ab53fd74..6ad389346 100644 --- a/helm/software/matita/library/nat/le_arith.ma +++ b/helm/software/matita/library/nat/le_arith.ma @@ -20,9 +20,10 @@ include "nat/orders.ma". (* plus *) theorem monotonic_le_plus_r: \forall n:nat.monotonic nat le (\lambda m.n + m). -simplify.intros.elim n. -simplify.assumption. -simplify.apply le_S_S.assumption. +simplify.intros.elim n + [simplify.assumption. + |simplify.apply le_S_S.assumption + ] qed. theorem le_plus_r: \forall p,n,m:nat. n \le m \to p + n \le p + m @@ -41,9 +42,21 @@ theorem le_plus_l: \forall p,n,m:nat. n \le m \to n + p \le m + p theorem le_plus: \forall n1,n2,m1,m2:nat. n1 \le n2 \to m1 \le m2 \to n1 + m1 \le n2 + m2. intros. +(** +auto. +*) +apply (transitive_le (plus n1 m1) (plus n1 m2) (plus n2 m2) ? ?); + [apply (monotonic_le_plus_r n1 m1 m2 ?). + apply (H1). + |apply (monotonic_le_plus_l m2 n1 n2 ?). + apply (H). + ] +(* end auto($Revision$) proof: TIME=0.61 SIZE=100 DEPTH=100 *) +(* apply (trans_le ? (n2 + m1)). apply le_plus_l.assumption. apply le_plus_r.assumption. +*) qed. theorem le_plus_n :\forall n,m:nat. m \le n + m.