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

Selected Objects
deffpf-compatible f || g == x:Ax  dom(f) & x  dom(g f(x) = g(x B(x)
deffpf-join f  g == <1of(f) @ filter(a.a  dom(f);1of(g)),a.f(a)?g(a)>
THMfpf-join-dom B:(AType), eq:EqDecider(A), f,g:a:A fp-> B(a), x:A.
x  dom(f  g x  dom(f x  dom(g)
THMfpf-join-dom2 eq:EqDecider(A), f,g:a:A fp-> Top, x:A.
x  dom(f  g x  dom(f x  dom(g)
THMfpf-join-is-empty eq:EqDecider(A), f,g:x:A fp-> Top.
fpf-is-empty(f  g) ~ (fpf-is-empty(f)fpf-is-empty(g))
THMfpf-join-ap-sq eq:EqDecider(A), f:a:A fp-> Top, g:Top, x:A.
f  g(x) ~ if x  dom(f) f(x) else g(x) fi
deffpf-single x : v == <[x],x.v>
THMfpf-cap-single1 eq:EqDecider(A), x:Av,z:Top. x : v(x)?z ~ v
THMfpf-ap-single eq,x,v:Top. x : v(x) ~ v
THMfpf-cap-single eq:EqDecider(A), x,y:Av,z:Top. x : v(y)?z ~ if eqof(eq)(x,y) v else z fi
THMfpf-val-single1 eq:EqDecider(A), x:Av,P:Top. z != x : v(x) ==> P(a,z) ~ (True  P(x,v))
deffpf-all xdom(f). v=f(x  P(x;v) == x:Ax  dom(f P(x;f(x))
THMfpf-single-dom eq:EqDecider(A), x,y:Av:Top. x  dom(y : v x = y
THMfpf-single-dom-sq eq:EqDecider(A), x,y:Av:Top. x  dom(y : v) ~ (eqof(eq)(y,x))
THMfpf-all-single-decl eq:EqDecider(A), P:(ATypeProp), x:Av:Type.
ydom(x : v). w=x : v(y  P(y,w P(x,v)
THMfpf-empty-compatible-right eq:EqDecider(A), B:Top, f:a:A fp-> Top. f || 
THMfpf-empty-compatible-left eq:EqDecider(A), B:Top, f:a:A fp-> Top.  || f
deffpf-dom-list fpf-dom-list(f) == 1of(f)
defma-state State(ds) == x:Idds(x)?Top
defma-valtype ma-valtype(dak) == da(k)?Top
defmsga MsgA
== ds:x:Id fp-> Type
== da:a:Knd fp-> Type
== x:Id fp-> ds(x)?Voida:Id fp-> State(ds)ma-valtype(da; locl(a))Prop
== kx:KndId fp-> State(ds)ma-valtype(da; 1of(kx))ds(2of(kx))?Void
== kl:KndIdLnk fp-> (tg:Id
== kl:KndIdLnk fp-> (State(ds)ma-valtype(da; 1of(kl))
== kl:KndIdLnk fp-> ((da(rcv(2of(kl); tg))?Void List)) List
== x:Id fp-> Knd Listltg:IdLnkId fp-> Knd ListTop
defma-ds M.ds(x) == 1of(M)(x)?Top
defma-da M.da(a) == 1of(2of(M))(a)?Top
defma-decla a declared in M == locl(a dom(1of(2of(M)))
defda-outlink-f da-outlink-f(da;k) == <lnk(k),tag(k),da(k)>
defda-outlinks da-outlinks(da;i)
== mapfilter(k.da-outlink-f(da;k);k.has-src(i;k);fpf-dom-list(da))
THMda-outlinks-empty ltg:(IdLnkIdType), i:Id. (ltg  da-outlinks(;i))  False
defma-outlinks ma-outlinks(M;i) == da-outlinks(1of(2of(M));i)
defma-din M.din(l,tg) == 1of(2of(M))(rcv(ltg))?Top
defma-dout M.dout(l,tg) == 1of(2of(M))(rcv(ltg))?Void
defma-init M.init(x,v) == x0 != 1of(2of(2of(M)))(x) ==> v = x0  1of(M)(x)?Void
defma-st M.state == State(1of(M))
defma-v M.V(k) == ma-valtype(1of(2of(M)); k)
defma-npre unsolvable M.pre(a,s)
== P != 1of(2of(2of(2of(M))))(a) ==> v:M.da(locl(a)). P(s,v)
defma-pre M.pre(a,s,v) == P != 1of(2of(2of(2of(M))))(a) ==> P(s,v)
defma-ef M.ef(k,x,s,v,w)
== E != 1of(2of(2of(2of(2of(M)))))(<k,x>) ==> w = E(s,v M.ds(x)
deftagged-list-messages tagged-list-messages(s;v;L)
== concat(map(tgf.map(x.<1of(tgf),x>;2of(tgf)(s,v));L))
deftagged-messages tagged-messages(l;s;v;L) == map(x.<l,x>;tagged-list-messages(s;v;L))
defma-send M.send(k;l;s;v;ms;i)
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> ms
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> =
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if source(l) = i
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if concat(map(tgf.map(x.
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;2of(tgf)
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;(s
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;,v));L))
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> else nil fi
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==>  (tg:Id
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==>  (if source(l) = i
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==>  (if M.da(rcv(ltg))
== L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==>  (else Top fi) List
defma-sends-on M sends on link l
== deq-member(IdLnkDeq;l;map(p.2of(p);1of(1of(2of(2of(2of(2of(2of(M)))))))))
defma-frame M.frame(k affects x)
== L != 1of(2of(2of(2of(2of(2of(2of(M)))))))(x) ==> deq-member(KindDeq;k;L)
defma-sframe M.sframe(k sends <l,tg>)
== L != 1of(2of(2of(2of(2of(2of(2of(2of(
== L != 1of(M))))))))(<l,tg>) ==> deq-member(KindDeq;k;L)
defma-sub M1  M2
== 1of(M1 1of(M2) & 1of(2of(M1))  1of(2of(M2))
== & 1of(2of(2of(M1)))  1of(2of(2of(M2)))
== & & 1of(2of(2of(2of(M1))))  1of(2of(2of(2of(M2))))
== & & 1of(2of(2of(2of(2of(M1)))))  1of(2of(2of(2of(2of(M2)))))
== & & 1of(2of(2of(2of(2of(2of(M1))))))  1of(2of(2of(2of(2of(2of(M2))))))
== & & 1of(2of(2of(2of(2of(2of(2of(M1)))))))  1of(2of(2of(2of(2of(2of(2of(
== & & 1of(2of(2of(2of(2of(2of(2of(M1)))))))  1of(M2)))))))
== & & 1of(2of(2of(2of(2of(2of(2of(2of(
== & & 1of(M1))))))))  1of(2of(2of(2of(2of(2of(2of(2of(M2))))))))
defmk-ma mk-ma(dsdainitpreefsendframesframe)
== <ds,da,init,pre,ef,send,frame,sframe,>
defma-empty == mk-ma(; ; ; ; ; ; ; )
defma-is-empty ma-is-empty(M)
== fpf-is-empty(1of(M))fpf-is-empty(1of(2of(M)))
== fpf-is-empty(1of(2of(2of(M))))fpf-is-empty(1of(2of(2of(2of(M)))))
== fpf-is-empty(1of(2of(2of(2of(2of(M))))))
== fpf-is-empty(1of(2of(2of(2of(2of(2of(M)))))))
== fpf-is-empty(1of(2of(2of(2of(2of(2of(2of(M))))))))
== fpf-is-empty(1of(2of(2of(2of(2of(2of(2of(2of(M)))))))))
defma-compatible-decls M1 ||decl M2 == 1of(M1) || 1of(M2) & 1of(2of(M1)) || 1of(2of(M2))
defma-join M1  M2
== mk-ma(1of(M1 1of(M2);
== mk-ma(1of(2of(M1))  1of(2of(M2));
== mk-ma(1of(2of(2of(M1)))  1of(2of(2of(M2)));
== mk-ma(1of(2of(2of(2of(M1))))  1of(2of(2of(2of(M2))));
== mk-ma(1of(2of(2of(2of(2of(M1)))))  1of(2of(2of(2of(2of(M2)))));
== mk-ma(1of(2of(2of(2of(2of(2of(M1))))))  1of(2of(2of(2of(2of(2of(M2))))));
== mk-ma(1of(2of(2of(2of(2of(2of(2of(M1)))))))  1of(2of(2of(2of(2of(2of(2of(
== mk-ma(1of(2of(2of(2of(2of(2of(2of(M1)))))))  1of(M2)))))));
== mk-ma(1of(2of(2of(2of(2of(2of(2of(2of(
== mk-ma(1of(M1))))))))  1of(2of(2of(2of(2of(2of(2of(2of(M2)))))))))
defma-compatible M1 || M2
== M1 ||decl M2
== & 1of(2of(2of(M1))) || 1of(2of(2of(M2)))
== & 1of(2of(2of(2of(M1)))) || 1of(2of(2of(2of(M2))))
== & 1of(2of(2of(2of(2of(M1))))) || 1of(2of(2of(2of(2of(M2)))))
== & 1of(2of(2of(2of(2of(2of(M1)))))) || 1of(2of(2of(2of(2of(2of(M2))))))
== & 1of(2of(2of(2of(2of(2of(2of(M1))))))) || 1of(2of(2of(2of(2of(2of(2of(
== & 1of(2of(2of(2of(2of(2of(2of(M1))))))) || 1of(M2)))))))
== & 1of(2of(2of(2of(2of(2of(2of(2of(
== & 1of(M1)))))))) || 1of(2of(2of(2of(2of(2of(2of(2of(M2))))))))
defma-single-init x : t initially x = v == mk-ma(x : t; ; x : v; ; ; ; ; )
defma-single-frame only members of L affect x :t == mk-ma(x : t; ; ; ; ; ; x : L; )
defma-single-sframe only L sends on (l with tg) == mk-ma(; ; ; ; ; ; ; <l,tg> : L)
defma-single-effect ma-single-effect(dsdakxf) == mk-ma(dsda; ; ; <k,x> : f; ; ; )
defma-single-effect0 ma-single-effect0(x;A;k;T;f)
== ma-single-effect(x : Ak : Tkx; (s,vf(s(x),v)))
defma-single-effect1 ma-single-effect1(x;A;y;B;k;T;f)
== ma-single-effect(x : A  y : Bk : Tkx; (s,vf(s(x),s(y),v)))
defma-single-sends ma-single-sends(dsdaklf) == mk-ma(dsda; ; ; ; <k,l> : f; ; )
defma-single-sends1 ma-single-sends1(ABTxaltgf)
== ma-single-sends(x : Aa : B  rcv(ltg) : Tal; [<tg,s,vf(s(x),v)>])
defma-single-pre (with ds: ds
(action a:T
(precondition a(v) is
(P s v)
== mk-ma(ds; locl(a) : T; ; a : P; ; ; ; )
defma-single-pre1 ma-single-pre1(x;A;a;T;y,v.P(y;v))
== (with ds: x : A
== (action a:T
== (precondition a(v) is
== (s,vP(s(x);v) s v)
defma-single-pre-init (with ds: ds
(init: init
action a:T
aprecondition a(v) is
aP)
== mk-ma(ds; locl(a) : Tinita : P; ; ; ; )
defma-single-pre-init1 ma-single-pre-init1(x;T;c;a;T';y,v.P(y;v))
== (with ds: x : T
== (init: x : c
== action a:T'
== aprecondition a(v) is
== as,vP(s(x);v))
defma-feasible Feasible(M)
== xdom(1of(M)). T=1of(M)(x  T
== kdom(1of(2of(M))). T=1of(2of(M))(k  Dec(T)
== adom(1of(2of(2of(2of(M))))). p=1of(2of(2of(2of(M))))(a 
== &s:State(1of(M)). Dec(v:1of(2of(M))(locl(a))?Top. p(s,v))
== kxdom(1of(2of(2of(2of(2of(M)))))). ef=1of(2of(2of(2of(2of(M)))))(kx 
== &M.frame(1of(kx) affects 2of(kx))
== kldom(1of(2of(2of(2of(2of(2of(M))))))). 
== & snd=1of(2of(2of(2of(2of(2of(M))))))(kl  tg:Id. 
== & (tg  map(p.1of(p);snd))  M.sframe(1of(kl) sends <2of(kl),tg>)
THMma-empty-feasible Feasible()
defma-frame-compatible ma-frame-compatible(AB)
== kx:(KndId). 
== (kx  dom(1of(2of(2of(2of(2of(A))))))
== (
== (2of(kx dom(1of(2of(2of(2of(2of(2of(2of(A))))))))
== (
== (2of(kx dom(1of(2of(2of(2of(2of(2of(2of(B))))))))
== (
== (deq-member(KindDeq;1of(kx);1of(2of(2of(2of(2of(2of(2of(B)))))))(2of(kx))))
== & (kx  dom(1of(2of(2of(2of(2of(B))))))
== & (
== & (2of(kx dom(1of(2of(2of(2of(2of(2of(2of(B))))))))
== & (
== & (2of(kx dom(1of(2of(2of(2of(2of(2of(2of(A))))))))
== & (
== & (deq-member(KindDeq;1of(kx);1of(2of(2of(2of(2of(2of(2of(
== & (deq-member(KindDeq;1of(kx);1of(A)))))))(2of(kx))))
defma-sframe-compatible ma-sframe-compatible(AB)
== kl:(KndIdLnk), tg:Id.
== (kl  dom(1of(2of(2of(2of(2of(2of(A)))))))
== (
== ((tg  map(p.1of(p);1of(2of(2of(2of(2of(2of(A))))))(kl)))
== (
== (<2of(kl),tg dom(1of(2of(2of(2of(2of(2of(2of(2of(A)))))))))
== (
== (<2of(kl),tg dom(1of(2of(2of(2of(2of(2of(2of(2of(B)))))))))
== (
== (deq-member(KindDeq;1of(kl);1of(2of(2of(2of(2of(2of(2of(2of(
== (deq-member(KindDeq;1of(kl);1of(B))))))))(<2of(kl),tg>)))
== & (kl  dom(1of(2of(2of(2of(2of(2of(B)))))))
== & (
== & ((tg  map(p.1of(p);1of(2of(2of(2of(2of(2of(B))))))(kl)))
== & (
== & (<2of(kl),tg dom(1of(2of(2of(2of(2of(2of(2of(2of(B)))))))))
== & (
== & (<2of(kl),tg dom(1of(2of(2of(2of(2of(2of(2of(2of(A)))))))))
== & (
== & (deq-member(KindDeq;1of(kl);1of(2of(2of(2of(2of(2of(2of(2of(
== & (deq-member(KindDeq;1of(kl);1of(A))))))))(<2of(kl),tg>)))
defma-compat A ||+ B == A || B & ma-frame-compatible(AB) & ma-sframe-compatible(AB)
defma-join-list (L) == reduce(A,BA  B;;L)
defmsg-form MsgAForm
== x:Id fp-> Topx:Knd fp-> Typex:Id fp-> Topx:Id fp-> Topx:KndId fp-> Top
== x:KndIdLnk fp-> Topx:Id fp-> Topx:IdLnkId fp-> TopTop
THMma-single-init-feasible x:Id, t:Type, v:t. Feasible(x : t initially x = v)
THMma-single-frame-feasible x:Id, L:Knd List, t:Type. t  Feasible(only members of L affect x :t)
THMma-single-sframe-feasible l:IdLnk, tg:Id, L:Knd List. Feasible(only L sends on (l with tg))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections EventSystems Doc