Skip to content

Commit f6027c2

Browse files
committed
feat(Verified-zkEVM#62): characterize BCS ready frontier split
1 parent aa9d977 commit f6027c2

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

ArkLib/OracleReduction/BCS/Basic.lean

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,6 +1066,30 @@ theorem BCSCompilerFrontierReady.ofPhaseAndSecurity {StmtMid WitMid : Type}
10661066
⟨hPhase.1, hPhase.2, hSecurity.1, hSecurity.2.1, hSecurity.2.2.1,
10671067
hSecurity.2.2.2.1, hSecurity.2.2.2.2
10681068

1069+
omit Oₘ in
1070+
/-- The full ready checklist is exactly the conjunction of the separated phase-realization and
1071+
security-preservation frontiers. -/
1072+
theorem BCSCompilerFrontierReady.iff_phase_and_security {StmtMid WitMid : Type}
1073+
{CommitmentType : pSpec.MessageIdx → Type} {e : pSpec.MessageIdx ≃ Fin m}
1074+
{phases : BCSCompiledPhases (oSpec := oSpec) (pSpec := pSpec) (pSpecCom := pSpecCom)
1075+
(StmtIn := StmtIn) (WitIn := WitIn) (StmtOut := StmtOut) (WitOut := WitOut)
1076+
(StmtMid := StmtMid) (WitMid := WitMid) CommitmentType e}
1077+
{frontier : BCSSecurityFrontier (oSpec := oSpec) (pSpec := pSpec) (pSpecCom := pSpecCom)
1078+
(StmtIn := StmtIn) (WitIn := WitIn) (StmtOut := StmtOut) (WitOut := WitOut)
1079+
(StmtMid := StmtMid) (WitMid := WitMid) phases} :
1080+
BCSCompilerFrontierReady phases frontier ↔
1081+
BCSPhaseRealizationFrontier phases ∧ BCSSecurityFrontierSatisfied frontier := by
1082+
constructor
1083+
· intro h
1084+
exact
1085+
⟨⟨h.1, h.2.1⟩,
1086+
⟨h.2.2.1, h.2.2.2.1, h.2.2.2.2.1, h.2.2.2.2.2.1,
1087+
h.2.2.2.2.2.2⟩⟩
1088+
· intro h
1089+
exact
1090+
⟨h.1.1, h.1.2, h.2.1, h.2.2.1, h.2.2.2.1, h.2.2.2.2.1,
1091+
h.2.2.2.2.2
1092+
10691093
/-- Build the full ready checklist from a discharged typed opening log plus the remaining
10701094
security-frontier fields. This is the direct adapter expected from the current BCS interface:
10711095
`BCSPhaseRealizationFrontier.ofOpeningLogBridge` supplies the phase half, and
@@ -1196,4 +1220,5 @@ generic compiler construction or the completeness/soundness preservation theorem
11961220
#print axioms OracleReduction.BCSCompilerFrontierReady.phase
11971221
#print axioms OracleReduction.BCSCompilerFrontierReady.security
11981222
#print axioms OracleReduction.BCSCompilerFrontierReady.ofPhaseAndSecurity
1223+
#print axioms OracleReduction.BCSCompilerFrontierReady.iff_phase_and_security
11991224
#print axioms OracleReduction.BCSCompilerFrontierReady.ofOpeningLogBridge

0 commit comments

Comments
 (0)