1 |
4. ds : x:Id fp-> Type
5. da : a:Knd fp-> Type
6. f : (tg:Id State(ds) ma-valtype(da; k) (da(rcv(l; tg))?Void List)) List
7. source(l) = i
8. w : World
9. 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,l>], 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
x:Id. vartype(i;x) r ds(x)?Top
 | 4 steps |
2 |
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,l>], 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
e:E. loc(e) = i Id  (valtype(e) r ma-valtype(da; kind(e)))
 | 15 steps |
3 |
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,l>], 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
e:E. isrcv(e)  lnk(e) = l  (valtype(e) r ma-valtype(da; kind(e)))
 | 6 steps |
4 |
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,l>], 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))
 | 3 steps |