On complemented subspaces of L1[0,1]L_1[0,1]

PL1/LatticeBridge.lean

All source files · Download exact source

SHA-256: f8222f4351f5044bc658e3132232b5b53a3883478fcee2122885a99956cee35b

1import PL1.LatticeDefinitions2import BanLat.Normed3import Mathlib.Analysis.Normed.Module.Seminorm.Norm4import Mathlib.Analysis.Normed.Operator.Basic5import Mathlib.Order.Lattice67/-!8Transporting a Banach lattice norm along a continuous linear equivalence shows9that the renorming obstruction covers target lattices in every universe.10-/1112noncomputable section1314universe u v1516namespace PL11718variable {E : Type u} [NormedAddCommGroup E] [NormedSpace ℝ E]19  {F : Type v} [NormedAddCommGroup F] [Lattice F]20  [IsOrderedAddMonoid F] [BanachLattice F]2122/-- Any real linear Banach-space isomorphism with a Banach lattice pulls back23an equivalent solid lattice norm, irrespective of the target's universe. -/24theorem hasEquivalentRealLatticeNorm_of_continuousLinearEquiv25    (e : E ≃L[ℝ] F) : HasEquivalentRealLatticeNorm E := by26  let : Lattice E := e.toEquiv.lattice27  let : IsOrderedAddMonoid E := {28    add_le_add_left := by29      intro x y h z30      change e (x + z) ≤ e (y + z)31      change e x ≤ e y at h32      simpa only [map_add] using add_le_add h (le_refl (e z)) }33  let : PosSMulMono ℝ E := {34    smul_le_smul_of_nonneg_left := by35      intro a ha x y h36      change e (a • x) ≤ e (a • y)37      change e x ≤ e y at h38      simpa only [map_smul] using smul_le_smul_of_nonneg_left h ha }39  have h_abs (x : E) : e |x| = |e x| := by40    change e (e.symm (e x ⊔ e (-x))) = |e x|41    simp only [e.apply_symm_apply, map_neg, abs]42  refine ⟨inferInstance, inferInstance, inferInstance,43    (normSeminorm ℝ F).comp e.toLinearMap, ?_,44    (‖e.symm.toContinuousLinearMap‖ + 1)⁻¹,45    ‖e.toContinuousLinearMap‖ + 1, ?_, ?_, ?_⟩46  · intro x y h47    change ‖e x‖ ≤ ‖e y‖48    apply norm_le_norm_of_abs_le_abs49    change e |x| ≤ e |y| at h50    simpa only [h_abs] using h51  · positivity52  · positivity53  · intro x54    change (‖e.symm.toContinuousLinearMap‖ + 1)⁻¹ * ‖x‖ ≤ ‖e x‖ ∧55      ‖e x‖ ≤ (‖e.toContinuousLinearMap‖ + 1) * ‖x‖56    constructor57    · have h := e.symm.toContinuousLinearMap.le_opNorm (e x)58      have hbound : ‖x‖ ≤ (‖e.symm.toContinuousLinearMap‖ + 1) * ‖e x‖ := by59        simpa only [ContinuousLinearEquiv.coe_coe, e.symm_apply_apply] using60          h.trans (mul_le_mul_of_nonneg_right (le_add_of_nonneg_right zero_le_one)61            (norm_nonneg (e x)))62      have hpos : 0 < ‖e.symm.toContinuousLinearMap‖ + 1 := by positivity63      rw [inv_mul_eq_div, div_le_iff₀ hpos]64      simpa only [mul_comm] using hbound65    · exact (e.toContinuousLinearMap.le_opNorm x).trans66        (mul_le_mul_of_nonneg_right (le_add_of_nonneg_right zero_le_one) (norm_nonneg x))6768/-- Negating the renorming predicate rules out every real Banach lattice69target, with no restriction on its carrier universe. -/70theorem not_nonempty_continuousLinearEquiv_of_not_hasEquivalentRealLatticeNorm71    (hE : ¬ HasEquivalentRealLatticeNorm E) : ¬ Nonempty (E ≃L[ℝ] F) := by72  rintro ⟨e⟩73  exact hE (hasEquivalentRealLatticeNorm_of_continuousLinearEquiv e)7475end PL176