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

Selected Objects
defdsys Dsys == IdMsgA
defd-m M(i) == D(i)
defd-sub D1  D2 == i:Id. M(i M(i)
defd-single-init @ix:T initially x = v(j)
== if eqof(IdDeq)(j,i) x : T initially x = v else  fi
defd-single-frame @i: only L affects x : t(j)
== if eqof(IdDeq)(j,i) only members of L affect x :t else  fi
defd-single-sframe @i: only L sends on (l with tg)(j)
== if eqof(IdDeq)(j,i) only L sends on (l with tg) else  fi
defd-single-effect d-single-effect(idsdakxf)(j)
== if eqof(IdDeq)(j,i) ma-single-effect(dsdakxf) else  fi
defd-single-sends d-single-sends(idsdaklf)(j)
== if eqof(IdDeq)(j,i) ma-single-sends(dsdaklf) else  fi
defd-single-pre @i (with ds: ds action a:T precondition a(v) is P s v)(j)
== if eqof(IdDeq)(j,i) (with ds: ds action a:T precondition a(v) is P s v)
== else  fi
defd-single-pre-init @i (with ds: ds init: init action a:T precondition a(v) is P s v)(j)
== if eqof(IdDeq)(j,i)
== if (with ds: ds
== if (init: init
== if action a:T
== if aprecondition a(v) is
== if aP)
== else  fi
defd-feasible d-feasible(D)
== (i:Id. Feasible(M(i)))
== & (l:IdLnk, tg:Id. M(source(l)).dout(l,tgr M(destination(l)).din(l,tg))
== & (i:Id. 
== & (finite-type({l:IdLnk
== & (finite-type({| destination(l) = i & M(source(l)) sends on link l }))
definterface-check interface-check(D;l;tg;T) == T r M(destination(l)).din(l,tg)
THMfpf-compatible-singles eq:EqDecider(A), B:(AType), x,y:Av:B(x), u:B(y).
(x = y  v = u  B(x))  x : v || y : u
THMfpf-trivial-subtype-top B:(AType), f:a:A fp-> B(a). f  a:A fp-> Top
THMfpf-sub-functionality strong-subtype(A;A')

(B:(AType), C:(A'Type), eq:EqDecider(A), eq':EqDecider(A'),
(f,g:a:A fp-> B(a). (a:AB(aC(a))  f  g  f  g)
THMfpf-sub_functionality strong-subtype(A;A')

(B:(AType), C:(A'Type), eq:EqDecider(A), eq':EqDecider(A'),
(f,g:a:A fp-> B(a). (a:AB(aC(a))  f  g  f  g)
THMfpf-sub_transitivity B:(AType), eq:EqDecider(A), f,g,h:a:A fp-> B(a). f  g  g  h  f  h
THMfpf-sub_weakening B:(AType), eq:EqDecider(A), f,g:a:A fp-> B(a). f = g  f  g
THMsubtype-fpf-cap eq:EqDecider(X), f,g:x:X fp-> Type. g  f  (x:Xf(x)?Top g(x)?Top)
THMsubtype-fpf-cap-top eq:EqDecider(X), f,g:x:X fp-> Type, x:Xg  f  (f(x)?T g(x)?Top)
THMfpf-cap-void-subtype eq:EqDecider(A), ds:x:A fp-> Type, x:Ads(x)?Void ds(x)?Top
THMsubtype-fpf-cap-void eq:EqDecider(X), f,g:x:X fp-> Type, x:Xf  g  (f(x)?Void g(x)?T)
THMfpf-join-ap B:(AType), eq:EqDecider(A), f,g:a:A fp-> B(a), x:A.
x  dom(f  g f  g(x) = if x  dom(f) f(x) else g(x) fi  B(x)
THMfpf-join-ap-left B,C:(AType), eq:EqDecider(A), f:a:A fp-> B(a), g:a:A fp-> C(a), x:A.
x  dom(f f  g(x) = f(x B(x)
THMfpf-join-cap-sq eq:EqDecider(A), f,g:a:A fp-> Top, x:Az:Top.
f  g(x)?z ~ if x  dom(f) f(x)?z else g(x)?z fi
THMfpf-sub-join-left B1,B2:(AType), eq:EqDecider(A), f:a:A fp-> B1(a), g:a:A fp-> B2(a). f  f  g
THMfpf-sub-join-right B:(AType), eq:EqDecider(A), f,g:a:A fp-> B(a). f || g  g  f  g
THMfpf-single-sub-reflexive B:(AType), x:Av:B(x), eqa:EqDecider(A). x : v  x : v
THMfpf-compatible-join eq:EqDecider(A), B:(AType), f,g,h:a:A fp-> B(a).
h || f  h || g  h || f  g
THMfpf-compatible-symmetry eq:EqDecider(A), B:(AType), f,g:a:A fp-> B(a). f || g  g || f
THMfpf-compatible-join2 eq:EqDecider(A), B:(AType), f,g,h:a:A fp-> B(a).
f || h  g || h  f  g || h
THMfpf-all-join-decl eq:EqDecider(A), P:(ATypeProp), f,g:x:A fp-> Type.
ydom(f). w=f(y  P(y,w)

ydom(g). w=g(y  P(y,w ydom(f  g). w=f  g(y  P(y,w)
THMfpf-compatible-triple eq:EqDecider(T), f,g,h:x:T fp-> Type.
f || g

h || f

h || g  g  h  f  g & f  h  f  g & h  g  h  f  g & h  f  h  f  g
THMda-outlinks-single ltg:(IdLnkIdType), i:Id, k:Knd, T:Type.
(ltg  da-outlinks(k : T;i))

isrcv(k) & source(lnk(k)) = i
& (1of(ltg) ~ lnk(k))
& (1of(2of(ltg)) ~ tag(k))
& 2of(2of(ltg)) = T
THMda-outlinks-join ltg:(IdLnkIdType), i:Id, da1,da2:k:Knd fp-> Type.
(ltg  da-outlinks(da1  da2;i))

(ltg  da-outlinks(da1;i))  (ltg  da-outlinks(da2;i))
THMma-sub_transitivity M1,M2,M3:MsgA. M1  M2  M2  M3  M1  M3
THMma-sub_weakening M1,M2:MsgA. M1 = M2  M1  M2
THMassert-ma-is-empty M:MsgA. ma-is-empty(M M =   MsgA
THMma-empty-is-empty ma-is-empty()
THMma-empty-sub M:MsgA.   M
THMma-is-empty-sub A,B:MsgA. ma-is-empty(A A  B
THMma-sub-join-left M1,M2:MsgA. M1  M1  M2
THMma-state-subtype ds,ds':ltg:Id fp-> Type. ds  ds'  (State(ds'r State(ds))
THMma-state-subtype2 ds,ds':ltg:Id fp-> Type. ds  ds'  State(ds' State(ds)
THMma-compatible-symmetry M1,M2:MsgA. M1 || M2  M2 || M1
THMma-sub-join-right M1,M2:MsgA. M1 || M2  M2  M1  M2
THMma-empty-compatible-left A:MsgA.  || A
THMma-empty-compatible-right A:MsgA. A || 
defpossible-world PossibleWorld(D;w)
== FairFifo
== & (i,x:Id. vartype(i;xr M(i).ds(x))
== & & (i:Id, a:Action(i). isnull(a (valtype(i;ar M(i).da(kind(a))))
== & & (l:IdLnk, tg:Id. (w.M(l,tg)) r M(source(l)).da(rcv(ltg)))
== & & (i,x:Id. M(i).init(x,s(i;0).x))
== & & (i:Id, t:.
== & & (isnull(a(i;t))
== & & (
== & & ((islocal(kind(a(i;t)))
== & & ((
== & & ((M(i).pre(act(kind(a(i;t))),x.s(i;t).x,val(a(i;t))))
== & & (& (x:Id. M(i).ef(kind(a(i;t)),x,x.s(i;t).x,val(a(i;t)),s(i;t+1).x))
== & & (& (l:IdLnk. 
== & & (& (M(i).send(kind(a(i;t));l;x.
== & & (& (s(i;t).x;val(a(i;t));withlnk(l;m(i;t));i))
== & & (& (x:Id. 
== & & (& (M(i).frame(kind(a(i;t)) affects x)
== & & (& (
== & & (& (s(i;t).x = s(i;t+1).x  M(i).ds(x))
== & & (& (l:IdLnk, tg:Id.
== & & (& (M(i).sframe(kind(a(i;t)) sends <l,tg>)
== & & (& (
== & & (& (w-tagged(tg; onlnk(l;m(i;t))) = nil  Msg List))
== & & (i,a:Id, t:.
== & & (t':
== & & (tt'
== & & (isnull(a(i;t')) & kind(a(i;t')) = locl(a)
== & & (&  a declared in M(i)
== & & (&  unsolvable M(i).pre(a,x.s(i;t').x))
THMma-ds-sub M1,M2:MsgA, x:Id. M1  M2  (M2.ds(xM1.ds(x))
THMma-da-sub M1,M2:MsgA, k:Knd. M1  M2  (M2.da(kM1.da(k))
THMma-init-sub V:(IdType), M1,M2:MsgA.
(x:Id. V(xM2.ds(x))

M1  M2  (x:Id, v:V(x). M2.init(x,v M1.init(x,v))
THMma-pre-sub M1,M2:MsgA.
M1  M2  (a:Id, s:M2.state, v:M2.da(locl(a)). M2.pre(a,s,v M1.pre(a,s,v))
THMma-decla-sub M1,M2:MsgA. M1  M2  (a:Id. a declared in M1  a declared in M2)
THMma-npre-sub M1,M2:MsgA.
M1  M2

(a:Id, s:M2.state.
(a declared in M1  unsolvable M2.pre(a,s unsolvable M1.pre(a,s))
THMma-ef-sub M1,M2:MsgA.
M1  M2

(k:Knd, x:Id, s:M2.state, v:M2.da(k), w:M2.ds(x).
(M2.ef(k,x,s,v,w M1.ef(k,x,s,v,w))
THMma-send-sub M1,M2:MsgA.
M1  M2

(k:Knd, l:IdLnk, s:M2.state, v:M2.da(k), i:Id, ms:(tg:Id
(k:Knd, l:IdLnk, s:M2.state, v:M2.da(k), i:Id, ms:(if source(l) = i
(k:Knd, l:IdLnk, s:M2.state, v:M2.da(k), i:Id, ms:(if M2.da(rcv(ltg))
(k:Knd, l:IdLnk, s:M2.state, v:M2.da(k), i:Id, ms:(else Top fi) List.
(M2.send(k;l;s;v;ms;i M1.send(k;l;s;v;ms;i))
THMma-frame-sub M1,M2:MsgA.
M1  M2  (k:Knd, x:Id. M2.frame(k affects x M1.frame(k affects x))
THMma-sframe-sub M1,M2:MsgA.
M1  M2

(k:Knd, l:IdLnk, tg:Id. M2.sframe(k sends <l,tg>)  M1.sframe(k sends <l,tg>))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections EventSystems Doc