let a, b be Real; :: thesis: for A being set
for f being Element of Funcs (A,REAL) holds (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f)

let A be set ; :: thesis: for f being Element of Funcs (A,REAL) holds (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f)
let f be Element of Funcs (A,REAL); :: thesis: (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f)
reconsider aa = a, bb = b as Element of REAL by XREAL_0:def 1;
per cases ( A = {} or A <> {} ) ;
suppose A1: A = {} ; :: thesis: (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f)
(RealFuncExtMult A) . (b,f) = multreal [;] (b,f) by Def3;
hence (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = multreal [;] (aa,(multreal [;] (bb,f))) by Def3
.= multreal [;] ((a * b),f) by A1
.= (RealFuncExtMult A) . ((a * b),f) by Def3 ;
:: thesis: verum
end;
suppose A <> {} ; :: thesis: (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f)
then reconsider A = A as non empty set ;
reconsider f = f as Element of Funcs (A,REAL) ;
now :: thesis: for x being Element of A holds ((RealFuncExtMult A) . [aa,((RealFuncExtMult A) . [bb,f])]) . x = ((RealFuncExtMult A) . [(aa * bb),f]) . x
let x be Element of A; :: thesis: ((RealFuncExtMult A) . [aa,((RealFuncExtMult A) . [bb,f])]) . x = ((RealFuncExtMult A) . [(aa * bb),f]) . x
thus ((RealFuncExtMult A) . [aa,((RealFuncExtMult A) . [bb,f])]) . x = aa * (((RealFuncExtMult A) . [bb,f]) . x) by Th4
.= aa * (bb * (f . x)) by Th4
.= (aa * bb) * (f . x)
.= ((RealFuncExtMult A) . [(aa * bb),f]) . x by Th4 ; :: thesis: verum
end;
hence (RealFuncExtMult A) . (a,((RealFuncExtMult A) . (b,f))) = (RealFuncExtMult A) . ((a * b),f) by FUNCT_2:63; :: thesis: verum
end;
end;