Article MOD_2, MML version 4.99.1005
:: MOD_2:funcnot 1 => MOD_2:func 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
func TrivialLMod A1 -> non empty right_complementable strict VectSp-like Abelian add-associative right_zeroed VectSpStr over a1 equals
VectSpStr(#1,op2,op0,pr2(the carrier of a1,1)#);
end;
:: MOD_2:def 2
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr holds
TrivialLMod b1 = VectSpStr(#1,op2,op0,pr2(the carrier of b1,1)#);
:: MOD_2:th 1
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being Element of the carrier of TrivialLMod b1 holds
b2 = 0. TrivialLMod b1;
:: MOD_2:attrnot 1 => MOD_2:attr 1
definition
let a1 be non empty doubleLoopStr;
let a2, a3 be non empty VectSpStr over a1;
let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
attr a4 is linear means
(for b1, b2 being Element of the carrier of a2 holds
a4 . (b1 + b2) = (a4 . b1) + (a4 . b2)) &
(for b1 being Element of the carrier of a1
for b2 being Element of the carrier of a2 holds
a4 . (b1 * b2) = b1 * (a4 . b2));
end;
:: MOD_2:dfs 2
definiens
let a1 be non empty doubleLoopStr;
let a2, a3 be non empty VectSpStr over a1;
let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
To prove
a4 is linear
it is sufficient to prove
thus (for b1, b2 being Element of the carrier of a2 holds
a4 . (b1 + b2) = (a4 . b1) + (a4 . b2)) &
(for b1 being Element of the carrier of a1
for b2 being Element of the carrier of a2 holds
a4 . (b1 * b2) = b1 * (a4 . b2));
:: MOD_2:def 5
theorem
for b1 being non empty doubleLoopStr
for b2, b3 being non empty VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 holds
b4 is linear(b1, b2, b3)
iff
(for b5, b6 being Element of the carrier of b2 holds
b4 . (b5 + b6) = (b4 . b5) + (b4 . b6)) &
(for b5 being Element of the carrier of b1
for b6 being Element of the carrier of b2 holds
b4 . (b5 * b6) = b5 * (b4 . b6));
:: MOD_2:th 4
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
st b4 is linear(b1, b2, b3)
holds b4 is additive(b2, b3);
:: MOD_2:th 6
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being non empty VectSpStr over b1
for b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b6 being Function-like quasi_total Relation of the carrier of b3,the carrier of b4
st b5 is linear(b1, b2, b3) & b6 is linear(b1, b3, b4)
holds b6 * b5 is linear(b1, b2, b4);
:: MOD_2:th 8
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
ZeroMap(b2,b3) is linear(b1, b2, b3);
:: MOD_2:structnot 1 => MOD_2:struct 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
struct() LModMorphismStr(#
Dom -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over A1,
Cod -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over A1,
Fun -> Function-like quasi_total Relation of the carrier of the Dom of it,the carrier of the Cod of it
#);
end;
:: MOD_2:attrnot 2 => MOD_2:attr 2
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
attr a2 is strict;
end;
:: MOD_2:exreg 1
registration
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster strict LModMorphismStr over a1;
end;
:: MOD_2:aggrnot 1 => MOD_2:aggr 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
aggr LModMorphismStr(#a2,a3,a4#) -> strict LModMorphismStr over a1;
end;
:: MOD_2:selnot 1 => MOD_2:sel 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
sel the Dom of a2 -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
end;
:: MOD_2:selnot 2 => MOD_2:sel 2
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
sel the Cod of a2 -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
end;
:: MOD_2:selnot 3 => MOD_2:sel 3
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
sel the Fun of a2 -> Function-like quasi_total Relation of the carrier of the Dom of a2,the carrier of the Cod of a2;
end;
:: MOD_2:funcnot 2 => MOD_2:func 2
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
func dom A2 -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1 equals
the Dom of a2;
end;
:: MOD_2:def 6
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphismStr over b1 holds
dom b2 = the Dom of b2;
:: MOD_2:funcnot 3 => MOD_2:func 3
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
func cod A2 -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1 equals
the Cod of a2;
end;
:: MOD_2:def 7
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphismStr over b1 holds
cod b2 = the Cod of b2;
:: MOD_2:funcnot 4 => MOD_2:func 4
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
func fun A2 -> Function-like quasi_total Relation of the carrier of dom a2,the carrier of cod a2 equals
the Fun of a2;
end;
:: MOD_2:def 8
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphismStr over b1 holds
fun b2 = the Fun of b2;
:: MOD_2:th 9
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being LModMorphismStr over b1
for b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
st b4 = LModMorphismStr(#b2,b3,b5#)
holds dom b4 = b2 & cod b4 = b3 & fun b4 = b5;
:: MOD_2:funcnot 5 => MOD_2:func 5
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
func ZERO(A2,A3) -> strict LModMorphismStr over a1 equals
LModMorphismStr(#a2,a3,ZeroMap(a2,a3)#);
end;
:: MOD_2:def 9
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
ZERO(b2,b3) = LModMorphismStr(#b2,b3,ZeroMap(b2,b3)#);
:: MOD_2:attrnot 3 => MOD_2:attr 3
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
attr a2 is LModMorphism-like means
fun a2 is linear(a1, dom a2, cod a2);
end;
:: MOD_2:dfs 7
definiens
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be LModMorphismStr over a1;
To prove
a2 is LModMorphism-like
it is sufficient to prove
thus fun a2 is linear(a1, dom a2, cod a2);
:: MOD_2:def 10
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphismStr over b1 holds
b2 is LModMorphism-like(b1)
iff
fun b2 is linear(b1, dom b2, cod b2);
:: MOD_2:exreg 2
registration
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
cluster strict LModMorphism-like LModMorphismStr over a1;
end;
:: MOD_2:modenot 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
mode LModMorphism of a1 is LModMorphism-like LModMorphismStr over a1;
end;
:: MOD_2:th 10
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphism-like LModMorphismStr over b1 holds
the Fun of b2 is linear(b1, the Dom of b2, the Cod of b2);
:: MOD_2:funcreg 1
registration
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
cluster ZERO(a2,a3) -> strict LModMorphism-like;
end;
:: MOD_2:modenot 2 => MOD_2:mode 1
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
mode Morphism of A2,A3 -> LModMorphism-like LModMorphismStr over a1 means
dom it = a2 & cod it = a3;
end;
:: MOD_2:dfs 8
definiens
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
let a4 be LModMorphism-like LModMorphismStr over a1;
To prove
a4 is Morphism of a2,a3
it is sufficient to prove
thus dom a4 = a2 & cod a4 = a3;
:: MOD_2:def 11
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being LModMorphism-like LModMorphismStr over b1 holds
b4 is Morphism of b2,b3
iff
dom b4 = b2 & cod b4 = b3;
:: MOD_2:exreg 3
registration
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
cluster strict LModMorphism-like Morphism of a2,a3;
end;
:: MOD_2:th 11
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being LModMorphismStr over b1
st dom b4 = b2 & cod b4 = b3 & fun b4 is linear(b1, dom b4, cod b4)
holds b4 is Morphism of b2,b3;
:: MOD_2:th 12
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
st b4 is linear(b1, b2, b3)
holds LModMorphismStr(#b2,b3,b4#) is strict Morphism of b2,b3;
:: MOD_2:th 13
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
id b2 is linear(b1, b2, b2);
:: MOD_2:funcnot 6 => MOD_2:func 6
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
func ID A2 -> strict Morphism of a2,a2 equals
LModMorphismStr(#a2,a2,id a2#);
end;
:: MOD_2:def 12
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
ID b2 = LModMorphismStr(#b2,b2,id b2#);
:: MOD_2:funcnot 7 => MOD_2:func 7
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
redefine func ZERO(a2,a3) -> strict Morphism of a2,a3;
end;
:: MOD_2:th 14
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being Morphism of b2,b3 holds
ex b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 st
LModMorphismStr(#the Dom of b4,the Cod of b4,the Fun of b4#) = LModMorphismStr(#b2,b3,b5#) &
b5 is linear(b1, b2, b3);
:: MOD_2:th 15
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being strict Morphism of b2,b3 holds
ex b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 st
b4 = LModMorphismStr(#b2,b3,b5#);
:: MOD_2:th 16
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being LModMorphism-like LModMorphismStr over b1 holds
ex b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 st
b2 is Morphism of b3,b4;
:: MOD_2:th 17
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being strict LModMorphism-like LModMorphismStr over b1 holds
ex b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 st
ex b5 being Function-like quasi_total Relation of the carrier of b3,the carrier of b4 st
b2 is strict Morphism of b3,b4 & b2 = LModMorphismStr(#b3,b4,b5#) & b5 is linear(b1, b3, b4);
:: MOD_2:th 18
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being LModMorphism-like LModMorphismStr over b1
st dom b2 = cod b3
holds ex b4, b5, b6 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 st
b2 is Morphism of b5,b6 & b3 is Morphism of b4,b5;
:: MOD_2:funcnot 8 => MOD_2:func 8
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3 be LModMorphism-like LModMorphismStr over a1;
assume dom a2 = cod a3;
func A2 * A3 -> strict LModMorphism-like LModMorphismStr over a1 means
for b1, b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st LModMorphismStr(#the Dom of a2,the Cod of a2,the Fun of a2#) = LModMorphismStr(#b2,b3,b4#) &
LModMorphismStr(#the Dom of a3,the Cod of a3,the Fun of a3#) = LModMorphismStr(#b1,b2,b5#)
holds it = LModMorphismStr(#b1,b3,b4 * b5#);
end;
:: MOD_2:def 13
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being LModMorphism-like LModMorphismStr over b1
st dom b2 = cod b3
for b4 being strict LModMorphism-like LModMorphismStr over b1 holds
b4 = b2 * b3
iff
for b5, b6, b7 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b8 being Function-like quasi_total Relation of the carrier of b6,the carrier of b7
for b9 being Function-like quasi_total Relation of the carrier of b5,the carrier of b6
st LModMorphismStr(#the Dom of b2,the Cod of b2,the Fun of b2#) = LModMorphismStr(#b6,b7,b8#) &
LModMorphismStr(#the Dom of b3,the Cod of b3,the Fun of b3#) = LModMorphismStr(#b5,b6,b9#)
holds b4 = LModMorphismStr(#b5,b7,b8 * b9#);
:: MOD_2:th 20
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b5 being Morphism of b2,b3
for b6 being Morphism of b4,b2 holds
b5 * b6 is strict Morphism of b4,b3;
:: MOD_2:funcnot 9 => MOD_2:func 9
definition
let a1 be non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
let a2, a3, a4 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
let a5 be Morphism of a3,a4;
let a6 be Morphism of a2,a3;
func A5 *' A6 -> strict Morphism of a2,a4 equals
a5 * a6;
end;
:: MOD_2:def 14
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b5 being Morphism of b3,b4
for b6 being Morphism of b2,b3 holds
b5 *' b6 = b5 * b6;
:: MOD_2:th 21
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b5 being Morphism of b2,b3
for b6 being Morphism of b4,b2
for b7 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b8 being Function-like quasi_total Relation of the carrier of b4,the carrier of b2
st b5 = LModMorphismStr(#b2,b3,b7#) & b6 = LModMorphismStr(#b4,b2,b8#)
holds b5 *' b6 = LModMorphismStr(#b4,b3,b7 * b8#) & b5 * b6 = LModMorphismStr(#b4,b3,b7 * b8#);
:: MOD_2:th 22
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being strict LModMorphism-like LModMorphismStr over b1
st dom b3 = cod b2
holds ex b4, b5, b6 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 st
ex b7 being Function-like quasi_total Relation of the carrier of b4,the carrier of b5 st
ex b8 being Function-like quasi_total Relation of the carrier of b5,the carrier of b6 st
b2 = LModMorphismStr(#b4,b5,b7#) & b3 = LModMorphismStr(#b5,b6,b8#) & b3 * b2 = LModMorphismStr(#b4,b6,b8 * b7#);
:: MOD_2:th 23
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being strict LModMorphism-like LModMorphismStr over b1
st dom b3 = cod b2
holds dom (b3 * b2) = dom b2 & cod (b3 * b2) = cod b3;
:: MOD_2:th 24
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4, b5 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b6 being strict Morphism of b2,b3
for b7 being strict Morphism of b3,b4
for b8 being strict Morphism of b4,b5 holds
b8 * (b7 * b6) = (b8 * b7) * b6;
:: MOD_2:th 25
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being strict LModMorphism-like LModMorphismStr over b1
st dom b4 = cod b3 & dom b3 = cod b2
holds b4 * (b3 * b2) = (b4 * b3) * b2;
:: MOD_2:th 26
theorem
for b1 being non empty right_complementable associative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
dom ID b2 = b2 &
cod ID b2 = b2 &
(for b3 being strict LModMorphism-like LModMorphismStr over b1
st cod b3 = b2
holds (ID b2) * b3 = b3) &
(for b3 being strict LModMorphism-like LModMorphismStr over b1
st dom b3 = b2
holds b3 * ID b2 = b3);
:: MOD_2:th 28
theorem
for b1 being non empty universal set
for b2, b3, b4 being Element of b1 holds
{b2,b3,b4} is Element of b1;
:: MOD_2:th 29
theorem
for b1 being non empty universal set
for b2 being Element of b1 holds
succ b2 is Element of b1;
:: MOD_2:th 30
theorem
for b1 being non empty universal set holds
0 is Element of b1 & 1 is Element of b1 & 2 is Element of b1;
:: MOD_2:funcnot 10 => MOD_2:func 10
definition
let a1 be Element of {0,1,2};
func - A1 -> Element of {0,1,2} equals
0
if a1 = 0,
2
if a1 = 1
otherwise case a1 = 2;
thus 1;
end;
;
end;
:: MOD_2:def 15
theorem
for b1 being Element of {0,1,2} holds
(b1 = 0 implies - b1 = 0) & (b1 = 1 implies - b1 = 2) & (b1 = 2 implies - b1 = 1);
:: MOD_2:funcnot 11 => MOD_2:func 11
definition
let a1, a2 be Element of {0,1,2};
func A1 + A2 -> Element of {0,1,2} equals
a2
if a1 = 0,
a1
if a2 = 0,
2
if a1 = 1 & a2 = 1,
0
if a1 = 1 & a2 = 2,
0
if a1 = 2 & a2 = 1
otherwise case a1 = 2 & a2 = 2;
thus 1;
end;
;
end;
:: MOD_2:def 16
theorem
for b1, b2 being Element of {0,1,2} holds
(b1 = 0 implies b1 + b2 = b2) &
(b2 = 0 implies b1 + b2 = b1) &
(b1 = 1 & b2 = 1 implies b1 + b2 = 2) &
(b1 = 1 & b2 = 2 implies b1 + b2 = 0) &
(b1 = 2 & b2 = 1 implies b1 + b2 = 0) &
(b1 = 2 & b2 = 2 implies b1 + b2 = 1);
:: MOD_2:funcnot 12 => MOD_2:func 12
definition
let a1, a2 be Element of {0,1,2};
func A1 * A2 -> Element of {0,1,2} equals
0
if a2 = 0,
0
if a1 = 0,
a1
if a2 = 1,
a2
if a1 = 1
otherwise case a1 = 2 & a2 = 2;
thus 1;
end;
;
end;
:: MOD_2:def 17
theorem
for b1, b2 being Element of {0,1,2} holds
(b2 = 0 implies b1 * b2 = 0) &
(b1 = 0 implies b1 * b2 = 0) &
(b2 = 1 implies b1 * b2 = b1) &
(b1 = 1 implies b1 * b2 = b2) &
(b1 = 2 & b2 = 2 implies b1 * b2 = 1);
:: MOD_2:funcnot 13 => MOD_2:func 13
definition
func add3 -> Function-like quasi_total Relation of [:{0,1,2},{0,1,2}:],{0,1,2} means
for b1, b2 being Element of {0,1,2} holds
it .(b1,b2) = b1 + b2;
end;
:: MOD_2:def 18
theorem
for b1 being Function-like quasi_total Relation of [:{0,1,2},{0,1,2}:],{0,1,2} holds
b1 = add3
iff
for b2, b3 being Element of {0,1,2} holds
b1 .(b2,b3) = b2 + b3;
:: MOD_2:funcnot 14 => MOD_2:func 14
definition
func mult3 -> Function-like quasi_total Relation of [:{0,1,2},{0,1,2}:],{0,1,2} means
for b1, b2 being Element of {0,1,2} holds
it .(b1,b2) = b1 * b2;
end;
:: MOD_2:def 19
theorem
for b1 being Function-like quasi_total Relation of [:{0,1,2},{0,1,2}:],{0,1,2} holds
b1 = mult3
iff
for b2, b3 being Element of {0,1,2} holds
b1 .(b2,b3) = b2 * b3;
:: MOD_2:funcnot 15 => MOD_2:func 15
definition
func compl3 -> Function-like quasi_total Relation of {0,1,2},{0,1,2} means
for b1 being Element of {0,1,2} holds
it . b1 = - b1;
end;
:: MOD_2:def 20
theorem
for b1 being Function-like quasi_total Relation of {0,1,2},{0,1,2} holds
b1 = compl3
iff
for b2 being Element of {0,1,2} holds
b1 . b2 = - b2;
:: MOD_2:funcnot 16 => MOD_2:func 16
definition
func unit3 -> Element of {0,1,2} equals
1;
end;
:: MOD_2:def 21
theorem
unit3 = 1;
:: MOD_2:funcnot 17 => MOD_2:func 17
definition
func zero3 -> Element of {0,1,2} equals
0;
end;
:: MOD_2:def 22
theorem
zero3 = 0;
:: MOD_2:funcnot 18 => MOD_2:func 18
definition
func Z3 -> strict doubleLoopStr equals
doubleLoopStr(#{0,1,2},add3,mult3,unit3,zero3#);
end;
:: MOD_2:def 23
theorem
Z3 = doubleLoopStr(#{0,1,2},add3,mult3,unit3,zero3#);
:: MOD_2:funcreg 2
registration
cluster Z3 -> non empty strict;
end;
:: MOD_2:funcreg 3
registration
cluster Z3 -> strict well-unital;
end;
:: MOD_2:th 32
theorem
0. Z3 = 0 &
1. Z3 = 1 &
0. Z3 is Element of {0,1,2} &
1. Z3 is Element of {0,1,2} &
the addF of Z3 = add3 &
the multF of Z3 = mult3;
:: MOD_2:funcreg 4
registration
cluster Z3 -> right_complementable strict add-associative right_zeroed;
end;
:: MOD_2:th 33
theorem
for b1, b2 being Element of the carrier of Z3
for b3, b4 being Element of {0,1,2}
st b3 = b1 & b4 = b2
holds b1 + b2 = b3 + b4 & b1 * b2 = b3 * b4 & - b1 = - b3;
:: MOD_2:th 34
theorem
for b1, b2, b3 being Element of the carrier of Z3
for b4, b5, b6 being Element of {0,1,2}
st b4 = b1 & b5 = b2 & b6 = b3
holds (b1 + b2) + b3 = (b4 + b5) + b6 &
b1 + (b2 + b3) = b4 + (b5 + b6) &
(b1 * b2) * b3 = (b4 * b5) * b6 &
b1 * (b2 * b3) = b4 * (b5 * b6);
:: MOD_2:th 35
theorem
for b1, b2, b3, b4, b5 being Element of {0,1,2}
st b4 = 0 & b5 = 1
holds b1 + b2 = b2 + b1 &
(b1 + b2) + b3 = b1 + (b2 + b3) &
b1 + b4 = b1 &
b1 + - b1 = b4 &
b1 * b2 = b2 * b1 &
(b1 * b2) * b3 = b1 * (b2 * b3) &
b5 * b1 = b1 &
(b1 <> b4 implies ex b6 being Element of {0,1,2} st
b1 * b6 = b5) &
b4 <> b5 &
b1 * (b2 + b3) = (b1 * b2) + (b1 * b3);
:: MOD_2:th 36
theorem
for b1 being non empty doubleLoopStr
st for b2, b3, b4 being Element of the carrier of b1 holds
b2 + b3 = b3 + b2 &
(b2 + b3) + b4 = b2 + (b3 + b4) &
b2 + 0. b1 = b2 &
b2 + - b2 = 0. b1 &
b2 * b3 = b3 * b2 &
(b2 * b3) * b4 = b2 * (b3 * b4) &
(1. b1) * b2 = b2 &
b2 * 1. b1 = b2 &
(b2 <> 0. b1 implies ex b5 being Element of the carrier of b1 st
b2 * b5 = 1. b1) &
0. b1 <> 1. b1 &
b2 * (b3 + b4) = (b2 * b3) + (b2 * b4)
holds b1 is non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
:: MOD_2:th 37
theorem
Z3 is non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Fanoian Abelian add-associative right_zeroed doubleLoopStr;
:: MOD_2:funcreg 5
registration
cluster Z3 -> right_complementable almost_left_invertible strict associative commutative well-unital distributive Fanoian Abelian add-associative right_zeroed;
end;
:: MOD_2:th 38
theorem
for b1, b2 being non empty set
for b3 being non empty universal set
for b4 being Function-like quasi_total Relation of b1,b2
st b1 in b3 & b2 in b3
holds b4 in b3;
:: MOD_2:th 40
theorem
for b1 being non empty universal set holds
the carrier of Z3 in b1 & the addF of Z3 in b1 & comp Z3 in b1 & 0. Z3 in b1 & the multF of Z3 in b1 & 1. Z3 in b1;