Skip to content

Commit e93364c

Browse files
merge conflict
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2 parents 73c0792 + aa51dcb commit e93364c

76 files changed

Lines changed: 4571 additions & 5022 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
${{ runner.os }}-lean-docs-${{ hashFiles('lake-manifest.json') }}
8686
${{ runner.os }}-lean-docs-
8787
88-
- uses: actions/setup-python@v6
88+
- uses: actions/setup-python@v7
8989
with:
9090
python-version: "3.12"
9191

.github/workflows/docs-integrity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v7
18-
- uses: actions/setup-python@v6
18+
- uses: actions/setup-python@v7
1919
with:
2020
python-version: "3.12"
2121
- name: Check docs integrity

.github/workflows/kb-generated.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
fetch-depth: 0
3131
token: ${{ secrets.GITHUB_TOKEN }}
3232

33-
- uses: actions/setup-python@v6
33+
- uses: actions/setup-python@v7
3434
with:
3535
python-version: "3.12"
3636

ArkLib.lean

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import ArkLib.Data.CodingTheory.PolishchukSpielman.Resultant
8383
import ArkLib.Data.CodingTheory.Prelims
8484
import ArkLib.Data.CodingTheory.ProximityGap.AHIV22
8585
import ArkLib.Data.CodingTheory.ProximityGap.AHIV22Support
86+
import ArkLib.Data.CodingTheory.ProximityGap.AffineGenerator
8687
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.AffineLines.BWMatrix
8788
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.AffineLines.GoodCoeffs
8889
import ArkLib.Data.CodingTheory.ProximityGap.BCIKS20.AffineLines.JointAgreement
@@ -150,6 +151,7 @@ import ArkLib.Data.Lattices.CyclotomicRing.NormBounds.LyubashevskySeiler
150151
import ArkLib.Data.Lattices.CyclotomicRing.NormBounds.MicciancioYoung
151152
import ArkLib.Data.Lattices.CyclotomicRing.Norms
152153
import ArkLib.Data.Lattices.CyclotomicRing.PowTwo
154+
import ArkLib.Data.Lattices.CyclotomicRing.QuotientLift
153155
import ArkLib.Data.Lattices.CyclotomicRing.Rq
154156
import ArkLib.Data.Lattices.CyclotomicRing.Subfield
155157
import ArkLib.Data.Lattices.CyclotomicRing.Subfield.Basis
@@ -217,6 +219,7 @@ import ArkLib.OracleReduction.Salt
217219
import ArkLib.OracleReduction.Security.Basic
218220
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness
219221
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.Basic
222+
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.CommittedScalar
220223
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.Composition
221224
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.Escape
222225
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.Guarded
@@ -226,6 +229,7 @@ import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.ScalarRoun
226229
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.SeqCompose
227230
import ArkLib.OracleReduction.Security.CoordinateWiseSpecialSoundness.SingleRound
228231
import ArkLib.OracleReduction.Security.Implications
232+
import ArkLib.OracleReduction.Security.RbrGame
229233
import ArkLib.OracleReduction.Security.Rewinding
230234
import ArkLib.OracleReduction.Security.RoundByRound
231235
import ArkLib.OracleReduction.Security.SpecialSoundness
@@ -263,12 +267,21 @@ import ArkLib.ProofSystem.Fri.RoundConsistency
263267
import ArkLib.ProofSystem.Fri.Spec.General
264268
import ArkLib.ProofSystem.Fri.Spec.SingleRound
265269
import ArkLib.ProofSystem.Plonk.Basic
266-
import ArkLib.ProofSystem.RingSwitching.BatchingPhase
267-
import ArkLib.ProofSystem.RingSwitching.General
268-
import ArkLib.ProofSystem.RingSwitching.Prelude
269-
import ArkLib.ProofSystem.RingSwitching.Profile
270-
import ArkLib.ProofSystem.RingSwitching.Spec
271-
import ArkLib.ProofSystem.RingSwitching.SumcheckPhase
270+
import ArkLib.ProofSystem.RingSwitching.Basic
271+
import ArkLib.ProofSystem.RingSwitching.Lift
272+
import ArkLib.ProofSystem.RingSwitching.Lift.Presentation
273+
import ArkLib.ProofSystem.RingSwitching.Lift.Reduction
274+
import ArkLib.ProofSystem.RingSwitching.Packing
275+
import ArkLib.ProofSystem.RingSwitching.Packing.BatchingPhase
276+
import ArkLib.ProofSystem.RingSwitching.Packing.General
277+
import ArkLib.ProofSystem.RingSwitching.Packing.Prelude
278+
import ArkLib.ProofSystem.RingSwitching.Packing.Profile
279+
import ArkLib.ProofSystem.RingSwitching.Packing.Spec
280+
import ArkLib.ProofSystem.RingSwitching.Packing.SumcheckPhase
281+
import ArkLib.ProofSystem.RingSwitching.RoundVerifiers
282+
import ArkLib.ProofSystem.RingSwitching.Transport
283+
import ArkLib.ProofSystem.RingSwitching.Transport.Coeffs
284+
import ArkLib.ProofSystem.RingSwitching.Transport.Eval
272285
import ArkLib.ProofSystem.Spartan.Basic
273286
import ArkLib.ProofSystem.Stir.Combine
274287
import ArkLib.ProofSystem.Stir.MainThm
@@ -297,6 +310,6 @@ import ArkLib.ToVCVio.EvalDist.Defs.Support
297310
import ArkLib.ToVCVio.EvalDist.Instances.OptionT
298311
import ArkLib.ToVCVio.OracleComp.Coercions.SubSpec
299312
import ArkLib.ToVCVio.OracleComp.EvalDist
313+
import ArkLib.ToVCVio.OracleComp.QueryTracking.LoggingOracle
300314
import ArkLib.ToVCVio.OracleComp.SimSemantics.SimulateQ
301-
import ArkLib.ToVCVio.ToMathlib.Control.StateT
302315
import ArkLib.ToVCVio.ToMathlib.Data.Vector.Basic

ArkLib/Commitments/Functional/Hachi/Composition.lean

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ file and exported as a `CWSSPackage` (pure verifier) or `GCWSSPackage` (guarded
2121
(CWSS), the knowledge-soundness notion under which a witness is extracted from a suitably
2222
structured tree of accepting transcripts. This file only **imports those packages and chains
2323
them**: pure links with `▷` (`CWSSPackage.append`, seams discharged by `rfl`), guarded links with
24-
`▷ᵍ` (`GCWSSPackage.append`, the B4 skeleton in
24+
`▷ᵍ` (`GCWSSPackage.append`, the skeleton in
2525
`OracleReduction/Security/CoordinateWiseSpecialSoundness/Guarded.lean`). The composed chain's
2626
`isCWSS` field is the CWSS certificate for the whole reduction. (Hachi as a `Commitment.Scheme` —
2727
the honest committer `keygen`/`commit` and the `hachi` functional commitment — lives in the
@@ -31,10 +31,10 @@ sibling `Commitment.lean`.)
3131
3232
1. **`evalChain`** (sorry-free, finished): the polynomial-level bridge ▷ `QuadEval`
3333
(§4.2 / Figure 3 / Lemma 8).
34-
2. **`openCore`** (skeleton, pure links): the escape-threaded front `evalChainE` extended by the
35-
§4.3 stages up to the sumcheck bridge — R^lin adapter (F2) ▷ HMZ25 lift (Figure 4 / Lemma 9)
36-
batching bridge (Eqs. (22)–(23)) ▷ zero-check (Figure 5 / **corrected** Lemma 10) ▷
37-
sumcheck bridge.
34+
2. **`openCore`** (pure links; rows 3–4 proven, rows 5–7 skeleton): the escape-threaded front
35+
`evalChainE` extended by the §4.3 stages up to the sumcheck bridge — R^lin adapter (proven)
36+
HMZ25 lift (Figure 4 / Lemma 9, **proven & axiom-clean**) ▷ batching bridge
37+
(Eqs. (22)–(23)) ▷ zero-check (Figure 5 / **corrected** Lemma 10) ▷ sumcheck bridge.
3838
3. **`openingChain`** (skeleton, guarded tail): `openCore` ▷ᵍ the paired sumcheck loop
3939
(Figure 6 / Lemma 11, `m₀` guarded rounds) ▷ᵍ final evaluation (Figure 7 tail) ▷ᵍ the §4.5
4040
recursion adapters (partial evaluations ▷ᵍ `Z`-packing bridge ▷ᵍ trace handoff), landing on
@@ -46,10 +46,10 @@ sibling `Commitment.lean`.)
4646
Top-to-bottom is one opening iteration of the ArkLib Hachi commitment, whose committed data is an
4747
`Rq`-valued multilinear polynomial. The opening starts with the Figure 3 path, not with §3: the §3
4848
packing head (extension-field claims into `Rq`-claims, via the generalized `RingSwitching` packing
49-
phase — see `HACHI_RING_SWITCHING_PLAN.md`, Phases B–E) is a separate track that wraps *external*
49+
phase) is a separate track that wraps *external*
5050
extension-field claims in front of `relPolyEval(E)`; the §4.5 adapters below close the recursion
5151
*internally*. Witnesses in rows 3–11 are `· ⊕ E`: escape threading (`Set.withEscape`) gives every
52-
seam a home for the `w̃`-commitment's weak-binding break (design G1; `E` abstract, escape set
52+
seam a home for the `w̃`-commitment's weak-binding break (`E` abstract, escape set
5353
`K.esc`).
5454
5555
```text
@@ -73,20 +73,20 @@ seam a home for the `w̃`-commitment's weak-binding break (design G1; `E` abstra
7373
7474
- Rows 1–7 have **pure** verifiers: every check constrains either retained statement data or the
7575
never-sent witness, so it lives in the output relation (the `QuadEval` precedent). Rows 8, 9,
76-
12 are **guarded** (design D6): their runtime check reads data the next statement type drops
76+
12 are **guarded**: their runtime check reads data the next statement type drops
7777
(the previous sumcheck target; the final targets; the packed claim value) — exactly the paper's
78-
runtime checks — and compose via `▷ᵍ`, whose composition theorem (B4) is the one sorried piece
78+
runtime checks — and compose via `▷ᵍ`, whose composition theorem is the one sorried piece
7979
of *generic* machinery.
8080
- Row 6 implements the **corrected Lemma 10**: the paper's uniform-vector star extraction is not
8181
provable (axis-cross counterexample); the challenge is a pair of scalar **Kronecker seeds**
8282
with the batching points derived on the curves `κ_m(ρ) = (ρ, ρ², ρ⁴, …)`, giving genuine
83-
`(ℓ, k) = (2, D)` CWSS at `D = max 2^{m₀} 2^{m₁}`. See `HACHI_LEMMA10_GAP.md`. This is the one
83+
`(ℓ, k) = (2, D)` CWSS at `D = max 2^{m₀} 2^{m₁}`. This is the one
8484
place the formalization deliberately changes the paper's protocol.
8585
- Row 11 isolates the **§4.5/§3.2 partial-evaluation gap** found while auditing this skeleton:
8686
the packed claim of Eq. (26) pins only one `F`-linear functional of the per-slice values, so
8787
the paper's step is (apparently) not knowledge-sound as stated; the bridge's pull-back sorry is
8888
expected to be unprovable until a repair (batching challenge / generic §3.1 packing) is
89-
adopted. See `HACHI_RECURSION_GAP.md`. All other sorries in the chain are honest skeleton work.
89+
adopted. All other sorries in the chain are honest skeleton work.
9090
- Row 12 lands on `relInE Φ'` — the escape-threaded `QuadEval` input relation at the **next**
9191
ring: iteration `i+1` re-enters at `quadEvalPackageE Φ'` directly (its bases are `eq`-tensor
9292
packings, not monomial bases, so the polynomial-level bridge of row 1 is head-only).
@@ -95,18 +95,21 @@ seam a home for the `w̃`-commitment's weak-binding break (design G1; `E` abstra
9595
9696
## Sorry inventory of the composed chain (provenance of the certificate)
9797
98-
*Generic machinery* (B4): `Verifier.IsGuarded.append`,
99-
`Verifier.append_coordinateWiseSpecialSound_of_guardedLeft` (`Guarded.lean`);
100-
`coordinateWiseSpecialSound_of_mkWitness_scalar` (`ScalarRound.lean`, consumed only by future
101-
proofs). *Escape threading* (F2.0): `quadEval_coordinateWiseSpecialSound_withEscape`.
102-
*Per-link math*: the F2 index bookkeeping (`rlinStmt`/`unstack`/`mem_relOutE_of_relRlinE`),
103-
Lemma 9 (`lift_coordinateWiseSpecialSound`), the F5 encodings (`Constraints.lean`), the
98+
*Generic machinery*: `Verifier.IsGuarded.append`,
99+
`Verifier.append_coordinateWiseSpecialSound_of_guardedLeft` (`Guarded.lean`).
100+
*Escape threading*: `quadEval_coordinateWiseSpecialSound_withEscape`.
101+
*Per-link math* (the `R^lin` adapter — `rlinStmt`/`unstack`/`mem_relOutE_of_relRlinE` — and
102+
the HMZ25 lift — Lemma 9, `liftPackage.isCWSS` (generic `Lift.coordinateWiseSpecialSound`) on the
103+
proven scalar-round engine `coordinateWiseSpecialSound_of_mkWitness_scalar` and the `QuotientLift`
104+
algebra — are now proven, sorry-free and axiom-clean; rows 1–4 of the table carry no sorries):
105+
the encodings (`Constraints.lean`), the
104106
un-batching (`mem_relLiftE_of_relBatchedE`), corrected Lemma 10
105107
(`zeroCheck_coordinateWiseSpecialSound`), the sum-to-point bridge, Lemma 11
106-
(`round_coordinateWiseSpecialSound`), F8 (`finalEval_coordinateWiseSpecialSound` + the
107-
`finalCheck` encoding), G2 (`partialEval_coordinateWiseSpecialSound` + its encoding defs), G3
108+
(`round_coordinateWiseSpecialSound`), final evaluation (`finalEval_coordinateWiseSpecialSound` +
109+
the `finalCheck` encoding), partial evaluation (`partialEval_coordinateWiseSpecialSound` + its
110+
encoding defs), and trace handoff
108111
(`handoff_coordinateWiseSpecialSound` + `traceCheck`/`toNextQuadEvalStatement`/`hatEval`).
109-
Every sorried encoding def carries an in-situ `**Sorried**` docstring naming its milestone.
112+
Every sorried encoding def carries an in-situ `**Sorried**` docstring.
110113
*Flagged as an open gap (not merely unproven)*: `mem_relPartialEvalE_of_relHatEvalE` (row 11).
111114
112115
## References
@@ -234,7 +237,9 @@ noncomputable def openCore (init : ProbComp σ) (impl : QueryImpl oSpec (StateT
234237
[SampleableType (ShortChallenge 𝓜(q, α) ω)]
235238
(K : LiftCom (LiftedWitness 𝓜(q, α) μ₀ n₀) E (liftShort 𝓜(q, α) γ ρBound))
236239
(φF : ZMod q →+* F)
237-
(hd : 0 < (𝓜(q, α)).φ.natDegree) (hq2 : 2 * b ≤ q + 1) (hb : b - 1 ≤ γ) :
240+
(hd : 0 < (𝓜(q, α)).φ.natDegree) (hq2 : 2 * b ≤ q + 1) (hb : b - 1 ≤ γ)
241+
(hρ : b - 1 ≤ ρBound) (hcov : (μ₀ + n₀) * (𝓜(q, α)).φ.natDegree ≤ 2 ^ m₀)
242+
(hn : n₀ ≤ 2 ^ m₁) :
238243
CWSSPackage init impl
239244
(PolyEvalStatement 𝓜(q, α) innerRows messageDigits outerRows innerDigits dRows m r)
240245
(QuadEvalWitness 𝓜(q, α) innerRows (2 ^ m) messageDigits (2 ^ r) innerDigits ⊕ E)
@@ -250,15 +255,15 @@ noncomputable def openCore (init : ProbComp σ) (impl : QueryImpl oSpec (StateT
250255
evalChainE (b := b) (γ := γ) init impl hq5 hκ hτ K.esc ▷
251256
rlinPackage (zDigits := zDigits) 𝓜(q, α) init impl (b : ZMod q) ω γ K.esc ▷
252257
liftPackage 𝓜(q, α) γ ρBound K φF init impl hd ▷
253-
batchPackage 𝓜(q, α) m₀ m₁ γ ρBound init impl K φF b hq2 hb ▷
258+
batchPackage 𝓜(q, α) m₀ m₁ γ ρBound init impl K φF b hq2 hb hρ hcov hn
254259
zeroCheckPackage 𝓜(q, α) m₀ m₁ γ ρBound init impl K φF b ▷
255260
sumcheckBridgePackage 𝓜(q, α) m₀ m₁ γ ρBound init impl K φF b
256261

257262
/-- **One full Hachi opening iteration** (rows 1–12 of the chain table): the pure prefix
258263
`openCore` composed — through the guarded append `▷ᵍ` — with the guarded tail: the `m₀` paired
259264
sumcheck rounds (Lemma 11, guarded on the round checks), the final-evaluation step (guarded on
260265
the target checks), and the §4.5 recursion adapters (the pure partial-evaluation head, the ⚠
261-
`Z`-packing bridge of `HACHI_RECURSION_GAP.md`, and the guarded trace handoff). The chain lands
266+
`Z`-packing bridge, and the guarded trace handoff). The chain lands
262267
on `relInE Φ'` — the escape-threaded `QuadEval` input relation at the next ring `Φ'` — closing
263268
the recursion loop: iteration `i+1` is this chain re-instantiated at `Φ'` (entering at
264269
`quadEvalPackageE`, without row 1).
@@ -273,6 +278,8 @@ noncomputable def openingChain (init : ProbComp σ) (impl : QueryImpl oSpec (Sta
273278
(K : LiftCom (LiftedWitness 𝓜(q, α) μ₀ n₀) E (liftShort 𝓜(q, α) γ ρBound))
274279
(φF : ZMod q →+* F)
275280
(hd : 0 < (𝓜(q, α)).φ.natDegree) (hq2 : 2 * b ≤ q + 1) (hb : b - 1 ≤ γ)
281+
(hρ : b - 1 ≤ ρBound) (hcov : (μ₀ + n₀) * (𝓜(q, α)).φ.natDegree ≤ 2 ^ (mLow + κ))
282+
(hn : n₀ ≤ 2 ^ m₁)
276283
(zpow : Fin (2 ^ κ) → F)
277284
(Φ' : CyclotomicModulus (ZMod q)) [IsCyclotomic Φ']
278285
{innerRows' messageDigits' outerRows' innerDigits' dRows' m' r' : ℕ}
@@ -300,7 +307,8 @@ noncomputable def openingChain (init : ProbComp σ) (impl : QueryImpl oSpec (Sta
300307
roundsSpec F b (mLow + κ)) ++ₚ pSpecFinalEval F).Challenge i) :=
301308
ProtocolSpec.instSampleableTypeChallengeAppend (h₁ := i₁)
302309
(h₂ := instSampleableTypeChallengePSpecFinalEval)
303-
(((openCore (m₀ := mLow + κ) (m₁ := m₁) init impl hq5 hκ hτ K φF hd hq2 hb).toGuarded.append
310+
(((openCore (m₀ := mLow + κ) (m₁ := m₁) init impl hq5 hκ hτ K φF hd hq2 hb hρ hcov
311+
hn).toGuarded.append
304312
(roundsChain 𝓜(q, α) (mLow + κ) m₁ γ ρBound b init impl K φF (mLow + κ))
305313
(roundsChain_relIn 𝓜(q, α) (mLow + κ) m₁ γ ρBound b init impl K φF
306314
(mLow + κ)).symm).append
@@ -315,14 +323,16 @@ noncomputable def openingChain (init : ProbComp σ) (impl : QueryImpl oSpec (Sta
315323
The composed verifier of rows 1–12 is CWSS, reducing the polynomial-level `relPolyEvalE` (over
316324
the current ring `𝓜(q, α)`) to the next iteration's `relInE` (over `Φ'`). The proof term is
317325
just `openingChain.isCWSS`; its assumptions are exactly the sorried links inventoried in the
318-
module header (in particular the ⚠ row-11 gap and the B4 guarded-append machinery). -/
326+
module header (in particular the ⚠ row-11 gap and the guarded-append machinery). -/
319327
theorem hachi_iteration_coordinateWiseSpecialSound (init : ProbComp σ)
320328
(impl : QueryImpl oSpec (StateT σ ProbComp))
321329
(hq5 : q % 8 = 5) {b ω γ ρBound m₁ mLow κ : ℕ} (hκ : (2 * ω) ^ 2 < q) (hτ : 0 < zDigits)
322330
[SampleableType (ShortChallenge 𝓜(q, α) ω)]
323331
(K : LiftCom (LiftedWitness 𝓜(q, α) μ₀ n₀) E (liftShort 𝓜(q, α) γ ρBound))
324332
(φF : ZMod q →+* F)
325333
(hd : 0 < (𝓜(q, α)).φ.natDegree) (hq2 : 2 * b ≤ q + 1) (hb : b - 1 ≤ γ)
334+
(hρ : b - 1 ≤ ρBound) (hcov : (μ₀ + n₀) * (𝓜(q, α)).φ.natDegree ≤ 2 ^ (mLow + κ))
335+
(hn : n₀ ≤ 2 ^ m₁)
326336
(zpow : Fin (2 ^ κ) → F)
327337
(Φ' : CyclotomicModulus (ZMod q)) [IsCyclotomic Φ']
328338
{innerRows' messageDigits' outerRows' innerDigits' dRows' m' r' : ℕ}
@@ -331,15 +341,15 @@ theorem hachi_iteration_coordinateWiseSpecialSound (init : ProbComp σ)
331341
(reinterpretCom : K.TCom → Commitment Φ' outerRows')
332342
(base' : ZMod q) (βSq' γ' κ' : ℕ) :
333343
((openingChain (zDigits := zDigits) (ω := ω) (mLow := mLow) (m₁ := m₁) init impl hq5 hκ
334-
hτ K φF hd hq2 hb zpow Φ' pp' reinterpretCom base' βSq'
344+
hτ K φF hd hq2 hb hρ hcov hn zpow Φ' pp' reinterpretCom base' βSq'
335345
γ' κ')).verifier.coordinateWiseSpecialSound init impl
336346
(openingChain (zDigits := zDigits) (ω := ω) (mLow := mLow) (m₁ := m₁) init impl hq5 hκ hτ
337-
K φF hd hq2 hb zpow Φ' pp' reinterpretCom base' βSq' γ' κ').struct
347+
K φF hd hq2 hb hρ hcov hn zpow Φ' pp' reinterpretCom base' βSq' γ' κ').struct
338348
(relPolyEvalE 𝓜(q, α) (b : ZMod q)
339349
(quadEvalBetaSq γ b zDigits ((𝓜(q, α)).φ.natDegree) m messageDigits) γ (2 * ω) K.esc)
340350
(relInE Φ' base' βSq' γ' κ' K.esc) :=
341351
(openingChain (zDigits := zDigits) (ω := ω) (mLow := mLow) (m₁ := m₁) init impl hq5 hκ hτ
342-
K φF hd hq2 hb zpow Φ' pp' reinterpretCom base' βSq' γ' κ').isCWSS
352+
K φF hd hq2 hb hρ hcov hn zpow Φ' pp' reinterpretCom base' βSq' γ' κ').isCWSS
343353

344354
end OpeningChain
345355

@@ -348,16 +358,16 @@ end OpeningChain
348358
* **§3 packing head (external extension-field claims).** The paper's headline
349359
multilinear-over-`F_{q^k}` interface (§3.1/§3.2) wraps an extension-field evaluation claim in
350360
front of `relPolyEvalE`; it is planned as an instance of the generalized `RingSwitching`
351-
packing phase (`HACHI_RING_SWITCHING_PLAN.md`, Phases B–E), not as a Hachi-local head.
361+
packing phase, not as a Hachi-local head.
352362
* **Recursion termination.** At the row-12 seam: the §4.4 asymptotic base case (reveal the final
353363
small polynomial — a `SendWitness`-style tail) and the §4.5 concrete cutoff (switch to
354364
Greyhound/LaBRADOR, i.e. the JL projection route) are future zero-round/one-message tails.
355-
* **Discharging the skeleton.** The sorry inventory in the module header, in dependency order:
356-
B4 (`Guarded.lean`) → F2.0/F2 → F3/F4 → F5 → F6 → F7 → F8 → G2/G3 — plus a repair decision for
357-
the row-11 gap (`HACHI_RECURSION_GAP.md`) and the Phase-G `LiftCom` instantiation (the
365+
* **Discharging the skeleton.** Work through the sorry inventory in the module header in
366+
dependency order, starting from the guarded-append machinery (`Guarded.lean`) — plus a repair
367+
decision for the row-11 gap and the `LiftCom` instantiation (the
358368
inner-outer commitment without re-decomposition, its collision escape via
359369
`outputToModuleSIS_valid_of_verified`, and the ring-dimension reinterpretation used by row 12).
360370
* **Knowledge-error accounting** (FMN24 Lemma 4), `Commitment.extractability`, and Fiat–Shamir
361-
remain out of scope (design D12/R6). -/
371+
remain out of scope. -/
362372

363373
end ArkLib.Lattices.Ajtai.InnerOuter

0 commit comments

Comments
 (0)