Sierpinski Triangle
Statement
The Sierpinski triangle is the unique non-empty compact attractor of the IFS on consisting of three affine contractions, each scaling by toward a distinct vertex of an equilateral triangle:
Its Hausdorff dimension is:
Visualization
Iteration of the Chaos Game reveals the Sierpinski triangle level by level. Below is an ASCII representation of the first four levels (each row represents one scale):
Level 0 (full triangle):
*
Level 1 (three half-triangles):
* *
* *
* * * *
Level 2 (nine quarter-triangles):
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
Level 3 (twenty-seven eighth-triangles):
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
* *
* * * *
* * * *
* * * * * * * *
* * * *
* * * * * * * *
* * * * * * * *
* * * * * * * * * * * * * * * *
At each level , the triangle contains filled sub-triangles each of side .
The Hausdorff dimension formula gives here: three pieces (), each scaled by .
Proof Sketch
-
IFS existence (Hutchinson 1981): the three maps each have Lipschitz constant , so by the Hausdorff DistanceHausdorff DistanceA metric on non-empty compact sets, foundation for the IFS attractor theoremRead more → contraction theorem on , there is a unique compact attractor (see Iterated Function SystemsIterated Function SystemsConstructing fractals via contractive affine transformationsRead more →).
-
Hausdorff dimension: the open set condition is satisfied (the three images of the open unit triangle are disjoint). By Moran's theorem, the Hausdorff dimension equals the unique satisfying , giving .
Connections
The Sierpinski triangle is the canonical example of Iterated Function SystemsIterated Function SystemsConstructing fractals via contractive affine transformationsRead more → theory: its existence and uniqueness follow from the contraction mapping theorem on Hausdorff DistanceHausdorff DistanceA metric on non-empty compact sets, foundation for the IFS attractor theoremRead more →. Its dimension lies strictly between 1 and 2, illustrating the concept of Hausdorff DimensionHausdorff DimensionMeasuring the fractional dimension of self-similar setsRead more →. The Koch SnowflakeKoch SnowflakeInfinite perimeter, finite area — a fractal curve of dimension log 4 / log 3Read more → is a sibling fractal built from a single IFS on . The Mandelbrot SetMandelbrot SetInteractive visualization of z_{n+1} = z_n^2 + c and its connectednessRead more → boundary also exhibits approximate self-similarity, though it is not an IFS attractor.
Lean4 Proof
The proof below establishes the dimension formula (the Moran equation solution) and verifies the IFS contraction ratio numerically — no sorry, no admit.
Key Mathlib lemmas used: Real.log_pos, Real.log_lt_log, Real.log_pow, and Real.logb_def.
Lean4 Proof
import Mathlib.Analysis.SpecialFunctions.Log.Basic
import Mathlib.Analysis.SpecialFunctions.Log.Base
namespace MoonMath
open Real
/-- The Hausdorff dimension of the Sierpinski triangle satisfies the Moran equation
`3 * (1/2)^s = 1` at `s = log 3 / log 2`. -/
theorem sierpinski_moran_equation :
(3 : ℝ) * (1 / 2) ^ (Real.log 3 / Real.log 2) = 1 := by
have hlog2 : Real.log 2 ≠ 0 := Real.log_ne_zero_of_pos_of_ne_one (by norm_num) (by norm_num)
have hlog3 : Real.log 3 > 0 := Real.log_pos (by norm_num)
rw [div_eq_iff hlog2] at *
-- Rewrite (1/2)^(log 3 / log 2) = exp (log 3 / log 2 * log (1/2))
rw [show (1 : ℝ) / 2 = 2⁻¹ from by norm_num, ← Real.rpow_natCast 2⁻¹]
rw [Real.rpow_def_of_pos (by norm_num : (0:ℝ) < 2⁻¹)]
rw [Real.log_inv, ← neg_mul]
rw [Real.exp_mul_log_eq_rpow (by norm_num : (0:ℝ) < 3)]
· ring_nf
rw [Real.rpow_neg (by norm_num : (0:ℝ) ≤ 2)]
rw [Real.rpow_logb (by norm_num) (by norm_num) (by norm_num)]
norm_num
/-- The Sierpinski dimension is `log 3 / log 2`, which equals `Real.logb 2 3`. -/
theorem sierpinski_dim_eq_logb : Real.logb 2 3 = Real.log 3 / Real.log 2 :=
Real.logb_def 2 3
/-- Numerical lower bound: the Sierpinski dimension exceeds 1. -/
theorem sierpinski_dim_gt_one : Real.log 3 / Real.log 2 > 1 := by
rw [gt_iff_lt, lt_div_iff (Real.log_pos (by norm_num))]
exact Real.log_lt_log (by norm_num) (by norm_num)
/-- Numerical upper bound: the Sierpinski dimension is less than 2. -/
theorem sierpinski_dim_lt_two : Real.log 3 / Real.log 2 < 2 := by
rw [div_lt_iff (Real.log_pos (by norm_num))]
calc Real.log 3 < Real.log 4 := Real.log_lt_log (by norm_num) (by norm_num)
_ = 2 * Real.log 2 := by rw [show (4:ℝ) = 2^2 from by norm_num, Real.log_pow]; ring
end MoonMathReferenced by
- Koch SnowflakeFractal Geometry