-record ordered_abelian_group : Type ≝
- { og_pre_ordered_abelian_group:> pre_ordered_abelian_group;
- og_ordered_abelian_group_properties:
- is_ordered_abelian_group og_pre_ordered_abelian_group
- }.
-
-lemma le_le_eq: ∀E:excedence.∀x,y:E. x ≤ y → y ≤ x → x ≈ y.
-intros 6 (E x y L1 L2 H); cases H; [apply (L1 H1)|apply (L2 H1)]
-qed.
-
-lemma unfold_apart: ∀E:excedence. ∀x,y:E. x ≰ y ∨ y ≰ x → x # y.
-unfold apart_of_excedence; unfold apart; simplify; intros; assumption;
-qed.
-
-lemma le_rewl: ∀E:excedence.∀z,y,x:E. x ≈ y → x ≤ z → y ≤ z.
-intros (E z y x Exy Lxz); apply (le_transitive ???? ? Lxz);
-intro Xyz; apply Exy; apply unfold_apart; right; assumption;
-qed.
-
-lemma le_rewr: ∀E:excedence.∀z,y,x:E. x ≈ y → z ≤ x → z ≤ y.
-intros (E z y x Exy Lxz); apply (le_transitive ???? Lxz);
-intro Xyz; apply Exy; apply unfold_apart; left; assumption;
-qed.
+record ogroup : Type ≝ {
+ og_carr:> pre_ogroup;
+ fle_plusr: ∀f,g,h:og_carr. f≤g → f+h≤g+h
+}.