set S = F1();
set SORTS = the carrier of F1() --> BOOLEAN ;
consider CHARACT being ManySortedSet of the carrier' of F1() such that
A2:
for o being set
for p being Element of the carrier of F1() * st o in the carrier' of F1() & p = the Arity of F1() . o holds
CHARACT . o = F2(o,p)
from CIRCCOMB:sch 1();
A3:
dom CHARACT = the carrier' of F1()
by PARTFUN1:def 4;
CHARACT is Function-yielding
then reconsider CHARACT = CHARACT as ManySortedFunction of the carrier' of F1() ;
A5:
dom the ResultSort of F1() = the carrier' of F1()
by FUNCT_2:def 1;
A6:
dom the Arity of F1() = the carrier' of F1()
by FUNCT_2:def 1;
now let i be
set ;
( i in the carrier' of F1() implies CHARACT . i is Function of ((((the carrier of F1() --> BOOLEAN ) # ) * the Arity of F1()) . i),(((the carrier of F1() --> BOOLEAN ) * the ResultSort of F1()) . i) )assume A7:
i in the
carrier' of
F1()
;
CHARACT . i is Function of ((((the carrier of F1() --> BOOLEAN ) # ) * the Arity of F1()) . i),(((the carrier of F1() --> BOOLEAN ) * the ResultSort of F1()) . i)then reconsider o =
i as
Gate of
F1() ;
reconsider p = the
Arity of
F1()
. o as
Element of the
carrier of
F1()
* by A7, FUNCT_2:7;
A8:
(((the carrier of F1() --> BOOLEAN ) # ) * the Arity of F1()) . i = ((the carrier of F1() --> BOOLEAN ) # ) . p
by A6, A7, FUNCT_1:23;
reconsider v = the
ResultSort of
F1()
. o as
Vertex of
F1()
by A7, FUNCT_2:7;
(the carrier of F1() --> BOOLEAN ) . v = BOOLEAN
by FUNCOP_1:13;
then A9:
((the carrier of F1() --> BOOLEAN ) * the ResultSort of F1()) . i = BOOLEAN
by A5, A7, FUNCT_1:23;
A10:
((the carrier of F1() --> BOOLEAN ) # ) . p = (len p) -tuples_on BOOLEAN
by Th6;
CHARACT . i = F2(
o,
p)
by A2, A7;
hence
CHARACT . i is
Function of
((((the carrier of F1() --> BOOLEAN ) # ) * the Arity of F1()) . i),
(((the carrier of F1() --> BOOLEAN ) * the ResultSort of F1()) . i)
by A1, A7, A8, A10, A9;
verum end;
then reconsider CHARACT = CHARACT as ManySortedFunction of ((the carrier of F1() --> BOOLEAN ) # ) * the Arity of F1(),(the carrier of F1() --> BOOLEAN ) * the ResultSort of F1() by PBOOLE:def 18;
take
MSAlgebra(# (the carrier of F1() --> BOOLEAN ),CHARACT #)
; ( the Sorts of MSAlgebra(# (the carrier of F1() --> BOOLEAN ),CHARACT #) = the carrier of F1() --> BOOLEAN & ( for g being set
for p being Element of the carrier of F1() * st g in the carrier' of F1() & p = the Arity of F1() . g holds
the Charact of MSAlgebra(# (the carrier of F1() --> BOOLEAN ),CHARACT #) . g = F2(g,p) ) )
thus
( the Sorts of MSAlgebra(# (the carrier of F1() --> BOOLEAN ),CHARACT #) = the carrier of F1() --> BOOLEAN & ( for g being set
for p being Element of the carrier of F1() * st g in the carrier' of F1() & p = the Arity of F1() . g holds
the Charact of MSAlgebra(# (the carrier of F1() --> BOOLEAN ),CHARACT #) . g = F2(g,p) ) )
by A2; verum