circ m(n)->[
cond n->var a=1/var a=0
a
]
circ o(n)->[
cond n<->var b=0+n/var b=o(n>)
b
]
circ p(n)->[
cond n->var c=~((~(o(n)))>)/var c=0
cond (~n)<->var d=p(c)+0/var d=c+1
d
]
circ q(n)->[
cond n->var e=~((~(o(n)))>)/var e=0
cond (~n)<->var f=e+0/var f=q(e)+1
f
]
circ r(a,b)->[
cond m(a)&m(b)->var g=r(q(a),q(b))/var g=a
g
]
circ s(a,b)->!(m(r(b,a)))
circ t(a,b)->[
cond b->var h=t(q(a),q(b))/var h=a
h
]
circ u(a,b)->[
cond s(a,b)->var i=u(t(a,b),b)/var i=!(m(a))
i
]
circ v(a)->[
var j=p(j)
cond s(a,j)->var k=k+u(a,j)/var k=k