(==) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) == True (==) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) (Add (Neg (Opd 5)) (Opd 4)) == True (<) (Sub (Opd 7) (Opd 3)) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) == True (<) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) (Add (Neg (Opd 5)) (Opd 4)) == False (<=) (Sub (Opd 7) (Opd 3)) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) == True (<=) (Add (Neg (Opd 5)) (Sub (Opd 7) (Opd 3))) (Add (Neg (Opd 5)) (Opd 4)) == True eval (VSub (VCar 'a') (VAdd (VOpd 17) (VOpd 4))) == (VSub (VCar 'a') (VOpd 21)) eval (VSub (VCar 'a') (VAdd (VVar 'b') (VOpd 4))) == (VSub (VCar 'a') (VAdd (VVar 'b') (VOpd 4))) evalInState (VSub (VCar 'a') (VAdd (VOpd 17) (VOpd 4))) (State [('a',30),('b',2),('a',5)]) == (VOpd 9) evalInState (VSub (VCar 'a') (VAdd (VVar 'b') (VOpd 4))) (State [('b',2)]) == (VSub (VCar 'a') (VOpd 6)) (==) (VSub (VCar 'a') (VAdd (VOpd 17) (VOpd 4))) (VSub (VCar 'b') (VAdd (VOpd 17) (VOpd 4))) == True (==) (VSub (VCar 'a') (VAdd (VOpd 4) (VOpd 17))) (VSub (VCar 'a') (VAdd (VOpd 17) (VOpd 4))) == False