qed.
-lemma foo: ∀G:todgroup.∀x,y:G.∀n.
+lemma lt_suplt: ∀G:todgroup.∀x,y:G.∀n.
x < y → x\sup (S n) < y\sup (S n).
intros; elim n; [simplify; apply flt_plusr; assumption]
simplify; apply (ltplus); [assumption] assumption;
qed.
-lemma foo1: ∀G:todgroup.∀x,y:G.∀n.
-x\sup (S n) < y\sup (S n) → x < y.
+lemma suplt_lt: ∀G:todgroup.∀x,y:G.∀n. x\sup (S n) < y\sup (S n) → x < y.
intros 4; elim n; [apply (plus_cancr_lt ??? 0); assumption]
simplify in l; cases (ltplus_orlt ????? l); [assumption]
apply f; assumption;
qed.
-alias num (instance 0) = "natural number".
-lemma foo3: ∀G:todgroup.∀x,y:G.
- 0<x → 0<y → x\sup 3 ≈ y\sup 4 → y < x.
-intros (G x y H1 H2 H3); apply (foo1 ??? 2); apply (lt_rewr ???? H3);
-simplify; repeat apply flt_plusl; apply (lt_rewr ???? (plus_comm ???));
-apply (lt_rewr ???? (zero_neutral ??)); assumption;
-qed.
+lemma supeqplus_lt: ∀G:todgroup.∀x,y:G.∀n,m.
+ 0<x → 0<y → x\sup (S n) ≈ y\sup (S (n+S m)) → y < x.
+intros (G x y n m H1 H2 H3); apply (suplt_lt ??? n); apply (lt_rewr ???? H3);
+clear H3; elim m; [
+ rewrite > sym_plus; simplify; apply (lt_rewl ??? (0+(y+y\sup n))); [
+ 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_rewl ???(0+y\sup(n1+n))); [apply eq_sym; apply zero_neutral]
+apply flt_plusr; assumption;
+qed.
alias num (instance 0) = "natural number".
lemma core1: ∀G:todgroup.∀e:G.0<e → e/3 + e/2 + e/2 < e.
cut (0<w\sup 4); [2: apply (lt_rewr ???? H1); assumption]
lapply (gt_pow ??? Hcut) as H4;
lapply (gt_pow ??? Hcut1) as H5;
-(* elim (eq_le_le ??? H1); elim (eq_le_le ??? H2); *)
-cut (w<w1);[2: apply foo3; try assumption; apply (Eq≈ ? H2 H1);]
+cut (w<w1);[2: apply (supeqplus_lt ??? 2 O); try assumption; apply (Eq≈ ? H2 H1);]
apply (plus_cancr_lt ??? w1);
apply (lt_rewl ??? (w+e)); [
apply (Eq≈ (w+w1\sup 3) ? H2);