At: switch inv theorem2
E:TaggedEventStruct, P:TraceProperty(E).
switchable(E)(P) ((switch_inv(E) No-dup-send(E)) fuses P)
By:
Unfold `trace_property` 0
THEN
Unfold `b_switchable` -1
THEN
Reduce -1
THEN
ExRepD
THEN
BackThru
Thm* E:TaggedEventStruct, P:TraceProperty(E).
MCS(E)(P)
asyncR(E) preserves P
delayableR(E) preserves P
(P refines (Causal(E) No-dup-deliver(E))) ((switch_inv(E) No-dup-send(E)) fuses P)
THEN
Try (Unfold `trace_property` 0)
THEN
Try
(BackThru
Thm* E:Structure, P,Q_1,Q_2:((|E| List)Prop).
(P refines Q_1) (P refines Q_2) (P refines (Q_1 Q_2)))
THEN
Try ((Unfold `memoryless_composable_safety` 0) THEN (Reduce 0))
Generated subgoals:None
About: