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}
;
A3:
x in {x}
by TARSKI:def 1;
then A4: (((rng p) --> X) +* (x .--> Y)) . x =
(x .--> Y) . x
by A2, FUNCT_4:13
.=
Y
by A3, FUNCOP_1:7
;
A5:
the carrier of (1GateCircStr (p,f,x)) = (rng p) \/ {x}
by Def5;
then reconsider SORTS = ((rng p) --> X) +* (x .--> Y) as non-empty 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 2;
(rng p) --> X tolerates x .--> Y
then
(rng p) --> X c= SORTS
by FUNCT_4:28;
then
((rng p) --> X) # c= SORTS #
by Th1;
then A11:
(((rng p) --> X) #) . p9 = (SORTS #) . pp
by A6, GRFUNC_1:2;
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 CARD_1:def 7;
A17:
dom the Arity of (1GateCircStr (p,f,x)) = {[p,f]}
by A12, FUNCT_2:def 1;
now for i being object st i in the carrier' of (1GateCircStr (p,f,x)) holds
( 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)let i be
object ;
( 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, Th2;
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:13;
(SORTS * the ResultSort of (1GateCircStr (p,f,x))) . i = Y
by A12, A14, A4, A13, A19, A20, FUNCT_1:13;
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:7;
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 15;
reconsider A = MSAlgebra(# SORTS,CHARACT #) as strict non-empty MSAlgebra over 1GateCircStr (p,f,x) by MSUALG_1:def 3;
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:7; verum