Foldl.hascasl.output revision c64d33a7fbeae730cbe65193fe3cc24e7aa1ddd6
var a : Type
type List(a : Type)
op nil : List a
op head : List a -> a
op snoc : List a -> a --> List a
forall x : a
. ((fun __=__[List a] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
List a * List a ->? Unit)
((((op snoc[a]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List a -> a --> List a)
((op nil[a] : forall a : Type . List a_v-1) : List a) :
a --> List a)
(var x : a) :
List a,
(((op snoc[a]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List a -> a --> List a)
((op nil[a] : forall a : Type . List a_v-1) : List a) :
a --> List a)
(var x : a) :
List a) :
Unit
. ((fun __=__[a] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
a * a ->? Unit)
((((op head[a ->? a] : forall a : Type . List a_v-1 -> a_v-1) :
List (a ->? a) -> a ->? a)
((op nil[a ->? a] : forall a : Type . List a_v-1) :
List (a ->? a)) :
a ->? a)
(var x : a) :
a,
var x : a) :
Unit
%% Type Constructors -----------------------------------------------------
List : Type -> Type
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
a : Type %(var_1)%
%% 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)%
bottom : forall a : Type . a_v-1 %(fun)%
def__ : forall a : Type . a_v-1 ->? Unit %(fun)%
false : Unit %(fun)%
head : forall a : Type . List a_v-1 -> a_v-1 %(op)%
nil : forall a : Type . List a_v-1 %(op)%
not__ : ? Unit ->? Unit %(fun)%
snoc : forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1 %(op)%
true : Unit %(fun)%
�__ : ? Unit ->? Unit %(fun)%
%% Sentences -------------------------------------------------------------
((fun __=__[List a] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
List a * List a ->? Unit)
((((op snoc[a]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List a -> a --> List a)
((op nil[a] : forall a : Type . List a_v-1) : List a) :
a --> List a)
(var x : a) :
List a,
(((op snoc[a]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List a -> a --> List a)
((op nil[a] : forall a : Type . List a_v-1) : List a) :
a --> List a)
(var x : a) :
List a) :
Unit
((fun __=__[a] : forall a : Type . a_v-1 * a_v-1 ->? Unit) :
a * a ->? Unit)
((((op head[a ->? a] : forall a : Type . List a_v-1 -> a_v-1) :
List (a ->? a) -> a ->? a)
((op nil[a ->? a] : forall a : Type . List a_v-1) :
List (a ->? a)) :
a ->? a)
(var x : a) :
a,
var x : a) :
Unit
%% Diagnostics -----------------------------------------------------------
*** Hint 1.5, is type variable 'a'
*** Hint , in type of '(op nil[_var_13_v13] : forall a : Type . List a_v-1) :
List _var_13_v13'
type 'List _var_13_v13'
is not unifiable with type 'Unit ->? List _var_9_v9'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_9_v9'
*** Hint , in type of '(op nil[_var_21_v21] : forall a : Type . List a_v-1) :
List _var_21_v21'
type 'List _var_21_v21'
is not unifiable with type 'Unit ->? List _var_17_v17'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_17_v17'
*** Hint , in type of '(op nil[_var_30_v30] : forall a : Type . List a_v-1) :
List _var_30_v30'
type 'List _var_30_v30'
is not unifiable with type 'Unit ->? List _var_26_v26'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_26_v26'
*** Hint , in type of '(op nil[_var_38_v38] : forall a : Type . List a_v-1) :
List _var_38_v38'
type 'List _var_38_v38'
is not unifiable with type 'Unit ->? List _var_34_v34'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_34_v34'
*** Hint , in type of '((((op snoc[_var_26_v26]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List _var_26_v26 -> _var_26_v26 --> List _var_26_v26)
((op nil[_var_26_v26] : forall a : Type . List a_v-1) :
List _var_26_v26) :
_var_26_v26 --> List _var_26_v26)
(var x : a) :
List _var_26_v26,
(((op snoc[_var_34_v34]
: forall a : Type . List a_v-1 -> a_v-1 --> List a_v-1) :
List _var_34_v34 -> _var_34_v34 --> List _var_34_v34)
((op nil[_var_34_v34] : forall a : Type . List a_v-1) :
List _var_34_v34) :
_var_34_v34 --> List _var_34_v34)
(var x : a) :
List _var_34_v34)'
type 'List a * List a'
is not unifiable with type 'Unit ->? _var_3_v3 * _var_3_v3'
*** Hint , in type of '(op nil[_var_57_v57] : forall a : Type . List a_v-1) :
List _var_57_v57'
type 'List _var_57_v57'
is not unifiable with type 'Unit ->? List (_var_50_v50 ->? _var_51_v51)'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_50_v50'
*** Hint , in type of '(op nil[_var_70_v70] : forall a : Type . List a_v-1) :
List _var_70_v70'
type 'List _var_70_v70'
is not unifiable with type 'Unit ->? List (_var_63_v63 ->? _var_64_v64)'
*** Hint , in type of '(var x : a)'
typename 'a' (6.10)
is not unifiable with type 'Unit ->? _var_63_v63'
*** Hint , in type of '((((op head[_var_63_v63 ->? _var_64_v64]
: forall a : Type . List a_v-1 -> a_v-1) :
List (_var_63_v63 ->? _var_64_v64) -> _var_63_v63 ->? _var_64_v64)
((op nil[_var_63_v63 ->? _var_64_v64]
: forall a : Type . List a_v-1) :
List (_var_63_v63 ->? _var_64_v64)) :
_var_63_v63 ->? _var_64_v64)
(var x : a) :
_var_64_v64,
var x : a)'
type '_var_59_v59 * a'
is not unifiable with type 'Unit ->? _var_42_v42 * _var_42_v42'