Paper IX · Lean source
PolynomialObstructionContract.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.
polynomial_lifting/contracts/PolynomialObstructionContract.lean28 lines
Original source path
preserved/PRSC_IX_Consolidated_Manuscript/polynomial_lifting/contracts/PolynomialObstructionContract.leanSkip declarations and read code
1 module
2 public import PolynomialObstruction
3
4 @[expose] public section
5 noncomputable section
6 set_option autoImplicit false
7
8 namespace Komorebi.PolynomialObstructionContract
9
10 /-- Actual integer representatives and polynomial evaluations, including the
11 finite quotient and its zero residual class, appear in the external contract. -/
12 theorem explicit_finite_polynomial_contract (d e q L : ℕ)
13 (hq : 0 < q) (hL : 1 ≤ L)
14 (F : Fin e → MvPolynomial (Fin d) ℤ) (x : Fin d → ℤ)
15 (hx : ∀ i, (q : ℤ)^L ∣ MvPolynomial.eval x (F i)) :
16 ∃ r : Fin e → ℤ,
17 (fun i => MvPolynomial.eval x (F i)) = (q : ℤ)^L • r ∧
18 Finite ((Fin e → ZMod q) ⧸
19 LinearMap.range (NativeAffine.digitMap q (PolynomialObstruction.jacobian F x))) ∧
20 ((∃ y : Fin d → ℤ,
21 (∀ i, (q : ℤ)^L ∣ y i - x i) ∧
22 (∀ i, (q : ℤ)^(L+1) ∣ MvPolynomial.eval y (F i))) ↔
23 (Submodule.Quotient.mk (fun i => (r i : ZMod q)) :
24 (Fin e → ZMod q) ⧸ LinearMap.range
25 (NativeAffine.digitMap q (PolynomialObstruction.jacobian F x))) = 0) :=
26 PolynomialObstruction.finite_polynomial_obstruction q L hq hL F x hx
27
28 end Komorebi.PolynomialObstructionContract
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: b5f7d5ea68aa85097939d3913cfa0a0699ee080efd389a62746e3e2a33116d16
Back to Paper IX: Arithmetic Packets, Dyadic Towers, and Local Polynomial Deformation