Foldl.hascasl.output revision c2dead95fafd7ca36d06ddf07606a1292ead6d8a
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 -> +Type -> +Type -> Type
__-->__ : -Type -> +Type -> Type < (__-->?__, __->__)
__-->?__ : -Type -> +Type -> Type < __->?__
__->__ : -Type -> +Type -> Type < __->?__
__->?__ : -Type -> +Type -> Type
%% Type Variables --------------------------------------------------------
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)%
%% Variables -------------------------------------------------------------
x : a
%% 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 2.11, rebound type variable 'a'
*** Hint 6.9, not a class 'a'