Carleson/ToMathlib/Analysis/RCLike/Components.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Pinned Carleson blueprint

18 declarations, 0 contain sorry, 0 declared as axioms

Helper lemmas for the RCLike component decomposition norm bounds
Imports (1)
Imported by 2 files
  1. def RCLike.Components TODO: check whether this is the right approach line 18 source

    Source documentation

    TODO: check whether this is the right approach

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Finset

    Proof uses: Insert.insert, OfNat.ofNat, Neg.neg, RCLike.I, Singleton.singleton

    18 instances, coercions and auxiliary constants left out.

    def Components {𝕂 : Type*} [RCLike 𝕂] : Finset 𝕂 := {1, -1, RCLike.I, -RCLike.I}
  2. lemma RCLike.Components.norm_eq_one line 20 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Membership.mem, Finset, RCLike.Components, Ne, OfNat.ofNat, Eq, Real, Norm.norm

    Proof uses: Or, Neg.neg, RCLike.I, Eq.mp, Insert.insert, Singleton.singleton, Eq.trans, congrArg, Eq.mpr, id, of_eq_true, True, congrFun', NormOneClass.norm_one, eq_self, norm_neg, RCLike.norm_I_of_ne_zero, Eq.symm, Eq.refl, propext and 1 more

    57 instances, coercions and auxiliary constants left out.

    Tactic trace: 14 steps

    Open to load the checked before-and-after goal states.

  3. lemma RCLike.Components.norm_le_one line 32 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Membership.mem, Finset, RCLike.Components, LE.le, Real, Norm.norm, OfNat.ofNat

    Proof uses: dite, Eq, Eq.mpr, id, congrArg, of_eq_true, Eq.trans, True, congrFun', norm_zero, Not, RCLike.Components.norm_eq_one, le_refl

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

  4. def RCLike.component TODO: check whether this is the right approach line 42 source

    Source documentation

    TODO: check whether this is the right approach

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, NNReal

    Proof uses: Real.toNNReal, AddMonoidHom, Real, AddZero.mk, AddMonoid.toZero, RCLike.re, HMul.hMul, RingHom, starRingEnd

    26 instances, coercions and auxiliary constants left out.

    def component {𝕂 : Type*} [RCLike 𝕂] (c : 𝕂) (a : 𝕂) : ℝβ‰₯0 :=
    …

    Mentions: c

  5. lemma RCLike.component_le_norm line 45 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Membership.mem, Finset, RCLike.Components, LE.le, Real, RCLike.component, Norm.norm

    Proof uses: id, Eq.mpr, Real.toNNReal, AddMonoidHom, AddZero.mk, AddMonoid.toZero, RCLike.re, HMul.hMul, RingHom, starRingEnd, Max.max, OfNat.ofNat, Eq, congrArg, Real.coe_toNNReal', max_le, LE.le.trans, RCLike.re_le_norm, congrFun', Eq.trans and 8 more

    65 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  6. lemma RCLike.component_le_nnnorm line 56 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Membership.mem, Finset, RCLike.Components, LE.le, NNReal, RCLike.component, NNNorm.nnnorm

    Proof uses: Eq.mpr, Real.toNNReal, Norm.norm, id, Eq, congrArg, Eq.symm, norm_toNNReal, NNReal.le_toNNReal_of_coe_le, RCLike.component_le_norm

    29 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  7. lemma RCLike.decomposition line 62 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Eq, HAdd.hAdd, HMul.hMul, OfNat.ofNat, RingHom, Real, Algebra.algebraMap, RCLike.component, Neg.neg, RCLike.I

    Proof uses: id, Eq.mpr, Real.toNNReal, AddMonoidHom, AddZero.mk, AddMonoid.toZero, RCLike.re, starRingEnd, Max.max, RCLike.im, congrFun', congrArg, congr, Eq.trans, NNReal, map_one, mul_one, one_mul, map_neg, NNRat and 19 more

    153 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

  8. theorem RCLike.nnnorm_ofReal line 74 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, NNReal, Eq, NNNorm.nnnorm

    Proof uses: NNReal.eq, of_eq_true, Real, Eq.trans, True, congrArg, RingHom, Algebra.algebraMap, nnnorm_algebraMap', NNReal.nnnorm_eq, eq_self

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  9. theorem RCLike.enorm_ofReal line 80 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, NNReal, Eq, ENNReal, ENorm.enorm

    Proof uses: Eq.mpr, id, congrFun', congrArg, enorm_NNReal, NNNorm.nnnorm, enorm_eq_nnnorm, of_eq_true, Eq.trans, True, RingHom, Real, Algebra.algebraMap, nnnorm_algebraMap', NNReal.nnnorm_eq, eq_self

    53 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  10. lemma RCLike.component_one_add_neg_one line 122 source
  11. lemma RCLike.component_I_add_neg_I line 131 source
  12. lemma RCLike.norm_realPart_le Norm of the real component part is at most β€–aβ€– line 143 source

    Source documentation

    Norm of the real component part is at most β€–aβ€–.

    private lemma norm_realPart_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–algebraMap ℝ 𝕂 (component 1 a).toReal +
          (-1 : 𝕂) * algebraMap ℝ 𝕂 (component (-1) a).toRealβ€– ≀ β€–aβ€– := by
    …

    Mentions: RCLike.component

  13. lemma RCLike.norm_imPart_le Norm of the imaginary component part is at most β€–aβ€– line 150 source

    Source documentation

    Norm of the imaginary component part is at most β€–aβ€–.

    private lemma norm_imPart_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–(I : 𝕂) * algebraMap ℝ 𝕂 (component I a).toReal +
          (-I : 𝕂) * algebraMap ℝ 𝕂 (component (-I) a).toRealβ€– ≀ β€–aβ€– := by
    …

    Mentions: RCLike.component

  14. lemma RCLike.norm_posReal_le max(re a, 0) embedded in 𝕂 has norm at most |re a| line 164 source

    Source documentation

    max(re a, 0) embedded in 𝕂 has norm at most |re a|.

    private lemma norm_posReal_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–(algebraMap ℝ 𝕂 (component 1 a).toReal : 𝕂)β€– ≀
          β€–algebraMap ℝ 𝕂 (component 1 a).toReal +
            (-1 : 𝕂) * algebraMap ℝ 𝕂 (component (-1) a).toRealβ€– := by
    …

    Mentions: RCLike.component

  15. lemma RCLike.norm_negReal_le max(-re a, 0) negated and embedded in 𝕂 has norm at most |re a| line 175 source

    Source documentation

    max(-re a, 0) negated and embedded in 𝕂 has norm at most |re a|.

    private lemma norm_negReal_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–(-1 : 𝕂) * algebraMap ℝ 𝕂 (component (-1) a).toRealβ€– ≀
          β€–algebraMap ℝ 𝕂 (component 1 a).toReal +
            (-1 : 𝕂) * algebraMap ℝ 𝕂 (component (-1) a).toRealβ€– := by
    …

    Mentions: RCLike.component

  16. lemma RCLike.norm_posIm_le I * max(im a, 0) has norm at most β€–I * im⁺ - I * im⁻‖ line 187 source

    Source documentation

    I * max(im a, 0) has norm at most β€–I * im⁺ - I * im⁻‖.

    private lemma norm_posIm_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–(I : 𝕂) * algebraMap ℝ 𝕂 (component I a).toRealβ€– ≀
          β€–(I : 𝕂) * algebraMap ℝ 𝕂 (component I a).toReal +
            (-I : 𝕂) * algebraMap ℝ 𝕂 (component (-I) a).toRealβ€– := by
    …

    Mentions: RCLike.component

  17. lemma RCLike.norm_negIm_le -I * max(-im a, 0) has norm at most β€–I * im⁺ - I * im⁻‖ line 201 source

    Source documentation

    -I * max(-im a, 0) has norm at most β€–I * im⁺ - I * im⁻‖.

    private lemma norm_negIm_le {𝕂 : Type*} [RCLike 𝕂] (a : 𝕂) :
        β€–(-I : 𝕂) * algebraMap ℝ 𝕂 (component (-I) a).toRealβ€– ≀
          β€–(I : 𝕂) * algebraMap ℝ 𝕂 (component I a).toReal +
            (-I : 𝕂) * algebraMap ℝ 𝕂 (component (-I) a).toRealβ€– := by
    …

    Mentions: RCLike.component

  18. theorem RCLike.induction TODO: clean up the proof line 217 source

    Source comment

    TODO: clean up the proof

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: RCLike, Mul, HAdd.hAdd, Membership.mem, Finset, RCLike.Components, Function.comp, Real, RingHom, Algebra.algebraMap, NNReal, RCLike.component, HSMul.hSMul, LE.le, Norm.norm, HMul.hMul

    Proof uses: Eq, OfNat.ofNat, Neg.neg, RCLike.I, funext, id, RCLike.decomposition, Eq.mpr, congrArg, Eq.symm, add_assoc, congr_fun, Eq.mp, congrFun', one_mul, congr, of_eq_true, Insert.insert, Singleton.singleton, Eq.trans and 5 more

    104 instances, coercions and auxiliary constants left out.

    Tactic trace: 103 steps

    Open to load the checked before-and-after goal states.

    theorem induction {Ξ± : Type*} {𝕂 : Type*} [RCLike 𝕂]
      {Ξ² : Type*} [Mul Ξ²] {a b}
      {P : (Ξ± β†’ 𝕂) β†’ Prop}
      (P_add : βˆ€ {f g : Ξ± β†’ 𝕂}, P f β†’ P g β†’ P (f + g))
      (P_components : βˆ€ {f : Ξ± β†’ 𝕂} {c : 𝕂} (_ : c ∈ RCLike.Components),
        P f β†’ P (algebraMap ℝ 𝕂 ∘ NNReal.toReal ∘ RCLike.component c ∘ f))
      (P_mul_unit : βˆ€ {f : Ξ± β†’ 𝕂} {c : 𝕂} (_ : c ∈ RCLike.Components), P f β†’ P (c β€’ f))
      {motive : (Ξ± β†’ 𝕂) β†’ Ξ² β†’ Prop}
      (motive_nnreal : βˆ€ {f : Ξ± β†’ ℝβ‰₯0} (_ : P (algebraMap ℝ 𝕂 ∘ NNReal.toReal ∘ f)),
        motive (algebraMap ℝ 𝕂 ∘ NNReal.toReal ∘ f) a)
      (motive_add' : βˆ€ {n : Ξ²} {f g : Ξ± β†’ 𝕂} (_ : βˆ€ {x}, β€–f xβ€– ≀ β€–f x + g xβ€–)
        (_ : βˆ€ {x}, β€–g xβ€– ≀ β€–f x + g xβ€–) (_ : P f) (_ : P g),
    …

    Mentions: g, c, RCLike.Components, RCLike.component