X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fdama%2Fordered_divisible_group.ma;h=15dd52cdb853ba822b7d35e4a1ab959b0bf6e311;hb=10f29fdd78ee089a9a94446207b543d33d6c851c;hp=34bd25a237149beffc813b51c56c7ad43d6f97b2;hpb=feaabb3c45906fafb4b6eb3fb10add6e6da6069b;p=helm.git diff --git a/helm/software/matita/dama/ordered_divisible_group.ma b/helm/software/matita/dama/ordered_divisible_group.ma index 34bd25a23..15dd52cdb 100644 --- a/helm/software/matita/dama/ordered_divisible_group.ma +++ b/helm/software/matita/dama/ordered_divisible_group.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/ordered_divisible_group/". + include "nat/orders.ma". include "nat/times.ma". @@ -32,39 +32,44 @@ qed. coercion cic:/matita/ordered_divisible_group/todg_division.con. -lemma pow_lt: ∀G:todgroup.∀x:G.∀n.0 < x → 0 < x + pow ? x n. -intros (G x n H); elim n; [ - simplify; apply (lt_rewr ???? (plus_comm ???)); - apply (lt_rewr ???x (zero_neutral ??)); assumption] -simplify; apply (lt_transitive ?? (x+(x)\sup(n1))); [assumption] -apply flt_plusl; apply (lt_rewr ???? (plus_comm ???)); -apply (lt_rewl ??? (0 + (x \sup n1)) (eq_sym ??? (zero_neutral ??))); -apply (lt_rewl ???? (plus_comm ???)); -apply flt_plusl; assumption; -qed. - -lemma pow_ge: ∀G:todgroup.∀x:G.∀n.0 ≤ x → 0 ≤ pow ? x n. +lemma mul_ge: ∀G:todgroup.∀x:G.∀n.0 ≤ x → 0 ≤ n * x. intros (G x n); elim n; simplify; [apply le_reflexive] apply (le_transitive ???? H1); -apply (le_rewl ??? (0+(x\sup n1)) (zero_neutral ??)); +apply (Le≪ (0+(n1*x)) (zero_neutral ??)); apply fle_plusr; assumption; qed. -lemma ge_pow: ∀G:todgroup.∀x:G.∀n.0 < pow ? x n → 0 < x. -intros 3; elim n; [ - simplify in l; cases (lt_coreflexive ?? l);] -simplify in l; -cut (0+0 sym_plus; simplify; apply (Lt≪ (0+(y+n*y))); [ + apply eq_sym; apply zero_neutral] + apply flt_plusr; assumption;] +apply (lt_transitive ???? l); rewrite > sym_plus; simplify; +rewrite > (sym_plus n); simplify; repeat apply flt_plusl; +apply (Lt≪ (0+(n1+n)*y)); [apply eq_sym; apply zero_neutral] +apply flt_plusr; assumption; +qed. +