Paper IX · Lean source
CompactSelfIsometry.lean
Selected results recorded Coverage and evidence
Compiler/replay evidence is reported for a subset or bounded block. No whole-work coverage is implied.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
strengthening/formalization/CompactSelfIsometry.lean42 lines
Original source path
preserved/PRSC_IX_Consolidated_Manuscript/strengthening/formalization/CompactSelfIsometry.leanSkip declarations and read code
1 module
2
3 public import Mathlib.Topology.MetricSpace.Isometry
4 public import Mathlib.Topology.MetricSpace.Cauchy
5 public import Mathlib.Topology.Sequences
6 public import Mathlib.Tactic
7
8 @[expose] public section
9
10 namespace KomorebiPaperIX.CompactSelfIsometry
11
12 variable {X : Type*} [MetricSpace X] {f : X → X}
13
14 theorem iterate_isometry (hf : Isometry f) (n : ℕ) : Isometry f^[n] := by
15 induction n with
16 | zero => exact isometry_id
17 | succ n ih => exact ih.comp hf
18
19 theorem denseRange [CompactSpace X] (hf : Isometry f) : DenseRange f := by
20 rw [Metric.denseRange_iff]
21 intro x ε hε
22 obtain ⟨a, φ, hφ, ht⟩ := CompactSpace.tendsto_subseq (fun n : ℕ => f^[n] x)
23 obtain ⟨N, hN⟩ := Metric.cauchySeq_iff.mp ht.cauchySeq ε hε
24 have hclose := hN N le_rfl (N + 1) (by omega)
25 have hlt : φ N < φ (N + 1) := hφ (by omega)
26 let k := φ (N + 1) - φ N
27 have hk : 0 < k := by dsimp [k]; omega
28 have heq : φ N + k = φ (N + 1) := by dsimp [k]; omega
29 have hd : dist x (f^[k] x) < ε := by
30 rw [← (iterate_isometry hf (φ N)).dist_eq]
31 simpa only [Function.comp_apply, ← Function.iterate_add_apply, heq] using hclose
32 obtain ⟨l, hl⟩ := Nat.exists_eq_succ_of_ne_zero (Nat.ne_of_gt hk)
33 refine ⟨f^[l] x, ?_⟩
34 simpa only [hl, Function.iterate_succ_apply'] using hd
35
36 theorem surjective [CompactSpace X] (hf : Isometry f) : Function.Surjective f := by
37 intro x
38 have hx := denseRange hf x
39 rw [(isCompact_range hf.continuous).isClosed.closure_eq] at hx
40 exact hx
41
42 end KomorebiPaperIX.CompactSelfIsometry
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 3a81b435e899be582f1bcec59c561de1c57b7d7a7c6150a3eeafbe2ca8723c44
Back to Paper IX: Arithmetic Packets, Dyadic Towers, and Local Polynomial Deformation