begin
theorem Th1:
theorem
theorem
:: deftheorem ALGSTR_1:def 1 :
canceled;
:: deftheorem ALGSTR_1:def 2 :
canceled;
:: deftheorem defines Extract ALGSTR_1:def 3 :
for x being set holds Extract x = x;
theorem
canceled;
theorem Th5:
theorem
Lm1:
( ( for a being Element of Trivial-addLoopStr holds a + (0. Trivial-addLoopStr) = a ) & ( for a being Element of Trivial-addLoopStr holds (0. Trivial-addLoopStr) + a = a ) )
by Th5;
Lm2:
for a, b being Element of Trivial-addLoopStr ex x being Element of Trivial-addLoopStr st a + x = b
Lm3:
for a, b being Element of Trivial-addLoopStr ex x being Element of Trivial-addLoopStr st x + a = b
Lm4:
( ( for a, x, y being Element of Trivial-addLoopStr st a + x = a + y holds
x = y ) & ( for a, x, y being Element of Trivial-addLoopStr st x + a = y + a holds
x = y ) )
by Th5;
:: deftheorem ALGSTR_1:def 4 :
canceled;
:: deftheorem Def5 defines left_zeroed ALGSTR_1:def 5 :
for IT being non empty addLoopStr holds
( IT is left_zeroed iff for a being Element of IT holds (0. IT) + a = a );
:: deftheorem ALGSTR_1:def 6 :
canceled;
:: deftheorem ALGSTR_1:def 7 :
canceled;
:: deftheorem Def8 defines add-left-invertible ALGSTR_1:def 8 :
for L being non empty addLoopStr holds
( L is add-left-invertible iff for a, b being Element of L ex x being Element of L st x + a = b );
:: deftheorem Def9 defines add-right-invertible ALGSTR_1:def 9 :
for L being non empty addLoopStr holds
( L is add-right-invertible iff for a, b being Element of L ex x being Element of L st a + x = b );
:: deftheorem ALGSTR_1:def 10 :
canceled;
:: deftheorem ALGSTR_1:def 11 :
canceled;
:: deftheorem Def12 defines Loop-like ALGSTR_1:def 12 :
for IT being non empty addLoopStr holds
( IT is Loop-like iff ( IT is left_add-cancelable & IT is right_add-cancelable & IT is add-left-invertible & IT is add-right-invertible ) );
theorem Th7:
Lm5:
for a, b, c being Element of Trivial-addLoopStr holds (a + b) + c = a + (b + c)
by Th5;
Lm6:
for a, b being Element of Trivial-addLoopStr holds a + b = b + a
by Th5;
theorem
canceled;
theorem Th9:
theorem
canceled;
theorem
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem Th18:
theorem
Lm7:
( ( for a being Element of Trivial-multLoopStr holds a * (1. Trivial-multLoopStr) = a ) & ( for a being Element of Trivial-multLoopStr holds (1. Trivial-multLoopStr) * a = a ) )
by Th18;
Lm8:
for a, b being Element of Trivial-multLoopStr ex x being Element of Trivial-multLoopStr st a * x = b
Lm9:
for a, b being Element of Trivial-multLoopStr ex x being Element of Trivial-multLoopStr st x * a = b
:: deftheorem ALGSTR_1:def 13 :
canceled;
:: deftheorem Def14 defines invertible ALGSTR_1:def 14 :
for IT being non empty multLoopStr holds
( IT is invertible iff ( ( for a, b being Element of IT ex x being Element of IT st a * x = b ) & ( for a, b being Element of IT ex x being Element of IT st x * a = b ) ) );
:: deftheorem ALGSTR_1:def 15 :
canceled;
Lm10:
for a, b, c being Element of Trivial-multLoopStr holds (a * b) * c = a * (b * c)
by Th18;
Lm11:
for L being non empty multLoopStr
for a, b being Element of L st ( for a being Element of L holds a * (1. L) = a ) & ( for a being Element of L ex x being Element of L st a * x = 1. L ) & ( for a, b, c being Element of L holds (a * b) * c = a * (b * c) ) & a * b = 1. L holds
b * a = 1. L
Lm12:
for L being non empty multLoopStr
for a being Element of L st ( for a being Element of L holds a * (1. L) = a ) & ( for a being Element of L ex x being Element of L st a * x = 1. L ) & ( for a, b, c being Element of L holds (a * b) * c = a * (b * c) ) holds
(1. L) * a = a * (1. L)
Lm13:
for L being non empty multLoopStr st ( for a being Element of L holds a * (1. L) = a ) & ( for a being Element of L ex x being Element of L st a * x = 1. L ) & ( for a, b, c being Element of L holds (a * b) * c = a * (b * c) ) holds
for a being Element of L ex x being Element of L st x * a = 1. L
theorem
canceled;
theorem
canceled;
theorem Th22:
Lm14:
for a, b being Element of Trivial-multLoopStr holds a * b = b * a
by Th18;
theorem
canceled;
theorem
theorem
canceled;
theorem
:: deftheorem ALGSTR_1:def 16 :
canceled;
:: deftheorem ALGSTR_1:def 17 :
canceled;
:: deftheorem ALGSTR_1:def 18 :
canceled;
:: deftheorem defines / ALGSTR_1:def 19 :
for L being non empty cancelable invertible multLoopStr
for a, b being Element of L holds a / b = a * (b ");
:: deftheorem ALGSTR_1:def 20 :
canceled;
:: deftheorem ALGSTR_1:def 21 :
canceled;
:: deftheorem ALGSTR_1:def 22 :
canceled;
:: deftheorem defines multEX_0 ALGSTR_1:def 23 :
multEX_0 = multLoopStr_0(# REAL,multreal,0,1 #);
Lm16:
0 = 0. multEX_0
;
Lm17:
1 = 1_ multEX_0
;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem Th32:
theorem Th33:
Lm18:
for a, b being Element of multEX_0 st a <> 0. multEX_0 holds
ex x being Element of multEX_0 st a * x = b
Lm19:
for a, b being Element of multEX_0 st a <> 0. multEX_0 holds
ex x being Element of multEX_0 st x * a = b
Lm20:
for a, x, y being Element of multEX_0 st a <> 0. multEX_0 & a * x = a * y holds
x = y
Lm21:
for a, x, y being Element of multEX_0 st a <> 0. multEX_0 & x * a = y * a holds
x = y
Lm22:
for a being Element of multEX_0 holds a * (0. multEX_0) = 0. multEX_0
Lm23:
for a being Element of multEX_0 holds (0. multEX_0) * a = 0. multEX_0
:: deftheorem Def24 defines almost_invertible ALGSTR_1:def 24 :
for IT being non empty multLoopStr_0 holds
( IT is almost_invertible iff ( ( for a, b being Element of IT st a <> 0. IT holds
ex x being Element of IT st a * x = b ) & ( for a, b being Element of IT st a <> 0. IT holds
ex x being Element of IT st x * a = b ) ) );
:: deftheorem ALGSTR_1:def 25 :
canceled;
:: deftheorem Def26 defines multLoop_0-like ALGSTR_1:def 26 :
for IT being non empty multLoopStr_0 holds
( IT is multLoop_0-like iff ( IT is almost_invertible & IT is almost_cancelable & ( for a being Element of IT holds a * (0. IT) = 0. IT ) & ( for a being Element of IT holds (0. IT) * a = 0. IT ) ) );
theorem Th34:
Lm24:
for a, b, c being Element of multEX_0 holds (a * b) * c = a * (b * c)
theorem
canceled;
theorem
canceled;
Lm25:
for a, b being Element of multEX_0 holds a * b = b * a
theorem
canceled;
theorem
canceled;
:: deftheorem Def27 defines " ALGSTR_1:def 27 :
for L being non empty almost_cancelable almost_invertible multLoopStr_0
for x being Element of L st x <> 0. L holds
for b3 being Element of the carrier of L holds
( b3 = x " iff b3 * x = 1. L );
theorem
canceled;
theorem
:: deftheorem defines / ALGSTR_1:def 28 :
for L being non empty almost_cancelable almost_invertible multLoopStr_0
for a, b being Element of L holds a / b = a * (b ");