let x1, x2 be set ; :: thesis: for A being non empty set
for f, g being Element of Funcs A,COMPLEX st A = {x1,x2} & x1 <> x2 & ( for z being set st z in A holds
( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0 ) ) ) & ( for z being set st z in A holds
( ( z = x1 implies g . z = 0 ) & ( z <> x1 implies g . z = 1r ) ) ) holds
for h being Element of Funcs A,COMPLEX ex a, b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])

let A be non empty set ; :: thesis: for f, g being Element of Funcs A,COMPLEX st A = {x1,x2} & x1 <> x2 & ( for z being set st z in A holds
( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0 ) ) ) & ( for z being set st z in A holds
( ( z = x1 implies g . z = 0 ) & ( z <> x1 implies g . z = 1r ) ) ) holds
for h being Element of Funcs A,COMPLEX ex a, b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])

let f, g be Element of Funcs A,COMPLEX ; :: thesis: ( A = {x1,x2} & x1 <> x2 & ( for z being set st z in A holds
( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0 ) ) ) & ( for z being set st z in A holds
( ( z = x1 implies g . z = 0 ) & ( z <> x1 implies g . z = 1r ) ) ) implies for h being Element of Funcs A,COMPLEX ex a, b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]) )

assume that
A1: ( A = {x1,x2} & x1 <> x2 ) and
A2: for z being set st z in A holds
( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0 ) ) and
A3: for z being set st z in A holds
( ( z = x1 implies g . z = 0 ) & ( z <> x1 implies g . z = 1r ) ) ; :: thesis: for h being Element of Funcs A,COMPLEX ex a, b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])
( x1 in A & x2 in A ) by A1, TARSKI:def 2;
then A4: ( f . x1 = 1r & f . x2 = 0c & g . x1 = 0c & g . x2 = 1r ) by A1, A2, A3;
reconsider x1 = x1, x2 = x2 as Element of A by A1, TARSKI:def 2;
let h be Element of Funcs A,COMPLEX ; :: thesis: ex a, b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])
take a = h . x1; :: thesis: ex b being Complex st h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])
take b = h . x2; :: thesis: h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])
now
let x be Element of A; :: thesis: h . x = ((ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) . x
A5: ( x = x1 or x = x2 ) by A1, TARSKI:def 2;
A6: ((ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) . x1 = (((ComplexFuncExtMult A) . [a,f]) . x1) + (((ComplexFuncExtMult A) . [b,g]) . x1) by Th1
.= (a * (f . x1)) + (((ComplexFuncExtMult A) . [b,g]) . x1) by Th6
.= a + (b * 0c ) by A4, Th6, COMPLEX1:def 7
.= h . x1 ;
((ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) . x2 = (((ComplexFuncExtMult A) . [a,f]) . x2) + (((ComplexFuncExtMult A) . [b,g]) . x2) by Th1
.= (a * (f . x2)) + (((ComplexFuncExtMult A) . [b,g]) . x2) by Th6
.= 0c + (b * 1r ) by A4, Th6
.= h . x2 by COMPLEX1:def 7 ;
hence h . x = ((ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) . x by A5, A6; :: thesis: verum
end;
hence h = (ComplexFuncAdd A) . ((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]) by FUNCT_2:113; :: thesis: verum