| Who Cites ESAxioms? |
|
ESAxioms | Def ESAxioms{i:l}
Def ESAxioms(E;
Def ESAxioms(T;
Def ESAxioms(M;
Def ESAxioms(loc;
Def ESAxioms(kind;
Def ESAxioms(val;
Def ESAxioms(when;
Def ESAxioms(after;
Def ESAxioms(sends;
Def ESAxioms(sender;
Def ESAxioms(index;
Def ESAxioms(first;
Def ESAxioms(pred;
Def ESAxioms(causl)
Def == ( e,e':E. loc(e) = loc(e') Id  causl(e,e') e = e' causl(e',e))
Def == & ( e:E. (first(e))  ( e':E. loc(e') = loc(e) Id  causl(e',e)))
Def == & ( e:E.
Def == & ( (first(e))
Def == & (
Def == & (loc(pred(e)) = loc(e) Id & causl(pred(e),e)
Def == & (& ( e':E.
Def == & (& (loc(e') = loc(e) Id  (causl(pred(e),e') & causl(e',e))))
Def == & ( e:E.
Def == & ( (first(e))  ( x:Id. when(x,e) = after(x,pred(e)) T(loc(e),x)))
Def == & (Trans e,e':E. causl(e,e'))
Def == & SWellFounded(causl(e,e'))
Def == & ( e:E.
Def == & ( isrcv(kind(e))
Def == & (
Def == & ((sends(lnk(kind(e)),sender(e)))[(index(e))]
Def == & (=
Def == & (msg(lnk(kind(e));tag(kind(e));val(e))
Def == & ( Msg(M))
Def == & ( e:E. isrcv(kind(e))  causl(sender(e),e))
Def == & ( e,e':E.
Def == & (causl(e,e')
Def == & (
Def == & ( (first(e')) & causl(e,pred(e')) e = pred(e')
Def == & ( isrcv(kind(e')) & causl(e,sender(e')) e = sender(e'))
Def == & ( e:E. isrcv(kind(e))  loc(e) = destination(lnk(kind(e))))
Def == & ( e:E, l:IdLnk.
Def == & ( loc(e) = source(l)  sends(l,e) = nil Msg_sub(l; M) List)
Def == & ( e,e':E.
Def == & ( isrcv(kind(e))
Def == & (
Def == & ( isrcv(kind(e'))
Def == & (
Def == & (lnk(kind(e)) = lnk(kind(e'))
Def == & (
Def == & ((causl(e,e')
Def == & ((
Def == & ((causl(sender(e),sender(e'))
Def == & (( sender(e) = sender(e') E & index(e)<index(e')))
Def == & ( e:E, l:IdLnk, n: ||sends(l,e)||.
Def == & ( e':E.
Def == & ( isrcv(kind(e')) & lnk(kind(e')) = l & sender(e') = e & index(e') = n) |
| | Thm* E:Type{i}, T,V:(Id Id Type{i}), M:(IdLnk Id Type{i}), loc:(E Id),
Thm* kind:(E Knd), val:(e:E eventtype(kind;loc;V;M;e)),
Thm* when,after:(x:Id e:E T(loc(e),x)),
Thm* sends:(l:IdLnk E (Msg_sub(l; M) List)),
Thm* sender:({e:E| isrcv(kind(e)) } E),
Thm* index:(e:{e:E| isrcv(kind(e)) }  ||sends(lnk(kind(e)),sender(e))||),
Thm* first:(E  ), pred:({e':E| first(e') } E), causl:(E E Prop{i}).
Thm* ESAxioms{i:l}
Thm* ESAxioms(E;
Thm* ESAxioms(T;
Thm* ESAxioms(M;
Thm* ESAxioms(loc;
Thm* ESAxioms(kind;
Thm* ESAxioms(val;
Thm* ESAxioms(when;
Thm* ESAxioms(after;
Thm* ESAxioms(sends;
Thm* ESAxioms(sender;
Thm* ESAxioms(index;
Thm* ESAxioms(first;
Thm* ESAxioms(pred;
Thm* ESAxioms(causl)
Thm* Prop{i'} |
|
lnk | Def lnk(k) == 1of(outl(k)) |
| | Thm* k:Knd. isrcv(k)  lnk(k) IdLnk |
|
Msg_sub | Def Msg_sub(l; M) == {m:Msg(M)| haslink(l; m) } |
| | Thm* M:(IdLnk Id Type), l:IdLnk. Msg_sub(l; M) Type |
|
Msg | Def Msg(M) == l:IdLnk t:Id M(l,t) |
| | Thm* M:(IdLnk Id Type). Msg(M) Type |
|
haslink | Def haslink(l; m) == mlnk(m) = l |
| | Thm* M:(IdLnk Id Type), l:IdLnk, m:Msg(M). haslink(l; m) Prop |
|
IdLnk | Def IdLnk == Id Id  |
| | Thm* IdLnk Type |
|
isrcv | Def isrcv(k) == isl(k) |
| | Thm* k:Knd. isrcv(k)  |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
length | Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive) |
| | Thm* A:Type, l:A List. ||l||  |
| | Thm* ||nil||  |
|
int_seg | Def {i..j } == {k: | i k < j } |
| | Thm* m,n: . {m..n } Type |
|
iff | Def P  Q == (P  Q) & (P  Q) |
| | Thm* A,B:Prop. (A  B) Prop |
|
lsrc | Def source(l) == 1of(l) |
| | Thm* l:IdLnk. source(l) Id |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
strongwellfounded | Def SWellFounded(R(x;y)) == f:(T  ). x,y:T. R(x;y)  f(x)<f(y) |
| | Thm* T:Type, R:(T T Type). SWellFounded(R(x,y)) Prop |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |
|
lelt | Def i j < k == i j & j<k |
|
le | Def A B == B<A |
| | Thm* i,j: . (i j) Prop |
|
not | Def A == A  False |
| | Thm* A:Prop. ( A) Prop |
|
ldst | Def destination(l) == 1of(2of(l)) |
| | Thm* l:IdLnk. destination(l) Id |
|
tagof | Def tag(k) == 2of(outl(k)) |
| | Thm* k:Knd. isrcv(k)  tag(k) Id |
|
select | Def l[i] == hd(nth_tl(i;l)) |
| | Thm* A:Type, l:A List, n: . 0 n  n<||l||  l[n] A |
|
trans | Def Trans x,y:T. E(x;y) == a,b,c:T. E(a;b)  E(b;c)  E(a;c) |
| | Thm* T:Type, E:(T T Prop). (Trans x,y:T. E(x,y)) Prop |
|
outl | Def outl(x) == InjCase(x; y. y; z. "???") |
| | Thm* A,B:Type, x:A+B. isl(x)  outl(x) A |
|
mlnk | Def mlnk(m) == 1of(m) |
| | Thm* M:(IdLnk Id Type), m:Msg(M). mlnk(m) IdLnk |
| | Thm* the_es:ES, m:Msg. mlnk(m) IdLnk |
|
pi1 | Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |
|
isl | Def isl(x) == InjCase(x; y. true ; z. false ) |
| | Thm* A,B:Type, x:A+B. isl(x)  |
|
rev_implies | Def P  Q == Q  P |
| | Thm* A,B:Prop. (A  B) Prop |
|
pi2 | Def 2of(t) == t.2 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
nth_tl | Def nth_tl(n;as) == if n 0 as else nth_tl(n-1;tl(as)) fi (recursive) |
| | Thm* A:Type, as:A List, i: . nth_tl(i;as) A List |
|
hd | Def hd(l) == Case of l; nil "?" ; h.t h |
| | Thm* A:Type, l:A List. ||l|| 1  hd(l) A |
|
tl | Def tl(l) == Case of l; nil nil ; h.t t |
| | Thm* A:Type, l:A List. tl(l) A List |
|
le_int | Def i j ==  j< i |
| | Thm* i,j: . (i j)  |
|
lt_int | Def i< j == if i<j true ; false fi |
| | Thm* i,j: . (i< j)  |
|
bnot | Def  b == if b false else true fi |
| | Thm* b: .  b  |