Lean source · namespace BFPP
PointwiseSupremum.lean
BFPP/PointwiseSupremum.lean · 110 lines
Supplementary formalization of material removed from the current manuscript’s appendix.
1import BFPP.OrdinalIndex2import Mathlib.Topology.UnitInterval3import Mathlib.Order.CompleteLatticeIntervals4import Mathlib.Topology.UrysohnsLemma5import Mathlib.Topology.ExtremallyDisconnected67/-! # Discontinuous pointwise suprema and cardinal minimality -/89namespace BFPP1011set_option autoImplicit false12open Set Order Cardinal unitInterval1314universe u15variable {K : Type u} [TopologicalSpace K]1617noncomputable def pointwiseSup (S : Set C(K, I)) (t : K) : I := ⨆ f ∈ S, f t1819theorem pointwiseSup_mono {S T : Set C(K, I)} (h : S ⊆ T) : pointwiseSup S ≤ pointwiseSup T := by20 intro t21 exact iSup_le fun f => iSup_le fun hf => le_iSup_of_le f (le_iSup_of_le (h hf) le_rfl)2223theorem pointwiseSup_finite (S : Set C(K, I)) (hS : S.Finite) : Continuous (pointwiseSup S) := by24 induction S, hS using Set.Finite.induction_on with25 | empty =>26 have he : pointwiseSup (∅ : Set C(K, I)) = fun _ : K => (⊥ : I) := by27 funext t28 simp [pointwiseSup]29 rw [he]30 exact continuous_const31 | @insert f S hf hS ih =>32 have he : pointwiseSup (insert f S) = fun t => f t ⊔ pointwiseSup S t := by33 funext t34 apply le_antisymm35 · refine iSup_le fun g => iSup_le fun hg => ?_36 rcases hg with rfl | hg37 · exact le_sup_left38 · have hh : g t ≤ pointwiseSup S t := le_iSup_of_le g (le_iSup_of_le hg le_rfl)39 exact hh.trans le_sup_right40 · apply sup_le41 · exact le_iSup_of_le f (le_iSup_of_le (mem_insert f S) le_rfl)42 · exact pointwiseSup_mono (subset_insert f S) t43 rw [he]44 exact f.continuous.sup ih4546def supportedUnitFunctions (U : Set K) : Set C(K, I) := {f | ∀ t, t ∉ U → f t = 0}4748theorem pointwiseSup_supported_eq [CompactSpace K] [T2Space K] (U : Set K) (hU : IsOpen U) :49 pointwiseSup (supportedUnitFunctions U) = U.indicator (fun _ => (1 : I)) := by50 classical51 funext t52 by_cases ht : t ∈ U53 · rw [indicator_of_mem ht]54 apply top_unique55 obtain ⟨f, hf₀, hf₁, hb⟩ := exists_continuous_zero_one_of_isClosed hU.isClosed_compl56 (isClosed_singleton (x := t)) (by57 rw [disjoint_singleton_right]58 simpa only [mem_compl_iff, not_not] using ht)59 let g : C(K, I) := ⟨fun x => ⟨f x, hb x⟩, f.continuous.subtype_mk _⟩60 have hg : g ∈ supportedUnitFunctions U := by61 intro x hx62 apply Subtype.ext63 exact hf₀ hx64 have hgt : g t = 1 := Subtype.ext (hf₁ (mem_singleton t))65 change (1 : I) ≤ ⨆ f ∈ supportedUnitFunctions U, f t66 rw [← hgt]67 exact le_iSup_of_le g (le_iSup_of_le hg le_rfl)68 · rw [indicator_of_notMem ht]69 apply bot_unique70 exact iSup_le fun f => iSup_le fun hf => (hf t ht).le7172theorem exists_discontinuous_pointwiseSup [CompactSpace K] [T2Space K]73 (U : Set K) (hU : IsOpen U) (hclosed : ¬ IsClosed U) :74 ∃ S : Set C(K, I), ¬ Continuous (pointwiseSup S) := by75 refine ⟨supportedUnitFunctions U, ?_⟩76 intro hc77 apply hclosed78 have he : (pointwiseSup (supportedUnitFunctions U)) ⁻¹' {1} = U := by79 rw [pointwiseSup_supported_eq U hU]80 ext t81 by_cases ht : t ∈ U <;> simp [ht]82 rw [← he]83 exact isClosed_singleton.preimage hc8485theorem exists_open_not_closed_of_not_ED (hK : ¬ ExtremallyDisconnected K) :86 ∃ U : Set K, IsOpen U ∧ ¬ IsClosed U := by87 by_contra h88 have hall : ∀ U : Set K, IsOpen U → IsClosed U := by89 intro U hU90 by_contra hclosed91 exact h ⟨U, hU, hclosed⟩92 apply hK93 exact ⟨fun U hU => by rw [(hall U hU).closure_eq]; exact hU⟩9495/-- Minimality is with respect to cardinality, not inclusion or ordinal length. -/96theorem exists_minimal_discontinuous_family [CompactSpace K] [T2Space K]97 (U : Set K) (hU : IsOpen U) (hclosed : ¬ IsClosed U) :98 ∃ S : Set C(K, I), ¬ Continuous (pointwiseSup S) ∧ ℵ₀ ≤ #S ∧99 ∀ T : Set C(K, I), #T < #S → Continuous (pointwiseSup T) := by100 obtain ⟨S, hS, hmin⟩ := (InvImage.wf (fun S : Set C(K, I) => #S) Cardinal.lt_wf).has_min101 {S | ¬ Continuous (pointwiseSup S)} (exists_discontinuous_pointwiseSup U hU hclosed)102 refine ⟨S, hS, ?_, ?_⟩103 · by_contra h104 have hfin : Finite S := Cardinal.lt_aleph0_iff_finite.mp (lt_of_not_ge h)105 exact hS (pointwiseSup_finite S (Set.toFinite S))106 · intro T hT107 by_contra hc108 exact hmin T hc hT109110end BFPPSHA-256
411d0a7a971f5ab9b905c94108e215ce8a6a12baf2d1009709b6a13ebc30546d