All proofs
Project-declaredLean 4.31.0 · mathlib@fabf563a7c95

To Shape append

CWSSStructure.toShape_append

Plain-language statement

The shape induced by appended CWSS data is the generic append of the component shapes.

Exact Lean statement

theorem toShape_append (D₁ : CWSSStructure pSpec₁) (D₂ : CWSSStructure pSpec₂) :
    CWSSStructure.toShape (append D₁ D₂) =
      (CWSSStructure.toShape D₁).append (CWSSStructure.toShape D₂)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem toShape_append (D₁ : CWSSStructure pSpec₁) (D₂ : CWSSStructure pSpec₂) :    CWSSStructure.toShape (append D₁ D₂) =      (CWSSStructure.toShape D₁).append (CWSSStructure.toShape D₂) := by  refine ChallengeTreeShape.ext rfl (heq_of_eq ?_)  funext i challenges  simp only [CWSSStructure.toShape, ChallengeTreeShape.append]  split  · rename_i i₁ heq    obtain rfl : i = ChallengeIdx.inl i₁ := by      have := (Equiv.symm_apply_eq ChallengeIdx.sumEquiv).mp heq      simpa [ChallengeIdx.sumEquiv_apply] using this    have hell : (append D₁ D₂).ell (ChallengeIdx.inl i₁) = D₁.ell i₁ :=      congrArg Subtype.val (append_coordIndex_inl D₁ D₂ i₁)    have hk : (append D₁ D₂).k (ChallengeIdx.inl i₁) = D₁.k i₁ :=      congrArg Subtype.val (append_soundnessParam_inl D₁ D₂ i₁)    have halpha : (append D₁ D₂).alphabet (ChallengeIdx.inl i₁) = D₁.alphabet i₁ :=      append_alphabet_inl D₁ D₂ i₁    unfold CWSSStructure.nodeOk    congr 1    refine Function.hfunext (by rw [hell, hk]) (fun j j' hj => ?_)    refine heq_equiv_apply (by simp [ProtocolSpec.append, ChallengeIdx.inl])      (by rw [append_coordIndex_inl, append_alphabet_inl])      (append_decompose_inl D₁ D₂ i₁) ?_    refine HEq.trans (heq_of_eq (congrArg challenges (Fin.ext ?_))) (cast_heq _ _).symm    change j.val = j'.val    exact (Fin.heq_ext_iff (by rw [hell, hk])).mp hj  · rename_i i₂ heq    obtain rfl : i = ChallengeIdx.inr i₂ := by      have := (Equiv.symm_apply_eq ChallengeIdx.sumEquiv).mp heq      simpa [ChallengeIdx.sumEquiv_apply] using this    have hell : (append D₁ D₂).ell (ChallengeIdx.inr i₂) = D₂.ell i₂ :=      congrArg Subtype.val (append_coordIndex_inr D₁ D₂ i₂)    have hk : (append D₁ D₂).k (ChallengeIdx.inr i₂) = D₂.k i₂ :=      congrArg Subtype.val (append_soundnessParam_inr D₁ D₂ i₂)    have halpha : (append D₁ D₂).alphabet (ChallengeIdx.inr i₂) = D₂.alphabet i₂ :=      append_alphabet_inr D₁ D₂ i₂    unfold CWSSStructure.nodeOk    congr 1    refine Function.hfunext (by rw [hell, hk]) (fun j j' hj => ?_)    refine heq_equiv_apply (by simp [ProtocolSpec.append, ChallengeIdx.inr])      (by rw [append_coordIndex_inr, append_alphabet_inr])      (append_decompose_inr D₁ D₂ i₂) ?_    refine HEq.trans (heq_of_eq (congrArg challenges (Fin.ext ?_))) (cast_heq _ _).symm    change j.val = j'.val    exact (Fin.heq_ext_iff (by rw [hell, hk])).mp hj
Project
ArkLib
License
Apache-2.0
Commit
fad5cbf80877
Source
ArkLib/OracleReduction/Security/CoordinateWiseSpecialSoundness/Composition.lean:222-266

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