| Who Cites R memoryless? | |
| R_memoryless | 
 Def memorylessR(E)(L_1,L_2)
==  | 
| Thm*  | |
| event_msg_eq | Def =msg=(E)(e_1,e_2) == (msg(E)(e_1)) =(MS(E)) (msg(E)(e_2)) | 
| Thm*  | |
| event_str | 
 Def EventStruct == E:Type | 
| Thm* EventStruct  | |
| remove_msgs | 
 Def (L -msg(a;b) L1) == filter( | 
| Thm*  | |
| msg_eq | 
 Def =(M)(m_1,m_2)
== ((content(M)(m_1)) =(cEQ(M)) (content(M)(m_2))) | 
| Thm*  | |
| message_str | 
 Def MessageStruct == M:Type | 
| Thm* MessageStruct  | |
| lbl | 
 Def Label == {p:Pattern|  | 
| Thm* Label  | |
| eq_lbl | 
 Def l1 = | 
| 
 Thm*  | |
| ground_ptn | 
 Def ground_ptn(p)
 == Case(p)
 Case ptn_var(v) = > 
 false | 
| 
 Thm*  | |
| band | 
 Def p | 
| Thm*  | |
| bnot | 
 Def  | 
| Thm*  | |
| trace_property | 
 Def TraceProperty(E) == (|E| List) | 
| carrier | Def |S| == 1of(S) | 
| Thm*  | |
| filter | 
 Def filter(P;l) == reduce( | 
| Thm*  | |
| preserved_by | 
 Def R preserves P ==  | 
| Thm*  | |
| reduce | 
 Def reduce(f;k;as) == Case of as; nil  | 
| 
 Thm*  | |
| event_msg | Def msg(E) == 1of(2of(2of(E))) | 
| 
 Thm*  | |
| event_msg_str | Def MS(E) == 1of(2of(E)) | 
| Thm*  | |
| msg_id | Def uid(MS) == 1of(2of(2of(2of(2of(MS))))) | 
| 
 Thm*  | |
| msg_sender | Def sender(MS) == 1of(2of(2of(2of(MS)))) | 
| 
 Thm*  | |
| msg_content | Def content(MS) == 1of(2of(2of(MS))) | 
| 
 Thm*  | |
| msg_content_eq | Def cEQ(MS) == 1of(2of(MS)) | 
| Thm*  | |
| eq_dequiv | Def =(DE) == 1of(2of(DE)) | 
| Thm*  | |
| pi1 | Def 1of(t) == t.1 | 
| Thm*  | |
| dequiv | 
 Def DecidableEquiv == T:Type | 
| Thm* DecidableEquiv  | |
| top | Def Top == Void given Void | 
| 
 Thm* Top  | |
| pi2 | Def 2of(t) == t.2 | 
| 
 Thm*  | |
| eq_int | 
 Def i= | 
| Thm*  | |
| assert | 
 Def  | 
| Thm*  | |
| ptn | Def Pattern == rec(T.ptn_con(T)) | 
| 
 Thm* Pattern  | |
| case_default | Def Default = > body(value,value) == body | 
| case_lbl_pair | Def Case ptn_pr( < x, y > ) = > body(x;y) cont(x1,z) == InjCase(x1; _. cont(z,z); x2. InjCase(x2; _. cont(z,z); x2@0. InjCase(x2@0; _. cont(z,z); x2@1. x2@1/x3,x2@2. body(x3;x2@2)))) | 
| case | Def Case(value) body == body(value,value) | 
| eq_atom | 
 Def x= | 
| Thm*  | |
| case_ptn_var | 
 Def Case ptn_var(x) = >  body(x) cont(x1,z)
== ( | 
| case_ptn_int | 
 Def Case ptn_int(x) = >  body(x) cont(x1,z)
== ( | 
| case_ptn_atom | Def Case ptn_atom(x) = > body(x) cont(x1,z) == InjCase(x1; x2. body(x2); _. cont(z,z)) | 
| ptn_con | 
 Def ptn_con(T) == Atom+ | 
| Thm*  | |
| equiv_rel | Def EquivRel x,y:T. E(x;y) == Refl(T;x,y.E(x;y)) & Sym x,y:T. E(x;y) & Trans x,y:T. E(x;y) | 
| Thm*  | |
| hd | 
 Def hd(l) == Case of l; nil  | 
| 
 Thm*  | |
| 
 Thm*  | |
| tl | 
 Def tl(l) == Case of l; nil  | 
| 
 Thm*  | |
| case_inl | Def inl(x) = > body(x) cont(value,contvalue) == InjCase(value; x. body(x); _. cont(contvalue,contvalue)) | 
| case_inr | Def inr(x) = > body(x) cont(value,contvalue) == InjCase(value; _. cont(contvalue,contvalue); x. body(x)) | 
| trans | 
 Def Trans x,y:T. E(x;y) ==  | 
| Thm*  | |
| sym | 
 Def Sym x,y:T. E(x;y) ==  | 
| Thm*  | |
| refl | 
 Def Refl(T;x,y.E(x;y)) ==  | 
| Thm*  | 
About: