record pre_riesz_space (K:ordered_field_ch0) : Type \def
{ rs_vector_space:> vector_space K;
rs_lattice_: lattice;
- rs_with: os_carrier rs_lattice_ = rs_vector_space
+ rs_ordered_abelian_group_: ordered_abelian_group;
+ rs_with1:
+ og_abelian_group rs_ordered_abelian_group_ = vs_abelian_group ? rs_vector_space;
+ rs_with2:
+ og_ordered_set rs_ordered_abelian_group_ = ordered_set_of_lattice rs_lattice_
}.
-lemma rs_lattice: ∀K:ordered_field_ch0.pre_riesz_space K → lattice.
+lemma rs_lattice: ∀K.pre_riesz_space K → lattice.
intros (K V);
- apply mk_lattice;
- [ apply (carrier V)
- | apply (eq_rect ? ? (λC:Type.C→C→C) ? ? (rs_with ? V));
- apply l_join
- | apply (eq_rect ? ? (λC:Type.C→C→C) ? ? (rs_with ? V));
- apply l_meet
- | apply
- (eq_rect' ? ?
- (λa:Type.λH:os_carrier (rs_lattice_ ? V)=a.
- is_lattice a
- (eq_rect Type (rs_lattice_ K V) (λC:Type.C→C→C)
- (l_join (rs_lattice_ K V)) a H)
- (eq_rect Type (rs_lattice_ K V) (λC:Type.C→C→C)
- (l_meet (rs_lattice_ K V)) a H))
- ? ? (rs_with ? V));
- simplify;
- apply l_lattice_properties
+ cut (os_carrier (rs_lattice_ ? V) = V);
+ [ apply mk_lattice;
+ [ apply (carrier V)
+ | apply (eq_rect ? ? (λC:Type.C→C→C) ? ? Hcut);
+ apply l_join
+ | apply (eq_rect ? ? (λC:Type.C→C→C) ? ? Hcut);
+ apply l_meet
+ | apply
+ (eq_rect' ? ?
+ (λa:Type.λH:os_carrier (rs_lattice_ ? V)=a.
+ is_lattice a
+ (eq_rect Type (rs_lattice_ K V) (λC:Type.C→C→C)
+ (l_join (rs_lattice_ K V)) a H)
+ (eq_rect Type (rs_lattice_ K V) (λC:Type.C→C→C)
+ (l_meet (rs_lattice_ K V)) a H))
+ ? ? Hcut);
+ simplify;
+ apply l_lattice_properties
+ ]
+ | transitivity (os_carrier (rs_ordered_abelian_group_ ? V));
+ [ apply (eq_f ? ? os_carrier);
+ symmetry;
+ apply rs_with2
+ | apply (eq_f ? ? carrier);
+ apply rs_with1
+ ]
].
qed.
coercion cic:/matita/integration_algebras/rs_lattice.con.
+
+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.
record is_riesz_space (K:ordered_field_ch0) (V:pre_riesz_space K) : Prop ≝
- { rs_compat_le_plus: ∀f,g,h:V. f≤g → f+h≤g+h;
- rs_compat_le_times: ∀a:K.∀f:V. zero K≤a → zero V≤f → zero V≤a*f
+ { rs_compat_le_times: ∀a:K.∀f:V. 0≤a → 0≤f → 0≤a*f
}.
record riesz_space (K:ordered_field_ch0) : Type \def
}.
record is_positive_linear (K) (V:riesz_space K) (T:V→K) : Prop ≝
- { positive: ∀u:V. os_le V 0 u → os_le K 0 (T u);
+ { positive: ∀u:V. 0≤u → 0≤T u;
linear1: ∀u,v:V. T (u+v) = T u + T v;
linear2: ∀u:V.∀k:K. T (k*u) = k*(T u)
}.
is_increasing K (λn.T (a n)) ∧ tends_to ? (λn.T (a n)) (T l)
}.
-definition absolute_value \def λK.λS:riesz_space K.λf.l_join S f (-f).
+definition absolute_value ≝ λK.λS:riesz_space K.λf:S.f ∨ -f.
(**************** Normed Riesz spaces ****************************)
definition is_riesz_norm ≝
λR:real.λV:riesz_space R.λnorm:norm R V.
- ∀f,g:V. os_le V (absolute_value ? V f) (absolute_value ? V g) →
- os_le R (n_function R V norm f) (n_function R V norm g).
+ ∀f,g:V. absolute_value ? V f ≤ absolute_value ? V g →
+ n_function R V norm f ≤ n_function R V norm g.
record riesz_norm (R:real) (V:riesz_space R) : Type ≝
{ rn_norm:> norm R V;
record is_archimedean_riesz_space (K) (S:riesz_space K) : Prop
\def
{ ars_archimedean: ∃u:S.∀n.∀a.∀p:n > O.
- os_le S
- (absolute_value ? S a)
- ((inv K (sum_field K n) (not_eq_sum_field_zero K n p))* u) →
+ absolute_value ? S a ≤
+ (inv K (sum_field K n) (not_eq_sum_field_zero K n p))* u →
a = 0
}.
3. Fremlin proves u > 0 implies x /\ u > 0 > 0 for Archimedean spaces
only. We pick this definition for now.
*) λR:real.λV:archimedean_riesz_space R.λe:V.
- ∀v:V. lt V 0 v → lt V 0 (l_meet V v e).
+ ∀v:V. 0<v → 0 < (v ∧ e).
(* Here we are avoiding a construction (the quotient space to define
f=g iff I(|f-g|)=0 *)
irs_limit1:
∀f:irs_archimedean_riesz_space.
tends_to ?
- (λn.integral (l_meet irs_archimedean_riesz_space f
- ((sum_field R n)*irs_unit)))
+ (λn.integral (f ∧ ((sum_field R n)*irs_unit)))
(integral f);
irs_limit2:
∀f:irs_archimedean_riesz_space.
tends_to ?
(λn.
- integral (l_meet irs_archimedean_riesz_space f
+ integral (f ∧
((inv ? (sum_field R (S n))
(not_eq_sum_field_zero R (S n) (le_S_S O n (le_O_n n)))
) * irs_unit))) 0;
record pre_f_algebra (K:ordered_field_ch0) : Type ≝
{ fa_archimedean_riesz_space:> archimedean_riesz_space K;
- fa_algebra_:> algebra K;
+ fa_algebra_: algebra K;
fa_with: a_vector_space ? fa_algebra_ = rs_vector_space ? fa_archimedean_riesz_space
}.
coercion cic:/matita/integration_algebras/fa_algebra.con.
record is_f_algebra (K) (A:pre_f_algebra K) : Prop ≝
-{ compat_mult_le:
- ∀f,g:A.
- os_le A (zero A) f → os_le A (zero A) g → os_le A (zero A) (a_mult ? A f g);
+{ compat_mult_le: ∀f,g:A.0 ≤ f → 0 ≤ g → 0 ≤ f*g;
compat_mult_meet:
- ∀f,g,h:A.
- l_meet A f g = (zero A) → l_meet A (a_mult ? A h f) g = (zero A)
+ ∀f,g,h:A.(f ∧ g) = 0 → ((h*f) ∧ g) = 0
}.
record f_algebra (K:ordered_field_ch0) : Type ≝
axiom ifa_f_algebra: ∀R:real.integration_f_algebra R → f_algebra R.
-coercion cic:/matita/integration_algebras/ifa_f_algebra.con.
\ No newline at end of file
+coercion cic:/matita/integration_algebras/ifa_f_algebra.con.