All proofs
Project-declaredLean 4.31.0 · mathlib@fabf563a7c95

Coordinate Wise Special Sound of mk Witness

CoordinateWise.SingleRound.coordinateWiseSpecialSound_of_mkWitness

Plain-language statement

Generic single-round CWSS assembly. Any pure statement-extending verifier of the two-round pSpec is coordinate-wise special sound for foldStructure, provided a witness assembler mkWitness that turns per-branch relOut-witnesses at star-shaped challenge families into a relIn-witness. This discharges all tree/extractor plumbing once; the protoc...

Exact Lean statement

theorem coordinateWiseSpecialSound_of_mkWitness
    (init : ProbComp σ) (impl : QueryImpl oSpec (StateT σ ProbComp))
    (V : Verifier oSpec StmtIn (StmtIn × CarrierCom × (Fin (2 ^ r) → C)) (pSpec CarrierCom C r))
    (hpure : ∀ s tr, V.verify s tr = pure (s, tr.messages ⟨0, rfl⟩, tr.challenges ⟨1, rfl⟩))
    (relIn : Set (StmtIn × WitIn))
    (relOut : Set ((StmtIn × CarrierCom × (Fin (2 ^ r) → C)) × WitOut))
    (mkWitness : StmtIn → CarrierCom → (Fin (2 ^ r + 1) → (Fin (2 ^ r) → C)) →
      (Fin (2 ^ r + 1) → WitOut) → WitIn)
    (hmk : ∀ stmtIn v (fam : Fin (2 ^ r + 1) → (Fin (2 ^ r) → C)) (resp : Fin (2 ^ r + 1) → WitOut),
      (∀ j, ((stmtIn, v, fam j), resp j) ∈ relOut) →
      (∃ e, StarAt fam e) →
      (stmtIn, mkWitness stmtIn v fam resp) ∈ relIn) :
    V.coordinateWiseSpecialSound init impl
      (foldStructure (CarrierCom := CarrierCom) (C := C) (r := r)) relIn relOut

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem coordinateWiseSpecialSound_of_mkWitness    (init : ProbComp σ) (impl : QueryImpl oSpec (StateT σ ProbComp))    (V : Verifier oSpec StmtIn (StmtIn × CarrierCom × (Fin (2 ^ r)  C)) (pSpec CarrierCom C r))    (hpure :  s tr, V.verify s tr = pure (s, tr.messages 0, rfl, tr.challenges 1, rfl))    (relIn : Set (StmtIn × WitIn))    (relOut : Set ((StmtIn × CarrierCom × (Fin (2 ^ r)  C)) × WitOut))    (mkWitness : StmtIn  CarrierCom  (Fin (2 ^ r + 1)  (Fin (2 ^ r)  C))       (Fin (2 ^ r + 1)  WitOut)  WitIn)    (hmk :  stmtIn v (fam : Fin (2 ^ r + 1)  (Fin (2 ^ r)  C)) (resp : Fin (2 ^ r + 1)  WitOut),      ( j, ((stmtIn, v, fam j), resp j)  relOut)       ( e, StarAt fam e)       (stmtIn, mkWitness stmtIn v fam resp)  relIn) :    V.coordinateWiseSpecialSound init impl      (foldStructure (CarrierCom := CarrierCom) (C := C) (r := r)) relIn relOut := by  classical  refine treeExtractor relOut mkWitness, ?_  intro stmtIn tree hStruct hAcc  obtain v, challenges, rfl := tree_shape tree  have harity := (foldStructure_arity (CarrierCom := CarrierCom) (C := C) (r := r)).symm  -- each branch's guard fires: per-branch membership in `relOut.language`  have hmem :  j : Fin (2 ^ r + 1),       w, ((stmtIn, v, challenges (Fin.cast harity j)), w)  relOut := by    intro j    have h := branch_relOut_language init impl V hpure relOut stmtIn v challenges hAcc      (Fin.cast harity j)    exact (Set.mem_language_iff relOut _).1 h  -- the sibling family is special sound, hence has a star center  have hfam := (nodeOk_iff_family challenges).1 hStruct.1  have hstar :  e, StarAt      (fun j : Fin (2 ^ r + 1) => challenges (Fin.cast harity j)) e :=    exists_starAt (le_refl 2) (by omega) _ hfam  -- each chosen response satisfies the relation (the extractor's guards fire)  have hbranch :  j : Fin (2 ^ r + 1),      ((stmtIn, v, challenges (Fin.cast harity j)),        if h :  w, ((stmtIn, v, challenges (Fin.cast harity j)), w)  relOut          then h.choose else Classical.ofNonempty)  relOut := by    intro j    rw [dif_pos (hmem j)]    exact (hmem j).choose_spec  -- the extractor computes definitionally on the recovered star tree; `exact` closes by defeq  exact hmk stmtIn v _ _ hbranch hstar
Project
ArkLib
License
Apache-2.0
Commit
fad5cbf80877
Source
ArkLib/OracleReduction/Security/CoordinateWiseSpecialSoundness/SingleRound.lean:370-410

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.31.0

Affine gaps lifted to interleaved codes

affine_gaps_lifted_to_interleaved_codes

Project documentation

This lemma proves the final algebraic step in the DG25 Theorem 3.1 proof. It shows that if R > e + 1, then e * (R / (R - 1)) < e + 1. The intuition is that the fraction R / (R - 1) is always greater than 1, but as R gets larger, it gets closer to 1. The hypothesis R > e + 1 provides a strong enough bound to ensure the product e * (fraction) do...

cryptographyproof systemscoding theory

Source project: ArkLib

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Gadget Decompose coeff

ArkLib.Lattices.Ajtai.gadgetDecompose_coeff

Plain-language statement

The k-th coefficient (k < deg φ) of a gadget-decomposition block is exactly the corresponding digit of the corresponding input coefficient.

cryptographyproof systemscoding theory

Source project: ArkLib

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Gadget Decompose lawful

ArkLib.Lattices.Ajtai.gadgetDecompose_lawful

Plain-language statement

The base-b gadget decomposition is a lawful gadget decomposition.

cryptographyproof systemscoding theory

Source project: ArkLib

Person-level attribution pending.

View proof record