| Some definitions of interest. |
|
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-valtype | Def ma-valtype(da; k) == da(k)?Top |
|
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 |
|
ma-state | Def State(ds) == x:Id ds(x)?Top |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
deq | Def EqDecider(T) == eq:T T    x,y:T. x = y  (eq(x,y)) |
| | Thm* T:Type. EqDecider(T) Type |
|
fpf-all | Def x dom(f). v=f(x)  P(x;v) == x:A. x dom(f)  P(x;f(x)) |
|
id-deq | Def IdDeq == product-deq(Atom; ;AtomDeq;NatDeq) |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
fpf-cap | Def f(x)?z == if x dom(f) f(x) else z fi |
|
deq-member | Def deq-member(eq;x;L) == reduce( a,b. eqof(eq)(a,x)  b;false ;L) |
|
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 |
|
iff | Def P  Q == (P  Q) & (P  Q) |
| | Thm* A,B:Prop. (A  B) Prop |
|
l_member | Def (x l) == i: . i<||l|| & x = l[i] T |
| | Thm* T:Type, x:T, l:T List. (x l) Prop |
|
ma-single-effect | Def ma-single-effect(ds; da; k; x; f) == mk-ma(ds; da; ; ; <k,x> : f; ; ; ) |