Rank | Theorem | Name |
3 |
Thm* E:TaggedEventStruct, P,I:TraceProperty(E).
MCS(E)(P) ![](FONT/eq.png) safetyR(E) preserves I ![](FONT/eq.png) (I refines single-tag-decomposable(E)) ![](FONT/eq.png) (I fuses P) | [M_DASH_C_DASH_S_SPACE_induction] |
cites |
0 |
Thm* l:T List. ||l|| = 0 ![](FONT/eq.png) l = nil | [length_zero] |
0 |
Thm* L:T List. L = nil ![](FONT/eq.png) 0 < ||L|| | [non_nil_length] |
0 |
Thm* as,bs:T List. ||as @ bs|| = ||as||+||bs|| | [length_append] |
0 |
Thm* P:(T![](FONT/dash.png) ![](FONT/then_med.png) ), L2,L1:T List. L1 L2 ![](FONT/eq.png) filter(P;L1) filter(P;L2) | [filter_iseg] |
0 |
Thm* P:(T![](FONT/dash.png) ![](FONT/then_med.png) ), L:T List. ( x L.P(x)) ![](FONT/eq.png) (filter(P;L) ~ L) | [filter_trivial] |
1 |
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] |
2 |
Thm* E:EventStruct. EquivRel(|E|)(_1 =msg=(E) _2) | [event_msg_eq_equiv] |
1 |
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] |