Thm* E:EventStruct, P:TraceProperty(E), L,L1:|E| List.
memorylessR(E) preserves P ![](FONT/eq.png) P(L) ![](FONT/eq.png) P((L -x =msg=(E) y L1)) | [memoryless_remove_msgs] |
Thm* msg:(A![](FONT/dash.png) A![](FONT/dash.png) ![](FONT/then_med.png) ), L1,L2:A List.
( a,b:A. (a L1) ![](FONT/eq.png) (b L2) ![](FONT/eq.png) msg(a,b)) ![](FONT/eq.png) (L1 -msg(a,b) L2) = L1 | [remove_msgs_disjoint] |
Thm* msg:(A![](FONT/dash.png) A![](FONT/dash.png) ![](FONT/then_med.png) ), L1,L2:A List.
( x:A. (x L1) ![](FONT/eq.png) (x L2)) ![](FONT/eq.png) Refl(A)(msg(_1,_2)) ![](FONT/eq.png) (L1 -msg(a,b) L2) = nil | [remove_msgs_nil] |