BoolEx.hascasl revision bada0c99c6398c209ec9c6a9f5b316b7b5c99b33
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder%% Example for testing the translation from HasCASL to haskell.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederfree type Bool ::= True | False
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederop neg : Bool -> Bool
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maederprogram neg x = case x of False -> True | True -> False
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederop wedge : Bool * Bool -> Bool
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederprogram wedge (x,y) = case (x,y) of (False, False) -> False
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder | (True, False) -> False
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder | (False, True) -> False
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder | (True, True) -> True
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maederop vee : Bool * Bool -> Bool
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maederprogram vee (x,y) = neg (wedge ((neg (x)), (neg (y))))
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederop le : Bool * Bool -> Bool
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederprogram le (x,y) = vee ((neg (x)), y)
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettichop eq : Bool * Bool -> Bool
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettichprogram eq (x,y) = wedge ((le (x,y)), (le (y,x)))
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maederop ne : Bool * Bool -> Bool
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maederprogram ne (x,y) = wedge ( (vee(x,y)), (neg(wedge(x,y))) )