valB (a :==: b)  s st = ((x == y),st2) where (x,st1) = evalA a s st 
                                              (y,st2) = evalA b s st1

evalB (a :==: b)  s st = ((x == y),st2) where (x,st1) = evalA a s st 
                                              (y,st2) = evalA b s st1
evalB (a :==: b)  s st = ((x == y),st2) where (x,st1) = evalA a s st 
                                              (y,st2) = evalA b s st1