+
+lemma rs_ordered_abelian_group: ∀K.pre_riesz_space K → ordered_abelian_group.
+ intros (K V);
+ apply mk_ordered_abelian_group;
+ [ apply mk_pre_ordered_abelian_group;
+ [ apply (vs_abelian_group ? (rs_vector_space ? V))
+ | apply (ordered_set_of_lattice (rs_lattice ? V))
+ | reflexivity
+ ]
+ | simplify;
+ generalize in match
+ (og_ordered_abelian_group_properties (rs_ordered_abelian_group_ ? V));
+ intro P;
+ unfold in P;
+ elim daemon(*
+ apply
+ (eq_rect ? ?
+ (λO:ordered_set.
+ ∀f,g,h.
+ os_le O f g →
+ os_le O
+ (plus (abelian_group_OF_pre_riesz_space K V) f h)
+ (plus (abelian_group_OF_pre_riesz_space K V) g h))
+ ? ? (rs_with2 ? V));
+ apply
+ (eq_rect ? ?
+ (λG:abelian_group.
+ ∀f,g,h.
+ os_le (ordered_set_OF_pre_riesz_space K V) f g →
+ os_le (ordered_set_OF_pre_riesz_space K V)
+ (plus (abelian_group_OF_pre_riesz_space K V) f h)
+ (plus (abelian_group_OF_pre_riesz_space K V) g h))
+ ? ? (rs_with1 ? V));
+ simplify;
+ apply og_ordered_abelian_group_properties*)
+ ]
+qed.
+
+coercion cic:/matita/integration_algebras/rs_ordered_abelian_group.con.