Expr.hascasl.output revision 47a19e4d083d2cecf1fd95f93dcbe04496544a6a
type bool ::= True |
False
op a : bool = (op True : bool)
op notA : bool
= case (op a : bool) of
(op True : bool) -> (op False : bool) |
(op False : bool) -> (op True : bool)
op b : bool
= let (var x : bool) = (op True : bool);
(var y : bool) = (op False : bool);
(var z : bool) = (var x : bool)
in (op True : bool)
op b : bool -> bool = \ (var x : bool) . (var x : bool)
%% Type Constructors -----------------------------------------------------
Logical : Type := Unit ->? Unit
Pred : Type -> Type := \ a : Type . a_v-1 ->? Unit
Unit : Type := Unit
__*__ : Type+ -> Type+ -> Type
__-->__ : Type- -> Type+ -> Type
__-->?__ : Type- -> Type+ -> Type
__->__ : Type- -> Type+ -> Type
__->?__ : Type- -> Type+ -> Type
bool
: Type
%[type bool
::= True : bool
False : bool]%
%% Assumptions -----------------------------------------------------------
False : bool %(construct bool)%
True : bool %(construct bool)%
__/\__ : Unit * Unit ->? Unit %(fun)%
__<=>__ : Unit * Unit ->? Unit %(fun)%
__=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit %(fun)%
__=>__ : Unit * Unit ->? Unit %(fun)%
__=e=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit %(fun)%
__\/__ : Unit * Unit ->? Unit %(fun)%
__if__ : Unit * Unit ->? Unit %(fun)%
__when__else__
: forall a : Type . a_v-1 * Unit * a_v-1 ->? a_v-1 %(fun)%
a : bool %(op)% = (op True : bool)
b : bool -> bool %(op)% = \ (var x : bool) . (var x : bool)
: bool
%(op)%
= let (var x : bool) = (op True : bool);
(var y : bool) = (op False : bool);
(var z : bool) = (var x : bool)
in (op True : bool)
bottom : forall a : Type . a_v-1 %(fun)%
def__ : forall a : Type . a_v-1 ->? Unit %(fun)%
false : Unit %(fun)%
not__ : Unit ->? Unit %(fun)%
notA
: bool
%(op)%
= case (op a : bool) of
(op True : bool) -> (op False : bool) |
(op False : bool) -> (op True : bool)
true : Unit %(fun)%
�__ : Unit ->? Unit %(fun)%
%% Sentences -------------------------------------------------------------
type bool
::= True : bool
False : bool %(ga_bool)%
(fun __=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit)
(op a : bool, op True : bool) %(def_a)%
(fun __=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit)
(op notA : bool,
case (op a : bool) of
(op True : bool) -> (op False : bool) |
(op False : bool) -> (op True : bool)) %(def_notA)%
(fun __=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit)
(op b : bool,
let (var x : bool) = (op True : bool);
(var y : bool) = (op False : bool);
(var z : bool) = (var x : bool)
in (op True : bool)) %(def_b)%
(fun __=__ : forall a : Type . a_v-1 * a_v-1 ->? Unit)
(op b : bool -> bool, \ (var x : bool) . (var x : bool)) %(def_b)%