@@ -355,9 +355,9 @@ def mkLastOracleIndex (i : Fin (ℓ + 1)) : Fin (toOutCodewordsCount ℓ ϑ i) :
355355 ⟩
356356
357357lemma mkLastOracleIndex_last : mkLastOracleIndex ℓ ϑ (Fin.last ℓ) = ℓ / ϑ - 1 := by
358- dsimp only [mkLastOracleIndex, Fin.val_last, lt_self_iff_false, Lean.Elab.WF.paramLet,
359- eq_mpr_eq_cast, cast_eq]
358+ dsimp only [mkLastOracleIndex, Fin.val_last, lt_self_iff_false, Lean.Elab.WF.paramLet]
360359 simp only [lt_self_iff_false, ↓reduceDIte]
360+ rfl
361361
362362end OracleStatementIndex
363363
@@ -773,7 +773,6 @@ lemma take_snoc_oracle_eq_oStmtIn (i : Fin ℓ)
773773 (newOracleFn : OracleFunction 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) i.succ) :
774774 (take_snoc_oracle 𝔽q β i oStmtIn newOracleFn) = oStmtIn := by
775775 unfold take_snoc_oracle snoc_oracle
776- simp only [eq_mpr_eq_cast, id_eq]
777776 if hi: isCommitmentRound ℓ ϑ i then
778777 simp only [Fin.is_lt, ↓reduceDIte, Fin.eta]
779778 else
@@ -1047,9 +1046,9 @@ lemma oracleWitnessConsistency_relay_preserved
10471046 (stmt : Statement (L := L) Context i.succ)
10481047 (wit : Witness (L := L) 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) i.succ)
10491048 (oStmt : ∀ j, OracleStatement 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) ϑ i.castSucc j) :
1050- oracleWitnessConsistency (mp := mp) (𝓑 := 𝓑) 𝔽q β i.succ i.castSucc
1049+ oracleWitnessConsistency (mp := mp) 𝔽q β i.succ i.castSucc
10511050 (le_succ ↑i.castSucc) stmt wit oStmt =
1052- oracleWitnessConsistency (mp := mp) (𝓑 := 𝓑) 𝔽q β i.succ i.succ (by rfl) stmt wit
1051+ oracleWitnessConsistency (mp := mp) 𝔽q β i.succ i.succ (by rfl) stmt wit
10531052 (mapOStmtOutRelayStep 𝔽q β i hNCR oStmt) := by
10541053 unfold oracleWitnessConsistency
10551054 -- All four components (witnessStructuralInvariant, sumCheckConsistency,
@@ -1109,13 +1108,12 @@ def masterKStateProp (stmtIdx : Fin (ℓ + 1))
11091108 (wit : Witness (L := L) 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) stmtIdx)
11101109 (oStmt : ∀ j, (OracleStatement 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) ϑ (i := oracleIdx) j))
11111110 (localChecks : Prop := True) : Prop :=
1112- let oracleWitnessConsistency: Prop := oracleWitnessConsistency (mp := mp) (𝓑 := 𝓑) 𝔽q β
1111+ let oracleWitnessConsistency: Prop := oracleWitnessConsistency (mp := mp) 𝔽q β
11131112 stmtIdx oracleIdx h_le stmt wit oStmt
11141113 let badEventExists := badEventExistsProp (ϑ := ϑ) 𝔽q β oracleIdx
11151114 (challenges := Fin.take (m := oracleIdx) (v := stmt.challenges) (h := by omega))
11161115 (oStmt := oStmt)
1117- let sumCheckConsistency: Prop := sumcheckConsistencyProp (𝓑 := 𝓑) stmt.sumcheck_target wit.H
1118- localChecks ∧ sumCheckConsistency ∧ (badEventExists ∨ oracleWitnessConsistency)
1116+ localChecks ∧ (badEventExists ∨ oracleWitnessConsistency)
11191117
11201118def roundRelationProp (i : Fin (ℓ + 1 ))
11211119 (input : (Statement (L := L) Context i ×
@@ -1124,8 +1122,10 @@ def roundRelationProp (i : Fin (ℓ + 1))
11241122 let stmt := input.1 .1
11251123 let oStmt := input.1 .2
11261124 let wit := input.2
1127- masterKStateProp (mp := mp) (𝓑 := 𝓑) 𝔽q β
1128- (stmtIdx := i) (oracleIdx := i) (h_le := le_refl i) stmt wit oStmt (localChecks := True)
1125+ let sumCheckConsistency: Prop := sumcheckConsistencyProp (𝓑 := 𝓑) stmt.sumcheck_target wit.H
1126+ masterKStateProp 𝔽q β (mp := mp)
1127+ (stmtIdx := i) (oracleIdx := i) (h_le := le_refl i) stmt wit oStmt
1128+ (localChecks := sumCheckConsistency)
11291129
11301130/-- A modified version of roundRelationProp (i+1) -/
11311131def foldStepRelOutProp (i : Fin ℓ)
@@ -1135,12 +1135,15 @@ def foldStepRelOutProp (i : Fin ℓ)
11351135 let stmt := input.1 .1
11361136 let oStmt := input.1 .2
11371137 let wit := input.2
1138- masterKStateProp (mp := mp) (𝓑 := 𝓑) 𝔽q β
1138+ let sumCheckConsistency: Prop := sumcheckConsistencyProp (𝓑 := 𝓑) stmt.sumcheck_target wit.H
1139+ masterKStateProp 𝔽q β (mp := mp)
11391140 (stmtIdx := i.succ) (oracleIdx := i.castSucc)
1140- (h_le := Nat.le_of_lt (Fin.castSucc_lt_succ i)) stmt wit oStmt (localChecks := True)
1141+ (h_le := Nat.le_of_lt (Fin.castSucc_lt_succ i)) stmt wit oStmt
1142+ (localChecks := sumCheckConsistency)
11411143
11421144/-- This is a special case of nonDoomedFoldingProp for `i = ℓ`, where we support
1143- the consistency between the last oracle `ℓ - ϑ` and the final constant `c` -/
1145+ the consistency between the last oracle `ℓ - ϑ` and the final constant `c`.
1146+ This definition has form similar to masterKState where there is no localChecks. -/
11441147def finalNonDoomedFoldingProp {h_le : ϑ ≤ ℓ}
11451148 (input : (FinalSumcheckStatementOut (L := L) (ℓ := ℓ) ×
11461149 (∀ j, OracleStatement 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) ϑ (Fin.last ℓ) j))) :
@@ -1152,8 +1155,8 @@ def finalNonDoomedFoldingProp {h_le : ϑ ≤ ℓ}
11521155 let k := j.val * ϑ
11531156 have h_k: k = ℓ - ϑ := by
11541157 dsimp only [mkLastOracleIndex, Fin.val_last, lt_self_iff_false, Lean.Elab.WF.paramLet,
1155- eq_mpr_eq_cast, cast_eq, k, j]
1156- simp only [lt_self_iff_false, ↓reduceDIte]
1158+ k, j]
1159+ simp only [lt_self_iff_false, ↓reduceDIte, eq_mpr_eq_cast, cast_eq ]
11571160 rw [Nat.sub_mul, Nat.one_mul]
11581161 rw [Nat.div_mul_cancel (hdiv.out)]
11591162 let f_k := oStmt j
@@ -1193,7 +1196,7 @@ def foldStepRelOut (i : Fin ℓ) :
11931196 Set ((Statement (L := L) Context i.succ ×
11941197 (∀ j, OracleStatement 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) ϑ i.castSucc j)) ×
11951198 Witness (L := L) 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) i.succ) :=
1196- { input | foldStepRelOutProp (mp := mp ) (𝓑 := 𝓑) 𝔽q β i input}
1199+ { input | foldStepRelOutProp 𝔽q β (𝓑 := 𝓑 ) (mp := mp) i input}
11971200
11981201/-- Relation at step `i` of the CoreInteraction. `∀ i < ℓ, R_i` must hold at the
11991202beginning of ITERATION `i`. `R_ℓ` must hold after the last iteration and before sending
@@ -1202,7 +1205,7 @@ def roundRelation (i : Fin (ℓ + 1)) :
12021205 Set ((Statement (L := L) Context i ×
12031206 (∀ j, OracleStatement 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) ϑ i j)) ×
12041207 Witness (L := L) 𝔽q β (h_ℓ_add_R_rate := h_ℓ_add_R_rate) i) :=
1205- { input | roundRelationProp (mp := mp ) (𝓑 := 𝓑) 𝔽q β i input}
1208+ { input | roundRelationProp 𝔽q β (𝓑 := 𝓑 ) (mp := mp) i input}
12061209
12071210/-- Relation for final sumcheck step -/
12081211def finalSumcheckRelOutProp
0 commit comments