defpred S1[ Nat, set ] means for h being non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1 st h = the charact of U1 . $1 holds
$2 = arity h;
consider p being FinSequence of NAT such that
A2:
dom p = Seg (len the charact of U1)
and
A3:
for m being Nat st m in Seg (len the charact of U1) holds
S1[m,p . m]
from FINSEQ_1:sch 5(A1);
take
p
; ( len p = len the charact of U1 & ( for n being Nat st n in dom p holds
for h being non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1 st h = the charact of U1 . n holds
p . n = arity h ) )
thus
len p = len the charact of U1
by A2, FINSEQ_1:def 3; for n being Nat st n in dom p holds
for h being non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1 st h = the charact of U1 . n holds
p . n = arity h
let n be Nat; ( n in dom p implies for h being non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1 st h = the charact of U1 . n holds
p . n = arity h )
assume A4:
n in dom p
; for h being non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1 st h = the charact of U1 . n holds
p . n = arity h
let h be non empty homogeneous PartFunc of ( the carrier of U1 *), the carrier of U1; ( h = the charact of U1 . n implies p . n = arity h )
assume
h = the charact of U1 . n
; p . n = arity h
hence
p . n = arity h
by A2, A3, A4; verum