XUnion.hascasl.output revision 4fb19f237193a3bd6778f8aee3b6dd8da5856665
var S : Type; N : Type; E : Type
type Set : Type -> Type := \ S : Type . S_v-1 ->? Unit
type Graph : Type -> Type -> Type := \ (N : Type)
(E : Type) . Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)
op __union__ : Graph N E * Graph N E -> Graph N E;
__union__, __intersection__, __\\__ : Set S * Set S -> Set S
forall g : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N));
g' : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N))
. (fun __=__[Set N@(N ->? Unit) * (E ->? N) * (E ->? N)]
: forall a : Type . a_v-1 * a_v-1 ->? Unit)
((op __union__[N; E]
: forall N : Type; E : Type .
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) *
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) -> Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) *
(E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)))
(var g : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N)),
var g' : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N))),
var g : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N)))
%% Type Constructors -----------------------------------------------------
E : Type %(var_3)%
Graph
: Type -> Type -> Type
:= \ (N : Type)(E : Type) . Set N_v-1@(N_v-1 ->? Unit) *
(E_v-2 ->? N_v-1) * (E_v-2 ->? N_v-1)
Logical : Type := Unit ->? Unit
N : Type %(var_2)%
Pred : Type -> Type := \ a : Type . a_v-1 ->? Unit
S : Type %(var_1)%
Set : Type -> Type := \ S : Type . S_v-1 ->? Unit
Unit : Type := Unit
__*__ : Type+ -> Type+ -> Type
__-->__ : Type- -> Type+ -> Type
__-->?__ : Type- -> Type+ -> Type
__->__ : Type- -> Type+ -> Type
__->?__ : Type- -> Type+ -> 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)%
__\\__
: forall S : Type .
Set S_v-1@(S_v-1 ->? Unit) *
Set S_v-1@(S_v-1 ->? Unit) -> Set S_v-1@(S_v-1 ->? Unit)
%(op)%
__if__ : Unit * Unit ->? Unit %(fun)%
__intersection__
: forall S : Type .
Set S_v-1@(S_v-1 ->? Unit) *
Set S_v-1@(S_v-1 ->? Unit) -> Set S_v-1@(S_v-1 ->? Unit)
%(op)%
__union__
: forall S : Type .
Set S_v-1@(S_v-1 ->? Unit) *
Set S_v-1@(S_v-1 ->? Unit) -> Set S_v-1@(S_v-1 ->? Unit)
%(op)%
: forall N : Type; E : Type .
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) *
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) -> Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) *
(E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1))
%(op)%
__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)%
not__ : Unit ->? Unit %(fun)%
true : Unit %(fun)%
�__ : Unit ->? Unit %(fun)%
%% Sentences -------------------------------------------------------------
(fun __=__[Set N@(N ->? Unit) * (E ->? N) * (E ->? N)]
: forall a : Type . a_v-1 * a_v-1 ->? Unit)
((op __union__[N; E]
: forall N : Type; E : Type .
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) *
Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) * (E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)) -> Graph N_v-1 E_v-2@(Set N_v-1@(N_v-1 ->? Unit) *
(E_v-2 ->? N_v-1) *
(E_v-2 ->? N_v-1)))
(var g : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N)),
var g' : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N))),
var g : Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N)))
%% Diagnostics -----------------------------------------------------------
*** Hint 1.7, is type variable 'S'
*** Hint 1.9, is type variable 'N'
*** Hint 1.11, is type variable 'E'
*** Hint 9.6, no type match for: g
with type: '_var_9_v9 ->? Unit' (6.51)
known types:
'Graph N E@(Set N@(N ->? Unit) * (E ->? N) * (E ->? N))'