1 |
3. l1 : IdLnk
4. ds : x:Id fp-> Type{i}
5. da : a:Knd fp-> Type{i}
6. f : (tg:Id State(ds) ma-valtype(da; k) (da(rcv(l1; tg))?Void List)) List
7. source(l1) = i
8. w : World
9. p : FairFifo
10. FairFifo
11. l@0:IdLnk, tg:Id.
11. (w.M(l@0,tg)) r if eqof(IdDeq)(source(l@0),i)
11. (w.M(l@0,tg)) r if <ds,da,,,,<[<k,l1>], x.f>,,, >
11. (w.M(l@0,tg)) r else fi.da(rcv(l@0; tg))
12. a:Action(i). isnull(a)  (valtype(i;a) r da(kind(a))?Top)
13. x:Id.
13. vartype(i;x) r if deq-member(IdDeq;x;1of(ds)) 2of(ds)(x) else Top fi
{m:Msg| source(mlnk(m)) = i } r Msg(( l,tg. da(rcv(l; tg))?Top))
 | 2 steps |