@@ -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
10701094security-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