Origin Definitions Sections EventSystems Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
mb_event_system_2
Nuprl Section: mb_event_system_2

Selected Objects
deflnk lnk(k) == 1of(outl(k))
deftagof tag(k) == 2of(outl(k))
defactof act(k) == outr(k)
defkindcase kindcase(k;a.f(a);l,t.g(l;t))
== if islocal(k) f(act(k)) else g(lnk(k);tag(k)) fi
defhas-src has-src(i;k) == isrcv(k)source(lnk(k)) = i
defdeq EqDecider(T) == eq:TTx,y:Tx = y  (eq(x,y))
defeqof eqof(d) == 1of(d)
THMdeq_property d:EqDecider(T), x,y:Tx = y  eqof(d)(x,y)
THMeqof_eq_btrue d:EqDecider(A), i:A. (eqof(d)(i,i)) ~ true
THMstrong-subtype-deq d:EqDecider(B). strong-subtype(A;B d  EqDecider(A)
THMstrong-subtype-deq-subtype strong-subtype(A;B (EqDecider(Br EqDecider(A))
THMnat-deq-aux a,b:a = b  a=b
defnat-deq NatDeq == <a,ba=b,nat_DASH_deq_DASH_aux{1:l}>
THMatom-deq-aux a,b:Atom. a = b  a=bAtom
defatom-deq AtomDeq == <a,ba=bAtom,atom_DASH_deq_DASH_aux{1:l}>
defproddeq proddeq(a;b)(p,q) == (1of(a)(1of(p),1of(q)))(1of(b)(2of(p),2of(q)))
THMproddeq-property a:EqDecider(A), b:EqDecider(B), p,q:(AB). p = q  proddeq(a;b)(p,q)
defprod-deq-aux prod-deq-aux{\\\\v:l,i:l}(A;B;a;b) == ext{proddeq_DASH_property}{i:l}(A,B,a,b)
defprod-deq prod-deq(A;B;a;b)
== (A,B,a,b,p,qq/q1,q2.
== (p/p1,p2.
== (b/eq,b1.
== (a/e1,a1.
== ((%1.%1
== ((%1.(<%.<(%1.%1(p1,q1)/%4,%5%4((%1.%1)((%1.*)(*))))(a1)
== ((%1.(<%.,(%1.%1(p2,q2)/%4,%5%4((%1.%1)((%1.*)(*))))(b1)>
== ((%1.(,%.%/%1,%2*>))
== (((%1.%1.2)
== ((((%1.%1
== ((((%1.(<p1,p2> = <q1,q2 AB
== ((((%1.,<p1,p2> = <q1,q2 AB
== ((((%1.,((e1(p1,q1))(eq(p2,q2)))
== ((((%1.,(e1(p1,q1)) & (eq(p2,q2))
== ((((%1.,(%1.%1)((%1.<%2.%2,%2.%2>)(*))
== ((((%1.,(%1.%1)
== ((((%1.,((%1.%1(e1(p1,q1),eq(p2,q2)))
== ((((%1.,((p,q. InjCase(qx. InjCase(p
== ((((%1.,((p,q. InjCase(qx. InjCasex. <%.<*,*>,%.*>
== ((((%1.,((p,q. InjCase(qx. InjCasey. <%.<any(%),*>
== ((((%1.,((p,q. InjCase(qx. InjCase; y,%.%/%1,%2. any(%1)>)
== ((((%1.,((p,qy.
== ((((%1.,((p,qInjCase(p
== ((((%1.,((p,q. InjCasex. <%.<*,any(%)>,%.%/%1,%2. any(%2)>
== ((((%1.,((p,q. InjCasey. <%.<any(%),any(%)>,%.%/%1,%2. any(%2)>))))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(%5
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.((((%5
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.((((((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(((((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(((((((%6((%4.%4)((%4.%4)(%3))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(((((((%))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.((((%2))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.<%3.(%1)
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(%5
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.((((%6
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.((((((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(((((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(((((((%6((%4.%4)((%4.%4)(%3))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(((((((%1))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.((((%2))))
== ((((P1,P2,Q1,Q2,%,%1. <%2.,%3.(%)>
== ((((P1,P2,Q1,Q2,%,%1,%2.<%3.(%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(%6
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.((((%5
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.((((((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(((((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(((((((%5((%4.%4)((%4.%4)(%3))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(((((((%))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.((((%2))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.<%3.(%1)
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(%6
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.((((%6
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.((((((%4.%4)
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(((((((%4.%4/%5,%6.
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(((((((%5((%4.%4)((%4.%4)(%3))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(((((((%1))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.((((%2))))
== ((((P1,P2,Q1,Q2,%,%1. ,%2.,%3.(%)>>))))
== (A
== ,B
== ,a
== ,b)
defproduct-deq product-deq(A;B;a;b) == <proddeq(a;b),prod-deq(A;B;a;b)>
defsumdeq sumdeq(a;b)(p,q)
== InjCase(ppa. InjCase(qqa. 1of(a)(pa,qa); qb. false); pb.
== InjCase(qqa. falseqb. 1of(b)(pb,qb)))
THMsumdeq-property a:EqDecider(A), b:EqDecider(B), p,q:A+Bp = q  sumdeq(a;b)(p,q)
defsum-deq-aux sum-deq-aux{\\\\v:l,i:l}(A;B;a;b) == ext{sumdeq_DASH_property}{i:l}(A,B,a,b)
defsum-deq sum-deq(A;B;a;b)
== (A,B,a,b,p,q.
== (InjCase(qx. InjCase(p
== (InjCase(qx. InjCasex1b/eq,b1.
== (InjCase(qx. InjCase; x1a/e1,a1.
== (InjCase(qx. InjCase; x1<%.(%1.%1(x1,x)/%4,%5.
== (InjCase(qx. InjCase; x1. <%.(%4
== (InjCase(qx. InjCase; x1. <%.(((%1.%1)
== (InjCase(qx. InjCase; x1. <%.((((%1.*)
== (InjCase(qx. InjCase; x1. <%.(((((%1.%1(x))
== (InjCase(qx. InjCase; x1. <%.((((((%1.%1(x1))
== (InjCase(qx. InjCase; x1. <%.(((((((%1.%1(B))
== (InjCase(qx. InjCase; x1. <%.((((((((%1.%1(A))
== (InjCase(qx. InjCase; x1. <%.((((((((A,B,x1,x,%. (%1.%1)
== (InjCase(qx. InjCase; x1. <%.((((((((A,B,x1,x,%((%1.(%2.*)(*))
== (InjCase(qx. InjCase; x1. <%.((((((((A,B,x1,x,%. ((%))))))))))
== (InjCase(qx. InjCase; x1. <%.(a1)
== (InjCase(qx. InjCase; x1,%.*>
== (InjCase(qx. InjCaseyb/eq,b1.
== (InjCase(qx. InjCase; ya/e1,a1.
== (InjCase(qx. InjCase; y<%.(%1.any((%1(*))))
== (InjCase(qx. InjCase; y. <%.((%1.%1(x))
== (InjCase(qx. InjCase; y. <%.(((%1.%1(y))
== (InjCase(qx. InjCase; y. <%.((((%1.%1(B))
== (InjCase(qx. InjCase; y. <%.(((((%1.%1(A))
== (InjCase(qx. InjCase; y. <%.(((((A,B,y,x,%.
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase(%1
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase%2. any(%2)
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase%3. (%4.any(%4))
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase; %3((%4.(%5.(%6.
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase; %3. ((%4.(%5.(any(%6))
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase; %3. ((%4.(%5.(*))
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase; %3. ((%4.(*))
== (InjCase(qx. InjCase; y. <%.((((((%1.InjCase; %3. ((%))))
== (InjCase(qx. InjCase; y. <%.(((((((%1.%1)(inr(%.*))))))))
== (InjCase(qx. InjCase; y,%.*>)
== (y.
== (InjCase(p
== (InjCasexb/eq,b1.
== (InjCase; xa/e1,a1.
== (InjCase; x<%.(%1.any((%1(*))))
== (InjCase; x. <%.((%1.%1(y))
== (InjCase; x. <%.(((%1.%1(x))
== (InjCase; x. <%.((((%1.%1(B))
== (InjCase; x. <%.(((((%1.%1(A))
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase(%1
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase%2. any(%2)
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase%3. (%4.any(%4))
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase; %3((%4.(%5.(%6.any(%6))
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase; %3. ((%4.(%5.(*))
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase; %3. ((%4.(*))
== (InjCase; x. <%.(((((A,B,x,y,%. (%1.InjCase; %3. ((%))))
== (InjCase; x. <%.(((((A,B,x,y,%((%1.%1)(inr(%.*))))))))
== (InjCase; x,%.*>
== (InjCasey1b/eq,b1.
== (InjCase; y1a/e1,a1.
== (InjCase; y1<%.(%1.%1(y1,y)/%4,%5.
== (InjCase; y1. <%.(%4
== (InjCase; y1. <%.(((%1.%1)
== (InjCase; y1. <%.((((%1.*)
== (InjCase; y1. <%.(((((%1.%1(y))
== (InjCase; y1. <%.((((((%1.%1(y1))
== (InjCase; y1. <%.(((((((%1.%1(B))
== (InjCase; y1. <%.((((((((%1.%1(A))
== (InjCase; y1. <%.((((((((A,B,y1,y,%. (%1.%1)((%1.(%2.*)(*))(%))))))))))
== (InjCase; y1. <%.(b1)
== (InjCase; y1,%.*>)))
== (A
== ,B
== ,a
== ,b)
defunion-deq union-deq(A;B;a;b) == <sumdeq(a;b),sum-deq(A;B;a;b)>
defdeq-member deq-member(eq;x;L) == reduce(a,b. eqof(eq)(a,x b;false;L)
THMassert-deq-member eq:EqDecider(A), L:A List, x:A. deq-member(eq;x;L (x  L)
defdiscrete_struct DS(A) == sort:ATypea:AEqDecider(sort(a))
defdstype dstype(TypeNamesda) == 1of(d)(a)
defid-deq IdDeq == product-deq(Atom;;AtomDeq;NatDeq)
defeq_id a = b == eqof(IdDeq)(a,b)
THMeq_id_self a:Id. a = a ~ true
THMassert-eq-id a,b:Id. a = b  a = b
THMdecidable__equal_Id a,b:Id. Dec(a = b)
defidlnk-deq IdLnkDeq == product-deq(Id;Id;IdDeq;product-deq(Id;;IdDeq;NatDeq))
defeq_lnk a = b == eqof(IdLnkDeq)(a,b)
THMassert-eq-lnk a,b:IdLnk. a = b  a = b
THMdecidable__equal_IdLnk a,b:IdLnk. Dec(a = b)
THMdecidable__l_member x:A. (x,y:A. Dec(x = y))  (L:A List. Dec((x  L)))
deflsrc source(l) == 1of(l)
defldst destination(l) == 1of(2of(l))
THMlsrc-inv l:IdLnk. source(lnk-inv(l)) = destination(l)
THMldst-inv l:IdLnk. destination(lnk-inv(l)) = source(l)
deflpath lpath(p)
== i:(||p||-1). 
== destination(p[i]) = source(p[(i+1)]) & p[(i+1)] = lnk-inv(p[i])  IdLnk
THMlpath_cons l:IdLnk, p:IdLnk List.
lpath([l / p])

lpath(p)
& (||p|| = 0    destination(l) = source(hd(p)) & hd(p) = lnk-inv(l))
deflconnects lconnects(p;i;j)
== lpath(p)
== & (||p|| = 0    i = j  Id)
== & (||p|| = 0    i = source(hd(p)) & j = destination(last(p)))
THMlpath-members-connected p:IdLnk List, i:||p||, j:(i+1).
lpath(p lconnects(l_interval(p;j;i);source(p[j]);source(p[i]))
defKind-deq KindDeq == union-deq(IdLnkId;Id;product-deq(IdLnk;Id;IdLnkDeq;IdDeq);IdDeq)
defeq_knd a = b == eqof(KindDeq)(a,b)
THMassert-eq-knd a,b:Knd. a = b  a = b
THMassert-has-src i:Id, k:Knd. has-src(i;k isrcv(k) & source(lnk(k)) = i
defevent_system_typename event_system_typename() == 6
defstrongwellfounded SWellFounded(R(x;y)) == f:(T). x,y:TR(x;y f(x)<f(y)
THMstrongwf-implies R:(TTType). SWellFounded(R(x,y))  WellFnd{i}(T;x,y.R(x,y))
defrel_plus R^+(x,y) == n:x R^n y
THMrel_plus_trans R:(TTProp). Trans x,y:Tx R^+ y
THMrel_plus_implies R:(TTProp), x,y:T. (x R^+ y (x R y (z:T. (x R^+ z) & (z R y))
defeventtype eventtype(k;loc;V;M;e) == kindcase(k(e);a.V(loc(e),a);l,t.M(l,t))
defESAxioms ESAxioms{i:l}
ESAxioms(E;
ESAxioms(T;
ESAxioms(M;
ESAxioms(loc;
ESAxioms(kind;
ESAxioms(val;
ESAxioms(when;
ESAxioms(after;
ESAxioms(sends;
ESAxioms(sender;
ESAxioms(index;
ESAxioms(first;
ESAxioms(pred;
ESAxioms(causl)
== (e,e':Eloc(e) = loc(e' Id  causl(e,e' e = e'  causl(e',e))
== & (e:E(first(e))  (e':Eloc(e') = loc(e Id  causl(e',e)))
== & (e:E
== & ((first(e))
== & (
== & (loc(pred(e)) = loc(e Id & causl(pred(e),e)
== & (& (e':Eloc(e') = loc(e Id  (causl(pred(e),e') & causl(e',e))))
== & (e:E(first(e))  (x:Id. when(x,e) = after(x,pred(e))  T(loc(e),x)))
== & (Trans e,e':Ecausl(e,e'))
== & SWellFounded(causl(e,e'))
== & (e:E
== & (isrcv(kind(e))
== & (
== & ((sends(lnk(kind(e)),sender(e)))[(index(e))]
== & (=
== & (msg(lnk(kind(e));tag(kind(e));val(e))
== & ( Msg(M))
== & (e:Eisrcv(kind(e))  causl(sender(e),e))
== & (e,e':E.
== & (causl(e,e')
== & (
== & ((first(e')) & causl(e,pred(e'))  e = pred(e')
== & ( isrcv(kind(e')) & causl(e,sender(e'))  e = sender(e'))
== & (e:Eisrcv(kind(e))  loc(e) = destination(lnk(kind(e))))
== & (e:El:IdLnk.
== & (loc(e) = source(l sends(l,e) = nil  Msg_sub(lM) List)
== & (e,e':E.
== & (isrcv(kind(e))
== & (
== & (isrcv(kind(e'))
== & (
== & (lnk(kind(e)) = lnk(kind(e'))
== & (
== & ((causl(e,e')
== & ((
== & ((causl(sender(e),sender(e'))
== & (( sender(e) = sender(e' E & index(e)<index(e')))
== & (e:El:IdLnk, n:||sends(l,e)||.
== & (e':E
== & (isrcv(kind(e')) & lnk(kind(e')) = l & sender(e') = e & index(e') = n)
defevent_system ES
== E:Type
== EqDecider(E)(T:IdIdType
== EqDecider(E)(V:IdIdType
== EqDecider(E)(M:IdLnkIdType
== EqDecider(E)(Top(loc:EId
== EqDecider(E)(Top(kind:EKnd
== EqDecider(E)(Top(val:(e:Eeventtype(kind;loc;V;M;e))
== EqDecider(E)(Top(when:(x:Ide:ET(loc(e),x))
== EqDecider(E)(Top(after:(x:Ide:ET(loc(e),x))
== EqDecider(E)(Top(sends:(l:IdLnkE(Msg_sub(lM) List))
== EqDecider(E)(Top(sender:{e:Eisrcv(kind(e)) }E
== EqDecider(E)(Top(index:(e:{e:Eisrcv(kind(e)) }||sends
== EqDecider(E)(Top(index:(e:{e:Eisrcv(kind(e)) }||(lnk(kind(e))
== EqDecider(E)(Top(index:(e:{e:Eisrcv(kind(e)) }||,sender(e))||)
== EqDecider(E)(Top(first:E
== EqDecider(E)(Top(pred:{e':E(first(e')) }E
== EqDecider(E)(Top(causl:EEProp
== EqDecider(E)(Top(ESAxioms{i:l}
== EqDecider(E)(Top(ESAxioms(E;
== EqDecider(E)(Top(ESAxioms(T;
== EqDecider(E)(Top(ESAxioms(M;
== EqDecider(E)(Top(ESAxioms(loc;
== EqDecider(E)(Top(ESAxioms(kind;
== EqDecider(E)(Top(ESAxioms(val;
== EqDecider(E)(Top(ESAxioms(when;
== EqDecider(E)(Top(ESAxioms(after;
== EqDecider(E)(Top(ESAxioms(sends;
== EqDecider(E)(Top(ESAxioms(sender;
== EqDecider(E)(Top(ESAxioms(index;
== EqDecider(E)(Top(ESAxioms(first;
== EqDecider(E)(Top(ESAxioms(pred;
== EqDecider(E)(Top(ESAxioms(causl)
== EqDecider(E)(Top(Top))
defmk-es mk-es(EeqTVMlockvwasndssndrifprdclp)
== <E,eq,T,V,M,,loc,k,v,w,a,snds,sndr,i,f,prd,cl,p,>
defes-E E == 1of(es)
defes-eq-E e = e' == eqof(1of(2of(es)))(e,e')
THMassert-es-eq-E the_es:ES, e,e':E. e = e'  e = e'
THMdecidable__es-E_equal the_es:ES, e,e':E. Dec(e = e')
defes-Msg Msg == Msg(1of(2of(2of(2of(2of(es))))))
defes-Msgl (Msg on l) == {m:Msg| haslink(lm) }
defes-loc loc(e) == 1of(2of(2of(2of(2of(2of(2of(es)))))))(e)
defes-kind kind(e) == 1of(2of(2of(2of(2of(2of(2of(2of(es))))))))(e)
defes-isrcv isrcv(e) == isrcv(kind(e))
defes-tag tag(e) == tag(kind(e))
defes-lnk lnk(e) == lnk(kind(e))
defes-act act(e) == act(kind(e))
defes-rcvtype rcvtype(e) == 1of(2of(2of(2of(2of(es)))))(lnk(e),tag(e))
defes-acttype acttype(e) == 1of(2of(2of(2of(es))))(loc(e),act(e))
defes-valtype valtype(e) == if isrcv(e) rcvtype(e) else acttype(e) fi
defes-vartype vartype(i;x) == 1of(2of(2of(es)))(i,x)
defes-val val(e) == 1of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))(e)
defes-when (x when e) == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es))))))))))(x,e)
defes-after (x after e) == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))))(x,e)
defes-sends sends(l;e)
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es))))))))))))(l,e)
defes-sender sender(e)
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))))))(e)
defes-index index(e)
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es))))))))))))))(e)
defes-first first(e)
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))))))))
== (e)
defes-pred pred(e)
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(
== 1of(es))))))))))))))))
== (e)
defes-causl (e < e')
== 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(
== 1of(es)))))))))))))))))
== (e
== ,e')
defes-locl (e <loc e') == loc(e) = loc(e' Id & (e < e')
defes-le e  e'  == (e <loc e' e = e'  E
THMes-axioms the_es:ES. 
(Trans e,e':E. (e <loc e'))
& SWellFounded((e <loc e'))
& (e,e':E. loc(e) = loc(e' Id  (e <loc e' e = e'  (e' <loc e))
& (e:E. first(e (e':E. (e' <loc e)))
& (e:E. 
& (first(e (pred(e) <loc e) & (e':E. ((pred(e) <loc e') & (e' <loc e))))
& (e:E. 
& (first(e (x:Id. (x when e) = (x after pred(e))  vartype(loc(e);x)))
& (Trans e,e':E. (e < e'))
& SWellFounded((e < e'))
& (e:E. 
& (isrcv(e)
& (
& (sends(lnk(e);sender(e))[index(e)] = msg(lnk(e);tag(e);val(e))  Msg)
& (e,e':E. (e <loc e' (e < e'))
& (e:E. isrcv(e (sender(e) < e))
& (e,e':E.
& ((e < e')
& (
& (first(e') & (e < pred(e'))  e = pred(e' E
& ( isrcv(e') & (e < sender(e'))  e = sender(e' E)
& (e:E. isrcv(e loc(e) = destination(lnk(e)))
& (e:E, l:IdLnk. loc(e) = source(l sends(l;e) = nil  (Msg on l) List)
& (e,e':E.
& (isrcv(e)
& (
& (isrcv(e')
& (
& (lnk(e) = lnk(e')
& (
& (((e <loc e')
& ((
& (((sender(e) <loc sender(e'))
& (( sender(e) = sender(e' E & index(e)<index(e')))
& (e:E, l:IdLnk, n:||sends(l;e)||.
& (e':E. isrcv(e') & lnk(e') = l & sender(e') = e  E & index(e') = n  )
THMes-locl-wellfnd the_es:ES. WellFnd{i}(E;x,y.(x <loc y))
THMes-locl-trans the_es:ES. Trans x,y:E. (x <loc y)
THMes-le-trans the_es:ES. Trans x,y:E. x  y 
THMes-locl-swellfnd the_es:ES. SWellFounded((x <loc y))
THMes-locl-antireflexive the_es:ES, e:E. (e <loc e)
THMes-pred-locl the_es:ES, j:E. first(j (pred(j) <loc j)
THMes-first-implies the_es:ES, j,e:E. first(j (e <loc j)
THMes-loc-pred the_es:ES, e:E. first(e loc(pred(e)) = loc(e Id
THMes-loc-rcv es:ES, e:E, l:IdLnk, tg:Id.
kind(e) = rcv(ltg loc(e) = destination(l) & loc(sender(e)) = source(l)
THMes-le-loc es:ES, e,e':E. e  e'   loc(e) = loc(e' Id
THMes-locl-iff the_es:ES, e,e':E.
(e <loc e' first(e') & e = pred(e' E  (e <loc pred(e'))
THMdecidable__es-locl the_es:ES, e',e:E. Dec((e <loc e'))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections EventSystems Doc