Lazy.hascasl.output revision c2dead95fafd7ca36d06ddf07606a1292ead6d8a
type t
op f : ? t -> t
op g : t -> (? t)
op a, b : t
op c, d : Unit ->? t
. ((fun __=__[t] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
t * t ->? Unit)
((op f : ? t -> t)(op a : t) : t,
(op g : t -> ? t)(op c : Unit ->? t) : ? t) :
Unit
%% Type Constructors -----------------------------------------------------
Logical : Type := Unit ->? Unit
Pred : -Type -> Type := \ a : -Type . a_v-1 ->? Unit
Unit : Type
__*__ : +Type -> +Type -> Type
__*__*__ : +Type -> +Type -> +Type -> Type
__*__*__*__ : +Type -> +Type -> +Type -> +Type -> Type
__*__*__*__*__ : +Type -> +Type -> +Type -> +Type -> +Type -> Type
__-->__ : -Type -> +Type -> Type < (__-->?__, __->__)
__-->?__ : -Type -> +Type -> Type < __->?__
__->__ : -Type -> +Type -> Type < __->?__
__->?__ : -Type -> +Type -> Type
t : Type
%% Assumptions -----------------------------------------------------------
__/\__ : ? 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 : t %(op)%
b : t %(op)%
bottom : forall a : Type . a_v-1 %(fun)%
c : Unit ->? t %(op)%
d : Unit ->? t %(op)%
def__ : forall a : Type . a_v-1 ->? Unit %(fun)%
f : ? t -> t %(op)%
false : Unit %(fun)%
g : t -> ? t %(op)%
not__ : ? Unit ->? Unit %(fun)%
true : Unit %(fun)%
�__ : ? Unit ->? Unit %(fun)%
%% Sentences -------------------------------------------------------------
((fun __=__[t] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
t * t ->? Unit)
((op f : ? t -> t)(op a : t) : t,
(op g : t -> ? t)(op c : Unit ->? t) : ? t) :
Unit
%% Diagnostics -----------------------------------------------------------
*** Warning 8.9-8.11, trying hard to find lazy type for '__=__(f(a), g(c))'
*** Hint, in type of '(op a : t)'
typename 't' (4.10)
is not unifiable with type '(Unit ->? ? t)' (2.9)
*** Hint, in type of '(op c : Unit ->? t)'
typename 't' (3.8)
is not unifiable with type '(Unit ->? t)' (6.10)
*** Hint, in type of '(op a : t)'
typename 't' (4.10)
is not unifiable with type '(Unit ->? ? t)' (2.9)
*** Hint, in type of '(op c : Unit ->? t)'
typename 't' (3.8)
is not unifiable with type '(Unit ->? t)' (6.10)
*** Hint 8.9-8.11, in type of '((op f : ? t -> t)(op a : t) : t,
(op g : t -> ? t)(op c : Unit ->? t) : ? t)'
typename 't' (3.15)
is not unifiable with type '(_var_2_v2 * _var_2_v2)'