:: CFUNCDOM semantic presentation begin definition let A be non empty set ; func ComplexFuncAdd A -> BinOp of (Funcs (A,COMPLEX)) means :Def1: :: CFUNCDOM:def 1 for f, g being Element of Funcs (A,COMPLEX) holds it . (f,g) = addcomplex .: (f,g); existence ex b1 being BinOp of (Funcs (A,COMPLEX)) st for f, g being Element of Funcs (A,COMPLEX) holds b1 . (f,g) = addcomplex .: (f,g) proof deffunc H1( Element of Funcs (A,COMPLEX), Element of Funcs (A,COMPLEX)) -> Element of Funcs (A,COMPLEX) = addcomplex .: ($1,$2); consider F being BinOp of (Funcs (A,COMPLEX)) such that A1: for x, y being Element of Funcs (A,COMPLEX) holds F . (x,y) = H1(x,y) from BINOP_1:sch_4(); take F ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) holds F . (f,g) = addcomplex .: (f,g) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: F . (f,g) = addcomplex .: (f,g) thus F . (f,g) = addcomplex .: (f,g) by A1; ::_thesis: verum end; uniqueness for b1, b2 being BinOp of (Funcs (A,COMPLEX)) st ( for f, g being Element of Funcs (A,COMPLEX) holds b1 . (f,g) = addcomplex .: (f,g) ) & ( for f, g being Element of Funcs (A,COMPLEX) holds b2 . (f,g) = addcomplex .: (f,g) ) holds b1 = b2 proof let it1, it2 be BinOp of (Funcs (A,COMPLEX)); ::_thesis: ( ( for f, g being Element of Funcs (A,COMPLEX) holds it1 . (f,g) = addcomplex .: (f,g) ) & ( for f, g being Element of Funcs (A,COMPLEX) holds it2 . (f,g) = addcomplex .: (f,g) ) implies it1 = it2 ) assume that A2: for f, g being Element of Funcs (A,COMPLEX) holds it1 . (f,g) = addcomplex .: (f,g) and A3: for f, g being Element of Funcs (A,COMPLEX) holds it2 . (f,g) = addcomplex .: (f,g) ; ::_thesis: it1 = it2 now__::_thesis:_for_f,_g_being_Element_of_Funcs_(A,COMPLEX)_holds_it1_._(f,g)_=_it2_._(f,g) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: it1 . (f,g) = it2 . (f,g) thus it1 . (f,g) = addcomplex .: (f,g) by A2 .= it2 . (f,g) by A3 ; ::_thesis: verum end; hence it1 = it2 by BINOP_1:2; ::_thesis: verum end; end; :: deftheorem Def1 defines ComplexFuncAdd CFUNCDOM:def_1_:_ for A being non empty set for b2 being BinOp of (Funcs (A,COMPLEX)) holds ( b2 = ComplexFuncAdd A iff for f, g being Element of Funcs (A,COMPLEX) holds b2 . (f,g) = addcomplex .: (f,g) ); definition let A be non empty set ; func ComplexFuncMult A -> BinOp of (Funcs (A,COMPLEX)) means :Def2: :: CFUNCDOM:def 2 for f, g being Element of Funcs (A,COMPLEX) holds it . (f,g) = multcomplex .: (f,g); existence ex b1 being BinOp of (Funcs (A,COMPLEX)) st for f, g being Element of Funcs (A,COMPLEX) holds b1 . (f,g) = multcomplex .: (f,g) proof deffunc H1( Element of Funcs (A,COMPLEX), Element of Funcs (A,COMPLEX)) -> Element of Funcs (A,COMPLEX) = multcomplex .: ($1,$2); consider F being BinOp of (Funcs (A,COMPLEX)) such that A1: for x, y being Element of Funcs (A,COMPLEX) holds F . (x,y) = H1(x,y) from BINOP_1:sch_4(); take F ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) holds F . (f,g) = multcomplex .: (f,g) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: F . (f,g) = multcomplex .: (f,g) thus F . (f,g) = multcomplex .: (f,g) by A1; ::_thesis: verum end; uniqueness for b1, b2 being BinOp of (Funcs (A,COMPLEX)) st ( for f, g being Element of Funcs (A,COMPLEX) holds b1 . (f,g) = multcomplex .: (f,g) ) & ( for f, g being Element of Funcs (A,COMPLEX) holds b2 . (f,g) = multcomplex .: (f,g) ) holds b1 = b2 proof let it1, it2 be BinOp of (Funcs (A,COMPLEX)); ::_thesis: ( ( for f, g being Element of Funcs (A,COMPLEX) holds it1 . (f,g) = multcomplex .: (f,g) ) & ( for f, g being Element of Funcs (A,COMPLEX) holds it2 . (f,g) = multcomplex .: (f,g) ) implies it1 = it2 ) assume that A2: for f, g being Element of Funcs (A,COMPLEX) holds it1 . (f,g) = multcomplex .: (f,g) and A3: for f, g being Element of Funcs (A,COMPLEX) holds it2 . (f,g) = multcomplex .: (f,g) ; ::_thesis: it1 = it2 now__::_thesis:_for_f,_g_being_Element_of_Funcs_(A,COMPLEX)_holds_it1_._(f,g)_=_it2_._(f,g) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: it1 . (f,g) = it2 . (f,g) thus it1 . (f,g) = multcomplex .: (f,g) by A2 .= it2 . (f,g) by A3 ; ::_thesis: verum end; hence it1 = it2 by BINOP_1:2; ::_thesis: verum end; end; :: deftheorem Def2 defines ComplexFuncMult CFUNCDOM:def_2_:_ for A being non empty set for b2 being BinOp of (Funcs (A,COMPLEX)) holds ( b2 = ComplexFuncMult A iff for f, g being Element of Funcs (A,COMPLEX) holds b2 . (f,g) = multcomplex .: (f,g) ); definition let A be non empty set ; func ComplexFuncExtMult A -> Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)) means :Def3: :: CFUNCDOM:def 3 for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (it . [z,f]) . x = z * (f . x); existence ex b1 being Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)) st for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (b1 . [z,f]) . x = z * (f . x) proof deffunc H1( Element of COMPLEX , Element of Funcs (A,COMPLEX)) -> Element of Funcs (A,COMPLEX) = multcomplex [;] ($1,$2); consider F being Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)) such that A1: for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) holds F . (z,f) = H1(z,f) from BINOP_1:sch_4(); take F ; ::_thesis: for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (F . [z,f]) . x = z * (f . x) let z be Element of COMPLEX ; ::_thesis: for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (F . [z,f]) . x = z * (f . x) let f be Element of Funcs (A,COMPLEX); ::_thesis: for x being Element of A holds (F . [z,f]) . x = z * (f . x) let x be Element of A; ::_thesis: (F . [z,f]) . x = z * (f . x) F . (z,f) = multcomplex [;] (z,f) by A1; hence (F . [z,f]) . x = multcomplex . (z,(f . x)) by FUNCOP_1:53 .= z * (f . x) by BINOP_2:def_5 ; ::_thesis: verum end; uniqueness for b1, b2 being Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)) st ( for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (b1 . [z,f]) . x = z * (f . x) ) & ( for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (b2 . [z,f]) . x = z * (f . x) ) holds b1 = b2 proof let it1, it2 be Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)); ::_thesis: ( ( for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (it1 . [z,f]) . x = z * (f . x) ) & ( for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (it2 . [z,f]) . x = z * (f . x) ) implies it1 = it2 ) assume that A2: for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (it1 . [z,f]) . x = z * (f . x) and A3: for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (it2 . [z,f]) . x = z * (f . x) ; ::_thesis: it1 = it2 now__::_thesis:_for_z_being_Element_of_COMPLEX_ for_f_being_Element_of_Funcs_(A,COMPLEX)_holds_it1_._(z,f)_=_it2_._(z,f) let z be Element of COMPLEX ; ::_thesis: for f being Element of Funcs (A,COMPLEX) holds it1 . (z,f) = it2 . (z,f) let f be Element of Funcs (A,COMPLEX); ::_thesis: it1 . (z,f) = it2 . (z,f) now__::_thesis:_for_x_being_Element_of_A_holds_(it1_._[z,f])_._x_=_(it2_._[z,f])_._x let x be Element of A; ::_thesis: (it1 . [z,f]) . x = (it2 . [z,f]) . x thus (it1 . [z,f]) . x = z * (f . x) by A2 .= (it2 . [z,f]) . x by A3 ; ::_thesis: verum end; hence it1 . (z,f) = it2 . (z,f) by FUNCT_2:63; ::_thesis: verum end; hence it1 = it2 by BINOP_1:2; ::_thesis: verum end; end; :: deftheorem Def3 defines ComplexFuncExtMult CFUNCDOM:def_3_:_ for A being non empty set for b2 being Function of [:COMPLEX,(Funcs (A,COMPLEX)):],(Funcs (A,COMPLEX)) holds ( b2 = ComplexFuncExtMult A iff for z being Element of COMPLEX for f being Element of Funcs (A,COMPLEX) for x being Element of A holds (b2 . [z,f]) . x = z * (f . x) ); definition let A be non empty set ; func ComplexFuncZero A -> Element of Funcs (A,COMPLEX) equals :: CFUNCDOM:def 4 A --> 0; coherence A --> 0 is Element of Funcs (A,COMPLEX) proof A --> 0c is Function of A,COMPLEX ; hence A --> 0 is Element of Funcs (A,COMPLEX) by FUNCT_2:8; ::_thesis: verum end; end; :: deftheorem defines ComplexFuncZero CFUNCDOM:def_4_:_ for A being non empty set holds ComplexFuncZero A = A --> 0; definition let A be non empty set ; func ComplexFuncUnit A -> Element of Funcs (A,COMPLEX) equals :: CFUNCDOM:def 5 A --> 1r; coherence A --> 1r is Element of Funcs (A,COMPLEX) by FUNCT_2:8; end; :: deftheorem defines ComplexFuncUnit CFUNCDOM:def_5_:_ for A being non empty set holds ComplexFuncUnit A = A --> 1r; Lm1: for A, B being non empty set for x being Element of A for f being Function of A,B holds x in dom f proof let A, B be non empty set ; ::_thesis: for x being Element of A for f being Function of A,B holds x in dom f let x be Element of A; ::_thesis: for f being Function of A,B holds x in dom f let f be Function of A,B; ::_thesis: x in dom f x in A ; hence x in dom f by FUNCT_2:def_1; ::_thesis: verum end; theorem Th1: :: CFUNCDOM:1 for A being non empty set for h, f, g being Element of Funcs (A,COMPLEX) holds ( h = (ComplexFuncAdd A) . (f,g) iff for x being Element of A holds h . x = (f . x) + (g . x) ) proof let A be non empty set ; ::_thesis: for h, f, g being Element of Funcs (A,COMPLEX) holds ( h = (ComplexFuncAdd A) . (f,g) iff for x being Element of A holds h . x = (f . x) + (g . x) ) let h, f, g be Element of Funcs (A,COMPLEX); ::_thesis: ( h = (ComplexFuncAdd A) . (f,g) iff for x being Element of A holds h . x = (f . x) + (g . x) ) A1: now__::_thesis:_(_(_for_x_being_Element_of_A_holds_h_._x_=_(f_._x)_+_(g_._x)_)_implies_h_=_(ComplexFuncAdd_A)_._(f,g)_) assume A2: for x being Element of A holds h . x = (f . x) + (g . x) ; ::_thesis: h = (ComplexFuncAdd A) . (f,g) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(f,g))_._x_=_h_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (f,g)) . x = h . x A3: x in dom (addcomplex .: (f,g)) by Lm1; thus ((ComplexFuncAdd A) . (f,g)) . x = (addcomplex .: (f,g)) . x by Def1 .= addcomplex . ((f . x),(g . x)) by A3, FUNCOP_1:22 .= (f . x) + (g . x) by BINOP_2:def_3 .= h . x by A2 ; ::_thesis: verum end; hence h = (ComplexFuncAdd A) . (f,g) by FUNCT_2:63; ::_thesis: verum end; now__::_thesis:_(_h_=_(ComplexFuncAdd_A)_._(f,g)_implies_for_x_being_Element_of_A_holds_h_._x_=_(f_._x)_+_(g_._x)_) assume A4: h = (ComplexFuncAdd A) . (f,g) ; ::_thesis: for x being Element of A holds h . x = (f . x) + (g . x) let x be Element of A; ::_thesis: h . x = (f . x) + (g . x) A5: x in dom (addcomplex .: (f,g)) by Lm1; thus h . x = (addcomplex .: (f,g)) . x by A4, Def1 .= addcomplex . ((f . x),(g . x)) by A5, FUNCOP_1:22 .= (f . x) + (g . x) by BINOP_2:def_3 ; ::_thesis: verum end; hence ( h = (ComplexFuncAdd A) . (f,g) iff for x being Element of A holds h . x = (f . x) + (g . x) ) by A1; ::_thesis: verum end; theorem Th2: :: CFUNCDOM:2 for A being non empty set for h, f, g being Element of Funcs (A,COMPLEX) holds ( h = (ComplexFuncMult A) . (f,g) iff for x being Element of A holds h . x = (f . x) * (g . x) ) proof let A be non empty set ; ::_thesis: for h, f, g being Element of Funcs (A,COMPLEX) holds ( h = (ComplexFuncMult A) . (f,g) iff for x being Element of A holds h . x = (f . x) * (g . x) ) let h, f, g be Element of Funcs (A,COMPLEX); ::_thesis: ( h = (ComplexFuncMult A) . (f,g) iff for x being Element of A holds h . x = (f . x) * (g . x) ) A1: now__::_thesis:_(_(_for_x_being_Element_of_A_holds_h_._x_=_(f_._x)_*_(g_._x)_)_implies_h_=_(ComplexFuncMult_A)_._(f,g)_) assume A2: for x being Element of A holds h . x = (f . x) * (g . x) ; ::_thesis: h = (ComplexFuncMult A) . (f,g) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._(f,g))_._x_=_h_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . (f,g)) . x = h . x A3: x in dom (multcomplex .: (f,g)) by Lm1; thus ((ComplexFuncMult A) . (f,g)) . x = (multcomplex .: (f,g)) . x by Def2 .= multcomplex . ((f . x),(g . x)) by A3, FUNCOP_1:22 .= (f . x) * (g . x) by BINOP_2:def_5 .= h . x by A2 ; ::_thesis: verum end; hence h = (ComplexFuncMult A) . (f,g) by FUNCT_2:63; ::_thesis: verum end; now__::_thesis:_(_h_=_(ComplexFuncMult_A)_._(f,g)_implies_for_x_being_Element_of_A_holds_h_._x_=_(f_._x)_*_(g_._x)_) assume A4: h = (ComplexFuncMult A) . (f,g) ; ::_thesis: for x being Element of A holds h . x = (f . x) * (g . x) let x be Element of A; ::_thesis: h . x = (f . x) * (g . x) A5: x in dom (multcomplex .: (f,g)) by Lm1; thus h . x = (multcomplex .: (f,g)) . x by A4, Def2 .= multcomplex . ((f . x),(g . x)) by A5, FUNCOP_1:22 .= (f . x) * (g . x) by BINOP_2:def_5 ; ::_thesis: verum end; hence ( h = (ComplexFuncMult A) . (f,g) iff for x being Element of A holds h . x = (f . x) * (g . x) ) by A1; ::_thesis: verum end; theorem :: CFUNCDOM:3 for A being non empty set holds ComplexFuncZero A <> ComplexFuncUnit A proof let A be non empty set ; ::_thesis: ComplexFuncZero A <> ComplexFuncUnit A set a = the Element of A; (ComplexFuncZero A) . the Element of A = 0c by FUNCOP_1:7; hence ComplexFuncZero A <> ComplexFuncUnit A by COMPLEX1:def_4, FUNCOP_1:7; ::_thesis: verum end; theorem Th4: :: CFUNCDOM:4 for A being non empty set for h, f being Element of Funcs (A,COMPLEX) for a being Element of COMPLEX holds ( h = (ComplexFuncExtMult A) . [a,f] iff for x being Element of A holds h . x = a * (f . x) ) proof let A be non empty set ; ::_thesis: for h, f being Element of Funcs (A,COMPLEX) for a being Element of COMPLEX holds ( h = (ComplexFuncExtMult A) . [a,f] iff for x being Element of A holds h . x = a * (f . x) ) let h, f be Element of Funcs (A,COMPLEX); ::_thesis: for a being Element of COMPLEX holds ( h = (ComplexFuncExtMult A) . [a,f] iff for x being Element of A holds h . x = a * (f . x) ) let a be Element of COMPLEX ; ::_thesis: ( h = (ComplexFuncExtMult A) . [a,f] iff for x being Element of A holds h . x = a * (f . x) ) thus ( h = (ComplexFuncExtMult A) . [a,f] implies for x being Element of A holds h . x = a * (f . x) ) by Def3; ::_thesis: ( ( for x being Element of A holds h . x = a * (f . x) ) implies h = (ComplexFuncExtMult A) . [a,f] ) now__::_thesis:_(_(_for_x_being_Element_of_A_holds_h_._x_=_a_*_(f_._x)_)_implies_h_=_(ComplexFuncExtMult_A)_._[a,f]_) assume A1: for x being Element of A holds h . x = a * (f . x) ; ::_thesis: h = (ComplexFuncExtMult A) . [a,f] for x being Element of A holds h . x = ((ComplexFuncExtMult A) . [a,f]) . x proof let x be Element of A; ::_thesis: h . x = ((ComplexFuncExtMult A) . [a,f]) . x thus h . x = a * (f . x) by A1 .= ((ComplexFuncExtMult A) . [a,f]) . x by Def3 ; ::_thesis: verum end; hence h = (ComplexFuncExtMult A) . [a,f] by FUNCT_2:63; ::_thesis: verum end; hence ( ( for x being Element of A holds h . x = a * (f . x) ) implies h = (ComplexFuncExtMult A) . [a,f] ) ; ::_thesis: verum end; theorem Th5: :: CFUNCDOM:5 for A being non empty set for f, g being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,g) = (ComplexFuncAdd A) . (g,f) proof let A be non empty set ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,g) = (ComplexFuncAdd A) . (g,f) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncAdd A) . (f,g) = (ComplexFuncAdd A) . (g,f) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(f,g))_._x_=_((ComplexFuncAdd_A)_._(g,f))_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (f,g)) . x = ((ComplexFuncAdd A) . (g,f)) . x thus ((ComplexFuncAdd A) . (f,g)) . x = (g . x) + (f . x) by Th1 .= ((ComplexFuncAdd A) . (g,f)) . x by Th1 ; ::_thesis: verum end; hence (ComplexFuncAdd A) . (f,g) = (ComplexFuncAdd A) . (g,f) by FUNCT_2:63; ::_thesis: verum end; theorem Th6: :: CFUNCDOM:6 for A being non empty set for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h) proof let A be non empty set ; ::_thesis: for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h) let f, g, h be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(f,((ComplexFuncAdd_A)_._(g,h))))_._x_=_((ComplexFuncAdd_A)_._(((ComplexFuncAdd_A)_._(f,g)),h))_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h)))) . x = ((ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h)) . x thus ((ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h)))) . x = (f . x) + (((ComplexFuncAdd A) . (g,h)) . x) by Th1 .= (f . x) + ((g . x) + (h . x)) by Th1 .= ((f . x) + (g . x)) + (h . x) .= (((ComplexFuncAdd A) . (f,g)) . x) + (h . x) by Th1 .= ((ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h)) . x by Th1 ; ::_thesis: verum end; hence (ComplexFuncAdd A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncAdd A) . (f,g)),h) by FUNCT_2:63; ::_thesis: verum end; theorem Th7: :: CFUNCDOM:7 for A being non empty set for f, g being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,g) = (ComplexFuncMult A) . (g,f) proof let A be non empty set ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,g) = (ComplexFuncMult A) . (g,f) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncMult A) . (f,g) = (ComplexFuncMult A) . (g,f) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._(f,g))_._x_=_((ComplexFuncMult_A)_._(g,f))_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . (f,g)) . x = ((ComplexFuncMult A) . (g,f)) . x thus ((ComplexFuncMult A) . (f,g)) . x = (g . x) * (f . x) by Th2 .= ((ComplexFuncMult A) . (g,f)) . x by Th2 ; ::_thesis: verum end; hence (ComplexFuncMult A) . (f,g) = (ComplexFuncMult A) . (g,f) by FUNCT_2:63; ::_thesis: verum end; theorem Th8: :: CFUNCDOM:8 for A being non empty set for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h))) = (ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h) proof let A be non empty set ; ::_thesis: for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h))) = (ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h) let f, g, h be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h))) = (ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._(f,((ComplexFuncMult_A)_._(g,h))))_._x_=_((ComplexFuncMult_A)_._(((ComplexFuncMult_A)_._(f,g)),h))_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h)))) . x = ((ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h)) . x thus ((ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h)))) . x = (f . x) * (((ComplexFuncMult A) . (g,h)) . x) by Th2 .= (f . x) * ((g . x) * (h . x)) by Th2 .= ((f . x) * (g . x)) * (h . x) .= (((ComplexFuncMult A) . (f,g)) . x) * (h . x) by Th2 .= ((ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h)) . x by Th2 ; ::_thesis: verum end; hence (ComplexFuncMult A) . (f,((ComplexFuncMult A) . (g,h))) = (ComplexFuncMult A) . (((ComplexFuncMult A) . (f,g)),h) by FUNCT_2:63; ::_thesis: verum end; theorem Th9: :: CFUNCDOM:9 for A being non empty set for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . ((ComplexFuncUnit A),f) = f proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . ((ComplexFuncUnit A),f) = f let f be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncMult A) . ((ComplexFuncUnit A),f) = f now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._((ComplexFuncUnit_A),f))_._x_=_f_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . ((ComplexFuncUnit A),f)) . x = f . x thus ((ComplexFuncMult A) . ((ComplexFuncUnit A),f)) . x = ((ComplexFuncUnit A) . x) * (f . x) by Th2 .= 1r * (f . x) by FUNCOP_1:7 .= f . x by COMPLEX1:def_4 ; ::_thesis: verum end; hence (ComplexFuncMult A) . ((ComplexFuncUnit A),f) = f by FUNCT_2:63; ::_thesis: verum end; theorem Th10: :: CFUNCDOM:10 for A being non empty set for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . ((ComplexFuncZero A),f) = f proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . ((ComplexFuncZero A),f) = f let f be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncAdd A) . ((ComplexFuncZero A),f) = f now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._((ComplexFuncZero_A),f))_._x_=_f_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . ((ComplexFuncZero A),f)) . x = f . x thus ((ComplexFuncAdd A) . ((ComplexFuncZero A),f)) . x = ((ComplexFuncZero A) . x) + (f . x) by Th1 .= 0c + (f . x) by FUNCOP_1:7 .= f . x ; ::_thesis: verum end; hence (ComplexFuncAdd A) . ((ComplexFuncZero A),f) = f by FUNCT_2:63; ::_thesis: verum end; theorem Th11: :: CFUNCDOM:11 for A being non empty set for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f])) = ComplexFuncZero A proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f])) = ComplexFuncZero A let f be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f])) = ComplexFuncZero A now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(f,((ComplexFuncExtMult_A)_._[(-_1r),f])))_._x_=_(ComplexFuncZero_A)_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f]))) . x = (ComplexFuncZero A) . x set y = f . x; thus ((ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f]))) . x = (f . x) + (((ComplexFuncExtMult A) . [(- 1r),f]) . x) by Th1 .= (f . x) + ((- 1r) * (f . x)) by Th4 .= (ComplexFuncZero A) . x by COMPLEX1:def_4, FUNCOP_1:7 ; ::_thesis: verum end; hence (ComplexFuncAdd A) . (f,((ComplexFuncExtMult A) . [(- 1r),f])) = ComplexFuncZero A by FUNCT_2:63; ::_thesis: verum end; theorem Th12: :: CFUNCDOM:12 for A being non empty set for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncExtMult A) . [1r,f] = f proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) holds (ComplexFuncExtMult A) . [1r,f] = f let f be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncExtMult A) . [1r,f] = f now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncExtMult_A)_._[1r,f])_._x_=_f_._x let x be Element of A; ::_thesis: ((ComplexFuncExtMult A) . [1r,f]) . x = f . x thus ((ComplexFuncExtMult A) . [1r,f]) . x = 1r * (f . x) by Th4 .= f . x by COMPLEX1:def_4 ; ::_thesis: verum end; hence (ComplexFuncExtMult A) . [1r,f] = f by FUNCT_2:63; ::_thesis: verum end; theorem Th13: :: CFUNCDOM:13 for A being non empty set for f being Element of Funcs (A,COMPLEX) for a, b being Complex holds (ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])] = (ComplexFuncExtMult A) . [(a * b),f] proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) for a, b being Complex holds (ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])] = (ComplexFuncExtMult A) . [(a * b),f] let f be Element of Funcs (A,COMPLEX); ::_thesis: for a, b being Complex holds (ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])] = (ComplexFuncExtMult A) . [(a * b),f] let a, b be Complex; ::_thesis: (ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])] = (ComplexFuncExtMult A) . [(a * b),f] reconsider a = a, b = b as Element of COMPLEX by XCMPLX_0:def_2; now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncExtMult_A)_._[a,((ComplexFuncExtMult_A)_._[b,f])])_._x_=_((ComplexFuncExtMult_A)_._[(a_*_b),f])_._x let x be Element of A; ::_thesis: ((ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])]) . x = ((ComplexFuncExtMult A) . [(a * b),f]) . x thus ((ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])]) . x = a * (((ComplexFuncExtMult A) . [b,f]) . x) by Th4 .= a * (b * (f . x)) by Th4 .= (a * b) * (f . x) .= ((ComplexFuncExtMult A) . [(a * b),f]) . x by Th4 ; ::_thesis: verum end; hence (ComplexFuncExtMult A) . [a,((ComplexFuncExtMult A) . [b,f])] = (ComplexFuncExtMult A) . [(a * b),f] by FUNCT_2:63; ::_thesis: verum end; theorem Th14: :: CFUNCDOM:14 for A being non empty set for f being Element of Funcs (A,COMPLEX) for a, b being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f])) = (ComplexFuncExtMult A) . [(a + b),f] proof let A be non empty set ; ::_thesis: for f being Element of Funcs (A,COMPLEX) for a, b being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f])) = (ComplexFuncExtMult A) . [(a + b),f] let f be Element of Funcs (A,COMPLEX); ::_thesis: for a, b being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f])) = (ComplexFuncExtMult A) . [(a + b),f] let a, b be Complex; ::_thesis: (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f])) = (ComplexFuncExtMult A) . [(a + b),f] reconsider a = a, b = b as Element of COMPLEX by XCMPLX_0:def_2; now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(((ComplexFuncExtMult_A)_._[a,f]),((ComplexFuncExtMult_A)_._[b,f])))_._x_=_((ComplexFuncExtMult_A)_._[(a_+_b),f])_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f]))) . x = ((ComplexFuncExtMult A) . [(a + b),f]) . x thus ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f]))) . x = (((ComplexFuncExtMult A) . [a,f]) . x) + (((ComplexFuncExtMult A) . [b,f]) . x) by Th1 .= (a * (f . x)) + (((ComplexFuncExtMult A) . [b,f]) . x) by Th4 .= (a * (f . x)) + (b * (f . x)) by Th4 .= (a + b) * (f . x) .= ((ComplexFuncExtMult A) . [(a + b),f]) . x by Th4 ; ::_thesis: verum end; hence (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,f])) = (ComplexFuncExtMult A) . [(a + b),f] by FUNCT_2:63; ::_thesis: verum end; Lm2: for A being non empty set for f, g being Element of Funcs (A,COMPLEX) for a being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g])) = (ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))] proof let A be non empty set ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) for a being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g])) = (ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))] let f, g be Element of Funcs (A,COMPLEX); ::_thesis: for a being Complex holds (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g])) = (ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))] let a be Complex; ::_thesis: (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g])) = (ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))] reconsider a = a as Element of COMPLEX by XCMPLX_0:def_2; now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncAdd_A)_._(((ComplexFuncExtMult_A)_._[a,f]),((ComplexFuncExtMult_A)_._[a,g])))_._x_=_((ComplexFuncExtMult_A)_._[a,((ComplexFuncAdd_A)_._(f,g))])_._x let x be Element of A; ::_thesis: ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g]))) . x = ((ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))]) . x thus ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g]))) . x = (((ComplexFuncExtMult A) . [a,f]) . x) + (((ComplexFuncExtMult A) . [a,g]) . x) by Th1 .= (a * (f . x)) + (((ComplexFuncExtMult A) . [a,g]) . x) by Th4 .= (a * (f . x)) + (a * (g . x)) by Th4 .= a * ((f . x) + (g . x)) .= a * (((ComplexFuncAdd A) . (f,g)) . x) by Th1 .= ((ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))]) . x by Th4 ; ::_thesis: verum end; hence (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [a,g])) = (ComplexFuncExtMult A) . [a,((ComplexFuncAdd A) . (f,g))] by FUNCT_2:63; ::_thesis: verum end; theorem Th15: :: CFUNCDOM:15 for A being non empty set for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h))) proof let A be non empty set ; ::_thesis: for f, g, h being Element of Funcs (A,COMPLEX) holds (ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h))) let f, g, h be Element of Funcs (A,COMPLEX); ::_thesis: (ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h))) now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._(f,((ComplexFuncAdd_A)_._(g,h))))_._x_=_((ComplexFuncAdd_A)_._(((ComplexFuncMult_A)_._(f,g)),((ComplexFuncMult_A)_._(f,h))))_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h)))) . x = ((ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h)))) . x thus ((ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h)))) . x = (f . x) * (((ComplexFuncAdd A) . (g,h)) . x) by Th2 .= (f . x) * ((g . x) + (h . x)) by Th1 .= ((f . x) * (g . x)) + ((f . x) * (h . x)) .= (((ComplexFuncMult A) . (f,g)) . x) + ((f . x) * (h . x)) by Th2 .= (((ComplexFuncMult A) . (f,g)) . x) + (((ComplexFuncMult A) . (f,h)) . x) by Th2 .= ((ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h)))) . x by Th1 ; ::_thesis: verum end; hence (ComplexFuncMult A) . (f,((ComplexFuncAdd A) . (g,h))) = (ComplexFuncAdd A) . (((ComplexFuncMult A) . (f,g)),((ComplexFuncMult A) . (f,h))) by FUNCT_2:63; ::_thesis: verum end; theorem Th16: :: CFUNCDOM:16 for A being non empty set for f, g being Element of Funcs (A,COMPLEX) for a being Element of COMPLEX holds (ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g) = (ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))] proof let A be non empty set ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) for a being Element of COMPLEX holds (ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g) = (ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))] let f, g be Element of Funcs (A,COMPLEX); ::_thesis: for a being Element of COMPLEX holds (ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g) = (ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))] let a be Element of COMPLEX ; ::_thesis: (ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g) = (ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))] now__::_thesis:_for_x_being_Element_of_A_holds_((ComplexFuncMult_A)_._(((ComplexFuncExtMult_A)_._[a,f]),g))_._x_=_((ComplexFuncExtMult_A)_._[a,((ComplexFuncMult_A)_._(f,g))])_._x let x be Element of A; ::_thesis: ((ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g)) . x = ((ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))]) . x thus ((ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g)) . x = (((ComplexFuncExtMult A) . [a,f]) . x) * (g . x) by Th2 .= (a * (f . x)) * (g . x) by Th4 .= a * ((f . x) * (g . x)) .= a * (((ComplexFuncMult A) . (f,g)) . x) by Th2 .= ((ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))]) . x by Th4 ; ::_thesis: verum end; hence (ComplexFuncMult A) . (((ComplexFuncExtMult A) . [a,f]),g) = (ComplexFuncExtMult A) . [a,((ComplexFuncMult A) . (f,g))] by FUNCT_2:63; ::_thesis: verum end; begin theorem Th17: :: CFUNCDOM:17 for x1 being set for A being non empty set ex f, g being Element of Funcs (A,COMPLEX) st ( ( 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 ) ) ) ) proof let x1 be set ; ::_thesis: for A being non empty set ex f, g being Element of Funcs (A,COMPLEX) st ( ( 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 ) ) ) ) let A be non empty set ; ::_thesis: ex f, g being Element of Funcs (A,COMPLEX) st ( ( 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 ) ) ) ) deffunc H1( set ) -> Element of COMPLEX = 1r ; deffunc H2( set ) -> Element of COMPLEX = 0c ; defpred S1[ set ] means $1 = x1; A1: for z being set st z in A holds ( ( S1[z] implies H1(z) in COMPLEX ) & ( not S1[z] implies H2(z) in COMPLEX ) ) ; consider f being Function of A,COMPLEX such that A2: for z being set st z in A holds ( ( S1[z] implies f . z = H1(z) ) & ( not S1[z] implies f . z = H2(z) ) ) from FUNCT_2:sch_5(A1); A3: for z being set st z in A holds ( ( S1[z] implies H2(z) in COMPLEX ) & ( not S1[z] implies H1(z) in COMPLEX ) ) ; consider g being Function of A,COMPLEX such that A4: for z being set st z in A holds ( ( S1[z] implies g . z = H2(z) ) & ( not S1[z] implies g . z = H1(z) ) ) from FUNCT_2:sch_5(A3); reconsider f = f, g = g as Element of Funcs (A,COMPLEX) by FUNCT_2:8; take f ; ::_thesis: ex g being Element of Funcs (A,COMPLEX) st ( ( 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 ) ) ) ) take g ; ::_thesis: ( ( 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 ) ) ) ) thus ( ( 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 ) ) ) ) by A2, A4; ::_thesis: verum end; theorem Th18: :: CFUNCDOM:18 for x1, x2 being set for A being non empty set for f, g being Element of Funcs (A,COMPLEX) st x1 in A & x2 in A & 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 a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) proof let x1, x2 be set ; ::_thesis: for A being non empty set for f, g being Element of Funcs (A,COMPLEX) st x1 in A & x2 in A & 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 a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) let A be non empty set ; ::_thesis: for f, g being Element of Funcs (A,COMPLEX) st x1 in A & x2 in A & 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 a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) let f, g be Element of Funcs (A,COMPLEX); ::_thesis: ( x1 in A & x2 in A & 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 a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) ) assume that A1: x1 in A and A2: x2 in A and A3: x1 <> x2 and A4: ( ( 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 ) ) ) ) ; ::_thesis: for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) A5: ( f . x2 = 0c & g . x2 = 1r ) by A2, A3, A4; A6: ( f . x1 = 1r & g . x1 = 0c ) by A1, A4; let a, b be Element of COMPLEX ; ::_thesis: ( (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A implies ( a = 0c & b = 0c ) ) reconsider x1 = x1, x2 = x2 as Element of A by A1, A2; assume A7: (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A ; ::_thesis: ( a = 0c & b = 0c ) then A8: 0c = ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]))) . x2 by FUNCOP_1:7 .= (((ComplexFuncExtMult A) . [a,f]) . x2) + (((ComplexFuncExtMult A) . [b,g]) . x2) by Th1 .= (a * (f . x2)) + (((ComplexFuncExtMult A) . [b,g]) . x2) by Th4 .= 0c + (b * 1r) by A5, Th4 .= b by COMPLEX1:def_4 ; 0c = ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]))) . x1 by A7, FUNCOP_1:7 .= (((ComplexFuncExtMult A) . [a,f]) . x1) + (((ComplexFuncExtMult A) . [b,g]) . x1) by Th1 .= (a * (f . x1)) + (((ComplexFuncExtMult A) . [b,g]) . x1) by Th4 .= a + (b * 0c) by A6, Th4, COMPLEX1:def_4 .= a ; hence ( a = 0c & b = 0c ) by A8; ::_thesis: verum end; theorem :: CFUNCDOM:19 for x1, x2 being set for A being non empty set st x1 in A & x2 in A & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) proof let x1, x2 be set ; ::_thesis: for A being non empty set st x1 in A & x2 in A & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) let A be non empty set ; ::_thesis: ( x1 in A & x2 in A & x1 <> x2 implies ex f, g being Element of Funcs (A,COMPLEX) st for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) assume A1: ( x1 in A & x2 in A & x1 <> x2 ) ; ::_thesis: ex f, g being Element of Funcs (A,COMPLEX) st for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) consider f, g being Element of Funcs (A,COMPLEX) such that A2: ( ( for z being set st z in A holds ( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0c ) ) ) & ( for z being set st z in A holds ( ( z = x1 implies g . z = 0c ) & ( z <> x1 implies g . z = 1r ) ) ) ) by Th17; take f ; ::_thesis: ex g being Element of Funcs (A,COMPLEX) st for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) take g ; ::_thesis: for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) let a, b be Element of COMPLEX ; ::_thesis: ( (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A implies ( a = 0 & b = 0 ) ) assume (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A ; ::_thesis: ( a = 0 & b = 0 ) hence ( a = 0 & b = 0 ) by A1, A2, Th18; ::_thesis: verum end; theorem Th20: :: CFUNCDOM:20 for x1, x2 being set 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 Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) proof 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 Element of 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 Element of 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 Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) assume that A1: A = {x1,x2} and A2: x1 <> x2 and A3: ( ( 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 ) ) ) ) ; ::_thesis: for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) x2 in A by A1, TARSKI:def_2; then A4: ( f . x2 = 0c & g . x2 = 1r ) by A2, A3; x1 in A by A1, TARSKI:def_2; then A5: ( f . x1 = 1r & g . x1 = 0c ) by A3; let h be Element of Funcs (A,COMPLEX); ::_thesis: ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) reconsider x1 = x1, x2 = x2 as Element of A by A1, TARSKI:def_2; take a = h . x1; ::_thesis: ex b being Element of 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__::_thesis:_for_x_being_Element_of_A_holds_h_._x_=_((ComplexFuncAdd_A)_._(((ComplexFuncExtMult_A)_._[a,f]),((ComplexFuncExtMult_A)_._[b,g])))_._x let x be Element of A; ::_thesis: h . x = ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]))) . x A6: ( x = x1 or x = x2 ) by A1, TARSKI:def_2; A7: ((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 Th4 .= 0c + (b * 1r) by A4, Th4 .= h . x2 by COMPLEX1:def_4 ; ((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 Th4 .= a + (b * 0c) by A5, Th4, COMPLEX1:def_4 .= h . x1 ; hence h . x = ((ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g]))) . x by A6, A7; ::_thesis: verum end; hence h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) by FUNCT_2:63; ::_thesis: verum end; theorem :: CFUNCDOM:21 for x1, x2 being set for A being non empty set st A = {x1,x2} & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) proof let x1, x2 be set ; ::_thesis: for A being non empty set st A = {x1,x2} & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) let A be non empty set ; ::_thesis: ( A = {x1,x2} & x1 <> x2 implies ex f, g being Element of Funcs (A,COMPLEX) st for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) assume A1: ( A = {x1,x2} & x1 <> x2 ) ; ::_thesis: ex f, g being Element of Funcs (A,COMPLEX) st for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) consider f, g being Element of Funcs (A,COMPLEX) such that A2: ( ( for z being set st z in A holds ( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0c ) ) ) & ( for z being set st z in A holds ( ( z = x1 implies g . z = 0c ) & ( z <> x1 implies g . z = 1r ) ) ) ) by Th17; take f ; ::_thesis: ex g being Element of Funcs (A,COMPLEX) st for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) take g ; ::_thesis: for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) let h be Element of Funcs (A,COMPLEX); ::_thesis: ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) thus ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) by A1, A2, Th20; ::_thesis: verum end; theorem Th22: :: CFUNCDOM:22 for x1, x2 being set for A being non empty set st A = {x1,x2} & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) proof let x1, x2 be set ; ::_thesis: for A being non empty set st A = {x1,x2} & x1 <> x2 holds ex f, g being Element of Funcs (A,COMPLEX) st ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) let A be non empty set ; ::_thesis: ( A = {x1,x2} & x1 <> x2 implies ex f, g being Element of Funcs (A,COMPLEX) st ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) ) assume that A1: A = {x1,x2} and A2: x1 <> x2 ; ::_thesis: ex f, g being Element of Funcs (A,COMPLEX) st ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) consider f, g being Element of Funcs (A,COMPLEX) such that A3: ( ( for z being set st z in A holds ( ( z = x1 implies f . z = 1r ) & ( z <> x1 implies f . z = 0c ) ) ) & ( for z being set st z in A holds ( ( z = x1 implies g . z = 0c ) & ( z <> x1 implies g . z = 1r ) ) ) ) by Th17; take f ; ::_thesis: ex g being Element of Funcs (A,COMPLEX) st ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) take g ; ::_thesis: ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) ( x1 in A & x2 in A ) by A1, TARSKI:def_2; hence ( ( for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0 & b = 0 ) ) & ( for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) ) ) by A1, A2, A3, Th18, Th20; ::_thesis: verum end; definition let A be non empty set ; func ComplexVectSpace A -> non empty strict CLSStruct equals :: CFUNCDOM:def 6 CLSStruct(# (Funcs (A,COMPLEX)),(ComplexFuncZero A),(ComplexFuncAdd A),(ComplexFuncExtMult A) #); coherence CLSStruct(# (Funcs (A,COMPLEX)),(ComplexFuncZero A),(ComplexFuncAdd A),(ComplexFuncExtMult A) #) is non empty strict CLSStruct ; end; :: deftheorem defines ComplexVectSpace CFUNCDOM:def_6_:_ for A being non empty set holds ComplexVectSpace A = CLSStruct(# (Funcs (A,COMPLEX)),(ComplexFuncZero A),(ComplexFuncAdd A),(ComplexFuncExtMult A) #); registration let A be non empty set ; cluster ComplexVectSpace A -> non empty right_complementable Abelian add-associative right_zeroed strict vector-distributive scalar-distributive scalar-associative scalar-unital for non empty strict CLSStruct ; coherence for b1 being non empty strict CLSStruct st b1 = ComplexVectSpace A holds ( b1 is Abelian & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is vector-distributive & b1 is scalar-distributive & b1 is scalar-associative & b1 is scalar-unital ) proof let C be non empty strict CLSStruct ; ::_thesis: ( C = ComplexVectSpace A implies ( C is Abelian & C is add-associative & C is right_zeroed & C is right_complementable & C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) ) assume A1: C = ComplexVectSpace A ; ::_thesis: ( C is Abelian & C is add-associative & C is right_zeroed & C is right_complementable & C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) thus for u, v being Element of C holds u + v = v + u by Th5, A1; :: according to RLVECT_1:def_2 ::_thesis: ( C is add-associative & C is right_zeroed & C is right_complementable & C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) thus for u, v, w being Element of C holds (u + v) + w = u + (v + w) by Th6, A1; :: according to RLVECT_1:def_3 ::_thesis: ( C is right_zeroed & C is right_complementable & C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) thus for u being Element of C holds u + (0. C) = u :: according to RLVECT_1:def_4 ::_thesis: ( C is right_complementable & C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) proof let u be Element of C; ::_thesis: u + (0. C) = u reconsider v = u as Element of Funcs (A,COMPLEX) by A1; thus u + (0. C) = (ComplexFuncAdd A) . ((ComplexFuncZero A),v) by Th5, A1 .= u by Th10 ; ::_thesis: verum end; thus for u being Element of C holds u is right_complementable :: according to ALGSTR_0:def_16 ::_thesis: ( C is vector-distributive & C is scalar-distributive & C is scalar-associative & C is scalar-unital ) proof let u be Element of C; ::_thesis: u is right_complementable reconsider v = u as Element of Funcs (A,COMPLEX) by A1; reconsider w = (ComplexFuncExtMult A) . [(- 1r),v] as VECTOR of C by A1; take w ; :: according to ALGSTR_0:def_11 ::_thesis: u + w = 0. C thus u + w = 0. C by Th11, A1; ::_thesis: verum end; thus for a being Complex for u, v being VECTOR of C holds a * (u + v) = (a * u) + (a * v) by Lm2, A1; :: according to CLVECT_1:def_2 ::_thesis: ( C is scalar-distributive & C is scalar-associative & C is scalar-unital ) thus for a, b being Complex for v being VECTOR of C holds (a + b) * v = (a * v) + (b * v) by Th14, A1; :: according to CLVECT_1:def_3 ::_thesis: ( C is scalar-associative & C is scalar-unital ) thus for a, b being Complex for v being VECTOR of C holds (a * b) * v = a * (b * v) by Th13, A1; :: according to CLVECT_1:def_4 ::_thesis: C is scalar-unital thus for v being Element of C holds 1r * v = v by Th12, A1; :: according to CLVECT_1:def_5 ::_thesis: verum end; end; Lm3: ex A being non empty set ex x1, x2 being set st ( A = {x1,x2} & x1 <> x2 ) proof reconsider A = {1,2} as non empty set ; take A ; ::_thesis: ex x1, x2 being set st ( A = {x1,x2} & x1 <> x2 ) thus ex x1, x2 being set st ( A = {x1,x2} & x1 <> x2 ) ; ::_thesis: verum end; theorem :: CFUNCDOM:23 ex V being strict ComplexLinearSpace ex u, v being VECTOR of V st ( ( for a, b being Element of COMPLEX st (a * u) + (b * v) = 0. V holds ( a = 0 & b = 0 ) ) & ( for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ) ) proof consider A being non empty set , x1, x2 being set such that A1: ( A = {x1,x2} & x1 <> x2 ) by Lm3; take V = ComplexVectSpace A; ::_thesis: ex u, v being VECTOR of V st ( ( for a, b being Element of COMPLEX st (a * u) + (b * v) = 0. V holds ( a = 0 & b = 0 ) ) & ( for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ) ) consider f, g being Element of Funcs (A,COMPLEX) such that A2: for a, b being Element of COMPLEX st (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) = ComplexFuncZero A holds ( a = 0c & b = 0c ) and A3: for h being Element of Funcs (A,COMPLEX) ex a, b being Element of COMPLEX st h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) by A1, Th22; reconsider u = f, v = g as VECTOR of V ; take u ; ::_thesis: ex v being VECTOR of V st ( ( for a, b being Element of COMPLEX st (a * u) + (b * v) = 0. V holds ( a = 0 & b = 0 ) ) & ( for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ) ) take v ; ::_thesis: ( ( for a, b being Element of COMPLEX st (a * u) + (b * v) = 0. V holds ( a = 0 & b = 0 ) ) & ( for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ) ) thus for a, b being Element of COMPLEX st (a * u) + (b * v) = 0. V holds ( a = 0 & b = 0 ) by A2; ::_thesis: for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) thus for w being VECTOR of V ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ::_thesis: verum proof let w be VECTOR of V; ::_thesis: ex a, b being Element of COMPLEX st w = (a * u) + (b * v) reconsider h = w as Element of Funcs (A,COMPLEX) ; consider a, b being Element of COMPLEX such that A4: h = (ComplexFuncAdd A) . (((ComplexFuncExtMult A) . [a,f]),((ComplexFuncExtMult A) . [b,g])) by A3; h = (a * u) + (b * v) by A4; hence ex a, b being Element of COMPLEX st w = (a * u) + (b * v) ; ::_thesis: verum end; end; definition let A be non empty set ; func CRing A -> doubleLoopStr equals :: CFUNCDOM:def 7 doubleLoopStr(# (Funcs (A,COMPLEX)),(ComplexFuncAdd A),(ComplexFuncMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #); correctness coherence doubleLoopStr(# (Funcs (A,COMPLEX)),(ComplexFuncAdd A),(ComplexFuncMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #) is doubleLoopStr ; ; end; :: deftheorem defines CRing CFUNCDOM:def_7_:_ for A being non empty set holds CRing A = doubleLoopStr(# (Funcs (A,COMPLEX)),(ComplexFuncAdd A),(ComplexFuncMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #); registration let A be non empty set ; cluster CRing A -> non empty strict ; coherence ( not CRing A is empty & CRing A is strict ) ; end; Lm4: now__::_thesis:_for_A_being_non_empty_set_ for_x,_e_being_Element_of_(CRing_A)_st_e_=_ComplexFuncUnit_A_holds_ (_e_*_x_=_x_&_x_*_e_=_x_) let A be non empty set ; ::_thesis: for x, e being Element of (CRing A) st e = ComplexFuncUnit A holds ( e * x = x & x * e = x ) let x, e be Element of (CRing A); ::_thesis: ( e = ComplexFuncUnit A implies ( e * x = x & x * e = x ) ) assume e = ComplexFuncUnit A ; ::_thesis: ( e * x = x & x * e = x ) hence e * x = x by Th9; ::_thesis: x * e = x hence x * e = x by Th7; ::_thesis: verum end; registration let A be non empty set ; cluster CRing A -> unital ; coherence CRing A is unital proof reconsider e = ComplexFuncUnit A as Element of (CRing A) ; take e ; :: according to GROUP_1:def_1 ::_thesis: for b1 being Element of the carrier of (CRing A) holds ( b1 * e = b1 & e * b1 = b1 ) thus for b1 being Element of the carrier of (CRing A) holds ( b1 * e = b1 & e * b1 = b1 ) by Lm4; ::_thesis: verum end; end; theorem Th24: :: CFUNCDOM:24 for A being non empty set for x, y, z being Element of (CRing A) holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) proof let A be non empty set ; ::_thesis: for x, y, z being Element of (CRing A) holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) let x, y, z be Element of (CRing A); ::_thesis: ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) set IT = CRing A; reconsider f = x as Element of Funcs (A,COMPLEX) ; thus x + y = y + x by Th5; ::_thesis: ( (x + y) + z = x + (y + z) & x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus (x + y) + z = x + (y + z) by Th6; ::_thesis: ( x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus x + (0. (CRing A)) = (ComplexFuncAdd A) . ((ComplexFuncZero A),f) by Th5 .= x by Th10 ; ::_thesis: ( x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus ex t being Element of (CRing A) st x + t = 0. (CRing A) :: according to ALGSTR_0:def_11 ::_thesis: ( x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) proof set h = (ComplexFuncExtMult A) . [(- 1r),f]; reconsider t = (ComplexFuncExtMult A) . [(- 1r),f] as Element of (CRing A) ; take t ; ::_thesis: x + t = 0. (CRing A) thus x + t = 0. (CRing A) by Th11; ::_thesis: verum end; thus x * y = y * x by Th7; ::_thesis: ( (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus (x * y) * z = x * (y * z) by Th8; ::_thesis: ( x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus x * (1. (CRing A)) = (ComplexFuncMult A) . ((ComplexFuncUnit A),f) by Th7 .= x by Th9 ; ::_thesis: ( (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) hence (1. (CRing A)) * x = x by Th7; ::_thesis: ( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) thus x * (y + z) = (x * y) + (x * z) by Th15; ::_thesis: (y + z) * x = (y * x) + (z * x) hence (y + z) * x = (x * y) + (x * z) by Th7 .= (y * x) + (x * z) by Th7 .= (y * x) + (z * x) by Th7 ; ::_thesis: verum end; theorem :: CFUNCDOM:25 for A being non empty set holds CRing A is commutative Ring proof let A be non empty set ; ::_thesis: CRing A is commutative Ring for x, y, z being Element of (CRing A) holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CRing A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CRing A)) = x & (1. (CRing A)) * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) by Th24; hence CRing A is commutative Ring by ALGSTR_0:def_16, GROUP_1:def_3, GROUP_1:def_12, RLVECT_1:def_2, RLVECT_1:def_3, RLVECT_1:def_4, VECTSP_1:def_6, VECTSP_1:def_7; ::_thesis: verum end; definition attrc1 is strict ; struct ComplexAlgebraStr -> doubleLoopStr , CLSStruct ; aggrComplexAlgebraStr(# carrier, multF, addF, Mult, OneF, ZeroF #) -> ComplexAlgebraStr ; end; registration cluster non empty for ComplexAlgebraStr ; existence not for b1 being ComplexAlgebraStr holds b1 is empty proof set X = the non empty set ; set m = the BinOp of the non empty set ; set M = the Function of [:COMPLEX, the non empty set :], the non empty set ; set u = the Element of the non empty set ; take ComplexAlgebraStr(# the non empty set , the BinOp of the non empty set , the BinOp of the non empty set , the Function of [:COMPLEX, the non empty set :], the non empty set , the Element of the non empty set , the Element of the non empty set #) ; ::_thesis: not ComplexAlgebraStr(# the non empty set , the BinOp of the non empty set , the BinOp of the non empty set , the Function of [:COMPLEX, the non empty set :], the non empty set , the Element of the non empty set , the Element of the non empty set #) is empty thus not the carrier of ComplexAlgebraStr(# the non empty set , the BinOp of the non empty set , the BinOp of the non empty set , the Function of [:COMPLEX, the non empty set :], the non empty set , the Element of the non empty set , the Element of the non empty set #) is empty ; :: according to STRUCT_0:def_1 ::_thesis: verum end; end; definition let A be non empty set ; func CAlgebra A -> strict ComplexAlgebraStr equals :: CFUNCDOM:def 8 ComplexAlgebraStr(# (Funcs (A,COMPLEX)),(ComplexFuncMult A),(ComplexFuncAdd A),(ComplexFuncExtMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #); correctness coherence ComplexAlgebraStr(# (Funcs (A,COMPLEX)),(ComplexFuncMult A),(ComplexFuncAdd A),(ComplexFuncExtMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #) is strict ComplexAlgebraStr ; ; end; :: deftheorem defines CAlgebra CFUNCDOM:def_8_:_ for A being non empty set holds CAlgebra A = ComplexAlgebraStr(# (Funcs (A,COMPLEX)),(ComplexFuncMult A),(ComplexFuncAdd A),(ComplexFuncExtMult A),(ComplexFuncUnit A),(ComplexFuncZero A) #); registration let A be non empty set ; cluster CAlgebra A -> non empty strict ; coherence not CAlgebra A is empty proof thus not the carrier of (CAlgebra A) is empty ; :: according to STRUCT_0:def_1 ::_thesis: verum end; end; Lm5: now__::_thesis:_for_A_being_non_empty_set_ for_x,_e_being_Element_of_(CAlgebra_A)_st_e_=_ComplexFuncUnit_A_holds_ (_e_*_x_=_x_&_x_*_e_=_x_) let A be non empty set ; ::_thesis: for x, e being Element of (CAlgebra A) st e = ComplexFuncUnit A holds ( e * x = x & x * e = x ) let x, e be Element of (CAlgebra A); ::_thesis: ( e = ComplexFuncUnit A implies ( e * x = x & x * e = x ) ) assume e = ComplexFuncUnit A ; ::_thesis: ( e * x = x & x * e = x ) hence e * x = x by Th9; ::_thesis: x * e = x hence x * e = x by Th7; ::_thesis: verum end; registration let A be non empty set ; cluster CAlgebra A -> unital strict ; coherence CAlgebra A is unital proof reconsider e = ComplexFuncUnit A as Element of (CAlgebra A) ; take e ; :: according to GROUP_1:def_1 ::_thesis: for b1 being Element of the carrier of (CAlgebra A) holds ( b1 * e = b1 & e * b1 = b1 ) thus for b1 being Element of the carrier of (CAlgebra A) holds ( b1 * e = b1 & e * b1 = b1 ) by Lm5; ::_thesis: verum end; end; theorem :: CFUNCDOM:26 for A being non empty set for x, y, z being Element of (CAlgebra A) for a, b being Element of COMPLEX holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) proof let A be non empty set ; ::_thesis: for x, y, z being Element of (CAlgebra A) for a, b being Element of COMPLEX holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) let x, y, z be Element of (CAlgebra A); ::_thesis: for a, b being Element of COMPLEX holds ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) let a, b be Element of COMPLEX ; ::_thesis: ( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) set IT = CAlgebra A; reconsider f = x as Element of Funcs (A,COMPLEX) ; thus x + y = y + x by Th5; ::_thesis: ( (x + y) + z = x + (y + z) & x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus (x + y) + z = x + (y + z) by Th6; ::_thesis: ( x + (0. (CAlgebra A)) = x & x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus x + (0. (CAlgebra A)) = (ComplexFuncAdd A) . ((ComplexFuncZero A),f) by Th5 .= x by Th10 ; ::_thesis: ( x is right_complementable & x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus ex t being Element of (CAlgebra A) st x + t = 0. (CAlgebra A) :: according to ALGSTR_0:def_11 ::_thesis: ( x * y = y * x & (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) proof set h = (ComplexFuncExtMult A) . [(- 1r),f]; reconsider t = (ComplexFuncExtMult A) . [(- 1r),f] as Element of (CAlgebra A) ; take t ; ::_thesis: x + t = 0. (CAlgebra A) thus x + t = 0. (CAlgebra A) by Th11; ::_thesis: verum end; thus x * y = y * x by Th7; ::_thesis: ( (x * y) * z = x * (y * z) & x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus (x * y) * z = x * (y * z) by Th8; ::_thesis: ( x * (1. (CAlgebra A)) = x & x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus x * (1. (CAlgebra A)) = (ComplexFuncMult A) . ((ComplexFuncUnit A),f) by Th7 .= x by Th9 ; ::_thesis: ( x * (y + z) = (x * y) + (x * z) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus x * (y + z) = (x * y) + (x * z) by Th15; ::_thesis: ( a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus a * (x * y) = (a * x) * y by Th16; ::_thesis: ( a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus a * (x + y) = (a * x) + (a * y) by Lm2; ::_thesis: ( (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) ) thus (a + b) * x = (a * x) + (b * x) by Th14; ::_thesis: (a * b) * x = a * (b * x) thus (a * b) * x = a * (b * x) by Th13; ::_thesis: verum end; definition let IT be non empty ComplexAlgebraStr ; attrIT is vector-associative means :: CFUNCDOM:def 9 for x, y being Element of IT for a being Element of COMPLEX holds a * (x * y) = (a * x) * y; end; :: deftheorem defines vector-associative CFUNCDOM:def_9_:_ for IT being non empty ComplexAlgebraStr holds ( IT is vector-associative iff for x, y being Element of IT for a being Element of COMPLEX holds a * (x * y) = (a * x) * y ); registration let A be non empty set ; cluster CAlgebra A -> right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative associative commutative right-distributive right_unital strict vector-associative ; coherence ( CAlgebra A is strict & CAlgebra A is Abelian & CAlgebra A is add-associative & CAlgebra A is right_zeroed & CAlgebra A is right_complementable & CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof set C = CAlgebra A; thus CAlgebra A is strict ; ::_thesis: ( CAlgebra A is Abelian & CAlgebra A is add-associative & CAlgebra A is right_zeroed & CAlgebra A is right_complementable & CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) thus CAlgebra A is Abelian ::_thesis: ( CAlgebra A is add-associative & CAlgebra A is right_zeroed & CAlgebra A is right_complementable & CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x, y be Element of (CAlgebra A); :: according to RLVECT_1:def_2 ::_thesis: x + y = y + x thus x + y = y + x by Th5; ::_thesis: verum end; thus CAlgebra A is add-associative ::_thesis: ( CAlgebra A is right_zeroed & CAlgebra A is right_complementable & CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x, y, z be Element of (CAlgebra A); :: according to RLVECT_1:def_3 ::_thesis: (x + y) + z = x + (y + z) thus (x + y) + z = x + (y + z) by Th6; ::_thesis: verum end; thus CAlgebra A is right_zeroed ::_thesis: ( CAlgebra A is right_complementable & CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x be Element of (CAlgebra A); :: according to RLVECT_1:def_4 ::_thesis: x + (0. (CAlgebra A)) = x reconsider f = x as Element of Funcs (A,COMPLEX) ; thus x + (0. (CAlgebra A)) = (ComplexFuncAdd A) . ((ComplexFuncZero A),f) by Th5 .= x by Th10 ; ::_thesis: verum end; thus CAlgebra A is right_complementable ::_thesis: ( CAlgebra A is commutative & CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x be Element of (CAlgebra A); :: according to ALGSTR_0:def_16 ::_thesis: x is right_complementable reconsider f = x as Element of Funcs (A,COMPLEX) ; reconsider t = (ComplexFuncExtMult A) . [(- 1r),f] as Element of (CAlgebra A) ; take t ; :: according to ALGSTR_0:def_11 ::_thesis: x + t = 0. (CAlgebra A) thus x + t = 0. (CAlgebra A) by Th11; ::_thesis: verum end; thus CAlgebra A is commutative ::_thesis: ( CAlgebra A is associative & CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x, y be Element of (CAlgebra A); :: according to GROUP_1:def_12 ::_thesis: x * y = y * x thus x * y = y * x by Th7; ::_thesis: verum end; thus CAlgebra A is associative ::_thesis: ( CAlgebra A is right_unital & CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x, y, z be Element of (CAlgebra A); :: according to GROUP_1:def_3 ::_thesis: (x * y) * z = x * (y * z) thus (x * y) * z = x * (y * z) by Th8; ::_thesis: verum end; thus CAlgebra A is right_unital ::_thesis: ( CAlgebra A is right-distributive & CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x be Element of (CAlgebra A); :: according to VECTSP_1:def_4 ::_thesis: x * (1. (CAlgebra A)) = x reconsider f = x as Element of Funcs (A,COMPLEX) ; thus x * (1. (CAlgebra A)) = (ComplexFuncMult A) . ((ComplexFuncUnit A),f) by Th7 .= x by Th9 ; ::_thesis: verum end; thus CAlgebra A is right-distributive ::_thesis: ( CAlgebra A is vector-distributive & CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let x, y, z be Element of (CAlgebra A); :: according to VECTSP_1:def_2 ::_thesis: x * (y + z) = (x * y) + (x * z) thus x * (y + z) = (x * y) + (x * z) by Th15; ::_thesis: verum end; thus CAlgebra A is vector-distributive ::_thesis: ( CAlgebra A is scalar-distributive & CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let a be Complex; :: according to CLVECT_1:def_2 ::_thesis: for b1, b2 being Element of the carrier of (CAlgebra A) holds a * (b1 + b2) = (a * b1) + (a * b2) let x, y be Element of (CAlgebra A); ::_thesis: a * (x + y) = (a * x) + (a * y) thus a * (x + y) = (a * x) + (a * y) by Lm2; ::_thesis: verum end; thus CAlgebra A is scalar-distributive ::_thesis: ( CAlgebra A is scalar-associative & CAlgebra A is vector-associative ) proof let a, b be Complex; :: according to CLVECT_1:def_3 ::_thesis: for b1 being Element of the carrier of (CAlgebra A) holds K110(a,b) * b1 = (a * b1) + (b * b1) let x be Element of (CAlgebra A); ::_thesis: K110(a,b) * x = (a * x) + (b * x) thus (a + b) * x = (a * x) + (b * x) by Th14; ::_thesis: verum end; thus CAlgebra A is scalar-associative ::_thesis: CAlgebra A is vector-associative proof let a, b be Complex; :: according to CLVECT_1:def_4 ::_thesis: for b1 being Element of the carrier of (CAlgebra A) holds K111(a,b) * b1 = a * (b * b1) let x be Element of (CAlgebra A); ::_thesis: K111(a,b) * x = a * (b * x) thus a * (b * x) = (a * b) * x by Th13; ::_thesis: verum end; let x, y be Element of (CAlgebra A); :: according to CFUNCDOM:def_9 ::_thesis: for a being Element of COMPLEX holds a * (x * y) = (a * x) * y let a be Element of COMPLEX ; ::_thesis: a * (x * y) = (a * x) * y thus a * (x * y) = (a * x) * y by Th16; ::_thesis: verum end; end; registration cluster non empty right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative associative commutative right-distributive right_unital strict vector-associative for ComplexAlgebraStr ; existence ex b1 being non empty ComplexAlgebraStr st ( b1 is strict & b1 is Abelian & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is commutative & b1 is associative & b1 is right_unital & b1 is right-distributive & b1 is vector-distributive & b1 is scalar-distributive & b1 is scalar-associative & b1 is vector-associative ) proof take CAlgebra 1 ; ::_thesis: ( CAlgebra 1 is strict & CAlgebra 1 is Abelian & CAlgebra 1 is add-associative & CAlgebra 1 is right_zeroed & CAlgebra 1 is right_complementable & CAlgebra 1 is commutative & CAlgebra 1 is associative & CAlgebra 1 is right_unital & CAlgebra 1 is right-distributive & CAlgebra 1 is vector-distributive & CAlgebra 1 is scalar-distributive & CAlgebra 1 is scalar-associative & CAlgebra 1 is vector-associative ) thus ( CAlgebra 1 is strict & CAlgebra 1 is Abelian & CAlgebra 1 is add-associative & CAlgebra 1 is right_zeroed & CAlgebra 1 is right_complementable & CAlgebra 1 is commutative & CAlgebra 1 is associative & CAlgebra 1 is right_unital & CAlgebra 1 is right-distributive & CAlgebra 1 is vector-distributive & CAlgebra 1 is scalar-distributive & CAlgebra 1 is scalar-associative & CAlgebra 1 is vector-associative ) ; ::_thesis: verum end; end; definition mode ComplexAlgebra is non empty right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative associative commutative right-distributive right_unital vector-associative ComplexAlgebraStr ; end; theorem :: CFUNCDOM:27 for A being non empty set holds CAlgebra A is ComplexAlgebra ; theorem :: CFUNCDOM:28 for A being non empty set holds 1. (CRing A) = ComplexFuncUnit A ; theorem :: CFUNCDOM:29 for A being non empty set holds 1. (CAlgebra A) = ComplexFuncUnit A ;