|
| 1 | +/- |
| 2 | +Copyright (c) 2026 Nelson Spence. All rights reserved. |
| 3 | +Released under Apache 2.0 license as described in the file LICENSE. |
| 4 | +Authors: Nelson Spence |
| 5 | +-/ |
| 6 | +import FdFormal.FlowerCounts |
| 7 | +import FdFormal.FlowerDiameter |
| 8 | +import Mathlib.Analysis.SpecialFunctions.Log.Basic |
| 9 | +import Mathlib.Tactic |
| 10 | + |
| 11 | +set_option relaxedAutoImplicit false |
| 12 | +set_option autoImplicit false |
| 13 | + |
| 14 | +/-! |
| 15 | +# Fractal Dimension of (u,v)-Flower Graphs |
| 16 | +
|
| 17 | +The fractal dimension of the (u,v)-flower family (for `1 < u`, `u ≤ v`) |
| 18 | +is `d_B = Real.log (u + v) / Real.log u`. |
| 19 | +
|
| 20 | +This is derived from the exact growth laws: |
| 21 | +- `|V_g|` grows like `(u+v)^g` (from `FlowerCounts`) |
| 22 | +- `L_g = u^g` (from `FlowerDiameter`) |
| 23 | +
|
| 24 | +So `Real.log |V_g| / Real.log L_g` → `Real.log (u+v) / Real.log u` |
| 25 | +as `g → ∞`. |
| 26 | +
|
| 27 | +## Main statements |
| 28 | +
|
| 29 | +- `flower_dimension` — the headline theorem: |
| 30 | + `Filter.Tendsto (fun g ↦ Real.log (V_count_real u v g) / |
| 31 | + Real.log (L_diam_real u v g)) |
| 32 | + Filter.atTop (nhds (Real.log (u + v) / Real.log u))` |
| 33 | +
|
| 34 | +## Implementation notes |
| 35 | +
|
| 36 | +Counts and diameters are cast to `ℝ` via explicit wrapper definitions |
| 37 | +(`V_count_real`, `L_diam_real`) defined in `FlowerCounts` and |
| 38 | +`FlowerDiameter`. This avoids implicit coercion fights. |
| 39 | +
|
| 40 | +The proof uses: |
| 41 | +- `Real.log_pow` — `Real.log (x ^ n) = n * Real.log x` |
| 42 | +- `Real.log_pos` — `1 < x → 0 < Real.log x` |
| 43 | +- `Filter.Tendsto` for the limit statement |
| 44 | +
|
| 45 | +The u = 1 case is excluded by hypothesis (`1 < u`). The source |
| 46 | +treatment identifies u = 1 as transfractal with infinite d_B. |
| 47 | +
|
| 48 | +## References |
| 49 | +
|
| 50 | +- [Rozenfeld2007] Theorem 1, fractal dimension formula. |
| 51 | +- [Spence2026] navi-fractal calibration against this formula. |
| 52 | +-/ |
| 53 | + |
| 54 | +-- TODO: State and prove flower_dimension once FlowerCounts and |
| 55 | +-- FlowerDiameter provide the exact formulas. |
| 56 | +-- |
| 57 | +-- Proof sketch: |
| 58 | +-- Real.log (V_count_real u v g) / Real.log (L_diam_real u v g) |
| 59 | +-- = Real.log (C * (u+v)^g) / Real.log (u^g) [by FlowerCounts] |
| 60 | +-- = Real.log (C * (u+v)^g) / (g * Real.log u) [by log_pow] |
| 61 | +-- = (Real.log C + g * Real.log (u+v)) / (g * Real.log u) [by log_mul] |
| 62 | +-- → Real.log (u+v) / Real.log u as g → ∞ [C term vanishes] |
0 commit comments