@@ -120,6 +120,12 @@ instance continuous_map_group {α : Type*} {β : Type*} [topological_space α] [
120
120
mul_left_inv := λ a, by ext; exact mul_left_inv _,
121
121
..continuous_map_monoid }
122
122
123
+ @[simp, norm_cast, to_additive]
124
+ lemma div_coe {α : Type *} {β : Type *} [topological_space α] [topological_space β]
125
+ [group β] [topological_group β] (f g : C(α, β)) :
126
+ ((f / g : C(α, β)) : α → β) = (f : α → β) / (g : α → β) :=
127
+ by { simp only [div_eq_mul_inv], refl, }
128
+
123
129
@[to_additive]
124
130
instance continuous_map_comm_group {α : Type *} {β : Type *} [topological_space α]
125
131
[topological_space β] [comm_group β] [topological_group β] : comm_group C(α, β) :=
@@ -372,3 +378,49 @@ instance continuous_map_module' {α : Type*} [topological_space α]
372
378
end continuous_map
373
379
374
380
end module_over_continuous_functions
381
+
382
+ /-!
383
+ We now provide formulas for `f ⊓ g` and `f ⊔ g`, where `f g : C(α, β)`,
384
+ in terms of `continuous_map.abs`.
385
+ -/
386
+
387
+ section
388
+ variables {R : Type *} [linear_ordered_field R]
389
+
390
+ -- TODO:
391
+ -- This lemma (and the next) could go all the way back in `algebra.ordered_field`,
392
+ -- except that it is tedious to prove without tactics.
393
+ -- Rather than stranding it at some intermediate location,
394
+ -- it's here, immediately prior to the point of use.
395
+ lemma min_eq_half_add_sub_abs_sub {x y : R} : min x y = 2 ⁻¹ * (x + y - abs (x - y)) :=
396
+ begin
397
+ dsimp [min, max, abs],
398
+ simp only [neg_le_self_iff, if_congr, sub_nonneg, neg_sub],
399
+ split_ifs; ring; linarith,
400
+ end
401
+
402
+ lemma max_eq_half_add_add_abs_sub {x y : R} : max x y = 2 ⁻¹ * (x + y + abs (x - y)) :=
403
+ begin
404
+ dsimp [min, max, abs],
405
+ simp only [neg_le_self_iff, if_congr, sub_nonneg, neg_sub],
406
+ split_ifs; ring; linarith,
407
+ end
408
+ end
409
+
410
+ namespace continuous_map
411
+
412
+ section lattice
413
+ variables {α : Type *} [topological_space α]
414
+ variables {β : Type *} [linear_ordered_field β] [topological_space β]
415
+ [order_topology β] [topological_ring β]
416
+
417
+ lemma inf_eq (f g : C(α, β)) : f ⊓ g = (2 ⁻¹ : β) • (f + g - (f - g).abs) :=
418
+ ext (λ x, by simpa using min_eq_half_add_sub_abs_sub)
419
+
420
+ -- Not sure why this is grosser than `inf_eq`:
421
+ lemma sup_eq (f g : C(α, β)) : f ⊔ g = (2 ⁻¹ : β) • (f + g + (f - g).abs) :=
422
+ ext (λ x, by simpa [mul_add] using @max_eq_half_add_add_abs_sub _ _ (f x) (g x))
423
+
424
+ end lattice
425
+
426
+ end continuous_map
0 commit comments