let X, N, I be non empty set ; :: thesis: for s being Function of X,I
for c being Function of X,N st c is one-to-one holds
for n being Element of I holds (N --> n) +* (s * (c " )) is Function of N,I

let s be Function of X,I; :: thesis: for c being Function of X,N st c is one-to-one holds
for n being Element of I holds (N --> n) +* (s * (c " )) is Function of N,I

let c be Function of X,N; :: thesis: ( c is one-to-one implies for n being Element of I holds (N --> n) +* (s * (c " )) is Function of N,I )
assume Z0: c is one-to-one ; :: thesis: for n being Element of I holds (N --> n) +* (s * (c " )) is Function of N,I
let n be Element of I; :: thesis: (N --> n) +* (s * (c " )) is Function of N,I
set f = N --> n;
set g = s * (c " );
Z1: dom ((N --> n) +* (s * (c " ))) = (dom (N --> n)) \/ (dom (s * (c " ))) by FUNCT_4:def 1;
Z2: ( dom (s * (c " )) c= dom (c " ) & rng (s * (c " )) c= rng s ) by RELAT_1:44, RELAT_1:45;
Z3: ( dom (N --> n) = N & rng (N --> n) = {n} ) by FUNCOP_1:14, FUNCOP_1:19;
( dom (c " ) = rng c & rng c c= N ) by Z0, FUNCT_1:55;
then Z4: dom ((N --> n) +* (s * (c " ))) = N by Z1, Z2, Z3, XBOOLE_1:1, XBOOLE_1:12;
rng (s * (c " )) c= I by Z2, XBOOLE_1:1;
then ( rng ((N --> n) +* (s * (c " ))) c= (rng (N --> n)) \/ (rng (s * (c " ))) & (rng (N --> n)) \/ (rng (s * (c " ))) c= I ) by FUNCT_4:18, XBOOLE_1:8;
hence (N --> n) +* (s * (c " )) is Function of N,I by Z4, FUNCT_2:4, XBOOLE_1:1; :: thesis: verum