Skip to content

Commit cbbbe69

Browse files
committed
feat(Verified-zkEVM#139): route monic W-free P2 to S5
1 parent 93e52df commit cbbbe69

2 files changed

Lines changed: 81 additions & 0 deletions

File tree

ArkLib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeFullSumAt
192192
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeGlobal
193193
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeRange
194194
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeRangeConsumers
195+
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeS5
195196
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2OrderZeroRefutation
196197
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2Reabsorb
197198
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2Reindex
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/-
2+
Copyright (c) 2026 ArkLib Contributors. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: ArkLib Contributors
5+
-/
6+
7+
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2MonicWfreeConsumers
8+
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.P2RootBridgeS5
9+
10+
/-!
11+
# BCIKS20 Appendix A.4 — monic W-free consumers for genuine §5
12+
13+
`P2MonicWfreeConsumers.lean` routes the monic W-free residual into the repaired P2 lift
14+
identity. This cold companion exposes that same bridge at the genuine §5 API in
15+
`S5Genuine`: once the global W-free equations and `H.leadingCoeff = 1` are supplied,
16+
Claim 5.8 and Claim 5.8' can consume them without unpacking the intermediate restricted
17+
Faà-di-Bruno match.
18+
19+
The hard #139 content remains the W-free equations themselves: the ξ telescope,
20+
Faà-di-Bruno reindexing, and monic cancellation. The wrappers here are endpoint plumbing.
21+
-/
22+
23+
noncomputable section
24+
25+
open scoped BigOperators
26+
open Polynomial Polynomial.Bivariate PowerSeries
27+
open BCIKS20AppendixA
28+
open ProximityPrize.BCIKS20.GammaGenuine
29+
30+
namespace BCIKS20.HenselNumerator.S5Genuine
31+
32+
variable {F : Type} [Field F]
33+
variable (H : F[X][Y]) [Fact (Irreducible H)] [Fact (0 < H.natDegree)]
34+
35+
/-- The genuine §5 `LiftIdentityAt` bridge supplied by the global monic W-free P2 target. -/
36+
theorem LiftIdentityAt.of_WfreeMatch {x₀ : F} {R : F[X][X][Y]}
37+
(hHyp : ClaimA2.Hypotheses x₀ R H)
38+
(hlc : H.leadingCoeff = 1)
39+
(hWfree : RestrictedFaaDiBrunoWfreeMatch H x₀ R hHyp) (t : ℕ) :
40+
LiftIdentityAt H x₀ R hHyp t :=
41+
BCIKS20.HenselNumerator.βHensel_lift_identity_of_WfreeMatch
42+
H x₀ R hHyp hlc hWfree t
43+
44+
/-- Claim 5.8 from the global monic W-free P2 target. -/
45+
theorem claim58_genuine_via_WfreeMatch {x₀ : F} {R : F[X][X][Y]}
46+
(hHyp : ClaimA2.Hypotheses x₀ R H)
47+
(hlc : H.leadingCoeff = 1)
48+
(hWfree : RestrictedFaaDiBrunoWfreeMatch H x₀ R hHyp)
49+
{t : ℕ} (hlarge : SβLargeAt H x₀ R hHyp t) :
50+
αGenuine H x₀ R hHyp t = 0 :=
51+
claim58_genuine H hHyp hlarge
52+
(LiftIdentityAt.of_WfreeMatch H hHyp hlc hWfree t)
53+
54+
/-- Claim 5.8' tail vanishing from the global monic W-free P2 target. -/
55+
theorem claim58prime_genuine_tail_via_WfreeMatch {x₀ : F} {R : F[X][X][Y]}
56+
(hHyp : ClaimA2.Hypotheses x₀ R H)
57+
(hlc : H.leadingCoeff = 1)
58+
(hWfree : RestrictedFaaDiBrunoWfreeMatch H x₀ R hHyp) {k : ℕ}
59+
(hlarge : ∀ t ≥ k, SβLargeAt H x₀ R hHyp t) :
60+
∀ t ≥ k, αGenuine H x₀ R hHyp t = 0 :=
61+
claim58prime_genuine_tail H hHyp hlarge
62+
(fun t _ => LiftIdentityAt.of_WfreeMatch H hHyp hlc hWfree t)
63+
64+
/-- Claim 5.8' polynomial form from the global monic W-free P2 target. -/
65+
theorem claim58prime_genuine_via_WfreeMatch {x₀ : F} {R : F[X][X][Y]}
66+
(hHyp : ClaimA2.Hypotheses x₀ R H)
67+
(hlc : H.leadingCoeff = 1)
68+
(hWfree : RestrictedFaaDiBrunoWfreeMatch H x₀ R hHyp) {k : ℕ}
69+
(hlarge : ∀ t ≥ k, SβLargeAt H x₀ R hHyp t) :
70+
gammaGenuine x₀ R H hHyp
71+
= (↑(PowerSeries.trunc k (gammaGenuine x₀ R H hHyp)) : (𝕃 H)⟦X⟧) :=
72+
claim58prime_genuine H hHyp hlarge
73+
(fun t _ => LiftIdentityAt.of_WfreeMatch H hHyp hlc hWfree t)
74+
75+
#print axioms LiftIdentityAt.of_WfreeMatch
76+
#print axioms claim58_genuine_via_WfreeMatch
77+
#print axioms claim58prime_genuine_tail_via_WfreeMatch
78+
#print axioms claim58prime_genuine_via_WfreeMatch
79+
80+
end BCIKS20.HenselNumerator.S5Genuine

0 commit comments

Comments
 (0)