Skip to content

Commit bea68aa

Browse files
committed
feat(Verified-zkEVM#138): expose P1 base alpha endpoints
1 parent 57b5589 commit bea68aa

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

ArkLib/Data/CodingTheory/ProximityGap/BCIKS20/P1ConditionalAll.lean

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,23 @@ theorem βHenselStructuredWeightInvariant_all_of_lift'
6666
βHenselStructuredWeightInvariant_all_of_lift H x₀ R hHyp hH hDH hlift hα
6767
(ClaimA2.weight_ξ_bound x₀ hH hHyp hdR2 hDH hDRx0)
6868

69+
/-- Direct `P1Conditional` alias for the discharged-`ξ` carved-alpha all-prefix route. -/
70+
theorem βHenselStructuredWeightInvariant_all_of_alphaWeight'
71+
(x₀ : F) (R : F[X][X][Y]) (hHyp : ClaimA2.Hypotheses x₀ R H)
72+
(hH : 0 < H.natDegree) {D : ℕ}
73+
(hDH : Bivariate.totalDegree H ≤ D)
74+
(hDRx0 : D ≥ Bivariate.totalDegree (Bivariate.evalX (Polynomial.C x₀) R))
75+
(hdR2 : 2 ≤ Bivariate.natDegreeY R)
76+
(hlift : ∀ t : ℕ,
77+
embeddingOf𝒪Into𝕃 H (βHensel H x₀ R hHyp t)
78+
= αGenuine H x₀ R hHyp t
79+
* (liftToFunctionField (H := H) H.leadingCoeff) ^ (t + 1)
80+
* (embeddingOf𝒪Into𝕃 H (ClaimA2.ξ x₀ R H hHyp)) ^ (2 * t - 1))
81+
(hα : AlphaGenuineRegularWeightLe H x₀ R hHyp hH D) :
82+
∀ k, βHenselStructuredWeightInvariant (D := D) H x₀ R hHyp hH k :=
83+
AlphaWeight.βHenselStructuredWeightInvariant_all_of_alphaWeight'
84+
H x₀ R hHyp hH hDH hDRx0 hdR2 hlift hα
85+
6986
/-- Package the `P1Conditional` `DivWeightLe` route into an all-`k` structured invariant. -/
7087
theorem βHenselStructuredWeightInvariant_all_of_divWeight
7188
(x₀ : F) (R : F[X][X][Y]) (hHyp : ClaimA2.Hypotheses x₀ R H)
@@ -300,6 +317,27 @@ theorem βHensel_weight_bound_of_structured_invariant_lift'
300317
(ClaimA2.weight_ξ_bound x₀ hH hHyp hdR2 hDH hDRx0)
301318
t
302319

320+
/-- Direct `P1Conditional` alias for the discharged-`ξ` carved-alpha structured endpoint. -/
321+
theorem βHensel_weight_bound_of_structured_invariant_alphaWeight'
322+
(x₀ : F) (R : F[X][X][Y]) (hHyp : ClaimA2.Hypotheses x₀ R H)
323+
(hH : 0 < H.natDegree) {D : ℕ}
324+
(hDH : Bivariate.totalDegree H ≤ D)
325+
(hdR2 : 2 ≤ Bivariate.natDegreeY R)
326+
(hdHR : Bivariate.natDegreeY H ≤ Bivariate.natDegreeY R)
327+
(hW : (H.leadingCoeff).natDegree + Bivariate.natDegreeY H ≤ D)
328+
(hRgraded : ∀ j, Bivariate.degreeX (R.coeff j) ≤ D - j)
329+
(hDRx0 : D ≥ Bivariate.totalDegree (Bivariate.evalX (Polynomial.C x₀) R))
330+
(hlift : ∀ t : ℕ,
331+
embeddingOf𝒪Into𝕃 H (βHensel H x₀ R hHyp t)
332+
= αGenuine H x₀ R hHyp t
333+
* (liftToFunctionField (H := H) H.leadingCoeff) ^ (t + 1)
334+
* (embeddingOf𝒪Into𝕃 H (ClaimA2.ξ x₀ R H hHyp)) ^ (2 * t - 1))
335+
(hα : AlphaGenuineRegularWeightLe H x₀ R hHyp hH D) (t : ℕ) :
336+
weight_Λ_over_𝒪 hH (βHensel H x₀ R hHyp t) D
337+
≤ WithBot.some ((2 * t + 1) * Bivariate.natDegreeY R * D) :=
338+
AlphaWeight.βHensel_weight_bound_of_structured_invariant_alphaWeight'
339+
H x₀ R hHyp hH hDH hdR2 hdHR hW hRgraded hDRx0 hlift hα t
340+
303341
/-- Route `DivWeightLe` through the all-prefix structured-invariant endpoint. -/
304342
theorem βHensel_weight_bound_of_structured_invariant_divWeight
305343
(x₀ : F) (R : F[X][X][Y]) (hHyp : ClaimA2.Hypotheses x₀ R H)
@@ -574,6 +612,7 @@ end BCIKS20.HenselNumerator
574612
-- axiom dependencies beyond the imported standard surface.
575613
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_lift
576614
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_lift'
615+
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_alphaWeight'
577616
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_divWeight
578617
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_divWeight'
579618
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_of_normalized_divWeight_cases
@@ -588,6 +627,7 @@ end BCIKS20.HenselNumerator
588627
#print axioms BCIKS20.HenselNumerator.βHenselStructuredWeightInvariant_all_unlocked_of_restrictedMatch_divWeight
589628
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_lift
590629
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_lift'
630+
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_alphaWeight'
591631
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_divWeight
592632
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_divWeight'
593633
#print axioms BCIKS20.HenselNumerator.βHensel_weight_bound_of_structured_invariant_normalized_divWeight_cases

0 commit comments

Comments
 (0)