Lean source · namespace BFPP
PointwisePrefixes.lean
BFPP/PointwisePrefixes.lean · 60 lines
Supplementary formalization of material removed from the current manuscript’s appendix.
1import BFPP.PointwiseSupremum23/-! # Algebra of increasing pointwise prefixes -/45namespace BFPP67set_option autoImplicit false8open Set Order Cardinal unitInterval910universe u v w11variable {K : Type u} [TopologicalSpace K]12variable {ι : Type v} [LinearOrder ι]1314noncomputable def pointwisePrefix (g : ι → C(K, I)) (i : ι) (t : K) : I := ⨆ j < i, g j t1516theorem pointwisePrefix_image (g : ι → C(K, I)) (i : ι) :17 pointwisePrefix g i = pointwiseSup (g '' Iio i) := by18 funext t19 simp only [pointwisePrefix, pointwiseSup, iSup_image, mem_Iio]2021theorem pointwisePrefix_mono (g : ι → C(K, I)) : Monotone (pointwisePrefix g) := by22 intro i j hij t23 exact iSup_le fun k => iSup_le fun hk =>24 le_iSup_of_le k (le_iSup_of_le (hk.trans_le hij) le_rfl)2526theorem pointwisePrefix_bot [OrderBot ι] (g : ι → C(K, I)) :27 pointwisePrefix g ⊥ = fun _ => 0 := by28 funext t29 simp only [pointwisePrefix, not_lt_bot, iSup_false, iSup_bot]30 rfl3132theorem pointwisePrefix_limit (g : ι → C(K, I)) (i : ι)33 (hi : ∀ j, j < i → ∃ k, j < k ∧ k < i) (t : K) :34 pointwisePrefix g i t = ⨆ j : Iio i, pointwisePrefix g j.val t := by35 apply le_antisymm36 · refine iSup_le fun j => iSup_le fun hj => ?_37 obtain ⟨k, hjk, hki⟩ := hi j hj38 exact le_iSup_of_le ⟨k, hki⟩ (le_iSup_of_le j (le_iSup_of_le hjk le_rfl))39 · exact iSup_le fun j => pointwisePrefix_mono g j.property.le t4041theorem pointwisePrefix_terminal [NoMaxOrder ι] (g : ι → C(K, I)) (t : K) :42 (⨆ i, pointwisePrefix g i t) = ⨆ i, g i t := by43 apply le_antisymm44 · exact iSup_le fun i => iSup_le fun j => iSup_le fun _ => le_iSup (fun j => g j t) j45 · refine iSup_le fun j => ?_46 obtain ⟨i, hji⟩ := exists_gt j47 exact le_iSup_of_le i (le_iSup_of_le j (le_iSup_of_le hji le_rfl))4849theorem pointwisePrefix_reindex {ν : Type w} [LinearOrder ν] (e : ν ≃o ι)50 (g : ι → C(K, I)) (i : ν) :51 pointwisePrefix (g ∘ e) i = pointwisePrefix g (e i) := by52 funext t53 apply le_antisymm54 · refine iSup_le fun j => iSup_le fun hj => ?_55 exact le_iSup_of_le (e j) (le_iSup_of_le (e.strictMono hj) le_rfl)56 · refine iSup_le fun j => iSup_le fun hj => ?_57 have hji : e.symm j < i := by simpa using e.symm.strictMono hj58 exact le_iSup_of_le (e.symm j) (le_iSup_of_le hji (by simp))5960end BFPPSHA-256
92c7d09e5f50d8bc4cff08ace97fa2a14aac69b313a13b903fbd10fdc7ed1dac