Article QUOFIELD, MML version 4.99.1005
:: QUOFIELD:funcnot 1 => QUOFIELD:func 1
definition
let a1 be non empty ZeroStr;
func Q. A1 -> Element of bool [:the carrier of a1,the carrier of a1:] means
for b1 being set holds
b1 in it
iff
ex b2, b3 being Element of the carrier of a1 st
b1 = [b2,b3] & b3 <> 0. a1;
end;
:: QUOFIELD:def 1
theorem
for b1 being non empty ZeroStr
for b2 being Element of bool [:the carrier of b1,the carrier of b1:] holds
b2 = Q. b1
iff
for b3 being set holds
b3 in b2
iff
ex b4, b5 being Element of the carrier of b1 st
b3 = [b4,b5] & b5 <> 0. b1;
:: QUOFIELD:th 1
theorem
for b1 being non empty non degenerated multLoopStr_0 holds
Q. b1 is not empty;
:: QUOFIELD:funcreg 1
registration
let a1 be non empty non degenerated multLoopStr_0;
cluster Q. a1 -> non empty;
end;
:: QUOFIELD:th 2
theorem
for b1 being non empty non degenerated multLoopStr_0
for b2 being Element of Q. b1 holds
b2 `2 <> 0. b1;
:: QUOFIELD:funcnot 2 => QUOFIELD:func 2
definition
let a1 be non empty non degenerated multLoopStr_0;
let a2 be Element of Q. a1;
redefine func a2 `1 -> Element of the carrier of a1;
end;
:: QUOFIELD:funcnot 3 => QUOFIELD:func 3
definition
let a1 be non empty non degenerated multLoopStr_0;
let a2 be Element of Q. a1;
redefine func a2 `2 -> Element of the carrier of a1;
end;
:: QUOFIELD:funcnot 4 => QUOFIELD:func 4
definition
let a1 be non empty non degenerated domRing-like doubleLoopStr;
let a2, a3 be Element of Q. a1;
func padd(A2,A3) -> Element of Q. a1 equals
[(a2 `1 * (a3 `2)) + (a3 `1 * (a2 `2)),a2 `2 * (a3 `2)];
end;
:: QUOFIELD:def 2
theorem
for b1 being non empty non degenerated domRing-like doubleLoopStr
for b2, b3 being Element of Q. b1 holds
padd(b2,b3) = [(b2 `1 * (b3 `2)) + (b3 `1 * (b2 `2)),b2 `2 * (b3 `2)];
:: QUOFIELD:funcnot 5 => QUOFIELD:func 5
definition
let a1 be non empty non degenerated domRing-like doubleLoopStr;
let a2, a3 be Element of Q. a1;
func pmult(A2,A3) -> Element of Q. a1 equals
[a2 `1 * (a3 `1),a2 `2 * (a3 `2)];
end;
:: QUOFIELD:def 3
theorem
for b1 being non empty non degenerated domRing-like doubleLoopStr
for b2, b3 being Element of Q. b1 holds
pmult(b2,b3) = [b2 `1 * (b3 `1),b2 `2 * (b3 `2)];
:: QUOFIELD:th 4
theorem
for b1 being non empty non degenerated Abelian add-associative associative commutative distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Q. b1 holds
padd(b2,padd(b3,b4)) = padd(padd(b2,b3),b4) &
padd(b2,b3) = padd(b3,b2);
:: QUOFIELD:th 5
theorem
for b1 being non empty non degenerated Abelian associative commutative domRing-like doubleLoopStr
for b2, b3, b4 being Element of Q. b1 holds
pmult(b2,pmult(b3,b4)) = pmult(pmult(b2,b3),b4) &
pmult(b2,b3) = pmult(b3,b2);
:: QUOFIELD:funcnot 6 => QUOFIELD:func 6
definition
let a1 be non empty non degenerated Abelian add-associative associative commutative distributive domRing-like doubleLoopStr;
let a2, a3 be Element of Q. a1;
redefine func padd(a2,a3) -> Element of Q. a1;
commutativity;
:: for a1 being non empty non degenerated Abelian add-associative associative commutative distributive domRing-like doubleLoopStr
:: for a2, a3 being Element of Q. a1 holds
:: padd(a2,a3) = padd(a3,a2);
end;
:: QUOFIELD:funcnot 7 => QUOFIELD:func 7
definition
let a1 be non empty non degenerated Abelian associative commutative domRing-like doubleLoopStr;
let a2, a3 be Element of Q. a1;
redefine func pmult(a2,a3) -> Element of Q. a1;
commutativity;
:: for a1 being non empty non degenerated Abelian associative commutative domRing-like doubleLoopStr
:: for a2, a3 being Element of Q. a1 holds
:: pmult(a2,a3) = pmult(a3,a2);
end;
:: QUOFIELD:funcnot 8 => QUOFIELD:func 8
definition
let a1 be non empty non degenerated multLoopStr_0;
let a2 be Element of Q. a1;
func QClass. A2 -> Element of bool Q. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
b1 `1 * (a2 `2) = b1 `2 * (a2 `1);
end;
:: QUOFIELD:def 4
theorem
for b1 being non empty non degenerated multLoopStr_0
for b2 being Element of Q. b1
for b3 being Element of bool Q. b1 holds
b3 = QClass. b2
iff
for b4 being Element of Q. b1 holds
b4 in b3
iff
b4 `1 * (b2 `2) = b4 `2 * (b2 `1);
:: QUOFIELD:th 6
theorem
for b1 being non empty non degenerated commutative multLoopStr_0
for b2 being Element of Q. b1 holds
b2 in QClass. b2;
:: QUOFIELD:funcreg 2
registration
let a1 be non empty non degenerated commutative multLoopStr_0;
let a2 be Element of Q. a1;
cluster QClass. a2 -> non empty;
end;
:: QUOFIELD:funcnot 9 => QUOFIELD:func 9
definition
let a1 be non empty non degenerated multLoopStr_0;
func Quot. A1 -> Element of bool bool Q. a1 means
for b1 being Element of bool Q. a1 holds
b1 in it
iff
ex b2 being Element of Q. a1 st
b1 = QClass. b2;
end;
:: QUOFIELD:def 5
theorem
for b1 being non empty non degenerated multLoopStr_0
for b2 being Element of bool bool Q. b1 holds
b2 = Quot. b1
iff
for b3 being Element of bool Q. b1 holds
b3 in b2
iff
ex b4 being Element of Q. b1 st
b3 = QClass. b4;
:: QUOFIELD:th 7
theorem
for b1 being non empty non degenerated multLoopStr_0 holds
Quot. b1 is not empty;
:: QUOFIELD:funcreg 3
registration
let a1 be non empty non degenerated multLoopStr_0;
cluster Quot. a1 -> non empty;
end;
:: QUOFIELD:th 8
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Q. b1
st ex b4 being Element of Quot. b1 st
b2 in b4 & b3 in b4
holds b2 `1 * (b3 `2) = b3 `1 * (b2 `2);
:: QUOFIELD:th 9
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Quot. b1
st b2 meets b3
holds b2 = b3;
:: QUOFIELD:funcnot 10 => QUOFIELD:func 10
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
let a2, a3 be Element of Quot. a1;
func qadd(A2,A3) -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
ex b2, b3 being Element of Q. a1 st
b2 in a2 &
b3 in a3 &
b1 `1 * (b2 `2 * (b3 `2)) = b1 `2 * ((b2 `1 * (b3 `2)) + (b3 `1 * (b2 `2)));
end;
:: QUOFIELD:def 6
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
b4 = qadd(b2,b3)
iff
for b5 being Element of Q. b1 holds
b5 in b4
iff
ex b6, b7 being Element of Q. b1 st
b6 in b2 &
b7 in b3 &
b5 `1 * (b6 `2 * (b7 `2)) = b5 `2 * ((b6 `1 * (b7 `2)) + (b7 `1 * (b6 `2)));
:: QUOFIELD:funcnot 11 => QUOFIELD:func 11
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
let a2, a3 be Element of Quot. a1;
func qmult(A2,A3) -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
ex b2, b3 being Element of Q. a1 st
b2 in a2 &
b3 in a3 &
b1 `1 * (b2 `2 * (b3 `2)) = b1 `2 * (b2 `1 * (b3 `1));
end;
:: QUOFIELD:def 7
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
b4 = qmult(b2,b3)
iff
for b5 being Element of Q. b1 holds
b5 in b4
iff
ex b6, b7 being Element of Q. b1 st
b6 in b2 &
b7 in b3 &
b5 `1 * (b6 `2 * (b7 `2)) = b5 `2 * (b6 `1 * (b7 `1));
:: QUOFIELD:funcnot 12 => QUOFIELD:func 12
definition
let a1 be non empty non degenerated multLoopStr_0;
let a2 be Element of Q. a1;
redefine func QClass. a2 -> Element of Quot. a1;
end;
:: QUOFIELD:th 11
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Q. b1 holds
qadd(QClass. b2,QClass. b3) = QClass. padd(b2,b3);
:: QUOFIELD:th 12
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Q. b1 holds
qmult(QClass. b2,QClass. b3) = QClass. pmult(b2,b3);
:: QUOFIELD:funcnot 13 => QUOFIELD:func 13
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func q0. A1 -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
b1 `1 = 0. a1;
end;
:: QUOFIELD:def 8
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
b2 = q0. b1
iff
for b3 being Element of Q. b1 holds
b3 in b2
iff
b3 `1 = 0. b1;
:: QUOFIELD:funcnot 14 => QUOFIELD:func 14
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func q1. A1 -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
b1 `1 = b1 `2;
end;
:: QUOFIELD:def 9
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
b2 = q1. b1
iff
for b3 being Element of Q. b1 holds
b3 in b2
iff
b3 `1 = b3 `2;
:: QUOFIELD:funcnot 15 => QUOFIELD:func 15
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
let a2 be Element of Quot. a1;
func qaddinv A2 -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
ex b2 being Element of Q. a1 st
b2 in a2 &
b1 `1 * (b2 `2) = b1 `2 * - (b2 `1);
end;
:: QUOFIELD:def 10
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Quot. b1 holds
b3 = qaddinv b2
iff
for b4 being Element of Q. b1 holds
b4 in b3
iff
ex b5 being Element of Q. b1 st
b5 in b2 &
b4 `1 * (b5 `2) = b4 `2 * - (b5 `1);
:: QUOFIELD:funcnot 16 => QUOFIELD:func 16
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
let a2 be Element of Quot. a1;
assume a2 <> q0. a1;
func qmultinv A2 -> Element of Quot. a1 means
for b1 being Element of Q. a1 holds
b1 in it
iff
ex b2 being Element of Q. a1 st
b2 in a2 &
b1 `1 * (b2 `1) = b1 `2 * (b2 `2);
end;
:: QUOFIELD:def 11
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1
st b2 <> q0. b1
for b3 being Element of Quot. b1 holds
b3 = qmultinv b2
iff
for b4 being Element of Q. b1 holds
b4 in b3
iff
ex b5 being Element of Q. b1 st
b5 in b2 &
b4 `1 * (b5 `1) = b4 `2 * (b5 `2);
:: QUOFIELD:th 13
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
qadd(b2,qadd(b3,b4)) = qadd(qadd(b2,b3),b4) &
qadd(b2,b3) = qadd(b3,b2);
:: QUOFIELD:th 14
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
qadd(b2,q0. b1) = b2 & qadd(q0. b1,b2) = b2;
:: QUOFIELD:th 15
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
qmult(b2,qmult(b3,b4)) = qmult(qmult(b2,b3),b4) &
qmult(b2,b3) = qmult(b3,b2);
:: QUOFIELD:th 16
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
qmult(b2,q1. b1) = b2 & qmult(q1. b1,b2) = b2;
:: QUOFIELD:th 17
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
qmult(qadd(b2,b3),b4) = qadd(qmult(b2,b4),qmult(b3,b4));
:: QUOFIELD:th 18
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
qmult(b2,qadd(b3,b4)) = qadd(qmult(b2,b3),qmult(b2,b4));
:: QUOFIELD:th 19
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
qadd(b2,qaddinv b2) = q0. b1 & qadd(qaddinv b2,b2) = q0. b1;
:: QUOFIELD:th 20
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1
st b2 <> q0. b1
holds qmult(b2,qmultinv b2) = q1. b1 & qmult(qmultinv b2,b2) = q1. b1;
:: QUOFIELD:th 21
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
q1. b1 <> q0. b1;
:: QUOFIELD:funcnot 17 => QUOFIELD:func 17
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func quotadd A1 -> Function-like quasi_total Relation of [:Quot. a1,Quot. a1:],Quot. a1 means
for b1, b2 being Element of Quot. a1 holds
it .(b1,b2) = qadd(b1,b2);
end;
:: QUOFIELD:def 12
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total Relation of [:Quot. b1,Quot. b1:],Quot. b1 holds
b2 = quotadd b1
iff
for b3, b4 being Element of Quot. b1 holds
b2 .(b3,b4) = qadd(b3,b4);
:: QUOFIELD:funcnot 18 => QUOFIELD:func 18
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func quotmult A1 -> Function-like quasi_total Relation of [:Quot. a1,Quot. a1:],Quot. a1 means
for b1, b2 being Element of Quot. a1 holds
it .(b1,b2) = qmult(b1,b2);
end;
:: QUOFIELD:def 13
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total Relation of [:Quot. b1,Quot. b1:],Quot. b1 holds
b2 = quotmult b1
iff
for b3, b4 being Element of Quot. b1 holds
b2 .(b3,b4) = qmult(b3,b4);
:: QUOFIELD:funcnot 19 => QUOFIELD:func 19
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func quotaddinv A1 -> Function-like quasi_total Relation of Quot. a1,Quot. a1 means
for b1 being Element of Quot. a1 holds
it . b1 = qaddinv b1;
end;
:: QUOFIELD:def 14
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total Relation of Quot. b1,Quot. b1 holds
b2 = quotaddinv b1
iff
for b3 being Element of Quot. b1 holds
b2 . b3 = qaddinv b3;
:: QUOFIELD:funcnot 20 => QUOFIELD:func 20
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func quotmultinv A1 -> Function-like quasi_total Relation of Quot. a1,Quot. a1 means
for b1 being Element of Quot. a1 holds
it . b1 = qmultinv b1;
end;
:: QUOFIELD:def 15
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total Relation of Quot. b1,Quot. b1 holds
b2 = quotmultinv b1
iff
for b3 being Element of Quot. b1 holds
b2 . b3 = qmultinv b3;
:: QUOFIELD:th 22
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
(quotadd b1) .((quotadd b1) .(b2,b3),b4) = (quotadd b1) .(b2,(quotadd b1) .(b3,b4));
:: QUOFIELD:th 23
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Quot. b1 holds
(quotadd b1) .(b2,b3) = (quotadd b1) .(b3,b2);
:: QUOFIELD:th 24
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
(quotadd b1) .(b2,q0. b1) = b2 & (quotadd b1) .(q0. b1,b2) = b2;
:: QUOFIELD:th 25
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
(quotmult b1) .((quotmult b1) .(b2,b3),b4) = (quotmult b1) .(b2,(quotmult b1) .(b3,b4));
:: QUOFIELD:th 26
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of Quot. b1 holds
(quotmult b1) .(b2,b3) = (quotmult b1) .(b3,b2);
:: QUOFIELD:th 27
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
(quotmult b1) .(b2,q1. b1) = b2 & (quotmult b1) .(q1. b1,b2) = b2;
:: QUOFIELD:th 28
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
(quotmult b1) .((quotadd b1) .(b2,b3),b4) = (quotadd b1) .((quotmult b1) .(b2,b4),(quotmult b1) .(b3,b4));
:: QUOFIELD:th 29
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of Quot. b1 holds
(quotmult b1) .(b2,(quotadd b1) .(b3,b4)) = (quotadd b1) .((quotmult b1) .(b2,b3),(quotmult b1) .(b2,b4));
:: QUOFIELD:th 30
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1 holds
(quotadd b1) .(b2,(quotaddinv b1) . b2) = q0. b1 &
(quotadd b1) .((quotaddinv b1) . b2,b2) = q0. b1;
:: QUOFIELD:th 31
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of Quot. b1
st b2 <> q0. b1
holds (quotmult b1) .(b2,(quotmultinv b1) . b2) = q1. b1 &
(quotmult b1) .((quotmultinv b1) . b2,b2) = q1. b1;
:: QUOFIELD:funcnot 21 => QUOFIELD:func 21
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func the_Field_of_Quotients A1 -> strict doubleLoopStr equals
doubleLoopStr(#Quot. a1,quotadd a1,quotmult a1,q1. a1,q0. a1#);
end;
:: QUOFIELD:def 16
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
the_Field_of_Quotients b1 = doubleLoopStr(#Quot. b1,quotadd b1,quotmult b1,q1. b1,q0. b1#);
:: QUOFIELD:funcreg 4
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> non empty strict;
end;
:: QUOFIELD:th 32
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
the carrier of the_Field_of_Quotients b1 = Quot. b1 & the addF of the_Field_of_Quotients b1 = quotadd b1 & the multF of the_Field_of_Quotients b1 = quotmult b1 & 0. the_Field_of_Quotients b1 = q0. b1 & 1. the_Field_of_Quotients b1 = q1. b1;
:: QUOFIELD:th 33
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
(quotadd b1) .(b2,b3) is Element of the carrier of the_Field_of_Quotients b1;
:: QUOFIELD:th 34
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1 holds
(quotaddinv b1) . b2 is Element of the carrier of the_Field_of_Quotients b1;
:: QUOFIELD:th 35
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
(quotmult b1) .(b2,b3) is Element of the carrier of the_Field_of_Quotients b1;
:: QUOFIELD:th 36
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1 holds
(quotmultinv b1) . b2 is Element of the carrier of the_Field_of_Quotients b1;
:: QUOFIELD:th 37
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
b2 + b3 = (quotadd b1) .(b2,b3);
:: QUOFIELD:funcreg 5
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> right_complementable strict add-associative right_zeroed;
end;
:: QUOFIELD:th 38
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1 holds
- b2 = (quotaddinv b1) . b2;
:: QUOFIELD:th 39
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
b2 * b3 = (quotmult b1) .(b2,b3);
:: QUOFIELD:funcreg 6
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> strict commutative;
end;
:: QUOFIELD:funcreg 7
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> strict well-unital;
end;
:: QUOFIELD:th 40
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
1. the_Field_of_Quotients b1 = q1. b1 & 0. the_Field_of_Quotients b1 = q0. b1;
:: QUOFIELD:th 41
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of the carrier of the_Field_of_Quotients b1 holds
(b2 + b3) + b4 = b2 + (b3 + b4);
:: QUOFIELD:th 42
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
b2 + b3 = b3 + b2;
:: QUOFIELD:th 43
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1 holds
b2 + 0. the_Field_of_Quotients b1 = b2;
:: QUOFIELD:th 45
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1 holds
(1. the_Field_of_Quotients b1) * b2 = b2;
:: QUOFIELD:th 46
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being Element of the carrier of the_Field_of_Quotients b1 holds
b2 * b3 = b3 * b2;
:: QUOFIELD:th 47
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3, b4 being Element of the carrier of the_Field_of_Quotients b1 holds
(b2 * b3) * b4 = b2 * (b3 * b4);
:: QUOFIELD:th 48
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1
st b2 <> 0. the_Field_of_Quotients b1
holds ex b3 being Element of the carrier of the_Field_of_Quotients b1 st
b2 * b3 = 1. the_Field_of_Quotients b1;
:: QUOFIELD:th 49
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
the_Field_of_Quotients b1 is non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed unital associative distributive doubleLoopStr;
:: QUOFIELD:funcreg 8
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> non degenerated almost_left_invertible strict Abelian associative distributive;
end;
:: QUOFIELD:th 50
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Element of the carrier of the_Field_of_Quotients b1
st b2 <> 0. the_Field_of_Quotients b1
for b3 being Element of the carrier of b1
st b3 <> 0. b1
for b4 being Element of Q. b1
st b2 = QClass. b4 & b4 = [b3,1. b1]
for b5 being Element of Q. b1
st b5 = [1. b1,b3]
holds b2 " = QClass. b5;
:: QUOFIELD:condreg 1
registration
cluster non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive -> right_unital domRing-like (doubleLoopStr);
end;
:: QUOFIELD:exreg 1
registration
cluster non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative distributive left_unital doubleLoopStr;
end;
:: QUOFIELD:funcnot 22 => QUOFIELD:func 22
definition
let a1 be non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr;
let a2, a3 be Element of the carrier of a1;
func A2 / A3 -> Element of the carrier of a1 equals
a2 * (a3 ");
end;
:: QUOFIELD:def 17
theorem
for b1 being non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr
for b2, b3 being Element of the carrier of b1 holds
b2 / b3 = b2 * (b3 ");
:: QUOFIELD:th 51
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2, b3, b4, b5 being Element of the carrier of b1
st b3 <> 0. b1 & b5 <> 0. b1
holds (b2 / b3) * (b4 / b5) = (b2 * b4) / (b3 * b5);
:: QUOFIELD:th 52
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2, b3, b4, b5 being Element of the carrier of b1
st b3 <> 0. b1 & b5 <> 0. b1
holds (b2 / b3) + (b4 / b5) = ((b2 * b5) + (b4 * b3)) / (b3 * b5);
:: QUOFIELD:attrnot 1 => QUOFIELD:attr 1
definition
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
attr a3 is RingHomomorphism means
a3 is additive(a1, a2) & a3 is multiplicative(a1, a2) & a3 is unity-preserving(a1, a2);
end;
:: QUOFIELD:dfs 18
definiens
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is RingHomomorphism
it is sufficient to prove
thus a3 is additive(a1, a2) & a3 is multiplicative(a1, a2) & a3 is unity-preserving(a1, a2);
:: QUOFIELD:def 21
theorem
for b1, b2 being non empty doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is RingHomomorphism(b1, b2)
iff
b3 is additive(b1, b2) & b3 is multiplicative(b1, b2) & b3 is unity-preserving(b1, b2);
:: QUOFIELD:condreg 2
registration
let a1, a2 be non empty doubleLoopStr;
cluster Function-like quasi_total RingHomomorphism -> additive unity-preserving multiplicative (Relation of the carrier of a1,the carrier of a2);
end;
:: QUOFIELD:condreg 3
registration
let a1, a2 be non empty doubleLoopStr;
cluster Function-like quasi_total additive unity-preserving multiplicative -> RingHomomorphism (Relation of the carrier of a1,the carrier of a2);
end;
:: QUOFIELD:attrnot 2 => QUOFIELD:attr 2
definition
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
attr a3 is RingEpimorphism means
a3 is RingHomomorphism(a1, a2) & rng a3 = the carrier of a2;
end;
:: QUOFIELD:dfs 19
definiens
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is RingEpimorphism
it is sufficient to prove
thus a3 is RingHomomorphism(a1, a2) & rng a3 = the carrier of a2;
:: QUOFIELD:def 22
theorem
for b1, b2 being non empty doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is RingEpimorphism(b1, b2)
iff
b3 is RingHomomorphism(b1, b2) & rng b3 = the carrier of b2;
:: QUOFIELD:attrnot 3 => QUOFIELD:attr 3
definition
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
attr a3 is RingMonomorphism means
a3 is RingHomomorphism(a1, a2) & a3 is one-to-one;
end;
:: QUOFIELD:dfs 20
definiens
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is RingMonomorphism
it is sufficient to prove
thus a3 is RingHomomorphism(a1, a2) & a3 is one-to-one;
:: QUOFIELD:def 23
theorem
for b1, b2 being non empty doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is RingMonomorphism(b1, b2)
iff
b3 is RingHomomorphism(b1, b2) & b3 is one-to-one;
:: QUOFIELD:attrnot 4 => QUOFIELD:attr 3
notation
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
synonym embedding for RingMonomorphism;
end;
:: QUOFIELD:attrnot 5 => QUOFIELD:attr 4
definition
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
attr a3 is RingIsomorphism means
a3 is RingMonomorphism(a1, a2) & a3 is RingEpimorphism(a1, a2);
end;
:: QUOFIELD:dfs 21
definiens
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is RingIsomorphism
it is sufficient to prove
thus a3 is RingMonomorphism(a1, a2) & a3 is RingEpimorphism(a1, a2);
:: QUOFIELD:def 24
theorem
for b1, b2 being non empty doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is RingIsomorphism(b1, b2)
iff
b3 is RingMonomorphism(b1, b2) & b3 is RingEpimorphism(b1, b2);
:: QUOFIELD:condreg 4
registration
let a1, a2 be non empty doubleLoopStr;
cluster Function-like quasi_total RingIsomorphism -> RingEpimorphism RingMonomorphism (Relation of the carrier of a1,the carrier of a2);
end;
:: QUOFIELD:condreg 5
registration
let a1, a2 be non empty doubleLoopStr;
cluster Function-like quasi_total RingEpimorphism RingMonomorphism -> RingIsomorphism (Relation of the carrier of a1,the carrier of a2);
end;
:: QUOFIELD:th 53
theorem
for b1, b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st b3 is RingHomomorphism(b1, b2)
holds b3 . 0. b1 = 0. b2;
:: QUOFIELD:th 54
theorem
for b1, b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st b3 is RingMonomorphism(b1, b2)
for b4 being Element of the carrier of b1 holds
b3 . b4 = 0. b2
iff
b4 = 0. b1;
:: QUOFIELD:th 55
theorem
for b1, b2 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st b3 is RingHomomorphism(b1, b2)
for b4 being Element of the carrier of b1
st b4 <> 0. b1
holds b3 . (b4 ") = (b3 . b4) ";
:: QUOFIELD:th 56
theorem
for b1, b2 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st b3 is RingHomomorphism(b1, b2)
for b4, b5 being Element of the carrier of b1
st b5 <> 0. b1
holds b3 . (b4 * (b5 ")) = (b3 . b4) * ((b3 . b5) ");
:: QUOFIELD:th 57
theorem
for b1, b2, b3 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
st b4 is RingHomomorphism(b1, b2)
for b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
st b5 is RingHomomorphism(b2, b3)
holds b5 * b4 is RingHomomorphism(b1, b3);
:: QUOFIELD:th 58
theorem
for b1 being non empty doubleLoopStr holds
id b1 is RingHomomorphism(b1, b1);
:: QUOFIELD:funcreg 9
registration
let a1 be non empty doubleLoopStr;
cluster id a1 -> Function-like quasi_total RingHomomorphism;
end;
:: QUOFIELD:prednot 1 => QUOFIELD:pred 1
definition
let a1, a2 be non empty doubleLoopStr;
pred A1 is_embedded_in A2 means
ex b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a2 st
b1 is RingMonomorphism(a1, a2);
end;
:: QUOFIELD:dfs 22
definiens
let a1, a2 be non empty doubleLoopStr;
To prove
a1 is_embedded_in a2
it is sufficient to prove
thus ex b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a2 st
b1 is RingMonomorphism(a1, a2);
:: QUOFIELD:def 25
theorem
for b1, b2 being non empty doubleLoopStr holds
b1 is_embedded_in b2
iff
ex b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 st
b3 is RingMonomorphism(b1, b2);
:: QUOFIELD:prednot 2 => QUOFIELD:pred 2
definition
let a1, a2 be non empty doubleLoopStr;
pred A1 is_ringisomorph_to A2 means
ex b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a2 st
b1 is RingIsomorphism(a1, a2);
symmetry;
:: for a1, a2 being non empty doubleLoopStr
:: st a1 is_ringisomorph_to a2
:: holds a2 is_ringisomorph_to a1;
end;
:: QUOFIELD:dfs 23
definiens
let a1, a2 be non empty doubleLoopStr;
To prove
a1 is_ringisomorph_to a2
it is sufficient to prove
thus ex b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a2 st
b1 is RingIsomorphism(a1, a2);
:: QUOFIELD:def 26
theorem
for b1, b2 being non empty doubleLoopStr holds
b1 is_ringisomorph_to b2
iff
ex b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 st
b3 is RingIsomorphism(b1, b2);
:: QUOFIELD:funcnot 23 => QUOFIELD:func 23
definition
let a1 be non empty ZeroStr;
let a2, a3 be Element of the carrier of a1;
assume a3 <> 0. a1;
func quotient(A2,A3) -> Element of Q. a1 equals
[a2,a3];
end;
:: QUOFIELD:def 27
theorem
for b1 being non empty ZeroStr
for b2, b3 being Element of the carrier of b1
st b3 <> 0. b1
holds quotient(b2,b3) = [b2,b3];
:: QUOFIELD:funcnot 24 => QUOFIELD:func 24
definition
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
func canHom A1 -> Function-like quasi_total Relation of the carrier of a1,the carrier of the_Field_of_Quotients a1 means
for b1 being Element of the carrier of a1 holds
it . b1 = QClass. quotient(b1,1. a1);
end;
:: QUOFIELD:def 28
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2 being Function-like quasi_total Relation of the carrier of b1,the carrier of the_Field_of_Quotients b1 holds
b2 = canHom b1
iff
for b3 being Element of the carrier of b1 holds
b2 . b3 = QClass. quotient(b3,1. b1);
:: QUOFIELD:th 59
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
canHom b1 is RingHomomorphism(b1, the_Field_of_Quotients b1);
:: QUOFIELD:th 60
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
canHom b1 is RingMonomorphism(b1, the_Field_of_Quotients b1);
:: QUOFIELD:th 61
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
b1 is_embedded_in the_Field_of_Quotients b1;
:: QUOFIELD:th 62
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
b1 is_ringisomorph_to the_Field_of_Quotients b1;
:: QUOFIELD:funcreg 10
registration
let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr;
cluster the_Field_of_Quotients a1 -> strict right-distributive right_unital domRing-like;
end;
:: QUOFIELD:th 63
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
the_Field_of_Quotients the_Field_of_Quotients b1 is_ringisomorph_to the_Field_of_Quotients b1;
:: QUOFIELD:prednot 3 => QUOFIELD:pred 3
definition
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
pred A1 has_Field_of_Quotients_Pair A2,A3 means
a3 is RingMonomorphism(a1, a2) &
(for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total Relation of the carrier of a1,the carrier of b1
st b2 is RingMonomorphism(a1, b1)
holds ex b3 being Function-like quasi_total Relation of the carrier of a2,the carrier of b1 st
b3 is RingHomomorphism(a2, b1) &
b3 * a3 = b2 &
(for b4 being Function-like quasi_total Relation of the carrier of a2,the carrier of b1
st b4 is RingHomomorphism(a2, b1) & b4 * a3 = b2
holds b4 = b3));
end;
:: QUOFIELD:dfs 26
definiens
let a1, a2 be non empty doubleLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a1 has_Field_of_Quotients_Pair a2,a3
it is sufficient to prove
thus a3 is RingMonomorphism(a1, a2) &
(for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being Function-like quasi_total Relation of the carrier of a1,the carrier of b1
st b2 is RingMonomorphism(a1, b1)
holds ex b3 being Function-like quasi_total Relation of the carrier of a2,the carrier of b1 st
b3 is RingHomomorphism(a2, b1) &
b3 * a3 = b2 &
(for b4 being Function-like quasi_total Relation of the carrier of a2,the carrier of b1
st b4 is RingHomomorphism(a2, b1) & b4 * a3 = b2
holds b4 = b3));
:: QUOFIELD:def 29
theorem
for b1, b2 being non empty doubleLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b1 has_Field_of_Quotients_Pair b2,b3
iff
b3 is RingMonomorphism(b1, b2) &
(for b4 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b4
st b5 is RingMonomorphism(b1, b4)
holds ex b6 being Function-like quasi_total Relation of the carrier of b2,the carrier of b4 st
b6 is RingHomomorphism(b2, b4) &
b6 * b3 = b5 &
(for b7 being Function-like quasi_total Relation of the carrier of b2,the carrier of b4
st b7 is RingHomomorphism(b2, b4) & b7 * b3 = b5
holds b7 = b6));
:: QUOFIELD:th 64
theorem
for b1 being non empty non degenerated right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr holds
ex b2 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr st
ex b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 st
b1 has_Field_of_Quotients_Pair b2,b3;
:: QUOFIELD:th 65
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative commutative well-unital distributive domRing-like doubleLoopStr
for b2, b3 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b3
st b1 has_Field_of_Quotients_Pair b2,b4 & b1 has_Field_of_Quotients_Pair b3,b5
holds b2 is_ringisomorph_to b3;