FormalConjectures/Wikipedia/Mandelbrot.lean
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, Formal Conjectures paper, arXiv v1
15 declarations, 6 contain sorry, 0 declared as axioms
Conjectures about the Mandelbrot and Multibrot sets
This file adds three conjectures about the Mandelbrot and Multibrot sets:
- the MLC conjecture, stating that these sets are locally connected
- the density of hyperbolicity conjecture, stating that parameters with attracting cycles are dense in the Mandelbrot and Multibrot sets
- the conjecture that the boundaries of these sets have zero area. The first two conjectures are related in that the former implies the latter.
References:
Imports (1)
Imported by 1 file
- def
Mandelbrot.multibrotSetThe Multibrot set of powernis the set of all parametersc : ℂfor which0does not escape to infinity under repeated application ofz ↦ z ^ n + cline 43 sourceSource documentation
The Multibrot set of power
nis the set of all parametersc : ℂfor which0does not escape to infinity under repeated application ofz ↦ z ^ n + c.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Set,ComplexProof uses:
Set.ofPred,Not,Filter.Tendsto,Nat.iterate,HAdd.hAdd,HPow.hPow,OfNat.ofNat,Filter.atTop,Bornology.cobounded16 instances, coercions and auxiliary constants left out.
def multibrotSet (n : ℕ) : Set ℂ := …
- abbrev
Mandelbrot.mandelbrotSetThe Mandelbrot set is the special case of the multibrot set for n = 2 line 49 sourceSource documentation
The Mandelbrot set is the special case of the multibrot set for n = 2. In other words, it is the set of all parameters
c : ℂfor which0does not escape to infinity under repeated application ofz ↦ z ^ 2 + c.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,ComplexProof uses: Mandelbrot.multibrotSet,
OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
abbrev mandelbrotSet := multibrotSet 2 …
Mentions: Mandelbrot.multibrotSet
- theorem
Mandelbrot.multibrotSet_eqDocumented declaration: multibrotSet_eq line 54 sourceSource documentation
The
multibrotSet nis equivalently the set of all parameterscfor which the orbit of0underz ↦ z ^ n + cdoes not leave the closed disk of radius2 ^ (n - 1)⁻¹around the origin.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq,Set,Complex, Mandelbrot.multibrotSet,Set.ofPred,Real,Norm.norm,Nat.iterate,HAdd.hAdd,HPow.hPow,Inv.inv,HSub.hSubProof uses:
LT.lt,LT.lt.trans_le,one_lt_two,Eq.mpr,id,congrArg,rfl,Real.rpow_pos_of_pos,Mathlib.Meta.Positivity.pos_of_isNat,inferInstance,PartialOrder,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Nat.ble,of_eq_true,Eq.trans,True,congrFun'and 177 more249 instances, coercions and auxiliary constants left out.
Tactic trace: 63 steps
Open to load the checked before-and-after goal states.
theorem multibrotSet_eq {n : ℕ} (hn : 2 ≤ n) : multibrotSet n = {c | ∀ k, ‖(fun z ↦ z ^ n + c)^[k] 0‖ ≤ 2 ^ (n - 1 : ℝ)⁻¹} := by …Mentions: Mandelbrot.multibrotSet, c
- theorem
Mandelbrot.mandelbrotSet_eqThe mandelbrot set is equivalently the set of all parameterscfor which the orbit of0underz ↦ z ^ 2 + cdoes not leave the closed disk of radius two around the origin line 106 sourceSource documentation
The mandelbrot set is equivalently the set of all parameters
cfor which the orbit of0underz ↦ z ^ 2 + cdoes not leave the closed disk of radius two around the origin.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Set,Complex, Mandelbrot.mandelbrotSet,Set.ofPred,Nat,LE.le,Real,Norm.norm,Nat.iterate,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
Eq.mp, Mandelbrot.multibrotSet,Inv.inv,HSub.hSub,congrArg,funext,forall_congr,Eq.trans,Mathlib.Meta.NormNum.isNat_eq_true,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Meta.NormNum.IsInt.to_isNat,Mathlib.Meta.NormNum.isInt_sub,Int.ofNat,Eq.refl,Mathlib.Meta.NormNum.IsNat.to_isInt,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.instAtLeastTwo,Nat.cast_one,Int,inv_oneand 3 more55 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem mandelbrotSet_eq : mandelbrotSet = {c | ∀ k, ‖(fun z ↦ z ^ 2 + c)^[k] 0‖ ≤ 2} := by …Mentions: Mandelbrot.mandelbrotSet, c
- theorem
Mandelbrot.MLCThe MLC conjecture, stating that the mandelbrot set is locally connected sorry line 111 sourceSource documentation
The MLC conjecture, stating that the mandelbrot set is locally connected.
depends on sorry what this means
Statement uses:
LocallyConnectedSpace,Complex, Mandelbrot.mandelbrotSet,Membership.mem,SetProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat21 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem MLC : LocallyConnectedSpace mandelbrotSet := by …
Mentions: Mandelbrot.mandelbrotSet
- theorem
Mandelbrot.MLC_general_exponentA stronger version of the MLC conjecture, stating that all multibrots are locally connected sorry line 118 sourceSource documentation
A stronger version of the MLC conjecture, stating that all multibrots are locally connected. Note that we don't need to require
2 ≤ nbecause the conjecture holds in the trivial casesn = 0andn = 1too.depends on sorry what this means
Statement uses:
Nat,LocallyConnectedSpace,Complex, Mandelbrot.multibrotSet,Membership.mem,SetProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat21 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem MLC_general_exponent (n : ℕ) : LocallyConnectedSpace (multibrotSet n) := by …
Mentions: Mandelbrot.multibrotSet
- def
Mandelbrot.IsAttractingCycleDocumented declaration: IsAttractingCycle line 124 sourceSource documentation
We say that
z : ℂis part of an attracting cycle of periodnoff : ℂ → ℂif it is ann-periodic point (i.e.f^[n] z = z),f^[n]is differentiable atz,‖deriv f^[n] z‖is strictly less than one, andn > 0.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Complex,NatProof uses:
And,LT.lt,OfNat.ofNat,Function.IsPeriodicPt,DifferentiableAt,Nat.iterate,Real,Norm.norm,deriv22 instances, coercions and auxiliary constants left out.
def IsAttractingCycle (f : ℂ → ℂ) (n : ℕ) (z : ℂ) : Prop := …
- theorem
Mandelbrot.isAttractingCycle_z_squared_minus_oneFor example,0is part of an attracting2-cycle ofz ↦ z ^ 2 - 1line 129 sourceSource documentation
For example,
0is part of an attracting2-cycle ofz ↦ z ^ 2 - 1.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Mandelbrot.IsAttractingCycle,
Complex,HSub.hSub,HPow.hPow,Nat,OfNat.ofNatProof uses:
And.intro,LT.lt,And,Function.IsPeriodicPt,DifferentiableAt,Nat.iterate,Real,Norm.norm,deriv,of_decide_eq_true,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,of_eq_true,Eq.trans,True,congrFun'and 33 more140 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem isAttractingCycle_z_squared_minus_one : IsAttractingCycle (fun z ↦ z ^ 2 - 1) 2 0 := …
Mentions: Mandelbrot.IsAttractingCycle
- theorem
Mandelbrot.not_isAttractingCycle_z_squared_minus_twoOn the other hand, while2is part of a1-cycle ofz ↦ z ^ 2 - 2, that cycle is not attracting line 135 sourceSource documentation
On the other hand, while
2is part of a1-cycle ofz ↦ z ^ 2 - 2, that cycle is not attracting.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Not, Mandelbrot.IsAttractingCycle,Complex,HSub.hSub,HPow.hPow,Nat,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,Function.IsPeriodicPt,LT.lt,Real,HMul.hMul,True,And,congrArg,DifferentiableAt,Nat.iterate,Norm.norm,deriv,congr,Eq,eq_self,congrFun',Function.iterate_one,deriv_fun_sub,deriv_fun_powand 21 more125 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem not_isAttractingCycle_z_squared_minus_two : ¬ IsAttractingCycle (fun z ↦ z ^ 2 - 2) 1 2 := by …
Mentions: Mandelbrot.IsAttractingCycle
- theorem
Mandelbrot.no_attractingCycle_period_zeroNo function has an attracting cycle of period0line 141 sourceSource documentation
No function has an attracting cycle of period
0. This is important in that it means we don't need to require0 < nin the conjectures below.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Complex,Not, Mandelbrot.IsAttractingCycle,OfNat.ofNat,NatProof uses:
of_eq_true,Eq.trans,False,True,congrArg,And,LT.lt,Function.IsPeriodicPt,DifferentiableAt,Nat.iterate,Real,Norm.norm,deriv,congr,congrFun',congrFun,id,deriv_id',NormOneClass.norm_one,and_falseand 2 more37 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem no_attractingCycle_period_zero (f : ℂ → ℂ) (z : ℂ) : ¬ IsAttractingCycle f 0 z := by …
Mentions: Mandelbrot.IsAttractingCycle
- theorem
Mandelbrot.density_of_hyperbolicityThe density of hyperbolicity conjecture, stating that the set of all parameterscfor whichfun z ↦ z ^ 2 + chas an attracting cycle is dense in the Mandelbrot set sorry line 147 sourceSource documentation
The density of hyperbolicity conjecture, stating that the set of all parameters
cfor whichfun z ↦ z ^ 2 + chas an attracting cycle is dense in the Mandelbrot set.depends on sorry what this means
Statement uses:
LE.le,Set,Complex, Mandelbrot.mandelbrotSet,closure,Set.ofPred,Exists,Nat, Mandelbrot.IsAttractingCycle,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous32 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem density_of_hyperbolicity : mandelbrotSet ⊆ closure {c | ∃ m z, IsAttractingCycle (fun z ↦ z ^ 2 + c) m z} := by …Mentions: Mandelbrot.mandelbrotSet, c, Mandelbrot.IsAttractingCycle
- theorem
Mandelbrot.density_of_hyperbolicity_general_exponentDocumented declaration: density_of_hyperbolicity_general_exponent sorry line 155 sourceSource documentation
The density of hyperbolicity conjecture for Multibrot sets, stating that the set of all parameters
cfor whichfun z ↦ z ^ n + chas an attracting cycle is dense inmultibrotSet n. Note that we need to require2 ≤ nbecause the conjecture is trivially false forn = 1.depends on sorry what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Set,Complex, Mandelbrot.multibrotSet,closure,Set.ofPred,Exists, Mandelbrot.IsAttractingCycle,HAdd.hAdd,HPow.hPowProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous34 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem density_of_hyperbolicity_general_exponent {n : ℕ} (hn : 2 ≤ n) : multibrotSet n ⊆ closure {c | ∃ m z, IsAttractingCycle (fun z ↦ z ^ n + c) m z} := by …Mentions: Mandelbrot.multibrotSet, c, Mandelbrot.IsAttractingCycle
- theorem
Mandelbrot.multibrotSet_frontier_measurableThe boundary of any Multibrot set is measurable because it is closed, so it makes sense to ask about its area line 162 sourceSource documentation
The boundary of any Multibrot set is measurable because it is closed, so it makes sense to ask about its area.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,MeasurableSet,Complex,frontier, Mandelbrot.multibrotSetProof uses:
IsClosed.measurableSet,isClosed_frontier18 instances, coercions and auxiliary constants left out.
theorem multibrotSet_frontier_measurable {n : ℕ} : MeasurableSet (frontier (multibrotSet n)) := isClosed_frontier.measurableSet …Mentions: Mandelbrot.multibrotSet
- theorem
Mandelbrot.volume_frontier_mandelbrotSet_eq_zeroThe boundary of the Mandelbrot set is conjectured to have zero area sorry line 166 sourceSource documentation
The boundary of the Mandelbrot set is conjectured to have zero area.
depends on sorry what this means
Statement uses:
Eq,ENNReal,MeasureTheory.Measure,Complex,Set,MeasureTheory.MeasureSpace.volume,frontier, Mandelbrot.mandelbrotSet,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,Nat37 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem volume_frontier_mandelbrotSet_eq_zero : volume (frontier mandelbrotSet) = 0 := by …
Mentions: Mandelbrot.mandelbrotSet
- theorem
Mandelbrot.volume_frontier_multibrotSet_eq_zeroThe boundary of any Multibrot set is conjectured to have zero area sorry line 173 sourceSource documentation
The boundary of any Multibrot set is conjectured to have zero area. Note that we don't need to exclude the trivial cases
n = 0andn = 1because the conjecture holds for them.depends on sorry what this means
Statement uses:
Nat,Eq,ENNReal,MeasureTheory.Measure,Complex,Set,MeasureTheory.MeasureSpace.volume,frontier, Mandelbrot.multibrotSet,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous37 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem volume_frontier_multibrotSet_eq_zero {n : ℕ} : volume (frontier (multibrotSet n)) = 0 := by …Mentions: Mandelbrot.multibrotSet