[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"3AYVCUaRFs":3},"# iut\n\nInter-universal Teichmüller theory: the ABC/IUT trunk.\n\nThis repository holds the IUT-specific material — the parts of the programme that are\nparticular to Mochizuki's papers rather than independently established mathematics.\nIt does **not** verify IUT.\n\nIt carries these strands:\n\n* **IUT4 §1 — \"Log-volume Estimates.\"** A Lean 4 formalization of the self-contained\n  mathematics in Section 1 of *Inter-universal Teichmüller Theory IV*. Merged here from\n  `LANA-Project/iut4-sec1` with its history.\n* **The Corollary 3.12 variant.** A project-owner-specified variant of IUT III,\n  Corollary 3.12: initial Θ-data (IUT I, Definition 3.1), processions and tensor-packets\n  of log-shells, the large volume container, its log-volume, and the holomorphic hull.\n* **The implication to ABC.** The proof that the Corollary 3.12 variant implies the ABC\n  conjecture, via IUT IV §1 (Theorem 1.10, the `Iut4Sec1` strand) and §2 (Corollaries\n  2.2 and 2.3, using [`LANA-Project/genl`](https://github.com/LANA-Project/genl)).\n  Tracked as taxis [#1449](https://taxis.lana.merten.dev/issues/1449). **The main theorem**\n  is `Iut.classicalABC_of_variant` in [`Iut/MainTheorem.lean`](Iut/MainTheorem.lean):\n\n  ```lean\n  def Iut.Cor312VariantHolds : Prop :=\n    ∀ D : InitialThetaData.{0}, Corollary312Variant (concreteVariantData D)\n\n  theorem Iut.classicalABC_of_variant (h312 : Cor312VariantHolds) : ClassicalABC\n  ```\n\n  with axioms `propext`, `Classical.choice`, `Quot.sound` only.\n* **The anabelian objects.** The model orbicurves of the Θ-data (`Iut/Anabelian/`):\n  orbicurves as elliptic curves with level data, cusps as torsion quotients, the bad-place\n  predicates from minimal Weierstrass models, their **genuine** étale fundamental groups,\n  `k`-cores and tempered fundamental groups, and a proof that the anabelian part of initial\n  Θ-data exists (IUT I, Definition 3.1(d)–(f); taxis\n  [#276](https://taxis.lana.merten.dev/issues/276),\n  [#279](https://taxis.lana.merten.dev/issues/279),\n  [#1469](https://taxis.lana.merten.dev/issues/1469)). The Θ-data are stated directly about\n  these objects; no interface remains.\n\nMochizuki's *Arithmetic Elliptic Curves in General Position* is **not** developed here;\nit lives in [`LANA-Project/genl`](https://github.com/LANA-Project/genl).\n\n## Status\n\n* **Proved** (axioms `propext`, `Classical.choice`, `Quot.sound` only):\n  `Iut.classicalABC_of_variant : Cor312VariantHolds → ClassicalABC`, whose only hypothesis is\n  `h312`; the identification `Iut.LocalThetaData.pivBadEquivAndre : L.PivBad v ≃ₜ*\n  X̲_v.andrePi1` of `Π_v` at the bad places with André's tempered group, with no hypothesis\n  beyond the Θ-data; and Theorem B for the Tate curves of the Θ-data,\n  `Iut.InitialThetaData.tate_nondegenerate` (for the geometric presentation, see below).\n* **Not proved, and out of scope:** `Iut.Cor312VariantHolds` itself, i.e. the variant of\n  IUT III, Corollary 3.12. The repository does not verify IUT.\n* **Not formalized:** the bridge from Theorem B for the geometric presentation of the Tate\n  orbicurve to `LocalThetaData.PivBad` (invariance under a change of Weierstrass model and the\n  comparison with the Galois presentation `Genuine.orbifold`).\n\n## Honesty boundary\n\nClaims imported from IUT I–III, and mathematical infrastructure unavailable in Mathlib,\nare kept behind explicit interfaces or certificates rather than introduced as axioms or\nhidden inside helper structures. See the [implementation specification and honesty\nboundary](Plans/Iut4Sec1Spec.md#2-honesty-boundary).\n\nNo certificate interface of another repository is used. The `p`-adic logarithm, the\nlog-shells and the normalized Haar log-volume of the tensor packets are constructed here\n([`Iut/Concrete/LocalConstruct/`](Iut/Concrete/LocalConstruct), e.g.\n`Iut.LocalTheory.componentVol`); the tower arithmetic of Theorem 1.10 is proved for the tripod\n(`Iut.Tripod.towerArithmetic_of_towerLocalHyp`); and the prime-counting bound of\nProposition 1.6 is used with the factor `3/2`, proved from Mathlib's Chebyshev bound\n(`Iut.primeCountingBoundExplicit`, `Iut.primeCountingHyp_holds`). Of the local-field seams,\n[`padic-log-volume`](https://github.com/lana-agents/padic-log-volume) is a dependency (the\n`p`-adic logarithm and the trace-duality lemmas); the repositories\n[`elliptic-reduction`](https://github.com/lana-agents/elliptic-reduction) and\n[`prime-counting`](https://github.com/lana-agents/prime-counting) are not dependencies (some\nmodule docstrings still mention them as the original seams). The printed factor `4/3` of\nProposition 1.6 is not used and is not formalized.\n\n**Statement corrections.** Two statements of the local theory of the tensor packets\n(`Iut.LocalTheory`) were restricted when the construction showed the unrestricted statements\nto be false for every construction: `componentVol_prime_preimage` (the scaling law `μ^log(p⁻¹U) = μ^log(U)\n+ log p`) is stated for admissible regions of packets all of whose places lie over `p`\n(it fails for `U = ∅`; see the remark in `Iut/Concrete/LocalConstruct/Volume.lean`), and\n`prop14_iii` (IUT IV, Proposition 1.4(iii)) carries the same hypothesis that every place\nof the packet lies over `p`: for a packet with a place not over `p` — the zero ring in\nthe construction — the log-volume is identically `0` while the bound is negative for\n`ord_p(x)` large (`componentVol_eq_zero_of_not_isOver`). Both statements are only ever\napplied to tuples of the fiber over `p` (`LocalTheory.tuple_isOver`), so the restriction\ndoes not weaken the conditional results.\n\nThe Corollary 3.12 strand is a **specification / formal-statement project only**. Proving\nthe resulting proposition is explicitly out of scope. The formalisation must not silently\nidentify the variant with Mochizuki's published Corollary 3.12, and must not encode any\ndisputed implication as a proved theorem. Every assumption and specification boundary\nshould be visible in the types. The intended statement will differ in some respects from\nthe formulation printed in the IUT papers; the precise data, hypotheses, definitions and\nconclusion are supplied per-issue by the project owner.\n\n**Anabelian components of the Θ-data.** The conditions of IUT I, Definition 3.1(d)–(f)\nthat involve fundamental groups and cores are stated **directly about the genuine objects**,\nwith no parameter: the conditions — that `C̲_K` has `K`-core `C_K` (the one anabelian\ncondition that constrains the data), the cartesian covering diagrams, the local conditions at\nthe bad places, the cusps and `ε`, the valuation section — are fields of the Θ-data record\n`Iut.InitialThetaData` (and of `Iut.OrbicurveData`, `Iut.LocalThetaData`); the étale and\ntempered fundamental groups, the open immersions induced by the covers and the comparison\nmaps are *derived definitions* from these fields (not fields themselves, and not read by the\nCorollary 3.12 variant):\n\n* the orbicurves are the model orbicurves `Iut.Anabelian.Orbicurve` (`(E, ℓ, M, ±)`, standing\n  for `(E/M) ∖ (E[ℓ]/M)` and its `±1`-quotient) with their covers, cusps, base change, Tate\n  structures and the orbicurve types of *The Étale Theta Function*, Definitions 2.1, 2.5;\n* the étale fundamental group is the genuine arithmetic étale fundamental group\n  `Orbicurve.genuinePi1` (from `lana-agents/pi1`), a cover inducing the open immersion\n  `Iut.Anabelian.genuinePi1Cover`;\n* `k`-cores are the genuine cores `Iut.Anabelian.genuineHasCore` of [CanLift], §2;\n* the tempered fundamental group is `Orbicurve.temperedPi1` with the continuous comparison\n  `Orbicurve.tempToEtale : X.temperedPi1 →* X.genuinePi1`. **Honesty note:** this is the\n  integral-model construction of\n  [`tempered-fundamental-groups`](https://github.com/lana-agents/tempered-fundamental-groups)\n  (for the presentation `[Spec R / A]` of the model orbicurve, over the canonical valuation of\n  the base field). It is **identified with André's tempered fundamental group** at the\n  places of the Θ-data: `Iut.LocalThetaData.pivBadEquivAndre : L.PivBad v ≃ₜ* X̲_v.andrePi1`\n  ([`AndreLocal.lean`](Iut/Cor312/ThetaData/AndreLocal.lean)), with no hypotheses beyond the\n  Θ-data, from Theorem A of that repository (`TemperedFundamentalGroups.andreEquiv'`,\n  unconditional). Its hypotheses are proved here: the canonical valuation of `K_v` is `O_v`\n  (F. K. Schmidt), a complete discrete valuation ring with finite residue field\n  ([`AdicCompletion.lean`](Iut/Anabelian/AdicCompletion.lean)), and the characteristic-`0`\n  presentation ring is smooth of Krull dimension `1` (`lana-agents/pi1`).\n\n**Theorem B at the Tate curves of the Θ-data.** Theorem B of\n`tempered-fundamental-groups` (`TemperedFundamentalGroups.TateOrbicurve.nondegenerate_of_normalForm`:\nfor a Tate curve in normal form over a complete DVR of mixed characteristic with perfect residue\nfield, the tempered group of `[(E ∖ (E[ℓ] + M)) / A]` has an open normal subgroup with infinite\nquotient) is applied to the Tate curves of the Θ-data\n([`TateTheoremB.lean`](Iut/Cor312/ThetaData/TateTheoremB.lean)):\n`Iut.TateParameter.exists_normalForm` puts every Tate curve `E_q` of `tate-curves-theta` in normal\nform (`m = v(q) ≥ 1`, `a₄(q) = ϖ^m u₄`, `a₆(q) = ϖ^m ε` with `ε` a unit), and\n\n```lean\ntheorem Iut.InitialThetaData.tate_nondegenerate (D : InitialThetaData.{u}) (w : FinitePlace D.Kt)\n    (hw : IsBadPlace D.E D.prime.torsionField D.VBad w)\n    (M : AddSubgroup (D.tate.S w hw).t.tateCurve.toAffine.Point)\n    (hM : (M : Set (D.tate.S w hw).t.tateCurve.toAffine.Point).Finite) (pm : Bool) :\n    ∃ N : Subgroup (tateOrbicurve w (D.tate.S w hw).t D.ℓ M pm).affineOrbifold.canonicalTemperedPi1,\n      IsOpen (N : Set _) ∧ N.Normal ∧\n        Infinite ((tateOrbicurve w (D.tate.S w hw).t D.ℓ M pm).affineOrbifold.canonicalTemperedPi1 ⧸ N)\n```\n\nwith `tateOrbicurve w t ℓ M pm = (E_q, ℓ, M, ±)` over `K_w`; axioms `propext`,\n`Classical.choice`, `Quot.sound` only\n(the general form over any completion `F_w` of a number field is `Iut.tateOrbicurve_nondegenerate`).\n**Boundary:** this is about the tempered group of the *geometric* presentation\n`Orbicurve.affineOrbifold` of the model orbicurve `(E_{q_w}, ℓ, M, ±)`, not literally about\n`LocalThetaData.PivBad`, which is the tempered group of the local model `X̲_v` (curve\n`E ×_F K_w`, isomorphic to `E_{q_w}` only after the change of variables `(D.tate.S w hw).C`) in its\nGalois presentation `Genuine.orbifold`. Invariance of the tempered group under a change of\nWeierstrass model and the comparison of the two presentations are not formalized.\n\n[CanLift], Proposition 2.7 is the theorem `Iut.Anabelian.canLift27`\n([`CanLift.lean`](Iut/Anabelian/CanLift.lean)); its consequence for the genuine cores,\n`Iut.Anabelian.hasCore_oncePunctured`, is consumed where Θ-data are constructed. The core\ncondition on the curve of a point enters as the finiteness of the exceptional set of points\nwhose once-punctured curve fails to have the core `X/{±1}` after some extension of the base field\n(`Iut.OrbicurveDataSection.HasCoreUniversally`, `Iut.Tripod.CoreFinitenessHyp`), which is\n**proved** (`Iut.Tripod.coreFiniteness`, [`Core.lean`](Iut/Tripod/Core.lean)):\n`j(E_λ) = 256(λ² − λ + 1)³/(λ²(λ − 1)²)`, so the exceptional points are roots of finitely many\nnonzero polynomials.\n\n**The variant is never strengthened.** `Iut.Cor312VariantHolds` ranges over all\n`D : InitialThetaData` — exactly the Θ-data of IUT I, Definition 3.1, every condition stated\nabout the genuine objects — and over nothing else: the right-hand side, the `q`-pilot data\nand the local theta data are the constructed ones (`Iut.concreteVariantData D`, a function of\n`D`). Earlier versions quantified `h312` additionally over the fundamental-group theories\n(interfaces `AnabelianGeometry`/`TemperedGeometry`, `EtalePi1Theory`/`TemperedPi1Theory`),\nover arbitrary local-field theories `LocalTheory K`, local theta data `ThetaLocalData D LT`\nand `q`-pilot inputs `QPilotInputs D`; all of these are now fixed to the constructions\n(a narrowing of the hypothesis). (Interface change, 2026-10, before this refactor: the étale\ntheory formerly also required cores to be compatible with base change, [CanLift],\nProposition 2.3; it was removed because the existence of Θ-data never needed it — the\n`K`-core over the `ℓ`-torsion field is obtained from [CanLift], Proposition 2.7 over that\nfield via `HasCoreUniversally`.)\n\n**Reduction predicates and the cyclic-subgroup bound.** `HasGoodReductionAt`,\n`HasMultiplicativeReductionAt`, `HasSplitMultiplicativeReductionAt` and\n`HasStableReductionAt` (`Iut/Cor312/ThetaData/GlobalField.lean`) are stated up to a global\nchange of variables: Mathlib's reduction classes refer to the given Weierstrass model (they\nassert its minimality), whereas IUT I, Definition 3.1(a) is a property of the curve. With\nthe model-bound form, stable reduction everywhere is false for the Legendre models of the\ntripod points. In the curve-bound form it is **proved** for the curves `E_λ/F_λ` of the\ntripod points (`Iut.Tripod.stable_reduction`, [`Iut/Tripod/StableOdd.lean`](Iut/Tripod/StableOdd.lean),\n[`StableTwo.lean`](Iut/Tripod/StableTwo.lean)): at the places of odd residue characteristic\nfrom the Legendre model `y² = x(x−1)(x−λ)` (good if `λ`, `λ−1` are units, multiplicative\notherwise) and its twist `E_{1/λ}` by `√λ ∈ F_λ` when `λ` is not integral; at the places over\n`2` by an elementary form of Raynaud's criterion for the rational `3`-torsion: on an integral\nmodel a point of order `3` has integral coordinates and integral tangent slope (its\n`x`-coordinate is a root of `ψ₃ = 3x⁴ + …`, with `3` a unit), the integral change of\nvariables moving it to the origin with horizontal tangent gives the normal form\n`y² + Axy + By = x³` (`Δ = B³(A³−27B)`, `c₄ = A(A³−24B)`), which is good or multiplicative\nunless `A`, `B` are both non-units, and then the second independent point of order `3`,\nwhose `x`-coordinate is a nonzero integral root of `3x³ + A²x² + 3ABx + 3B²`, forces\n`B ∈ 𝔪³` by a dominant-term argument, so that the model can be rescaled by a uniformizer.\nLikewise the cyclic-subgroup bound of [GenEll] Lemma 3.5 (`cyclic_bound` in\n`Corollary22Inputs`, `CurveInputs`) is stated for primes `ℓ ≥ 7` under (P2), as it is\nused; quantified over all primes it fails for the curves of the points, whose 3- and\n5-torsion is rational. It is **proved** for the tripod curves in a form **weakened at the\nprime `2`** (`Iut.Tripod.cyclicBoundOdd`, [`CyclicIsogeny.lean`](Iut/Tripod/CyclicIsogeny.lean)):\n`(ℓ−2)/24 · (log q_∀ − log q₂) ≤ 2 log ℓ + T_K`, where `log q₂` is the part of `log q_∀`\nsupported over `2`. The interface `cyclic_bound` of `Corollary22Inputs`/`CurveInputs` was\nchanged to this form (and the threshold of Corollary 2.2 raised by the `2`-adic bound `B_K`);\nthe proof of (P4) closes unchanged, since `log q₂ ≤ B_K` on `K`. The proof avoids Faltings\nheights: over the ℓ-torsion field, the Vélu ratios\n`r_i = ∏_{Q ∈ H∖0} (x(T_i) − x(R_i+Q))/(x(T_i) − x(Q))` of the points `T₁ = (0,0)`, `T₂ = (1,0)`\nof order `2` and halves `R_i` (`2R_i = T_i`, using `√λ, √(1−λ), √−1 ∈ F_λ`) are nonzero and\nGalois-invariant, and satisfy `r_i (x(T_i) − x(R_i)) = ∑_Q x(T_i+Q) − ∑_Q x(R_i+Q)`\n(Vélu's product formula, `Heights.Velu.prod_mul_sum_sub_sum` in\n[`lana-agents/heights`](https://github.com/lana-agents/heights)). The product formula for\n`ρ = r₁r₂ ∈ F_λ` combines: at the odd multiplicative places, where `H` is the graph line\n([GenEll] Lemma 3.2(i), `Iut/Tripod/CyclicLocal.lean`), the Tate coordinates give\n`|ρ|_v⁴ ≤ |q_v|^{ℓ−1}` (`Iut.CyclicTate.ratio_mul_bound`); at the other finite places the\n`x`-coordinates of `4ℓ`-torsion points are almost integral (Newton bound on `ψ_{4ℓ}`,\n`Iut.TorsionNewton.apply_x_le_legendre`), losing `log|ℓ|⁻¹` and a `K`-bounded amount over `2`;\nat the archimedean places they are `O(ℓ²)` by the complex uniformization of `heights`\n(`Heights.exists_torsion_x_bound`). The full form `Iut.Tripod.CyclicGraphBoundHyp` (with\n`log q_∀`) is kept as an unused, unproved `Prop`: it additionally needs Lemma 3.2 at the\nmultiplicative places over `2`, where the Tate uniformisation of `tate-curves-theta`\n(`‖2‖ = 1`) is not available.\n\n## Current scope (IUT4 §1)\n\nThe library proves the real-arithmetic error bound used in Proposition 1.4(iii), the\nfinite weighted-average identity of Proposition 1.7, the elementary range identities\n(E1)/(E2), positive finite packet-weight normalization, and the finite-support\narithmetic-divisor foundations of Definition 1.9(i), including normalized global-degree\ninvariance under pullback.\n\nIt also proves a related raw-degree local-ratio invariance theorem. It does **not** claim\nDefinition 1.9(ii)'s displayed globally normalized quotient: under the implemented\npullback, that numerator is invariant while its local-degree denominator scales by the\nextension degree. The blueprint labels this boundary explicitly.\n\nLater Section 1 results remain planned, partial, or conditional as recorded in the\nspecification. In particular, IUT I–III inputs and missing elliptic or reduction\ninfrastructure must appear as ordinary theorem arguments when used. (The exact\nprime-counting coefficient `4/3` of Proposition 1.6 is unavailable in the pinned Mathlib\nrelease; the `Iut` library uses the factor `3/2`, which Mathlib provides and which suffices,\nsee below.)\n\n## Corollary 3.12 variant strand (`Iut`)\n\nThe `Iut` library states the project-owner-specified variant of IUT III,\nCorollary 3.12 (taxis [#33](https://taxis.lana.merten.dev/issues/33)):\n`Iut.Corollary312Variant` in [`Iut/Cor312/Statement.lean`](Iut/Cor312/Statement.lean),\na `Prop`-valued definition `−|log(q)| ≤ −|log(Θ)|` that is deliberately left without\nproof and without axiom. The stack beneath it:\n\n* **Initial Θ-data** (IUT I, Definition 3.1; taxis #38–#42):\n  [`Iut/Cor312/ThetaData/`](Iut/Cor312/ThetaData). Reduction predicates, the field of\n  moduli `ℚ(j)`, torsion rationality, the mod-`ℓ` representation pinned to the genuine\n  Galois action on `E(F̄)[ℓ]`, and the `ℓ`-torsion field `K` are real Mathlib content;\n  orbicurves, fundamental groups, cores and tempered groups are the genuine objects of\n  `Iut/Anabelian/` (see the honesty boundary; taxis #7, #10, #11, #13, #276, #279). Bad-place Tate `q`-parameters come from\n  [`tate-curves-theta`](https://github.com/lana-agents/tate-curves-theta) (taxis #37).\n* **The large volume container, log-volume, and holomorphic hull** (taxis #43–#45):\n  [`Iut/Cor312/Container.lean`](Iut/Cor312/Container.lean),\n  [`LogVolume.lean`](Iut/Cor312/LogVolume.lean),\n  [`HolomorphicHull.lean`](Iut/Cor312/HolomorphicHull.lean) and neighbours. Interface\n  amendments made for the concrete instantiation: packet summands are commutative rings\n  (the tensor products of local fields are products of fields), integral structures are\n  sets (the archimedean one is the unit ball), the packet-volume combination law is\n  stated for nonempty components, and a hull system carries the class of hull regions\n  among which its hull is least (all `a·O` with every direct-summand component of `a`\n  nonzero, IUT III Remark 3.9.5(i)).\n* **LHS/RHS** (taxis #34/#35): `−|log(q)|` from the bad-place `q`-orders with the\n  `(1/2ℓ)` normalization recorded in IUT IV, and the procession-normalized log-volume of\n  the holomorphic hull of the theta-pilot region.\n\n### Concrete instantiation of the inputs (`Iut/Concrete/`)\n\nEvery input of the variant is given a concrete implementation, as a function of the\ninitial Θ-data `D` alone (`Iut.concreteVariantData D`); there are no residual interfaces:\n\n* [`LocalTheory.lean`](Iut/Concrete/LocalTheory.lean) — the local arithmetic of a number\n  field: ramification indices, residue degrees, weights, `ord_p` and the different exponents,\n  defined from Mathlib.\n* [`LocalConstruct/`](Iut/Concrete/LocalConstruct) — the **construction** of the local\n  theory of the tensor packets `⊗_j K_{v_j}` of a number field (taxis #4, #278), exposed in\n  [`Theory.lean`](Iut/Concrete/LocalConstruct/Theory.lean) as the definitions\n  `Iut.LocalTheory.Tensor`, `integral`, `logShell`, `componentVol`, `admissible`, `indAut`,\n  `incl` and the theorems about them (least hull regions, IUT IV Propositions 1.2,\n  1.4(iii),(iv), 1.5(iii),(iv)): the packets as\n  `PiTensorProduct`s of the completions over `ℚ_p`/`ℝ` with their norm topology\n  (`Packet.lean`), the order `R_I = ⊗ 𝓞_{v_j}` (`Integral.lean`) and the maximal order\n  `(R_I)^∼` as the integral closure of `ℤ_p` — bounded because the packet is reduced\n  (formally unramified over `ℚ_p`) and embeds in the product of its residue fields\n  (`MaximalOrder.lean`), at `∞` the integral structure `B_I` of IUT IV Proposition 1.5(iii) —\n  the product of the unit balls of the copies of `ℝ`, `ℂ` in the decomposition of the\n  (reduced) packet into its residue fields (`Archimedean.lean`) —, the\n  normalized Haar log-volume with its scaling laws (`Haar.lean`, `Volume.lean`), the\n  admissible class (`Admissible.lean`), the Galois automorphisms `⊗ σ_j` of a packet\n  (`Indeterminacy.lean`, `ThetaAdmissible.lean`),\n  the `p`-adic logarithm (from\n  [`padic-log-volume`](https://github.com/lana-agents/padic-log-volume)) and the log-shell\n  `(2p)⁻¹·log(𝒪^×)` of a local field (IUT III, Definition 1.1; `LocalLogShell.lean`), the log-shell\n  of a packet — the `(R_I)^∼`-module generated by their tensor product, containing\n  `(R_I)^∼` (`LogShell.lean`) —, **the indeterminacy automorphisms** of IUT IV,\n  Propositions 1.2 and 1.5 and IUT III, Theorem 3.11 (Ind2) (`IndAut.lean`): at a prime the\n  tensor products `⊗_j g_j` of independent automorphisms `g_j` of the `ℤ_p`-lattices `𝓘_j`\n  — *every* `ℤ_p`-linear automorphism of each factor's log-shell, a class that contains the\n  image of `Ism` (IUT III, Proposition 1.2(vi), Theorem 3.11 (Ind2)) and is in general larger:\n  a deliberate enlargement, which makes the region larger and the hypothesis weaker than with\n  `Ism` exactly; it is smaller than the class of IUT IV, Proposition 1.2 (arbitrary\n  automorphisms `φ` preserving `⊗_j 𝓘_j`, including non-tensor ones) —, at `∞` the\n  maps `⊗_j ψ_j` with `ψ_j ∈ {id, conj, −1, −conj}` (independent actions of `{±1}` on the\n  direct factors `ℝ`, `ℝ·i` of each factor; IUT III Theorem 3.11 (Ind1), (Ind2),\n  Proposition 1.2(vii); `ArchIndAut.lean`), the archimedean log-shell — the closed unit\n  ball of the tensor-product Hermitian metric for which each factor's log-shell (the disc of\n  radius `π`) is the unit ball (IUT III, Proposition 3.2(ii)), contained in\n  `(√2·π)^{|I|}·B_I` by Proposition 1.5 (`ArchLogShell.lean`) —, and\n  the arithmetic of the number field — places over `p`, `∑ e_v f_v = [K : ℚ]`, the\n  different (`Arithmetic.lean`), and the least hull regions at `∞` — least among all\n  `a·B_I`, the polydisc with radii `sup_U |x mod 𝔪|` (`Admissible.lean`), and at the primes — least among all `a·(R_I)^∼`, computed\n  componentwise in the residue fields of the packet with their spectral norms\n  (`ResidueField.lean`, `Hull.lean`) — and IUT IV Proposition 1.4(iii) for the theta-pilot\n  region `⋃_φ φ(x·⊗_j 𝓘_j)` (`ShellBound.lean`: `x·𝓘 ⊆ p^m·𝓘` by Proposition 1.2(i) — the\n  log-lattice bounds with Mochizuki's `a_i`, `b_i`, `LogLattice.lean`,\n  `FactorShell.lean`, `LatticeSandwich.lean` — and `d_i + a_i ≥ 1 + ord_p 2`, using\n  `d_i ≥ (e_i − 1)/e_i`), (iv) at odd unramified primes (`Prop14Lattice.lean`, with\n  `(R_I)^∼ = R_I` from the different bound of Proposition 1.1: `LocalDifferent.lean`,\n  `PacketDifferent.lean`), and the integrality and log-volume of elementary scalings\n  (`TensorIntegral.lean`, `ScaleVolume.lean`). No propositional input remains.\n* [`Container.lean`](Iut/Concrete/Container.lean) — the container, log-volume data and hull\n  system (least among all hull regions `a·(R_I)^∼` at a prime, among all `a·B_I` at `∞`), all\n  proved from the constructions, for a section of places `V(k) → V(K)`\n  (`LocalTheory.PlaceSection`): for the Θ-data the valuation section `V ≅ V_mod`\n  (`InitialThetaData.placeSect`), so that, as in IUT III Propositions 3.1, 3.2, Theorem 3.11\n  (Ind2) and Remark 3.1.1(ii), the direct summands of the packet at `v_ℚ` are indexed by the\n  tuples of places of `V` over `v_ℚ`, with the weights `[(F_mod)_w : ℚ_{v_ℚ}]/[F_mod : ℚ]`\n  summing to `1`. [`SectionAverage.lean`](Iut/Concrete/SectionAverage.lean) identifies the\n  `V`-averages of the local estimates with `log(d^K_p)` (`K/F_mod` Galois, IUT I Remark 3.1.5,\n  [`TorsionFieldGalois.lean`](Iut/Concrete/TorsionFieldGalois.lean); conjugate places have\n  equal different exponents, [`GaloisPlaces.lean`](Iut/Concrete/GaloisPlaces.lean)) and with\n  `log(q_p)/2ℓ` (`‖q‖ = ‖j(E)‖⁻¹`, `j(E) ∈ F_mod`).\n* [`ThetaLocalConstruct/Data.lean`](Iut/Concrete/ThetaLocalConstruct/Data.lean) — the\n  **local theta data** of `D` (IUT I, Example 3.2(iv)): the `2ℓ`-th roots\n  `InitialThetaData.qroot` of the Tate parameters at the bad places of `K`, the comparison\n  maps `F_w → K_v` and the bad residue characteristics, with their properties as theorems;\n  the two facts used beyond the fields of `D` are theorems for every `D`\n  (`InitialThetaData.bad_finite`, from the multiplicative reduction over `V_mod^bad`, and\n  `InitialThetaData.twoTorsionRational`, `E[2] ⊆ E(F)` from the rational `6`-torsion).\n* [`ThetaRegion.lean`](Iut/Concrete/ThetaRegion.lean) — the **concrete theta-pilot\n  region**, modelling the indeterminacies of IUT III, Theorem 3.11: the union over the\n  indeterminacy automorphisms ((Ind2)) of the images of `q_{v_l}^{j²}·⊗_l 𝓘_{v_l}` (the theta\n  value acting on the tensor product of the log-shells, (Ind3)) for the label positions `l`\n  allowed by (Ind1); the concrete `q`-pilot data (`InitialThetaData.qPilot`),\n  `Iut.concreteVariantData D` and the hypothesis `Iut.Cor312VariantHolds` (IUT IV's reading of\n  (Ind1): the label `j`), and `Iut.Cor312LiteralHolds` (the literal reading of IUT III,\n  Corollary 3.12: all labels), with `Iut.cor312Literal_of_variant`\n  ([`Literal.lean`](Iut/Concrete/Literal.lean)).\n* [`Invariants.lean`](Iut/Concrete/Invariants.lean) — the Theorem 1.10 invariants of the\n  tower `F_mod ⊆ F_tpd ⊆ F ⊆ K` defined from Mathlib: the tripodal field\n  `F_tpd = ℚ(j, E[2])`, the normalized different degree `log N(𝔡_L)/[L : ℚ]`, the\n  conductor degree, the distinguished primes and `log(d^K_p)`; the tower facts (R4),\n  Steps (ii), (iii) form the `Prop`-structure `Iut.TowerArithmetic`, derived in\n  `Iut/Tower/` from the residual local facts `Iut.TowerLocalFacts` (see below).\n* [`Iut/Tower/`](Iut/Tower/) — **the tower arithmetic of Theorem 1.10**\n  (`Iut.towerArithmetic_of_localFacts`, [`Main.lean`](Iut/Tower/Main.lean)): (R4),\n  Steps (ii), (iii) for the tower `F_mod ⊆ F_tpd ⊆ F ⊆ K = F(E[ℓ])` from the global\n  theory of Dedekind domains — the orders of ideals at places and `log N(I) = ∑_v ord_v(I)\n  f_v log p_v` ([`Basic.lean`](Iut/Tower/Basic.lean)), `∑_p log(d^K_p) = log(d_K)`\n  ([`LogDK.lean`](Iut/Tower/LogDK.lean)), `[K : F] ≤ |GL₂(𝔽_ℓ)|` by the Galois\n  correspondence and (R4) ([`RamIdx.lean`](Iut/Tower/RamIdx.lean)), the tower formula\n  `log(d_K) = log(d_{F_tpd}) + log N(𝔇_{K/F_tpd})/[K : ℚ]` and Step (ii)\n  ([`Different.lean`](Iut/Tower/Different.lean)), the uniformity of ramification in Galois\n  extensions, `e_u − 1 ≤ ord_u(𝔡)` and Step (iii) ([`StepIII.lean`](Iut/Tower/StepIII.lean))\n  — together with the three **residual local facts** of `Iut.TowerLocalFacts`\n  ([`Residual.lean`](Iut/Tower/Residual.lean); IUT IV, Proposition 1.8): for a place `v`\n  of `K` over `u` of `F_tpd`, the wild ramification bound `v_p(e(v/u)) ≤ c_p` with\n  `c_p = 12, 2, 1` at `p = 2, 3, 5`, `1` at `p = ℓ` and `0` otherwise (the tameness of `K/F`\n  away from `ℓ` and of `F/F_tpd` away from `2·3·5`, with `e(v/w) ∣ [K : F] ∣ |GL₂(𝔽_ℓ)|`,\n  `e(w/u) ∣ [F : F_tpd] ∣ 2¹²·3²·5`); Néron–Ogg–Shafarevich (`e(v/u) = 1` for\n  `p ∉ {2,3,5,ℓ}`, `u` not bad); and `e(v/u) ≤ 30ℓ` for `p ∉ {2,3,5,ℓ}`. **The different\n  bound of Proposition 1.3**, `ord_v(𝔇_{K/F_tpd}) + 1 ≤ e(v/u) + e_v·c_p`, is a theorem\n  (`Iut.TowerLocalFacts.ordAt_different_le`,\n  [`DifferentBound.lean`](Iut/Tower/DifferentBound.lean)): it is **Serre's bound**\n  `ord_v(𝔇_{K/k}) ≤ e(v/u) − 1 + e_v·v_p(e(v/u))` (*Local Fields* III §6, Remark after\n  Prop. 13; `Iut.ordAt_differentIdeal_add_one_le`), proved for arbitrary extensions of\n  Dedekind domains with finite residue fields (`Iut.Serre.not_pow_dvd_differentIdeal`,\n  [`SerreBound.lean`](Iut/Tower/SerreBound.lean)): by Mathlib's trace criterion it suffices\n  to find `x ∈ J^{κ+1}` (`𝔭B = 𝔓^e J`, `κ = e_u v_p(e)`) with `Tr(x) ∉ 𝔭^{κ+1}`; after\n  localizing at `𝔭` the trace modulo `𝔭^{κ+1}` is the trace of\n  `B/𝔓^{e(κ+1)} × B/J^{κ+1}` over `A/𝔭^{κ+1}`, and `B/𝔓^{e(κ+1)}` is free of rank `e` over\n  a Hensel lift `R' ≅ A/𝔭^{κ+1}[X]/(g)` of the residue extension (by Nakayama and a count),\n  so its trace is `e·Tr_{R'/R}` with `Tr_{R'/R}` surjective\n  ([`SerreCore.lean`](Iut/Tower/SerreCore.lean), [`QuotientBasis.lean`](Iut/Tower/QuotientBasis.lean)).\n  For the curves of the tripod the wild ramification bound follows from the tameness\n  of `K/F_λ` away from `ℓ` (`Iut.Tripod.TameTorsionHyp`), since\n  `e(v/w) ∣ [K : F_λ] ∣ |GL₂(𝔽_ℓ)|` and `e(w/u) ∣ [F_λ : ℚ(λ)] ∣ 2¹²·3²·5` are theorems\n  (`Iut.Tripod.padicValNat_relRamIdx_le_of_tame`,\n  [`WildRamIdx.lean`](Iut/Tripod/WildRamIdx.lean)). **The tameness away from `2·ℓ`,\n  Néron–Ogg–Shafarevich and the bound `e(v/u) ≤ 30ℓ` are theorems for the tripod**\n  ([`TowerFacts.lean`](Iut/Tripod/TowerFacts.lean)): for a place of odd residue\n  characteristic `p` the Legendre model `y² = x(x − 1)(x − λ)` (or that of `1 − λ`, `1/λ`) has\n  good or multiplicative reduction, the kernel of reduction has no prime-to-`p` torsion (the\n  `n`-division polynomial has degree `(n² − 1)/2` in `x` with leading coefficient `n`,\n  [`ReductionKernel.lean`](Iut/Tower/ReductionKernel.lean)), and reduction is injective on the\n  prime-to-`p` torsion of the points with nonsingular reduction; hence the inertia group\n  (`e(v/u) = |I_v|`, Mathlib's `Ideal.card_inertia_eq_ramificationIdxIn`,\n  [`Inertia.lean`](Iut/Tower/Inertia.lean)) fixes the prime-to-`p` torsion at a good place\n  ([`TorsionRigid.lean`](Iut/Tower/TorsionRigid.lean), `Iut.relRamIdx_eq_one_of_torsion`;\n  `Iut.Tripod.relRamIdx_eq_one_of_not_bad`, [`Unramified.lean`](Iut/Tripod/Unramified.lean),\n  with the rigidity of the square roots `√−1, √λ, √(1 − λ)` of units) and acts unipotently on\n  it at a multiplicative place (it moves a point of the node by a point with nonsingular\n  reduction, [`MultiplicativeKernel.lean`](Iut/Tower/MultiplicativeKernel.lean);\n  [`InertiaUnipotent.lean`](Iut/Tripod/InertiaUnipotent.lean)), so that `I_v(K/F_λ)` is an\n  `ℓ`-subgroup of a group of order dividing `|GL₂(𝔽_ℓ)|`, of order `≤ ℓ`\n  ([`BadRamIdx.lean`](Iut/Tripod/BadRamIdx.lean), `Iut.Tripod.not_dvd_relRamIdx_torsionField`,\n  `Iut.Tripod.relRamIdx_torsionField_le`), and `I_w(F_λ/ℚ(λ))` has an index-`≤ 2` subgroup\n  (fixing `√λ`, `√(1 − λ)`) acting unipotently on the `3`- and `5`-torsion, of order `≤ 15`\n  ([`TpdInertia.lean`](Iut/Tripod/TpdInertia.lean), with the mod-`3` and mod-`5`\n  representations of `Gal(F_λ/ℚ(λ))`, [`TpdTorsionRep.lean`](Iut/Tripod/TpdTorsionRep.lean)),\n  giving `e(v/u) = e(w/u)·e(v/w) ≤ 30·ℓ` (`Iut.Tripod.relRamIdx_le_thirty_mul`). **The\n  tameness of `K/F_λ` at the places over `2`** (`2 ∤ e(v/w)` for `v ∣ 2`,\n  `Iut.Tripod.tameTwoHyp`, [`TameTwo.lean`](Iut/Tripod/TameTwo.lean)), where the reduction\n  theory of the Legendre model is unavailable (`v(2) \u003C 1`), is a theorem as well: `E_λ` has a\n  good or multiplicative `w`-integral model there (the stable reduction from the rational\n  `3`-torsion, [`StableTwo.lean`](Iut/Tripod/StableTwo.lean)); an element `σ` of order `2` of\n  the inertia group `I_v` would act on `E(K)[ℓ]` as an involution, so some nonzero\n  `Q ∈ E(K)[ℓ]` has `σ Q = −Q`, i.e. `σ x = x`, `σ y = −y − a₁x − a₃`; the tangent slope `λ`\n  at `Q` satisfies `σ λ = −λ − a₁`, which forces `v(λ) > 1` (at a multiplicative model `a₁` is\n  a unit and `v(σ λ − λ) = v(2λ + a₁) = 1` would contradict the inertia condition; at a good\n  model `2y + a₁x + a₃ = y − σ y` is not a unit, so `3x² + 2a₂x + a₄ − a₁y` is, by the\n  nonsingularity of the reduced curve over the residue field), whence `x(2Q)` is non-integral\n  and `2Q` is a nonzero `ℓ`-torsion point of the kernel of reduction — impossible, since for an\n  arbitrary integral model the kernel of reduction has no odd prime-to-`p` torsion\n  (`Iut.IntegralTorsion.nsmul_ne_zero_of_one_lt`,\n  [`IntegralTorsion.lean`](Iut/Tower/IntegralTorsion.lean): the division polynomials only\n  depend on the `b`-invariants, which are unchanged by completing the square `y ↦ y − (a₁x +\n  a₃)/2`); hence `σ` fixes `E(K)[ℓ]` and `σ = 1` by faithfulness\n  ([`InertiaInvolution.lean`](Iut/Tower/InertiaInvolution.lean),\n  `Iut.InertiaInvolution.map_eq_self`), so `|I_v| = e(v/w)` is odd. Hence `TowerLocalHyp` is a\n  theorem (`Iut.Tripod.towerLocalHyp`). The fourth local input,\n  `e(u/u₀) ≤ 2` for `F_tpd/F_mod` at `u₀ ∈ V_mod^bad` (`Iut.RelRamIdxModLeTwo`; the Tate\n  uniformization of the `2`-torsion), is a **theorem for the curves of the tripod**\n  (`Iut.Tripod.relRamIdx_tpd_le_two`, [`TpdRamIdx.lean`](Iut/Tripod/TpdRamIdx.lean)): at a\n  place where `j` is non-integral one of `λ, 1/λ, 1 − λ` has positive valuation, only two\n  of the six roots of the sextic are congruent to it modulo the place, and the inertia\n  group of `ℚ(λ)/ℚ(j)`, of order `e(u/u₀)` (Mathlib's\n  `Ideal.card_inertia_eq_ramificationIdxIn`), acts freely on the roots. The general theorem\n  also takes `F_tpd/F_mod` Galois with `[F_tpd : F_mod] ≤ 6`,\n  `[F : ℚ] ≤ 552960·[F_tpd : ℚ]`, the finiteness of the bad places and the description of\n  the bad residue characteristics — all theorems for the curves of the tripod.\n* [`Existence.lean`](Iut/Concrete/Existence.lean) — **initial Θ-data from an elliptic\n  curve**: `Iut.EllipticCurveData.thetaData` builds IUT I, Definition 3.1 data for\n  `(E/F, ℓ)` with `V_mod^bad` the places of `F_mod` not over `2ℓ` with multiplicative\n  reduction, from `CurveArithmetic` (Prop 1.8 and places of `F/F_mod`), `TateInputs`,\n  `ModEllRepData ℓ` and the anabelian construction (`Iut.AdmissiblePrimeData.orbicurveData`,\n  `localThetaData`, [`Iut/Anabelian/Existence.lean`](Iut/Anabelian/Existence.lean)); the local height\n  data of the curve; `Iut.CurveInputs` (the inputs of Corollary 2.2 in terms of the curves\n  of the points), from which `ConcreteThetaDataExistence` is *proved*.\n\n## Implication strand (`Iut/Implication`, `Iut/Concrete`)\n\nThe proof that the Corollary 3.12 variant implies ABC, along IUT IV\n(taxis [#1449](https://taxis.lana.merten.dev/issues/1449)). Main theorems, all\nsorry-free with standard axioms only:\n\n* `Iut.Theorem110Invariants.theorem110`\n  ([`Iut/Implication/Theorem110.lean`](Iut/Implication/Theorem110.lean)) — IUT IV,\n  Theorem 1.10, `(1/6)·log(q) ≤ (1 + 20·d_mod/ℓ)·(log d_{F_tpd} + log f_{F_tpd}) +\n  20·(e*_mod·ℓ + η_prm)`, from the variant, the local estimates of Steps (iv)–(vii), the\n  arithmetic certificate of Steps (ii)–(iii), and the prime-counting bound of\n  Proposition 1.6 (`Iut.PrimeCountingBound`, with the factor `3/2` in place of the printed\n  `4/3`; the constant tracking absorbs the difference, and the printed conclusion is\n  unchanged). The procession average (E1), (E2) and the constant tracking of Step (viii)\n  are proved.\n* `Iut.LocalHeightData.exists_prime_selection`\n  ([`PrimeSelection.lean`](Iut/Implication/PrimeSelection.lean)) — Proposition 2.1(ii)\n  and the choice of the prime `ℓ` with (P1)–(P3), from Chebyshev bounds.\n* `Iut.Corollary22Inputs.c2` ([`Corollary22.lean`](Iut/Implication/Corollary22.lean)) —\n  Corollary 2.2(ii),(iii): the inequality (C2) with `ε_E ≤ 1` outside a finite set,\n  including the arguments for (P4), (P5) at large height.\n* `Iut.statementII_of_cor312` ([`Corollary23.lean`](Iut/Implication/Corollary23.lean))\n  — Corollary 2.3: statement (ii) of [GenEll] Theorem 2.1 from the variant for the data\n  bundles satisfying a predicate, the inputs of Corollary 2.2 and the existence of suitable\n  Θ-data.\n* [`Iut/Concrete/Main.lean`](Iut/Concrete/Main.lean) — the predicate `IsConcrete` (the\n  bundles `concreteVariantData D`) and the existence of suitable Θ-data in concrete form,\n  with the local estimates of Theorem 1.10 *derived* for the concrete theta-pilot region\n  ([`LocalEstimate.lean`](Iut/Concrete/LocalEstimate.lean): Propositions 1.4/1.5, the\n  weighted average of Proposition 1.7, and (R4)).\n* `Iut.Tripod.abc_of_variant` ([`Iut/Tripod/Main.lean`](Iut/Tripod/Main.lean)) — the\n  implication for the tripod, with every input constructed or proved, and\n  `Iut.classicalABC_of_variant` ([`Iut/MainTheorem.lean`](Iut/MainTheorem.lean)), the\n  main theorem: `Cor312VariantHolds → ClassicalABC`.\n\nThe ABC target is `Iut.ABC T := T.StatementI` ([`Iut/Abc/Target.lean`](Iut/Abc/Target.lean)),\n[GenEll] Theorem 2.1(i) for a height formalism `T` of\n[`LANA-Project/genl`](https://github.com/LANA-Project/genl); the concrete height theory is\ntaxis #1452.\n\nThe former explicit inputs of the implication, each a structure whose fields were precise\ntarget statements (see the taxis issues linked from #1449), and how they are discharged:\n\n| Input | Content | Status |\n| --- | --- | --- |\n| local theory of the tensor packets (formerly the structure `LocalTheory K`) | tensor packets, log-shells, Haar log-volume, hulls, Props 1.4/1.5 | **constructed and proved**, now plain definitions and theorems (`Iut.LocalTheory.*`; [#1462](https://taxis.lana.merten.dev/issues/1462)) |\n| local theta data (formerly `ThetaLocalData D LT`, `QPilotInputs D`) | `2ℓ`-th roots of the Tate parameters, `q`-degree base change, finiteness of the bad locus | **constructed** as definitions on `D` (`InitialThetaData.qroot`, `badChars`, `qPilot`), from the rationality of the ℓ- and 2-torsion and the multiplicative reduction over `V_mod^bad` |\n| `Iut.TowerArithmetic D` | (R4), Steps (ii), (iii) of Theorem 1.10 for the tower `F_mod ⊆ F_tpd ⊆ F ⊆ K` | **proved for the tripod** (`Iut.Tripod.towerArithmetic_of_towerLocalHyp`) from the local facts `Iut.TowerLocalFacts` (three local fields: the wild ramification bound `v_p(e(v/u)) ≤ c_p`, Néron–Ogg–Shafarevich, the ramification bound away from `2·3·5·ℓ`), **theorems for the tripod** (`Iut.Tripod.towerLocalHyp`, [`TowerFacts.lean`](Iut/Tripod/TowerFacts.lean), including the tameness of `F_λ(E_λ[ℓ])/F_λ` at the places over `2`, `Iut.Tripod.tameTwoHyp`, [`TameTwo.lean`](Iut/Tripod/TameTwo.lean); the different bound of Prop 1.3 is the theorem `Iut.TowerLocalFacts.ordAt_different_le` (Serre's bound, [#1463](https://taxis.lana.merten.dev/issues/1463)) and the ramification bound `e(u/u₀) ≤ 2` of `ℚ(λ)/ℚ(j)` at the bad places is the theorem `Iut.Tripod.relRamIdx_tpd_le_two`), [#1493](https://taxis.lana.merten.dev/issues/1493) |\n| `Iut.ChebyshevBound` | Proposition 2.1(ii) | **proved** (`Iut.chebyshevBoundExplicit`, threshold `10^12`, from Mathlib's Chebyshev bounds) |\n| `Iut.PrimeCountingBound` | Proposition 1.6 (factor `3/2`) | **proved** (`Iut.primeCountingBoundExplicit`, from Mathlib's `θ(x) ≤ (log 4)·x` and the Abel-summation identity for `π`; `Iut.PrimeCountingHyp` is the theorem `Iut.primeCountingHyp_holds`), [#1466](https://taxis.lana.merten.dev/issues/1466) |\n| `Iut.CurveInputs T K d` | the curves `E_x/F_x` of the points with [GenEll] §§1, 3 inputs | **constructed for the tripod** (`Iut.Tripod.curveInputs`); its remaining `Prop` `CurveFactsProp` (the cyclic-subgroup bound away from `2`) is **proved** (`Iut.Tripod.cyclicBoundOdd`), see below |\n| `Genl.HeightTheory.ProofPackage` | [GenEll] Theorem 2.1 (ii) ⇒ (i) | not needed for the tripod target `StatementII` |\n| `EllipticCurveData.CurveArithmetic` | Prop 1.8 | six of ten fields **proved** (`CurveArithmetic.ofCore`); for the tripod curves `√−1 ∈ F`, stable reduction (`Iut/Tripod/StableOdd.lean`, `StableTwo.lean`), `E[6]` rational and `F/F_mod` Galois of degree prime to `ℓ` (`Iut/Tripod/Galois.lean`) are all **proved** |\n| `EllipticCurveData.TateInputs` | Tate parameters at the multiplicative places | **constructed** (`EllipticCurveData.tateInputs`) |\n| `EllipticCurveData.ModEllRepData ℓ` | the mod-`ℓ` representation on `E[ℓ]` | **constructed** (`modEllRepData`) from `E[ℓ] ≅ (ℤ/ℓ)²` ([#277](https://taxis.lana.merten.dev/issues/277)) |\n| anabelian existence (formerly `AnabelianExistence AG TG`) | IUT I, Definition 3.1(d)–(f): `C̲_K`, `ε`, `V` and the bad-place conditions | **constructed** for the genuine objects (`Iut.AdmissiblePrimeData.orbicurveData`, `localThetaData`) for curves whose once-punctured curve has the genuine core `X/{±1}` universally; see below |\n\n\n### The tripod theorem with propositional inputs (`Iut/Tripod/`)\n\n`Iut.Tripod.abc_of_variant` ([`Iut/Tripod/Main.lean`](Iut/Tripod/Main.lean)) states the\nimplication for the concrete tripod `ℙ¹ ∖ {0,1,∞}`: every object is constructed in this\nrepository and every hypothesis is a proposition about the constructed objects.\n\n* [`Basic.lean`](Iut/Tripod/Basic.lean), [`Northcott.lean`](Iut/Tripod/Northcott.lean) —\n  the height formalism `Iut.Tripod.tripodTheory`: points `λ ∈ ℚ̄ ∖ {0,1}`, `ptLE d` by the\n  degree of the minimal polynomial, `htCan` the absolute logarithmic Weil height (Mathlib),\n  `logDiff` the normalized log-discriminant of `ℚ(λ)`, `logCond` the normalized conductor\n  of `λ` with respect to `{0,1,∞}`, and the valuation-bounded compactly bounded subsets\n  `CompactlyBounded` (finite places over a finite set of primes containing `2`, and all\n  archimedean places, bounded). Northcott over all number fields of degree `≤ d` is\n  **proved** (`northcottHyp`, by bounding the coefficients of minimal polynomials). The\n  target is `tripodTheory.StatementII`: ABC for points of bounded degree in a compactly\n  bounded subset.\n* [`Legendre.lean`](Iut/Tripod/Legendre.lean), [`CurveOf.lean`](Iut/Tripod/CurveOf.lean) —\n  the Legendre curve\n  `E_λ : y² = x(x−1)(x−λ)` over `F_λ = ℚ(λ, √−1, √λ, √(1−λ), E_λ[3], E_λ[5])` (the two\n  extra square roots make `F_λ/ℚ(j)` Galois: the conjugates of `λ` give the twists of\n  `E_λ` by `λ` and `1−λ`).\n* [`Galois.lean`](Iut/Tripod/Galois.lean) —\n  **proved**: `F_λ/ℚ(j)` is Galois of degree prime to every prime `ℓ ≥ 7`\n  (`Iut.Tripod.galois_deg_prime_of_torsion_basis`, from `E_λ[n] ≅ (ℤ/n)²` for `n = 3, 5`).\n  `Gal(ℚ̄/ℚ(j))` moves `λ` to one of its six conjugates `λ, 1−λ, 1/λ, 1/(1−λ), 1−1/λ,\n  1−1/(1−λ)` (the roots of `256(T²−T+1)³ − j·T²(T−1)²`), and `F_λ` contains the square roots\n  of all conjugates and the torsion fields of the conjugate curves, which are changes of\n  variables `⟨√−1, 1, 0, 0⟩`, `⟨√λ, 0, 0, 0⟩` of `E_λ` (`Iut.Anabelian.vcEquiv`,\n  `Iut.Anabelian.pointMap`); the degree is the product of the relative degrees\n  `≤ 6, ≤ 2, ≤ 2, ≤ 2, ∣ 48, ∣ 480` of the tower `ℚ(j) ⊆ ℚ(λ) ⊆ … ⊆ F_λ`.\n* [`CurveFacts.lean`](Iut/Tripod/CurveFacts.lean),\n  [`TorsionDegree.lean`](Iut/Tripod/TorsionDegree.lean),\n  [`Providers.lean`](Iut/Tripod/Providers.lean) — proved: `√−1 ∈ F_λ`, `E[6]` rational,\n  `[ℚ(j) : ℚ] ≤ deg λ`, `[F_λ : ℚ] ≤ 552960·deg λ` (the torsion fields have degree\n  `≤ |GL₂(𝔽_ℓ)|`, by the Galois correspondence), `log-diff = ` the different degree of the\n  tripodal field `ℚ(λ)`; the curve-level data (Tate parameters, mod-`ℓ` representations,\n  finiteness of torsion) — all **proved** (`Iut.Tripod.tripodProviders` is a closed term):\n  the finiteness of the torsion of `E_λ(ℚ̄)` and the bases `E_λ(ℚ̄)[ℓ] ≅ (ℤ/ℓ)²` for primes\n  `ℓ` ([`TorsionBasis.lean`](Iut/Tripod/TorsionBasis.lean), from the division-polynomial\n  theory of [`Iut/Torsion/`](Iut/Torsion/), see below); the stable reduction of `E_λ/F_λ` at\n  every finite place\n  ([`StableOdd.lean`](Iut/Tripod/StableOdd.lean), [`StableTwo.lean`](Iut/Tripod/StableTwo.lean):\n  the Legendre model and its twist `E_{1/λ}` at the odd places, Raynaud's criterion for the\n  rational `3`-torsion at the places over `2`, see the honesty boundary), and that\n  `F_λ/ℚ(j)` is Galois of degree prime to `ℓ ≥ 7` is proved in\n  [`Galois.lean`](Iut/Tripod/Galois.lean); the remaining\n  facts of Corollary 2.2 as the `Prop` structure `CurveFactsProp` (the cyclic-subgroup\n  bound of [GenEll] Lemma 3.5 for `ℓ ≥ 7` under (P2), away from `2`:\n  `Iut.Tripod.CyclicBoundOddHyp`, **proved** as `Iut.Tripod.cyclicBoundOdd` in\n  [`CyclicIsogeny.lean`](Iut/Tripod/CyclicIsogeny.lean) from [GenEll] Lemma 3.2(i) at the odd\n  multiplicative places (`Iut.EllipticCurveData.ModEllRepData.comap_bcKR_eq_graphLineAt`,\n  [`CyclicTorsion.lean`](Iut/Tripod/CyclicTorsion.lean),\n  [`CyclicLocal.lean`](Iut/Tripod/CyclicLocal.lean)) and the isogeny estimate by the product\n  formula for Vélu ratios ([`CyclicPoints.lean`](Iut/Tripod/CyclicPoints.lean),\n  [`CyclicGain.lean`](Iut/Tripod/CyclicGain.lean), [`CyclicTate.lean`](Iut/Tripod/CyclicTate.lean),\n  [`TorsionNewton.lean`](Iut/Tripod/TorsionNewton.lean),\n  [`CyclicArch.lean`](Iut/Tripod/CyclicArch.lean); see the honesty boundary)\n); the finiteness of the points whose\n  once-punctured curve has no core ([CanLift] Prop 2.7, `Iut.Tripod.coreFiniteness` from\n  `Iut.Anabelian.hasCore_oncePunctured` and the `j`-invariant of the Legendre curve,\n  [`Core.lean`](Iut/Tripod/Core.lean)), the height comparison\n  `(1/6)·log q_∀ ≈ h(λ)` of IUT IV Cor 2.2(i) / [GenEll] Prop 3.4\n  (`Iut.Tripod.legendreHeight`, [`Height.lean`](Iut/Tripod/Height.lean): `log q_∀(E_λ)` is\n  the finite part of the Weil height of `j(λ) = 256(λ²−λ+1)³/(λ²(λ−1)²)` by stable reduction\n  and the invariance of the finite part of the height under finite extensions, and\n  `h_fin(j) = 6·h(λ) + O(d)` on a compactly bounded subset by the ultrametric inequality\n  place by place, with explicit constants `log 2/3` and `c|V| + c + log 2/3`), the `2`-adic\n  bound (`Iut.Tripod.twoAdicBound`, with `B = 4c` on `CompactlyBounded` sets), the conductor\n  comparisons `log-cond_{F_tpd} ≤ log-cond(λ) ≤ log-cond_{F_tpd} + log 2ℓ`\n  (`logCondGe`, `logCondLe`, [`TwoAdic.lean`](Iut/Tripod/TwoAdic.lean),\n  [`LogCond.lean`](Iut/Tripod/LogCond.lean)) and the `SL₂`-image lemma of [GenEll]\n  Lemma 3.1(iii) (`Iut.Tripod.sl2Image`, from the general\n  `Iut.EllipticCurveData.sl_le_range_of` of\n  [`Iut/Concrete/SL2Image.lean`](Iut/Concrete/SL2Image.lean): under (P2), (P4), (P5) the\n  Tate parameter at a bad place is an `ℓ`-th power in the completion of `F(E[ℓ])`, so `ℓ`\n  divides a ramification index, hence `|Gal(F(E[ℓ])/F)|`; Cauchy's theorem gives a\n  transvection in the image, which stabilizes no line by (P4), and such a subgroup of\n  `GL₂(𝔽_ℓ)` contains `SL₂(𝔽_ℓ)`, [`Iut/Tripod/SL2Generation.lean`](Iut/Tripod/SL2Generation.lean))\n  are **proved**. These were audited for satisfiability with the repository's exact\n  normalisations; the audit forced two corrections recorded in the honesty boundary (the\n  reduction predicates up to a change of variables, and the restriction of the\n  cyclic-subgroup bound to `ℓ ≥ 7`).\n* [`TpdGalois.lean`](Iut/Tripod/TpdGalois.lean), [`TpdRamIdx.lean`](Iut/Tripod/TpdRamIdx.lean),\n  [`Tower.lean`](Iut/Tripod/Tower.lean) —\n  `ℚ(λ)/ℚ(j)` is Galois of degree `≤ 6` (`ℚ(λ)` is the splitting field over `ℚ(j)` of the\n  sextic `256(X² − X + 1)³ − j·X²(X − 1)²`, whose roots are `λ, 1−λ, 1/λ, 1/(1−λ),\n  λ/(λ−1), (λ−1)/λ`), `ℚ(λ)/ℚ(j)` has ramification index `≤ 2` at every place where `j` is\n  non-integral, in particular over `V_mod^bad` (`Iut.Tripod.relRamIdx_tpd_le_two`: the\n  inertia group acts freely on the two roots congruent to a root of positive valuation),\n  and the tower arithmetic `Iut.TowerArithmetic` of the Θ-data of a\n  point (`towerArithmetic_of_towerLocalHyp`) from the local facts\n  `Iut.Tripod.TowerLocalHyp` (the three fields of `Iut.TowerLocalFacts` for the curves of\n  the tripod), which are theorems (`Iut.Tripod.towerLocalHyp`,\n  [`TowerFacts.lean`](Iut/Tripod/TowerFacts.lean), [`TameTwo.lean`](Iut/Tripod/TameTwo.lean)).\n  The earlier hypothesis quantified the tower arithmetic over *all* Θ-data of\n  the model, which is false (Step (ii) fails for `F` replaced by `F(√p)`, `p` large); it\n  is now assumed only in the form of the local facts for the constructed data.\n\nFinal statement: the only hypothesis is the variant `h312 : Iut.Cor312VariantHolds` (which\nranges over exactly the Θ-data of IUT I, Definition 3.1 — the variant is never strengthened);\nconclusion `tripodTheory.StatementII`. The prime-counting bound of\nProposition 1.6 is supplied by `Iut.primeCountingBoundExplicit`.\n`StatementI` (all hyperbolic curves) additionally needs heights on curves and the\ncoverings of [GenEll] Theorem 2.1, which remain in genl's scope.\n\n### The classical ABC conjecture (`Iut/Abc/Classical.lean`, `Iut/Tripod/ClassicalAbc.lean`)\n\n`Iut.ClassicalABC` is the classical statement: for every `ε > 0` there is `C` with\n`c ≤ C · rad(abc)^{1+ε}` for all coprime positive integers `a + b = c`\n(`rad` = Mathlib's `UniqueFactorizationMonoid.radical`); `Iut.ClassicalABCInt` is the\nsymmetric form over `ℤ` (`a + b + c = 0`, bounding `max(|a|, |b|, |c|)`), and\n`Iut.classicalABC_iff_int` proves the two equivalent.\n\nOur `ClassicalABC` is proved equivalent to formal-conjectures' `ABC.abc` and\n`ABC.abc.variants.lt_constant_mul` (verbatim copies) in\n[`Iut/Abc/FormalConjectures.lean`](Iut/Abc/FormalConjectures.lean):\n`Iut.classicalABC_iff_abc`, `Iut.classicalABC_iff_ltConstantMul`, and likewise\n`Iut.classicalABC_iff_qualityVariant` for `ABC.abc.variants.quality`; hence\n`Iut.formalConjecturesABC_of_variant : Cor312VariantHolds → FormalConjecturesABC.abc`. The\ncomparator challenge (see [Comparator](#comparator)) states this implication with their\n`ABC.abc` verbatim.\n\n* `Iut.Tripod.classicalABC_of_statementI : tripodTheory.StatementI → ClassicalABC`\n  (**proved**; via `classicalABCInt_of_statementI`): for `λ = −a/c ∈ ℚ` of degree `1`,\n  `htCan λ ≥ log max(|a|, |c|)`, `logDiff λ = 0` (`disc ℚ = 1`) and\n  `logCond λ ≤ log rad(abc)`.\n* `Iut.Tripod.statementI_of_statementII` — [GenEll] Theorem 2.1 (ii) ⇒ (i) for the tripod\n  (genuine height theory of curves, `Genl.Curves`). `StatementII` alone does not yield the\n  classical form: the points `a/c` with `a ≪ c` leave every compactly bounded subset (the\n  archimedean bound on `|log|λ|_∞|`).\n* **`Iut.classicalABC_of_variant (h312 : Cor312VariantHolds) : ClassicalABC`**\n  ([`Iut/MainTheorem.lean`](Iut/MainTheorem.lean)) — the main theorem. `h312` is the variant\n  for the concrete variant data of every `D : InitialThetaData`, stated about the genuine\n  objects: the arithmetic étale fundamental group `Orbicurve.genuinePi1` of the model\n  orbicurves with Mochizuki's `k`-cores `genuineHasCore` and the tempered group\n  `Orbicurve.temperedPi1` of `lana-agents/tempered-fundamental-groups` with its comparison\n  `Orbicurve.tempToEtale`. [CanLift] Prop. 2.7 over every field of characteristic `0` is the\n  **theorem** `Iut.Anabelian.canLift27 : AffOrbicurve.CanLift27`: the complex case\n  `OrbicurveCores.U2.canLift27C` (`lana-agents/orbicurve-cores`: Takeuchi's classification,\n  Margulis' commensurator theorem for once-punctured torus groups, uniformisation from\n  `lana-agents/oka`, and the comparison of algebraic and analytic cores) descended by\n  `AffOrbicurve.canLift27_of_complex` (`lana-agents/pi1`). `#print axioms` shows `propext`,\n  `Classical.choice`, `Quot.sound` only.\n  **Boundary:** the tempered group is defined through integral models; at the places of the\n  Θ-data it is identified with André's tempered group (`Iut.LocalThetaData.pivBadEquivAndre`,\n  from `andreEquiv'` in the tempered repository, unconditional); in\n  characteristic `p` the genuine étale group is a documented junk value (all Θ-data live\n  over fields of characteristic `0`).\n\n### Division polynomials and the torsion of elliptic curves (`Iut/Torsion/`)\n\nMathlib defines the division polynomials `ψₙ` of a Weierstrass curve and their degrees, but\nnot their relation to the multiples of a point. For a curve `y² = x³ + a₂x² + a₄x + a₆`\n(`a₁ = a₃ = 0`) over a field of characteristic `≠ 2`, `Iut.Torsion.good`\n([`EDS.lean`](Iut/Torsion/EDS.lean)) proves by a strong induction along the doubling\nrecursions of the normalised elliptic divisibility sequence that, for every nonsingular\npoint `P = (x, y)` and every `n`, `ψₙ(P) = 0` iff `nP = 0`, and otherwise\n`x(nP) ψₙ(P)² = x ψₙ(P)² − ψₙ₊₁(P) ψₙ₋₁(P)` (i.e. `x(nP) = Φₙ(x)/ψₙ(P)²`) and\n`ψ₂(nP) ψₙ(P)⁴ = ψ₂ₙ(P)`; the step reduces to fixed identities of the group law\n([`Identities.lean`](Iut/Torsion/Identities.lean), proved by computer-generated\n`linear_combination` certificates). Over an algebraically closed field of characteristic `0`\nthe fibres of the multiplication by `n` are counted by the roots of `Φₙ − x₀ ΨSqₙ`\n([`Count.lean`](Iut/Torsion/Count.lean)): `|E[n]| = n²` (`Iut.Torsion.card_torsionBy_eq_sq`)\nand `E[ℓ] ≅ (ℤ/ℓ)²` for primes `ℓ` (`Iut.Torsion.torsionBasis`).\n\n## Anabelian model strand (`Iut/Anabelian`)\n\nThe anabelian objects of the Θ-data (taxis\n[#276](https://taxis.lana.merten.dev/issues/276),\n[#279](https://taxis.lana.merten.dev/issues/279)):\n\n* [`Model.lean`](Iut/Anabelian/Model.lean) — model orbicurves `(E, ℓ, M, ±)` standing for\n  `(E/M) ∖ (E[ℓ]/M)` and its `±`-quotient (the only shapes IUT I, Definition 3.1 uses);\n  covers induced by `[n]`, base change, cusps `E(k)[ℓ]/M` (mod `±`), the rank-one\n  quotient, the `±`-quotient cartesian squares, the types `(1, ℓ-tors)`,\n  `(1, ℓ-tors)^±`.\n* [`Genuine/`](Iut/Anabelian/Genuine), [`GenuineEtale.lean`](Iut/Anabelian/GenuineEtale.lean),\n  [`CanLift.lean`](Iut/Anabelian/CanLift.lean) — the genuine arithmetic étale fundamental\n  groups `Orbicurve.genuinePi1` of the model orbicurves (from `lana-agents/pi1`), the open\n  immersions `genuinePi1Cover` induced by covers, the genuine `k`-cores `genuineHasCore`\n  of [CanLift], §2 (invariant under covers, `genuineHasCore_iff_of_cover`), and [CanLift],\n  Proposition 2.7 (`canLift27`, `hasCore_oncePunctured`).\n* [`Tempered.lean`](Iut/Anabelian/Tempered.lean) — the tempered fundamental groups\n  `Orbicurve.temperedPi1` (integral-model construction of\n  `lana-agents/tempered-fundamental-groups`) with the continuous comparison\n  `Orbicurve.tempToEtale` to `genuinePi1`.\n* [`TemperedAndre.lean`](Iut/Anabelian/TemperedAndre.lean),\n  [`AdicCompletion.lean`](Iut/Anabelian/AdicCompletion.lean) — André's tempered group\n  `Orbicurve.andrePi1` of the same presentation and `Orbicurve.temperedEquivAndre :\n  X.temperedPi1 ≃ₜ* X.andrePi1` (Theorem A, `andreEquiv'`) over a field of characteristic `0`\n  whose canonical valuation is a complete DVR with perfect residue field of mixed\n  characteristic; this holds for every completion `K_v` of a number field at a finite place\n  (`O_v` is `𝔪`-adically complete, henselian, with finite residue field, and is the canonical\n  valuation by F. K. Schmidt). At the places of the Θ-data: `LocalThetaData.pivBadEquivAndre`\n  ([`AndreLocal.lean`](Iut/Cor312/ThetaData/AndreLocal.lean)).\n* [`TateTheoremB.lean`](Iut/Cor312/ThetaData/TateTheoremB.lean) — the normal form of the Tate\n  curves (`Iut.TateParameter.exists_normalForm`) and Theorem B of the tempered repository for\n  them (`Iut.tateOrbicurve_nondegenerate`, `Iut.InitialThetaData.tate_nondegenerate`), for the\n  geometric presentation of `(E_q, ℓ, M, ±)`; see the honesty boundary.\n* [`Local.lean`](Iut/Anabelian/Local.lean) — over a valued field: the kernel of\n  reduction and the **graph line** `E(k)[ℓ] ∩ E₁(k)` (= `μ_ℓ` under Tate\n  uniformization), the **canonical generators** `q^{±1/ℓ}` of the graph quotient\n  (`ℓ·v(x(P)) = -v(j)` in minimal models), split multiplicative reduction, the type\n  `(1, ℤ/ℓℤ)^±`, theta-root models and the canonical graph cusp.\n* [`Torsion.lean`](Iut/Anabelian/Torsion.lean), [`Linear.lean`](Iut/Anabelian/Linear.lean),\n  [`Existence.lean`](Iut/Anabelian/Existence.lean) — the ℓ-torsion is rational over\n  `K = F(E[ℓ])`; `SL₂(𝔽_ℓ)` acts transitively on (line, generator of the quotient) pairs;\n  **`Iut.AdmissiblePrimeData.orbicurveData`, `localThetaData`**: `C̲_K = (E_K, ℓ, ⟨e₁⟩, ±)`,\n  `ε = e₂ mod ⟨e₁⟩`, and at each bad place a place of `K` chosen through `SL₂(𝔽_ℓ)` so that\n  the graph line is `⟨e₁⟩` and the canonical generators are `±e₂` — the mechanism of (P7) in\n  the proof of IUT IV, Corollary 2.2.\n* [`PlacesOver.lean`](Iut/Cor312/ThetaData/PlacesOver.lean),\n  [`TateStructure.lean`](Iut/Cor312/ThetaData/TateStructure.lean),\n  [`TateFamily.lean`](Iut/Cor312/ThetaData/TateFamily.lean),\n  [`TateTorsion.lean`](Iut/Anabelian/TateTorsion.lean),\n  [`LocalInputs.lean`](Iut/Anabelian/LocalInputs.lean) — the arithmetic inputs of the\n  existence proof, all proved: places of `K` over `F_mod`, the Galois action on places and\n  decomposition groups; and, from the Tate uniformizations carried by the Θ-data\n  (`InitialThetaData.tate`: Tate parameter, model change, uniformization pinned by the\n  coordinates of the Tate parametrization, Galois-equivariant), the ℓ-torsion of the Tate\n  curve (`|E(K_w)[ℓ]| ≤ ℓ²`, graph line = kernel of the residue homomorphism to `ℤ/ℓℤ`,\n  canonical generators `±q^{1/ℓ}`), hence the rationality of the local ℓ-torsion, the\n  graph line of order `ℓ` and the canonical cosets at the bad places.\n\n* [`VariableChangePoint.lean`](Iut/Cor312/ThetaData/VariableChangePoint.lean),\n  [`UltrametricSqrt.lean`](Iut/Cor312/ThetaData/UltrametricSqrt.lean),\n  [`ReductionNorm.lean`](Iut/Cor312/ThetaData/ReductionNorm.lean),\n  [`TateIsomorphism.lean`](Iut/Cor312/ThetaData/TateIsomorphism.lean),\n  [`TateStructureOfIso.lean`](Iut/Cor312/ThetaData/TateStructureOfIso.lean),\n  [`TateStructureUnique.lean`](Iut/Cor312/ThetaData/TateStructureUnique.lean),\n  [`TateStructureTransport.lean`](Iut/Cor312/ThetaData/TateStructureTransport.lean),\n  [`GalCompletion.lean`](Iut/Cor312/ThetaData/GalCompletion.lean),\n  [`BadPlaceNorm.lean`](Iut/Cor312/ThetaData/BadPlaceNorm.lean),\n  [`TateFamilyGalois.lean`](Iut/Cor312/ThetaData/TateFamilyGalois.lean),\n  [`TateFamilyOfSplit.lean`](Iut/Cor312/ThetaData/TateFamilyOfSplit.lean) — **Tate's\n  theorem and the Tate family, proved** (taxis #1582): points along changes of variables\n  form a group isomorphism; Hensel's lemma for square roots; Mathlib's reduction classes\n  read as norm conditions on the completion; an elliptic curve over a complete ultrametric\n  field with `‖2‖ = 1` and split multiplicative reduction is a Tate curve `E_q` after a\n  change of variables (short normal forms with equal `j` differ by a scaling whose square\n  is `c₄c₆(E)/c₄c₆(E_q)` up to squares, a unit that is a square modulo the maximal ideal\n  because `−c₄c₆` is the discriminant of the tangent quadratic at the node); Tate\n  structures on such curves, their uniqueness up to sign (`Aut(E_q) = ±1`) and transport\n  along isometric isomorphisms; the isometry `K_w ≃ K_{σw}` extending `σ ∈ Gal(K/F)`; and\n  the Galois equivariance of the graph lines and canonical generators, which holds for any\n  choice of Tate structures by uniqueness. The Tate family of the Θ-data is\n  **constructed** (`EllipticCurveData.tateFamily`, `Iut.tateFamilyOfTorsion`) from the\n  multiplicative reduction of `E` at the places of `F` over `V_mod^bad` and the rationality\n  of the ℓ-torsion over `K = F(E[ℓ])`, with no further input: the reduction at a place `w`\n  of `K` is split because `−c₄c₆` is a square in `K_w`\n  ([`SqrtAtBadPlace.lean`](Iut/Cor312/ThetaData/SqrtAtBadPlace.lean)) — in\n  `K' = K(√(−c₄c₆))` ([`QuadraticExtension.lean`](Iut/Cor312/ThetaData/QuadraticExtension.lean))\n  the curve is a Tate curve over the completion at a place `w'` over `w`; if the conjugation\n  fixes `w'` it acts on that completion fixing the curve and all its ℓ-torsion, so by the\n  sign theorem ([`TateSign.lean`](Iut/Cor312/ThetaData/TateSign.lean): an isometric\n  automorphism fixing all the ℓ-torsion fixes the Tate structure, hence a square root of\n  `−c₄c₆`) it would fix `√(−c₄c₆)`, which it negates; otherwise `w` splits in `K'`, the\n  residue degree is `1` ([`ValuationTransfer.lean`](Iut/Cor312/ThetaData/ValuationTransfer.lean):\n  valuations along extensions of number fields, `Σ e f = [K' : K]`), `−c₄c₆` is a square\n  modulo `w`, and Hensel's lemma applies. In\n  tate-curves-theta (now at `ca6c227`) the hypothesis `‖12‖ = 1` of the Tate uniformization\n  was weakened to `‖2‖ = 1 ∧ 12 ≠ 0` (residue characteristic `3` occurs in `V_mod^bad`), and\n  the naturality of the Tate coordinates under base change was added.\n\nInterface amendments made for this (recorded on taxis #1453): the \"lies over\" relation on\nfinite places is the prime-ideal relation (the absolute-value form of the delivered\nstatement was only satisfiable at unramified split primes); `IsTypeOneZModPM`,\n`IsThetaRootModel` and `canonicalGraphCusp` take a Tate structure on the local orbicurve\nover a complete rank-one valued field, and the local theta data carry the chosen Tate\nstructures (`tateX`, `tateC`); the Θ-data carry the Tate uniformizations at the places of\nthe torsion field (`InitialThetaData.tate`).\n\nNo interface of the model remains: the statement layer refers to the genuine objects\ndirectly. The former residual interfaces `EtalePi1Theory` (étale `π₁`, open immersions,\ncores, [CanLift] Prop 2.7) and `TemperedPi1Theory` (tempered `π₁` with its comparison) are\nreplaced by `Orbicurve.genuinePi1`/`genuinePi1Cover`/`genuineHasCore`/`canLift27`\n([#1527](https://taxis.lana.merten.dev/issues/1527)) and\n`Orbicurve.temperedPi1`/`tempToEtale` ([#1528](https://taxis.lana.merten.dev/issues/1528));\nsee the honesty note on the tempered group above.\n\n## Dependency pins\n\n`lakefile.toml` (Lean and Mathlib `v4.32.0`); `iut`'s own requirements override the pins of its\ndependencies:\n\n| Package | Revision |\n| --- | --- |\n| [`tempered-fundamental-groups`](https://github.com/lana-agents/tempered-fundamental-groups) | `33b1c27` (Theorem A `andreEquiv'`, Theorem B `TateOrbicurve.nondegenerate_of_normalForm`) |\n| [`oka`](https://github.com/lana-agents/oka) | `31c0576` (needed by `tempered-fundamental-groups`: Zariski connectedness, `Oka.AlgebraicGeometry.ProjectiveSpace.ZariskiConnected`) |\n| [`pi1`](https://github.com/lana-agents/pi1) | `2c1e2f0` |\n| [`heights`](https://github.com/lana-agents/heights) | `f4379db` |\n| [`tate-curves-theta`](https://github.com/lana-agents/tate-curves-theta) | `ca6c227` |\n| [`genl`](https://github.com/lana-agents/genl) | `179e26f` |\n| [`orbicurve-cores`](https://github.com/lana-agents/orbicurve-cores) | `21ce4b7` |\n| [`belyi`](https://github.com/lana-agents/belyi) | `1d84db9` (also pinned by `heights` and `genl`) |\n\n## Comparator\n\n[`Comparator/Challenge.lean`](Comparator/Challenge.lean) states, for\n[`leanprover/comparator`](https://github.com/leanprover/comparator), that the hypothesis of the\nmain theorem implies the **official** ABC statement of\n[google-deepmind/formal-conjectures](https://github.com/google-deepmind/formal-conjectures/blob/1646ca16afd6cc7a693d3bdc9f066c4d3cc01a89/FormalConjectures/Wikipedia/ABC.lean),\ntheir theorem `ABC.abc` (commit `1646ca1`, Apache-2.0), verbatim, as the definition `ABC`:\n\n```lean\nnamespace ABC\n\ndef radical (n : ℕ) : ℕ := n.primeFactors.prod id\n\nend ABC\n\nopen ABC in\ndef ABC : Prop := ∀ ε : ℝ, 0 \u003C ε →\n    {(a, b, c) : ℕ × ℕ × ℕ | 0 \u003C a ∧ 0 \u003C b ∧ 0 \u003C c ∧ ({a, b, c} : Set ℕ).Pairwise Nat.Coprime ∧\n    a + b = c ∧ (radical \u003C| a * b * c : ℝ)^(1 + ε) \u003C c}.Finite\n\ntheorem Iut.abc_of_cor312Variant : Iut.Cor312VariantHolds → ABC\n```\n\nThe body of `ABC` is their statement of `ABC.abc`, with their arguments\n`(ε : ℝ) (hε : 0 \u003C ε)` written as `∀ ε : ℝ, 0 \u003C ε →`, and their definition `ABC.radical`,\ncopied into the challenge. The hypothesis `Iut.Cor312VariantHolds` comes from its defining\nmodule `Iut.Concrete.ThetaRegion`, the challenge's only project import. The challenge therefore\ntrusts the definitions of the statement vocabulary, but no module of the proof. The audit\n`scripts/AuditComparatorChallenge.lean` checks this. `Comparator/Solution.lean` declares the\nidentical `ABC.radical` and `ABC` (the comparator compares both in full, values included) and\nproves the statement with `Iut.formalConjecturesABC_of_variant`.\nThe trusted closure, the config and how to run the comparator are described in\n[`Comparator/README.md`](Comparator/README.md).\n\n## Libraries\n\n| Library | Contents |\n| --- | --- |\n| `Iut` | Corollary 3.12 variant, its concrete instantiation, and the implication to ABC |\n| `Iut4Sec1` | IUT IV, Section 1 |\n| `Challenge` / `Solution` | Comparator roots for the main theorem (separate environments) |\n\nLean 4 project pinned to `leanprover/lean4:v4.32.0` with Mathlib at `v4.32.0`.\n\n## Build and audits\n\nInstall [elan](https://github.com/leanprover/elan); it selects the Lean version pinned by\n`lean-toolchain`. Then run from the repository root:\n\n```bash\nlake exe cache get\nlake build\n./scripts/check_comparator_signature.sh\n./scripts/audit_trust.sh\n./scripts/audit_axioms.sh\ngit diff --check\n```\n\nThe challenge contains one reviewed proof placeholder, for its only theorem. The trust and\naxiom audits check the public project modules, the Solution theorem and the challenge's\ntrusted import closure separately. The challenge/solution pair is checked with\n[`leanprover/comparator`](https://github.com/leanprover/comparator) using\n`Comparator/config.json`, which permits only the standard axioms; this was confirmed on\n2026-10-10 (`Your solution is okay!`). See [`Comparator/README.md`](Comparator/README.md).\n\n## Validation\n\n`.orchestra/` tells the agent harness how to prepare the environment and how to check that\na change is complete:\n\n* `before.sh` warms the Mathlib build cache before work starts.\n* `validation.sh` checks the worktree is clean, that every `.lean` file is imported\n  (`lake exe mk_all --check`, for both `Iut` and `Iut4Sec1`), and that everything builds with\n  warnings as errors (`lake build --wfail`).\n\nRun it locally with `bash .orchestra/validation.sh`.\n\n## Tracker\n\nWork is tracked in taxis: [#1](https://taxis.lana.merten.dev/issues/1) (programme umbrella); implication strand [#1449](https://taxis.lana.merten.dev/issues/1449): [#3](https://taxis.lana.merten.dev/issues/3), [#1451](https://taxis.lana.merten.dev/issues/1451), [#1453](https://taxis.lana.merten.dev/issues/1453), [#1454](https://taxis.lana.merten.dev/issues/1454), [#1455](https://taxis.lana.merten.dev/issues/1455); statement strand: [#33](https://taxis.lana.merten.dev/issues/33), [#34](https://taxis.lana.merten.dev/issues/34), [#35](https://taxis.lana.merten.dev/issues/35), [#38](https://taxis.lana.merten.dev/issues/38), [#39](https://taxis.lana.merten.dev/issues/39), [#40](https://taxis.lana.merten.dev/issues/40), [#41](https://taxis.lana.merten.dev/issues/41), [#42](https://taxis.lana.merten.dev/issues/42), [#43](https://taxis.lana.merten.dev/issues/43), [#44](https://taxis.lana.merten.dev/issues/44), [#45](https://taxis.lana.merten.dev/issues/45); interface-discharge issues: [#276](https://taxis.lana.merten.dev/issues/276) (anabelian interface), [#277](https://taxis.lana.merten.dev/issues/277) (mod-ℓ torsion and representation), [#278](https://taxis.lana.merten.dev/issues/278) (container/log-volume/hull instantiation), [#279](https://taxis.lana.merten.dev/issues/279) (étale theta, anabelian side)\n\n## License\n\nLicense: Apache 2.0 (see [LICENSE](LICENSE)).\n",1791742511605]