p is FinSequence of rng p
by FINSEQ_1:def 4;
then reconsider p9 = p as Element of (rng p) * by FINSEQ_1:def 11;
set g1 = (rng p) --> X;
set g2 = x .--> Y;
set S = 1GateCircStr p,f,x;
set SORTS = ((rng p) --> X) +* (x .--> Y);
set CHARACT = the carrier' of (1GateCircStr p,f,x) --> f;
A2:
dom (x .--> Y) = {x}
by FUNCOP_1:19;
A3:
x in {x}
by TARSKI:def 1;
then A4: (((rng p) --> X) +* (x .--> Y)) . x =
(x .--> Y) . x
by A2, FUNCT_4:14
.=
Y
by A3, FUNCOP_1:13
;
A5:
the carrier of (1GateCircStr p,f,x) = (rng p) \/ {x}
by Def5;
then reconsider SORTS = ((rng p) --> X) +* (x .--> Y) as V2() ManySortedSet of the carrier of (1GateCircStr p,f,x) ;
rng p c= the carrier of (1GateCircStr p,f,x)
by A5, XBOOLE_1:7;
then
p is FinSequence of the carrier of (1GateCircStr p,f,x)
by FINSEQ_1:def 4;
then reconsider pp = p as Element of the carrier of (1GateCircStr p,f,x) * by FINSEQ_1:def 11;
A6:
dom (((rng p) --> X) # ) = (rng p) *
by PARTFUN1:def 4;
A7:
dom ((rng p) --> X) = rng p
by FUNCOP_1:19;
(rng p) --> X tolerates x .--> Y
then
(rng p) --> X c= SORTS
by FUNCT_4:29;
then
((rng p) --> X) # c= SORTS #
by Th3;
then A11:
(((rng p) --> X) # ) . p9 = (SORTS # ) . pp
by A6, GRFUNC_1:8;
A12:
the carrier' of (1GateCircStr p,f,x) = {[p,f]}
by Def5;
then A13:
dom the ResultSort of (1GateCircStr p,f,x) = {[p,f]}
by FUNCT_2:def 1;
A14:
the ResultSort of (1GateCircStr p,f,x) . [p,f] = x
by Def5;
A15:
the Arity of (1GateCircStr p,f,x) . [p,f] = p
by Def5;
A16:
len p = n
by FINSEQ_1:def 18;
A17:
dom the Arity of (1GateCircStr p,f,x) = {[p,f]}
by A12, FUNCT_2:def 1;
now let i be
set ;
( i in the carrier' of (1GateCircStr p,f,x) implies (the carrier' of (1GateCircStr p,f,x) --> f) . i is Function of (((SORTS # ) * the Arity of (1GateCircStr p,f,x)) . i),((SORTS * the ResultSort of (1GateCircStr p,f,x)) . i) )A18:
(SORTS # ) . pp = n -tuples_on X
by A16, A11, Th6;
assume A19:
i in the
carrier' of
(1GateCircStr p,f,x)
;
(the carrier' of (1GateCircStr p,f,x) --> f) . i is Function of (((SORTS # ) * the Arity of (1GateCircStr p,f,x)) . i),((SORTS * the ResultSort of (1GateCircStr p,f,x)) . i)then A20:
i = [p,f]
by A12, TARSKI:def 1;
then A21:
((SORTS # ) * the Arity of (1GateCircStr p,f,x)) . i = (SORTS # ) . p
by A12, A15, A17, A19, FUNCT_1:23;
(SORTS * the ResultSort of (1GateCircStr p,f,x)) . i = Y
by A12, A14, A4, A13, A19, A20, FUNCT_1:23;
hence
(the carrier' of (1GateCircStr p,f,x) --> f) . i is
Function of
(((SORTS # ) * the Arity of (1GateCircStr p,f,x)) . i),
((SORTS * the ResultSort of (1GateCircStr p,f,x)) . i)
by A19, A21, A18, FUNCOP_1:13;
verum end;
then reconsider CHARACT = the carrier' of (1GateCircStr p,f,x) --> f as ManySortedFunction of (SORTS # ) * the Arity of (1GateCircStr p,f,x),SORTS * the ResultSort of (1GateCircStr p,f,x) by PBOOLE:def 18;
reconsider A = MSAlgebra(# SORTS,CHARACT #) as strict non-empty MSAlgebra of 1GateCircStr p,f,x by MSUALG_1:def 8;
take
A
; ( the Sorts of A = ((rng p) --> X) +* (x .--> Y) & the Charact of A . [p,f] = f )
[p,f] in {[p,f]}
by TARSKI:def 1;
hence
( the Sorts of A = ((rng p) --> X) +* (x .--> Y) & the Charact of A . [p,f] = f )
by A12, FUNCOP_1:13; verum