1 | 4. C: (St Alph*)* 5. ||C|| > 0 6. i: (||C||-1). ||2of(C[i])|| > 0 7. q: St 8. a: Alph 9. p: St 10. NDA(C) q 11. NDA(q,a,p) i: (||map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ]||-1).
NDA
(1of((map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ])[i])
,hd(rev(2of((map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ])[i])))
,1of((map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ])[(i+1)]))
& 2of((map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ])[(i+1)])
=
rev(tl(rev(2of((map( c. < 1of(c),a.2of(c) > ;C) @ [ < p,nil > ])[i])))) |