@@ -5,6 +5,7 @@ Authors: Sébastien Gouëzel, Mario Carneiro, Yury Kudryashov, Heather Macbeth
5
5
-/
6
6
import analysis.normed_space.operator_norm
7
7
import topology.continuous_function.algebra
8
+ import analysis.normed_space.lattice_ordered_group
8
9
9
10
/-!
10
11
# Bounded continuous functions
@@ -1017,4 +1018,72 @@ module over the algebra of bounded continuous functions from `α` to `𝕜`. -/
1017
1018
1018
1019
end normed_algebra
1019
1020
1021
+ section normed_lattice_ordered_group
1022
+
1023
+ variables [topological_space α] [normed_lattice_add_comm_group β]
1024
+
1025
+ instance : partial_order (α →ᵇ β) := partial_order.lift (λ f, f.to_fun) (by tidy)
1026
+
1027
+ /--
1028
+ Continuous normed lattice group valued functions form a meet-semilattice
1029
+ -/
1030
+ instance : semilattice_inf (α →ᵇ β) :=
1031
+ { inf := λ f g,
1032
+ { to_fun := λ t, f t ⊓ g t,
1033
+ continuous_to_fun := f.continuous.inf g.continuous,
1034
+ bounded' := begin
1035
+ cases f.bounded' with C₁ hf,
1036
+ cases g.bounded' with C₂ hg,
1037
+ refine ⟨C₁ + C₂, λ x y, _⟩,
1038
+ simp_rw normed_group.dist_eq at hf hg ⊢,
1039
+ exact (norm_inf_sub_inf_le_add_norm _ _ _ _).trans (add_le_add (hf _ _) (hg _ _)),
1040
+ end },
1041
+ inf_le_left := λ f g, continuous_map.le_def.mpr (λ _, inf_le_left),
1042
+ inf_le_right := λ f g, continuous_map.le_def.mpr (λ _, inf_le_right),
1043
+ le_inf := λ f g₁ g₂ w₁ w₂, continuous_map.le_def.mpr (λ _, le_inf (continuous_map.le_def.mp w₁ _)
1044
+ (continuous_map.le_def.mp w₂ _)),
1045
+ ..bounded_continuous_function.partial_order }
1046
+
1047
+ instance : semilattice_sup (α →ᵇ β) :=
1048
+ { sup := λ f g,
1049
+ { to_fun := λ t, f t ⊔ g t,
1050
+ continuous_to_fun := f.continuous.sup g.continuous,
1051
+ bounded' := begin
1052
+ cases f.bounded' with C₁ hf,
1053
+ cases g.bounded' with C₂ hg,
1054
+ refine ⟨C₁ + C₂, λ x y, _⟩,
1055
+ simp_rw normed_group.dist_eq at hf hg ⊢,
1056
+ exact (norm_sup_sub_sup_le_add_norm _ _ _ _).trans (add_le_add (hf _ _) (hg _ _)),
1057
+ end },
1058
+ le_sup_left := λ f g, continuous_map.le_def.mpr (λ _, le_sup_left),
1059
+ le_sup_right := λ f g, continuous_map.le_def.mpr (λ _, le_sup_right),
1060
+ sup_le := λ f g₁ g₂ w₁ w₂, continuous_map.le_def.mpr (λ _, sup_le (continuous_map.le_def.mp w₁ _)
1061
+ (continuous_map.le_def.mp w₂ _)),
1062
+ ..bounded_continuous_function.partial_order }
1063
+
1064
+ instance : lattice (α →ᵇ β) :=
1065
+ { .. bounded_continuous_function.semilattice_sup, .. bounded_continuous_function.semilattice_inf }
1066
+
1067
+ @[simp] lemma coe_fn_sup (f g : α →ᵇ β) : ⇑(f ⊔ g) = f ⊔ g := rfl
1068
+
1069
+ @[simp] lemma coe_fn_abs (f : α →ᵇ β) : ⇑|f| = |f| := rfl
1070
+
1071
+ instance : normed_lattice_add_comm_group (α →ᵇ β) :=
1072
+ { add_le_add_left := begin
1073
+ intros f g h₁ h t,
1074
+ simp only [coe_to_continuous_fun, pi.add_apply, add_le_add_iff_left, coe_add,
1075
+ continuous_map.to_fun_eq_coe],
1076
+ exact h₁ _,
1077
+ end ,
1078
+ solid :=
1079
+ begin
1080
+ intros f g h,
1081
+ have i1: ∀ t, ∥f t∥ ≤ ∥g t∥ := λ t, solid (h t),
1082
+ rw norm_le (norm_nonneg _),
1083
+ exact λ t, (i1 t).trans (norm_coe_le_norm g t),
1084
+ end ,
1085
+ ..bounded_continuous_function.lattice, }
1086
+
1087
+ end normed_lattice_ordered_group
1088
+
1020
1089
end bounded_continuous_function
0 commit comments