Article CFUNCDOM, MML version 4.99.1005
:: CFUNCDOM:funcnot 1 => CFUNCDOM:func 1
definition
let a1 be non empty set;
func ComplexFuncAdd A1 -> Function-like quasi_total Relation of [:Funcs(a1,COMPLEX),Funcs(a1,COMPLEX):],Funcs(a1,COMPLEX) means
for b1, b2 being Element of Funcs(a1,COMPLEX) holds
it .(b1,b2) = addcomplex .:(b1,b2);
end;
:: CFUNCDOM:def 1
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:Funcs(b1,COMPLEX),Funcs(b1,COMPLEX):],Funcs(b1,COMPLEX) holds
b2 = ComplexFuncAdd b1
iff
for b3, b4 being Element of Funcs(b1,COMPLEX) holds
b2 .(b3,b4) = addcomplex .:(b3,b4);
:: CFUNCDOM:funcnot 2 => CFUNCDOM:func 2
definition
let a1 be non empty set;
func ComplexFuncMult A1 -> Function-like quasi_total Relation of [:Funcs(a1,COMPLEX),Funcs(a1,COMPLEX):],Funcs(a1,COMPLEX) means
for b1, b2 being Element of Funcs(a1,COMPLEX) holds
it .(b1,b2) = multcomplex .:(b1,b2);
end;
:: CFUNCDOM:def 2
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:Funcs(b1,COMPLEX),Funcs(b1,COMPLEX):],Funcs(b1,COMPLEX) holds
b2 = ComplexFuncMult b1
iff
for b3, b4 being Element of Funcs(b1,COMPLEX) holds
b2 .(b3,b4) = multcomplex .:(b3,b4);
:: CFUNCDOM:funcnot 3 => CFUNCDOM:func 3
definition
let a1 be non empty set;
func ComplexFuncExtMult A1 -> Function-like quasi_total Relation of [:COMPLEX,Funcs(a1,COMPLEX):],Funcs(a1,COMPLEX) means
for b1 being Element of COMPLEX
for b2 being Element of Funcs(a1,COMPLEX)
for b3 being Element of a1 holds
(it . [b1,b2]) . b3 = b1 * (b2 . b3);
end;
:: CFUNCDOM:def 3
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:COMPLEX,Funcs(b1,COMPLEX):],Funcs(b1,COMPLEX) holds
b2 = ComplexFuncExtMult b1
iff
for b3 being Element of COMPLEX
for b4 being Element of Funcs(b1,COMPLEX)
for b5 being Element of b1 holds
(b2 . [b3,b4]) . b5 = b3 * (b4 . b5);
:: CFUNCDOM:funcnot 4 => CFUNCDOM:func 4
definition
let a1 be non empty set;
func ComplexFuncZero A1 -> Element of Funcs(a1,COMPLEX) equals
a1 --> 0;
end;
:: CFUNCDOM:def 4
theorem
for b1 being non empty set holds
ComplexFuncZero b1 = b1 --> 0;
:: CFUNCDOM:funcnot 5 => CFUNCDOM:func 5
definition
let a1 be non empty set;
func ComplexFuncUnit A1 -> Element of Funcs(a1,COMPLEX) equals
a1 --> 1r;
end;
:: CFUNCDOM:def 5
theorem
for b1 being non empty set holds
ComplexFuncUnit b1 = b1 --> 1r;
:: CFUNCDOM:th 1
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,COMPLEX) holds
b2 = (ComplexFuncAdd b1) .(b3,b4)
iff
for b5 being Element of b1 holds
b2 . b5 = (b3 . b5) + (b4 . b5);
:: CFUNCDOM:th 2
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,COMPLEX) holds
b2 = (ComplexFuncMult b1) .(b3,b4)
iff
for b5 being Element of b1 holds
b2 . b5 = (b3 . b5) * (b4 . b5);
:: CFUNCDOM:th 5
theorem
for b1 being non empty set holds
ComplexFuncZero b1 <> ComplexFuncUnit b1;
:: CFUNCDOM:th 6
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,COMPLEX)
for b4 being Element of COMPLEX holds
b2 = (ComplexFuncExtMult b1) . [b4,b3]
iff
for b5 being Element of b1 holds
b2 . b5 = b4 * (b3 . b5);
:: CFUNCDOM:th 7
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncAdd b1) .(b2,b3) = (ComplexFuncAdd b1) .(b3,b2);
:: CFUNCDOM:th 8
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncAdd b1) .(b2,(ComplexFuncAdd b1) .(b3,b4)) = (ComplexFuncAdd b1) .((ComplexFuncAdd b1) .(b2,b3),b4);
:: CFUNCDOM:th 9
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncMult b1) .(b2,b3) = (ComplexFuncMult b1) .(b3,b2);
:: CFUNCDOM:th 10
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncMult b1) .(b2,(ComplexFuncMult b1) .(b3,b4)) = (ComplexFuncMult b1) .((ComplexFuncMult b1) .(b2,b3),b4);
:: CFUNCDOM:th 11
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncMult b1) .(ComplexFuncUnit b1,b2) = b2;
:: CFUNCDOM:th 12
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncAdd b1) .(ComplexFuncZero b1,b2) = b2;
:: CFUNCDOM:th 13
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncAdd b1) .(b2,(ComplexFuncExtMult b1) . [- 1r,b2]) = ComplexFuncZero b1;
:: CFUNCDOM:th 14
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncExtMult b1) . [1r,b2] = b2;
:: CFUNCDOM:th 15
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX)
for b3, b4 being Element of COMPLEX holds
(ComplexFuncExtMult b1) . [b3,(ComplexFuncExtMult b1) . [b4,b2]] = (ComplexFuncExtMult b1) . [b3 * b4,b2];
:: CFUNCDOM:th 16
theorem
for b1 being non empty set
for b2 being Element of Funcs(b1,COMPLEX)
for b3, b4 being Element of COMPLEX holds
(ComplexFuncAdd b1) .((ComplexFuncExtMult b1) . [b3,b2],(ComplexFuncExtMult b1) . [b4,b2]) = (ComplexFuncExtMult b1) . [b3 + b4,b2];
:: CFUNCDOM:th 17
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,COMPLEX) holds
(ComplexFuncMult b1) .(b2,(ComplexFuncAdd b1) .(b3,b4)) = (ComplexFuncAdd b1) .((ComplexFuncMult b1) .(b2,b3),(ComplexFuncMult b1) .(b2,b4));
:: CFUNCDOM:th 18
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,COMPLEX)
for b4 being Element of COMPLEX holds
(ComplexFuncMult b1) .((ComplexFuncExtMult b1) . [b4,b2],b3) = (ComplexFuncExtMult b1) . [b4,(ComplexFuncMult b1) .(b2,b3)];
:: CFUNCDOM:th 19
theorem
for b1 being set
for b2 being non empty set holds
ex b3, b4 being Element of Funcs(b2,COMPLEX) st
(for b5 being set
st b5 in b2
holds (b5 = b1 implies b3 . b5 = 1r) & (b5 = b1 or b3 . b5 = 0)) &
(for b5 being set
st b5 in b2
holds (b5 = b1 implies b4 . b5 = 0) & (b5 = b1 or b4 . b5 = 1r));
:: CFUNCDOM:th 20
theorem
for b1, b2 being set
for b3 being non empty set
for b4, b5 being Element of Funcs(b3,COMPLEX)
st b1 in b3 &
b2 in b3 &
b1 <> b2 &
(for b6 being set
st b6 in b3
holds (b6 = b1 implies b4 . b6 = 1r) & (b6 = b1 or b4 . b6 = 0)) &
(for b6 being set
st b6 in b3
holds (b6 = b1 implies b5 . b6 = 0) & (b6 = b1 or b5 . b6 = 1r))
for b6, b7 being Element of COMPLEX
st (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b6,b4],(ComplexFuncExtMult b3) . [b7,b5]) = ComplexFuncZero b3
holds b6 = 0c & b7 = 0c;
:: CFUNCDOM:th 21
theorem
for b1, b2 being set
for b3 being non empty set
st b1 in b3 & b2 in b3 & b1 <> b2
holds ex b4, b5 being Element of Funcs(b3,COMPLEX) st
for b6, b7 being Element of COMPLEX
st (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b6,b4],(ComplexFuncExtMult b3) . [b7,b5]) = ComplexFuncZero b3
holds b6 = 0 & b7 = 0;
:: CFUNCDOM:th 22
theorem
for b1, b2 being set
for b3 being non empty set
for b4, b5 being Element of Funcs(b3,COMPLEX)
st b3 = {b1,b2} &
b1 <> b2 &
(for b6 being set
st b6 in b3
holds (b6 = b1 implies b4 . b6 = 1r) & (b6 = b1 or b4 . b6 = 0)) &
(for b6 being set
st b6 in b3
holds (b6 = b1 implies b5 . b6 = 0) & (b6 = b1 or b5 . b6 = 1r))
for b6 being Element of Funcs(b3,COMPLEX) holds
ex b7, b8 being Element of COMPLEX st
b6 = (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b7,b4],(ComplexFuncExtMult b3) . [b8,b5]);
:: CFUNCDOM:th 23
theorem
for b1, b2 being set
for b3 being non empty set
st b3 = {b1,b2} & b1 <> b2
holds ex b4, b5 being Element of Funcs(b3,COMPLEX) st
for b6 being Element of Funcs(b3,COMPLEX) holds
ex b7, b8 being Element of COMPLEX st
b6 = (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b7,b4],(ComplexFuncExtMult b3) . [b8,b5]);
:: CFUNCDOM:th 24
theorem
for b1, b2 being set
for b3 being non empty set
st b3 = {b1,b2} & b1 <> b2
holds ex b4, b5 being Element of Funcs(b3,COMPLEX) st
(for b6, b7 being Element of COMPLEX
st (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b6,b4],(ComplexFuncExtMult b3) . [b7,b5]) = ComplexFuncZero b3
holds b6 = 0 & b7 = 0) &
(for b6 being Element of Funcs(b3,COMPLEX) holds
ex b7, b8 being Element of COMPLEX st
b6 = (ComplexFuncAdd b3) .((ComplexFuncExtMult b3) . [b7,b4],(ComplexFuncExtMult b3) . [b8,b5]));
:: CFUNCDOM:th 25
theorem
for b1 being non empty set holds
CLSStruct(#Funcs(b1,COMPLEX),ComplexFuncZero b1,ComplexFuncAdd b1,ComplexFuncExtMult b1#) is non empty right_complementable Abelian add-associative right_zeroed ComplexLinearSpace-like CLSStruct;
:: CFUNCDOM:funcnot 6 => CFUNCDOM:func 6
definition
let a1 be non empty set;
func ComplexVectSpace A1 -> non empty right_complementable Abelian add-associative right_zeroed strict ComplexLinearSpace-like CLSStruct equals
CLSStruct(#Funcs(a1,COMPLEX),ComplexFuncZero a1,ComplexFuncAdd a1,ComplexFuncExtMult a1#);
end;
:: CFUNCDOM:def 6
theorem
for b1 being non empty set holds
ComplexVectSpace b1 = CLSStruct(#Funcs(b1,COMPLEX),ComplexFuncZero b1,ComplexFuncAdd b1,ComplexFuncExtMult b1#);
:: CFUNCDOM:th 26
theorem
ex b1 being non empty right_complementable Abelian add-associative right_zeroed strict ComplexLinearSpace-like CLSStruct st
ex b2, b3 being Element of the carrier of b1 st
(for b4, b5 being Element of COMPLEX
st (b4 * b2) + (b5 * b3) = 0. b1
holds b4 = 0 & b5 = 0) &
(for b4 being Element of the carrier of b1 holds
ex b5, b6 being Element of COMPLEX st
b4 = (b5 * b2) + (b6 * b3));
:: CFUNCDOM:funcnot 7 => CFUNCDOM:func 7
definition
let a1 be non empty set;
func CRing A1 -> strict doubleLoopStr equals
doubleLoopStr(#Funcs(a1,COMPLEX),ComplexFuncAdd a1,ComplexFuncMult a1,ComplexFuncUnit a1,ComplexFuncZero a1#);
end;
:: CFUNCDOM:def 7
theorem
for b1 being non empty set holds
CRing b1 = doubleLoopStr(#Funcs(b1,COMPLEX),ComplexFuncAdd b1,ComplexFuncMult b1,ComplexFuncUnit b1,ComplexFuncZero b1#);
:: CFUNCDOM:funcreg 1
registration
let a1 be non empty set;
cluster CRing a1 -> non empty strict;
end;
:: CFUNCDOM:funcreg 2
registration
let a1 be non empty set;
cluster CRing a1 -> strict unital;
end;
:: CFUNCDOM:th 27
theorem
for b1 being non empty set
for b2, b3, b4 being Element of the carrier of CRing b1 holds
b2 + b3 = b3 + b2 &
(b2 + b3) + b4 = b2 + (b3 + b4) &
b2 + 0. CRing b1 = b2 &
b2 is right_complementable(CRing b1) &
b2 * b3 = b3 * b2 &
(b2 * b3) * b4 = b2 * (b3 * b4) &
b2 * 1. CRing b1 = b2 &
(1. CRing b1) * b2 = b2 &
b2 * (b3 + b4) = (b2 * b3) + (b2 * b4) &
(b3 + b4) * b2 = (b3 * b2) + (b4 * b2);
:: CFUNCDOM:th 28
theorem
for b1 being non empty set holds
CRing b1 is non empty right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
:: CFUNCDOM:structnot 1 => CFUNCDOM:struct 1
definition
struct(doubleLoopStr, CLSStruct) ComplexAlgebraStr(#
carrier -> set,
multF -> Function-like quasi_total Relation of [:the carrier of it,the carrier of it:],the carrier of it,
addF -> Function-like quasi_total Relation of [:the carrier of it,the carrier of it:],the carrier of it,
Mult -> Function-like quasi_total Relation of [:COMPLEX,the carrier of it:],the carrier of it,
OneF -> Element of the carrier of it,
ZeroF -> Element of the carrier of it
#);
end;
:: CFUNCDOM:attrnot 1 => CFUNCDOM:attr 1
definition
let a1 be ComplexAlgebraStr;
attr a1 is strict;
end;
:: CFUNCDOM:exreg 1
registration
cluster strict ComplexAlgebraStr;
end;
:: CFUNCDOM:aggrnot 1 => CFUNCDOM:aggr 1
definition
let a1 be set;
let a2, a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
let a4 be Function-like quasi_total Relation of [:COMPLEX,a1:],a1;
let a5, a6 be Element of a1;
aggr ComplexAlgebraStr(#a1,a2,a3,a4,a5,a6#) -> strict ComplexAlgebraStr;
end;
:: CFUNCDOM:exreg 2
registration
cluster non empty ComplexAlgebraStr;
end;
:: CFUNCDOM:funcnot 8 => CFUNCDOM:func 8
definition
let a1 be non empty set;
func CAlgebra A1 -> strict ComplexAlgebraStr equals
ComplexAlgebraStr(#Funcs(a1,COMPLEX),ComplexFuncMult a1,ComplexFuncAdd a1,ComplexFuncExtMult a1,ComplexFuncUnit a1,ComplexFuncZero a1#);
end;
:: CFUNCDOM:def 8
theorem
for b1 being non empty set holds
CAlgebra b1 = ComplexAlgebraStr(#Funcs(b1,COMPLEX),ComplexFuncMult b1,ComplexFuncAdd b1,ComplexFuncExtMult b1,ComplexFuncUnit b1,ComplexFuncZero b1#);
:: CFUNCDOM:funcreg 3
registration
let a1 be non empty set;
cluster CAlgebra a1 -> non empty strict;
end;
:: CFUNCDOM:funcreg 4
registration
let a1 be non empty set;
cluster CAlgebra a1 -> unital strict;
end;
:: CFUNCDOM:th 29
theorem
for b1 being non empty set
for b2, b3, b4 being Element of the carrier of CAlgebra b1
for b5, b6 being Element of COMPLEX holds
b2 + b3 = b3 + b2 &
(b2 + b3) + b4 = b2 + (b3 + b4) &
b2 + 0. CAlgebra b1 = b2 &
b2 is right_complementable(CAlgebra b1) &
b2 * b3 = b3 * b2 &
(b2 * b3) * b4 = b2 * (b3 * b4) &
b2 * 1. CAlgebra b1 = b2 &
b2 * (b3 + b4) = (b2 * b3) + (b2 * b4) &
b5 * (b2 * b3) = (b5 * b2) * b3 &
b5 * (b2 + b3) = (b5 * b2) + (b5 * b3) &
(b5 + b6) * b2 = (b5 * b2) + (b6 * b2) &
(b5 * b6) * b2 = b5 * (b6 * b2);
:: CFUNCDOM:attrnot 2 => CFUNCDOM:attr 2
definition
let a1 be non empty ComplexAlgebraStr;
attr a1 is ComplexAlgebra-like means
for b1, b2, b3 being Element of the carrier of a1
for b4, b5 being Element of COMPLEX holds
b4 * (b1 * b2) = (b4 * b1) * b2 &
b4 * (b1 + b2) = (b4 * b1) + (b4 * b2) &
(b4 + b5) * b1 = (b4 * b1) + (b5 * b1) &
(b4 * b5) * b1 = b4 * (b5 * b1);
end;
:: CFUNCDOM:dfs 9
definiens
let a1 be non empty ComplexAlgebraStr;
To prove
a1 is ComplexAlgebra-like
it is sufficient to prove
thus for b1, b2, b3 being Element of the carrier of a1
for b4, b5 being Element of COMPLEX holds
b4 * (b1 * b2) = (b4 * b1) * b2 &
b4 * (b1 + b2) = (b4 * b1) + (b4 * b2) &
(b4 + b5) * b1 = (b4 * b1) + (b5 * b1) &
(b4 * b5) * b1 = b4 * (b5 * b1);
:: CFUNCDOM:def 9
theorem
for b1 being non empty ComplexAlgebraStr holds
b1 is ComplexAlgebra-like
iff
for b2, b3, b4 being Element of the carrier of b1
for b5, b6 being Element of COMPLEX holds
b5 * (b2 * b3) = (b5 * b2) * b3 &
b5 * (b2 + b3) = (b5 * b2) + (b5 * b3) &
(b5 + b6) * b2 = (b5 * b2) + (b6 * b2) &
(b5 * b6) * b2 = b5 * (b6 * b2);
:: CFUNCDOM:exreg 3
registration
cluster non empty right_complementable Abelian add-associative right_zeroed associative commutative right-distributive right_unital strict ComplexAlgebra-like ComplexAlgebraStr;
end;
:: CFUNCDOM:modenot 1
definition
mode ComplexAlgebra is non empty right_complementable Abelian add-associative right_zeroed associative commutative right-distributive right_unital ComplexAlgebra-like ComplexAlgebraStr;
end;
:: CFUNCDOM:th 30
theorem
for b1 being non empty set holds
CAlgebra b1 is non empty right_complementable Abelian add-associative right_zeroed associative commutative right-distributive right_unital ComplexAlgebra-like ComplexAlgebraStr;
:: CFUNCDOM:th 31
theorem
for b1 being non empty set holds
1. CRing b1 = ComplexFuncUnit b1;
:: CFUNCDOM:th 32
theorem
for b1 being non empty set holds
1. CAlgebra b1 = ComplexFuncUnit b1;