And.hascasl.output revision 946f62de1b188898dde0c472f2a8a6fb86f4d2f5
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maederfree type Bool ::= False | True
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maederop And : Bool -> (? Bool) -> Bool
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maedervar x : ? Bool
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maeder. And False x = False
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maeder. And True x = x
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maeder. And False True = False; %implied
946f62de1b188898dde0c472f2a8a6fb86f4d2f5Christian MaederBool %[free type Bool ::= False | True]%
6cb518d88084543c13aa7e56db767c14ee97ab77Christian Maederop And : Bool -> ? Bool -> Bool %(op)%
6cb518d88084543c13aa7e56db767c14ee97ab77Christian Maederop False : Bool %(constructor)%
6cb518d88084543c13aa7e56db767c14ee97ab77Christian Maederop True : Bool %(constructor)%
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maederfree type Bool ::= False | True %(ga_Bool)%
e13ee09381f136f5eadaabdb9699773c0052cf3dChristian Maederforall x : ? Bool . And False x = False
e13ee09381f136f5eadaabdb9699773c0052cf3dChristian Maederforall x : ? Bool . And True x = x
6cb518d88084543c13aa7e56db767c14ee97ab77Christian Maeder. And False True = False
b640fb89ee46f63ae66111c0a12c0ff39e9daf20Christian Maeder### Hint 3.6, not a kind '? Bool'