set S = 1GateCircStr p,f;
set SORTS = the carrier of (1GateCircStr p,f) --> X;
set CHARACT = the carrier' of (1GateCircStr p,f) --> f;
A1: ( the carrier of (1GateCircStr p,f) = (rng p) \/ {[p,f]} & the carrier' of (1GateCircStr p,f) = {[p,f]} & the Arity of (1GateCircStr p,f) . [p,f] = p & the ResultSort of (1GateCircStr p,f) . [p,f] = [p,f] ) by Def6;
A2: [p,f] in {[p,f]} by TARSKI:def 1;
then [p,f] in the carrier of (1GateCircStr p,f) by A1, XBOOLE_0:def 3;
then A3: (the carrier of (1GateCircStr p,f) --> X) . [p,f] = X by FUNCOP_1:13;
A4: ( dom the Arity of (1GateCircStr p,f) = {[p,f]} & dom the ResultSort of (1GateCircStr p,f) = {[p,f]} ) by A1, FUNCT_2:def 1;
A5: len p = n by FINSEQ_1:def 18;
rng p c= the carrier of (1GateCircStr p,f) by A1, XBOOLE_1:7;
then p is FinSequence of the carrier of (1GateCircStr p,f) by FINSEQ_1:def 4;
then reconsider pp = p as Element of the carrier of (1GateCircStr p,f) * by FINSEQ_1:def 11;
now
let i be set ; :: thesis: ( i in the carrier' of (1GateCircStr p,f) implies (the carrier' of (1GateCircStr p,f) --> f) . i is Function of ((((the carrier of (1GateCircStr p,f) --> X) # ) * the Arity of (1GateCircStr p,f)) . i),(((the carrier of (1GateCircStr p,f) --> X) * the ResultSort of (1GateCircStr p,f)) . i) )
assume A6: i in the carrier' of (1GateCircStr p,f) ; :: thesis: (the carrier' of (1GateCircStr p,f) --> f) . i is Function of ((((the carrier of (1GateCircStr p,f) --> X) # ) * the Arity of (1GateCircStr p,f)) . i),(((the carrier of (1GateCircStr p,f) --> X) * the ResultSort of (1GateCircStr p,f)) . i)
then i = [p,f] by A1, TARSKI:def 1;
then ( (the carrier' of (1GateCircStr p,f) --> f) . i = f & (((the carrier of (1GateCircStr p,f) --> X) # ) * the Arity of (1GateCircStr p,f)) . i = ((the carrier of (1GateCircStr p,f) --> X) # ) . p & ((the carrier of (1GateCircStr p,f) --> X) # ) . pp = n -tuples_on X & ((the carrier of (1GateCircStr p,f) --> X) * the ResultSort of (1GateCircStr p,f)) . i = X ) by A1, A3, A4, A5, A6, Th6, FUNCOP_1:13, FUNCT_1:23;
hence (the carrier' of (1GateCircStr p,f) --> f) . i is Function of ((((the carrier of (1GateCircStr p,f) --> X) # ) * the Arity of (1GateCircStr p,f)) . i),(((the carrier of (1GateCircStr p,f) --> X) * the ResultSort of (1GateCircStr p,f)) . i) ; :: thesis: verum
end;
then reconsider CHARACT = the carrier' of (1GateCircStr p,f) --> f as ManySortedFunction of ((the carrier of (1GateCircStr p,f) --> X) # ) * the Arity of (1GateCircStr p,f),(the carrier of (1GateCircStr p,f) --> X) * the ResultSort of (1GateCircStr p,f) by PBOOLE:def 18;
reconsider A = MSAlgebra(# (the carrier of (1GateCircStr p,f) --> X),CHARACT #) as strict non-empty MSAlgebra of 1GateCircStr p,f by MSUALG_1:def 8;
take A ; :: thesis: ( the Sorts of A = the carrier of (1GateCircStr p,f) --> X & the Charact of A . [p,f] = f )
thus ( the Sorts of A = the carrier of (1GateCircStr p,f) --> X & the Charact of A . [p,f] = f ) by A1, A2, FUNCOP_1:13; :: thesis: verum