| Some definitions of interest. |
|
ma-compatible | Def M1 || M2
Def == M1 ||decl M2
Def == & 1of(2of(2of(M1))) || 1of(2of(2of(M2)))
Def == & 1of(2of(2of(2of(M1)))) || 1of(2of(2of(2of(M2))))
Def == & 1of(2of(2of(2of(2of(M1))))) || 1of(2of(2of(2of(2of(M2)))))
Def == & 1of(2of(2of(2of(2of(2of(M1)))))) || 1of(2of(2of(2of(2of(2of(M2))))))
Def == & 1of(2of(2of(2of(2of(2of(2of(M1))))))) || 1of(2of(2of(2of(2of(2of(2of(
Def == & 1of(2of(2of(2of(2of(2of(2of(M1))))))) || 1of(M2)))))))
Def == & 1of(2of(2of(2of(2of(2of(2of(2of(
Def == & 1of(M1)))))))) || 1of(2of(2of(2of(2of(2of(2of(2of(M2)))))))) |
|
ma-feasible | Def Feasible(M)
Def == x dom(1of(M)). T=1of(M)(x)  T
Def == & k dom(1of(2of(M))). T=1of(2of(M))(k)  Dec(T)
Def == & a dom(1of(2of(2of(2of(M))))). p=1of(2of(2of(2of(M))))(a) 
Def == & s:State(1of(M)). Dec( v:1of(2of(M))(locl(a))?Top. p(s,v))
Def == & kx dom(1of(2of(2of(2of(2of(M)))))).
Def == ef=1of(2of(2of(2of(2of(M)))))(kx)  M.frame(1of(kx) affects 2of(kx))
Def == & kl dom(1of(2of(2of(2of(2of(2of(M))))))).
Def == & snd=1of(2of(2of(2of(2of(2of(M))))))(kl)  tg:Id.
Def == & (tg map( p.1of(p);snd))  M.sframe(1of(kl) sends <2of(kl),tg>) |
|
ma-frame | Def M.frame(k affects x)
Def == L != 1of(2of(2of(2of(2of(2of(2of(M)))))))(x) ==> deq-member(KindDeq;k;L) |
|
ma-frame-compatible | Def ma-frame-compatible(A; B)
Def == kx:(Knd Id).
Def == ( kx dom(1of(2of(2of(2of(2of(A))))))
Def == (
Def == ( 2of(kx) dom(1of(2of(2of(2of(2of(2of(2of(A))))))))
Def == (
Def == ( 2of(kx) dom(1of(2of(2of(2of(2of(2of(2of(B))))))))
Def == (
Def == ( deq-member(KindDeq;1of(kx);1of(2of(2of(2of(2of(2of(2of(
Def == ( deq-member(KindDeq;1of(kx);1of(B)))))))(2of(kx))))
Def == & ( kx dom(1of(2of(2of(2of(2of(B))))))
Def == & (
Def == & ( 2of(kx) dom(1of(2of(2of(2of(2of(2of(2of(B))))))))
Def == & (
Def == & ( 2of(kx) dom(1of(2of(2of(2of(2of(2of(2of(A))))))))
Def == & (
Def == & ( deq-member(KindDeq;1of(kx);1of(2of(2of(2of(2of(2of(2of(
Def == & ( deq-member(KindDeq;1of(kx);1of(A)))))))(2of(kx)))) |
|
ma-join | Def M1 M2
Def == mk-ma(1of(M1) 1of(M2);
Def == mk-ma(1of(2of(M1)) 1of(2of(M2));
Def == mk-ma(1of(2of(2of(M1))) 1of(2of(2of(M2)));
Def == mk-ma(1of(2of(2of(2of(M1)))) 1of(2of(2of(2of(M2))));
Def == mk-ma(1of(2of(2of(2of(2of(M1))))) 1of(2of(2of(2of(2of(M2)))));
Def == mk-ma(1of(2of(2of(2of(2of(2of(M1)))))) 1of(2of(2of(2of(2of(2of(
Def == mk-ma(1of(2of(2of(2of(2of(2of(M1)))))) 1of(M2))))));
Def == mk-ma(1of(2of(2of(2of(2of(2of(2of(
Def == mk-ma(1of(M1))))))) 1of(2of(2of(2of(2of(2of(2of(M2)))))));
Def == mk-ma(1of(2of(2of(2of(2of(2of(2of(2of(
Def == mk-ma(1of(M1)))))))) 1of(2of(2of(2of(2of(2of(2of(2of(M2))))))))) |
|
ma-sframe | Def M.sframe(k sends <l,tg>)
Def == L != 1of(2of(2of(2of(2of(2of(2of(2of(
Def == L != 1of(M))))))))(<l,tg>) ==> deq-member(KindDeq;k;L) |
|
ma-sframe-compatible | Def ma-sframe-compatible(A; B)
Def == kl:(Knd IdLnk), tg:Id.
Def == ( kl dom(1of(2of(2of(2of(2of(2of(A)))))))
Def == (
Def == ((tg map( p.1of(p);1of(2of(2of(2of(2of(2of(A))))))(kl)))
Def == (
Def == ( <2of(kl),tg> dom(1of(2of(2of(2of(2of(2of(2of(2of(A)))))))))
Def == (
Def == ( <2of(kl),tg> dom(1of(2of(2of(2of(2of(2of(2of(2of(B)))))))))
Def == (
Def == ( deq-member(KindDeq;1of(kl);1of(2of(2of(2of(2of(2of(2of(2of(
Def == ( deq-member(KindDeq;1of(kl);1of(B))))))))(<2of(kl),tg>)))
Def == & ( kl dom(1of(2of(2of(2of(2of(2of(B)))))))
Def == & (
Def == & ((tg map( p.1of(p);1of(2of(2of(2of(2of(2of(B))))))(kl)))
Def == & (
Def == & ( <2of(kl),tg> dom(1of(2of(2of(2of(2of(2of(2of(2of(B)))))))))
Def == & (
Def == & ( <2of(kl),tg> dom(1of(2of(2of(2of(2of(2of(2of(2of(A)))))))))
Def == & (
Def == & ( deq-member(KindDeq;1of(kl);1of(2of(2of(2of(2of(2of(2of(2of(
Def == & ( deq-member(KindDeq;1of(kl);1of(A))))))))(<2of(kl),tg>))) |
|
msga | Def MsgA
Def == ds:x:Id fp-> Type
Def == da:a:Knd fp-> Type
Def == x:Id fp-> ds(x)?Void a:Id fp-> State(ds) ma-valtype(da; locl(a)) Prop
Def == kx:Knd Id fp-> State(ds) ma-valtype(da; 1of(kx)) ds(2of(kx))?Void
Def == kl:Knd IdLnk fp-> (tg:Id
Def == kl:Knd IdLnk fp-> ( State(ds) ma-valtype(da; 1of(kl))
Def == kl:Knd IdLnk fp-> ((da(rcv(2of(kl); tg))?Void List)) List
Def == x:Id fp-> Knd List ltg:IdLnk Id fp-> Knd List Top |
| | Thm* MsgA Type{i'} |
|
Kind-deq | Def KindDeq == union-deq(IdLnk Id;Id;product-deq(IdLnk;Id;IdLnkDeq;IdDeq);IdDeq) |
|
Knd | Def Knd == (IdLnk Id)+Id |
| | Thm* Knd Type |
|
IdLnk | Def IdLnk == Id Id  |
| | Thm* IdLnk Type |
|
idlnk-deq | Def IdLnkDeq == product-deq(Id;Id ;IdDeq;product-deq(Id; ;IdDeq;NatDeq)) |
|
ma-state | Def State(ds) == x:Id ds(x)?Top |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
id-deq | Def IdDeq == product-deq(Atom; ;AtomDeq;NatDeq) |
|
product-deq | Def product-deq(A;B;a;b) == <proddeq(a;b),prod-deq(A;B;a;b)> |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
decidable | Def Dec(P) == P P |
| | Thm* A:Prop. Dec(A) Prop |
|
fpf | Def a:A fp-> B(a) == d:A List a:{a:A| (a d) } B(a) |
| | Thm* A:Type, B:(A Type). a:A fp-> B(a) Type |
|
fpf-join | Def f g == <1of(f) @ filter( a. a dom(f);1of(g)), a.f(a)?g(a)> |
|
fpf-cap | Def f(x)?z == if x dom(f) f(x) else z fi |
|
fpf-ap | Def f(x) == 2of(f)(x) |
|
fpf-dom | Def x dom(f) == deq-member(eq;x;1of(f)) |
|
l_member | Def (x l) == i: . i<||l|| & x = l[i] T |
| | Thm* T:Type, x:T, l:T List. (x l) Prop |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
map | Def map(f;as) == Case of as; nil nil ; a.as' [(f(a)) / map(f;as')]
Def (recursive) |
| | Thm* A,B:Type, f:(A B), l:A List. map(f;l) B List |
| | Thm* A,B:Type, f:(A B), l:A List . map(f;l) B List |
|
pi1 | Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |
|
pi2 | Def 2of(t) == t.2 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
rcv | Def rcv(l; tg) == inl(<l,tg>) |
| | Thm* l:IdLnk, tg:Id. rcv(l; tg) Knd |
|
top | Def Top == Void given Void |
| | Thm* Top Type |