set C = MaxConstrSign ;
let n be Nat; :: thesis: for s being SortSymbol of MaxConstrSign ex m being constructor OperSymbol of s st len (the_arity_of m) = n
let s be SortSymbol of MaxConstrSign; :: thesis: ex m being constructor OperSymbol of s st len (the_arity_of m) = n
deffunc H1( Nat) -> object = [{},$1];
consider l being FinSequence such that
A1: len l = n and
A2: for i being Nat st i in dom l holds
l . i = H1(i) from FINSEQ_1:sch 2();
A3: l is one-to-one
proof
let i, j be object ; :: according to FUNCT_1:def 4 :: thesis: ( not i in proj1 l or not j in proj1 l or not l . i = l . j or i = j )
assume A4: ( i in dom l & j in dom l & l . i = l . j ) ; :: thesis: i = j
reconsider i = i, j = j as Nat by A4;
( l . i = H1(i) & l . i = H1(j) ) by A2, A4;
then i = H1(j) `2 ;
hence i = j ; :: thesis: verum
end;
rng l c= Vars
proof
let z be object ; :: according to TARSKI:def 3 :: thesis: ( not z in rng l or z in Vars )
assume z in rng l ; :: thesis: z in Vars
then consider a being object such that
A5: ( a in dom l & z = l . a ) by FUNCT_1:def 3;
reconsider a = a as Nat by A5;
z = H1(a) by A2, A5;
hence z in Vars by ABCMIZ_1:25; :: thesis: verum
end;
then reconsider l = l as one-to-one FinSequence of Vars by A3, FINSEQ_1:def 4;
for i being Nat
for x being variable st i in dom l & x = l . i holds
for y being variable st y in vars x holds
ex j being Nat st
( j in dom l & j < i & y = l . j )
proof
let i be Nat; :: thesis: for x being variable st i in dom l & x = l . i holds
for y being variable st y in vars x holds
ex j being Nat st
( j in dom l & j < i & y = l . j )

let x be variable; :: thesis: ( i in dom l & x = l . i implies for y being variable st y in vars x holds
ex j being Nat st
( j in dom l & j < i & y = l . j ) )

assume ( i in dom l & x = l . i ) ; :: thesis: for y being variable st y in vars x holds
ex j being Nat st
( j in dom l & j < i & y = l . j )

then x = H1(i) by A2;
hence for y being variable st y in vars x holds
ex j being Nat st
( j in dom l & j < i & y = l . j ) ; :: thesis: verum
end;
then reconsider l = l as quasi-loci by ABCMIZ_1:30;
set m = [s,[l,0]];
the carrier of MaxConstrSign = {a_Type,an_Adj,a_Term} by ABCMIZ_1:def 9;
then A6: [s,[l,0]] in Constructors by Th28;
then [s,[l,0]] in {*,non_op} \/ Constructors by XBOOLE_0:def 3;
then reconsider m = [s,[l,0]] as constructor OperSymbol of MaxConstrSign by A6, Th42, ABCMIZ_1:def 24;
the_result_sort_of m = m `1 by ABCMIZ_1:def 24
.= s ;
then reconsider m = m as constructor OperSymbol of s by ABCMIZ_1:def 32;
take m ; :: thesis: len (the_arity_of m) = n
thus len (the_arity_of m) = card ((m `2) `1) by ABCMIZ_1:def 24
.= card ([l,0] `1)
.= card l
.= n by A1 ; :: thesis: verum