let A be non empty set ; :: thesis: for f, g, h, f1 being Element of Funcs A,REAL
for x1, x2, x3, x4 being Element of A st A = {x1,x2,x3,x4} & x1 <> x2 & x1 <> x3 & x1 <> x4 & x2 <> x3 & x2 <> x4 & x3 <> x4 & f . x1 = 1 & ( for z being set st z in A & z <> x1 holds
f . z = 0 ) & g . x2 = 1 & ( for z being set st z in A & z <> x2 holds
g . z = 0 ) & h . x3 = 1 & ( for z being set st z in A & z <> x3 holds
h . z = 0 ) & f1 . x4 = 1 & ( for z being set st z in A & z <> x4 holds
f1 . z = 0 ) holds
for h' being Element of Funcs A,REAL ex a, b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])

let f, g, h, f1 be Element of Funcs A,REAL ; :: thesis: for x1, x2, x3, x4 being Element of A st A = {x1,x2,x3,x4} & x1 <> x2 & x1 <> x3 & x1 <> x4 & x2 <> x3 & x2 <> x4 & x3 <> x4 & f . x1 = 1 & ( for z being set st z in A & z <> x1 holds
f . z = 0 ) & g . x2 = 1 & ( for z being set st z in A & z <> x2 holds
g . z = 0 ) & h . x3 = 1 & ( for z being set st z in A & z <> x3 holds
h . z = 0 ) & f1 . x4 = 1 & ( for z being set st z in A & z <> x4 holds
f1 . z = 0 ) holds
for h' being Element of Funcs A,REAL ex a, b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])

let x1, x2, x3, x4 be Element of A; :: thesis: ( A = {x1,x2,x3,x4} & x1 <> x2 & x1 <> x3 & x1 <> x4 & x2 <> x3 & x2 <> x4 & x3 <> x4 & f . x1 = 1 & ( for z being set st z in A & z <> x1 holds
f . z = 0 ) & g . x2 = 1 & ( for z being set st z in A & z <> x2 holds
g . z = 0 ) & h . x3 = 1 & ( for z being set st z in A & z <> x3 holds
h . z = 0 ) & f1 . x4 = 1 & ( for z being set st z in A & z <> x4 holds
f1 . z = 0 ) implies for h' being Element of Funcs A,REAL ex a, b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1]) )

assume that
A1: ( A = {x1,x2,x3,x4} & x1 <> x2 & x1 <> x3 & x1 <> x4 & x2 <> x3 & x2 <> x4 & x3 <> x4 ) and
A2: ( f . x1 = 1 & ( for z being set st z in A & z <> x1 holds
f . z = 0 ) ) and
A3: ( g . x2 = 1 & ( for z being set st z in A & z <> x2 holds
g . z = 0 ) ) and
A4: ( h . x3 = 1 & ( for z being set st z in A & z <> x3 holds
h . z = 0 ) ) and
A5: ( f1 . x4 = 1 & ( for z being set st z in A & z <> x4 holds
f1 . z = 0 ) ) ; :: thesis: for h' being Element of Funcs A,REAL ex a, b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
A6: ( f . x1 = 1 & f . x2 = 0 & f . x3 = 0 & f . x4 = 0 & g . x1 = 0 & g . x2 = 1 & g . x3 = 0 & g . x4 = 0 & h . x1 = 0 & h . x2 = 0 & h . x3 = 1 & h . x4 = 0 & f1 . x1 = 0 & f1 . x2 = 0 & f1 . x3 = 0 & f1 . x4 = 1 ) by A1, A2, A3, A4, A5;
let h' be Element of Funcs A,REAL ; :: thesis: ex a, b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
take a = h' . x1; :: thesis: ex b, c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
take b = h' . x2; :: thesis: ex c, d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
take c = h' . x3; :: thesis: ex d being Real st h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
take d = h' . x4; :: thesis: h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])
now
let x be Element of A; :: thesis: h' . x = ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x
A7: ( x = x1 or x = x2 or x = x3 or x = x4 ) by A1, ENUMSET1:def 2;
A8: ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x1 = (((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])) . x1) + (((RealFuncExtMult A) . [d,f1]) . x1) by FUNCSDOM:10
.= ((((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])) . x1) + (((RealFuncExtMult A) . [c,h]) . x1)) + (((RealFuncExtMult A) . [d,f1]) . x1) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x1) + (((RealFuncExtMult A) . [b,g]) . x1)) + (((RealFuncExtMult A) . [c,h]) . x1)) + (((RealFuncExtMult A) . [d,f1]) . x1) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x1) + (((RealFuncExtMult A) . [b,g]) . x1)) + (((RealFuncExtMult A) . [c,h]) . x1)) + (d * (f1 . x1)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x1) + (((RealFuncExtMult A) . [b,g]) . x1)) + (c * (h . x1))) + (d * (f1 . x1)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x1) + (b * (g . x1))) + (c * (h . x1))) + (d * (f1 . x1)) by FUNCSDOM:15
.= (((a * 1) + (b * 0 )) + (c * 0 )) + (d * 0 ) by A6, FUNCSDOM:15
.= h' . x1 ;
A9: ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x2 = (((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])) . x2) + (((RealFuncExtMult A) . [d,f1]) . x2) by FUNCSDOM:10
.= ((((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])) . x2) + (((RealFuncExtMult A) . [c,h]) . x2)) + (((RealFuncExtMult A) . [d,f1]) . x2) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x2) + (((RealFuncExtMult A) . [b,g]) . x2)) + (((RealFuncExtMult A) . [c,h]) . x2)) + (((RealFuncExtMult A) . [d,f1]) . x2) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x2) + (((RealFuncExtMult A) . [b,g]) . x2)) + (((RealFuncExtMult A) . [c,h]) . x2)) + (d * (f1 . x2)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x2) + (((RealFuncExtMult A) . [b,g]) . x2)) + (c * (h . x2))) + (d * (f1 . x2)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x2) + (b * (g . x2))) + (c * (h . x2))) + (d * (f1 . x2)) by FUNCSDOM:15
.= (((a * 0 ) + (b * 1)) + (c * 0 )) + (d * 0 ) by A6, FUNCSDOM:15
.= h' . x2 ;
A10: ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x3 = (((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])) . x3) + (((RealFuncExtMult A) . [d,f1]) . x3) by FUNCSDOM:10
.= ((((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])) . x3) + (((RealFuncExtMult A) . [c,h]) . x3)) + (((RealFuncExtMult A) . [d,f1]) . x3) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x3) + (((RealFuncExtMult A) . [b,g]) . x3)) + (((RealFuncExtMult A) . [c,h]) . x3)) + (((RealFuncExtMult A) . [d,f1]) . x3) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x3) + (((RealFuncExtMult A) . [b,g]) . x3)) + (((RealFuncExtMult A) . [c,h]) . x3)) + (d * (f1 . x3)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x3) + (((RealFuncExtMult A) . [b,g]) . x3)) + (c * (h . x3))) + (d * (f1 . x3)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x3) + (b * (g . x3))) + (c * (h . x3))) + (d * (f1 . x3)) by FUNCSDOM:15
.= (((a * 0 ) + (b * 0 )) + (c * 1)) + (d * 0 ) by A6, FUNCSDOM:15
.= h' . x3 ;
((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x4 = (((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])) . x4) + (((RealFuncExtMult A) . [d,f1]) . x4) by FUNCSDOM:10
.= ((((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])) . x4) + (((RealFuncExtMult A) . [c,h]) . x4)) + (((RealFuncExtMult A) . [d,f1]) . x4) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x4) + (((RealFuncExtMult A) . [b,g]) . x4)) + (((RealFuncExtMult A) . [c,h]) . x4)) + (((RealFuncExtMult A) . [d,f1]) . x4) by FUNCSDOM:10
.= (((((RealFuncExtMult A) . [a,f]) . x4) + (((RealFuncExtMult A) . [b,g]) . x4)) + (((RealFuncExtMult A) . [c,h]) . x4)) + (d * (f1 . x4)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x4) + (((RealFuncExtMult A) . [b,g]) . x4)) + (c * (h . x4))) + (d * (f1 . x4)) by FUNCSDOM:15
.= (((((RealFuncExtMult A) . [a,f]) . x4) + (b * (g . x4))) + (c * (h . x4))) + (d * (f1 . x4)) by FUNCSDOM:15
.= (((a * 0 ) + (b * 0 )) + (c * 0 )) + (d * 1) by A6, FUNCSDOM:15
.= h' . x4 ;
hence h' . x = ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1])) . x by A7, A8, A9, A10; :: thesis: verum
end;
hence h' = (RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncAdd A) . ((RealFuncExtMult A) . [a,f]),((RealFuncExtMult A) . [b,g])),((RealFuncExtMult A) . [c,h])),((RealFuncExtMult A) . [d,f1]) by FUNCT_2:113; :: thesis: verum