intros 2 (E x); intro H; cases H (_ ABS);
apply (ap_coreflexive ? x ABS);
qed.
-
-(*
+
lemma lt_transitive: ∀E.transitive ? (lt E).
intros (E); unfold; intros (x y z H1 H2); cases H1 (Lxy Axy); cases H2 (Lyz Ayz);
split; [apply (le_transitive ???? Lxy Lyz)] clear H1 H2;
intros (E a b Lab); cases Lab (LEab Aab);
cases Aab (H H); [cases (LEab H)] fold normalize (b ≰ a); assumption; (* BUG *)
qed.
-
-*)
\ No newline at end of file
theorem eq_opp_opp_x_x: ∀G:abelian_group.∀x:G.--x ≈ x.
intros (G x); apply (plus_cancl ??? (-x));
apply (eq_transitive ?? (--x + -x)); [apply plus_comm]
-apply (eq_transitive (carr G) (plus G (opp G (opp G x)) (opp G x)) (zero G) (plus G (opp G x) x) ? ?);
- [apply (opp_inverse G (opp G x)).
- |apply (eq_symmetric (carr G) (plus G (opp G x) x) (zero G) ?).
- apply (opp_inverse G x).
- ]
+apply (eq_transitive ?? 0); [apply opp_inverse]
+apply eq_symmetric; apply opp_inverse;
qed.
-theorem eq_zero_opp_zero: ∀G:abelian_group.0 ≈ -0.
- [ assumption
- | intros;
-apply (eq_transitive (carr G) (zero G) (plus G (opp G (zero G)) (zero G)) (opp G (zero G)) ? ?);
- [apply (eq_symmetric (carr G) (plus G (opp G (zero G)) (zero G)) (zero G) ?).
- apply (opp_inverse G (zero G)).
- |apply (eq_transitive (carr G) (plus G (opp G (zero G)) (zero G)) (plus G (zero G) (opp G (zero G))) (opp G (zero G)) ? ?);
- [apply (plus_comm G (opp G (zero G)) (zero G)).
- |apply (zero_neutral G (opp G (zero G))).
- ]
- ]]
+theorem eq_zero_opp_zero: ∀G:abelian_group.0 ≈ -0. [assumption]
+intro G; apply (plus_cancr ??? 0);
+apply (eq_transitive ?? 0); [apply zero_neutral;]
+apply eq_symmetric; apply opp_inverse;
qed.
set "baseuri" "cic:/matita/ordered_groups/".
-include "groups.ma".
include "ordered_sets.ma".
+include "groups.ma".
record pre_ordered_abelian_group : Type ≝
{ og_abelian_group_: abelian_group;
is_ordered_abelian_group og_pre_ordered_abelian_group
}.
+lemma le_rewl: ∀E:excedence.∀x,z,y:E. x ≈ y → x ≤ z → y ≤ z.
+intros (E x z y); apply (le_transitive ???? ? H1);
+clear H1 z; unfold in H; unfold; intro H1; apply H; clear H;
+lapply ap_cotransitive;
+intros (G x z y); intro Eyz;
+
+
+lemma plus_cancr_le:
+ ∀G:ordered_abelian_group.∀x,y,z:G.x+z ≤ y + z → x ≤ y.
+intros 5 (G x y z L);
+
+ apply L; clear L; elim (exc_cotransitive ???z Exy);
+
lemma le_zero_x_to_le_opp_x_zero:
∀G:ordered_abelian_group.∀x:G.0 ≤ x → -x ≤ 0.
intros (G x Px);