:: ALGSTR_1 semantic presentation
theorem E1: :: ALGSTR_1:1
proof
let c
1 be non
empty LoopStr ;
let c
2, c
3 be
Element of c
1;
assume E2:
( for b
1 being
Element of c
1 holds b
1 + (0. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 + b
2 = 0. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 + b2) + b
3 = b
1 + (b2 + b3) )
;
assume E3:
c
2 + c
3 = 0. c
1
;
consider c
4 being
Element of c
1 such that
E4:
c
3 + c
4 = 0. c
1
by E2;
thus c
3 + c
2 =
(c3 + c2) + (c3 + c4)
by E2, E4
.=
((c3 + c2) + c3) + c
4
by E2
.=
(c3 + (0. c1)) + c
4
by E2, E3
.=
0. c
1
by E2, E4
;
end;
theorem E2: :: ALGSTR_1:2
proof
let c
1 be non
empty LoopStr ;
let c
2 be
Element of c
1;
assume E3:
( for b
1 being
Element of c
1 holds b
1 + (0. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 + b
2 = 0. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 + b2) + b
3 = b
1 + (b2 + b3) )
;
then consider c
3 being
Element of c
1 such that
E4:
c
2 + c
3 = 0. c
1
;
thus (0. c1) + c
2 =
c
2 + (c3 + c2)
by E3, E4
.=
c
2 + (0. c1)
by E3, E4, E1
;
end;
theorem E3: :: ALGSTR_1:3
:: deftheorem ALGSTR_1:def 1 :
canceled;
:: deftheorem ALGSTR_1:def 2 :
canceled;
:: deftheorem defines Extract ALGSTR_1:def 3 :
:: deftheorem defines L_Trivial ALGSTR_1:def 4 :
theorem :: ALGSTR_1:4
canceled;
theorem E4: :: ALGSTR_1:5
theorem :: ALGSTR_1:6
E5:
for b1 being Element of L_Trivial holds b1 + (0. L_Trivial ) = b1
by E4;
E6:
for b1 being Element of L_Trivial holds (0. L_Trivial ) + b1 = b1
by E4;
E7:
for b1, b2 being Element of L_Trivial holds
ex b3 being Element of L_Trivial st b1 + b3 = b2
E8:
for b1, b2 being Element of L_Trivial holds
ex b3 being Element of L_Trivial st b3 + b1 = b2
E9:
for b1, b2, b3 being Element of L_Trivial holds
( b1 + b2 = b1 + b3 implies b2 = b3 )
by E4;
E10:
for b1, b2, b3 being Element of L_Trivial holds
( b2 + b1 = b3 + b1 implies b2 = b3 )
by E4;
:: deftheorem E11 defines left_zeroed ALGSTR_1:def 5 :
:: deftheorem E12 defines add-left-cancelable ALGSTR_1:def 6 :
:: deftheorem E13 defines add-right-cancelable ALGSTR_1:def 7 :
:: deftheorem E14 defines add-left-invertible ALGSTR_1:def 8 :
:: deftheorem E15 defines add-right-invertible ALGSTR_1:def 9 :
:: deftheorem E16 defines Loop-like ALGSTR_1:def 10 :
theorem E17: :: ALGSTR_1:7
for b
1 being non
empty LoopStr holds
( b
1 is
Loop-like iff ( for b
2, b
3 being
Element of b
1 holds
ex b
4 being
Element of b
1 st b
2 + b
4 = b
3 & for b
2, b
3 being
Element of b
1 holds
ex b
4 being
Element of b
1 st b
4 + b
2 = b
3 & for b
2, b
3, b
4 being
Element of b
1 holds
( b
2 + b
3 = b
2 + b
4 implies b
3 = b
4 ) & for b
2, b
3, b
4 being
Element of b
1 holds
( b
3 + b
2 = b
4 + b
2 implies b
3 = b
4 ) ) )
E18:
for b1, b2, b3 being Element of L_Trivial holds (b1 + b2) + b3 = b1 + (b2 + b3)
by E4;
E19:
for b1, b2 being Element of L_Trivial holds b1 + b2 = b2 + b1
by E4;
registration
cluster L_Trivial -> non
empty strict add-associative right_zeroed left_zeroed add-left-cancelable add-right-cancelable add-left-invertible add-right-invertible Loop-like ;
coherence
( L_Trivial is add-associative & L_Trivial is Loop-like & L_Trivial is right_zeroed & L_Trivial is left_zeroed )
by E11, E5, E6, E7, E8, E9, E10, E18, E17, RLVECT_1:def 6, RLVECT_1:def 7;
end;
theorem :: ALGSTR_1:8
canceled;
theorem E20: :: ALGSTR_1:9
proof
let c
1 be non
empty LoopStr ;
thus
( c
1 is
Group implies ( for b
1 being
Element of c
1 holds b
1 + (0. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 + b
2 = 0. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 + b2) + b
3 = b
1 + (b2 + b3) ) )
by E17, RLVECT_1:def 6, RLVECT_1:def 7;
assume E21:
( for b
1 being
Element of c
1 holds b
1 + (0. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 + b
2 = 0. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 + b2) + b
3 = b
1 + (b2 + b3) )
;
now
thus E22:
for b
1 being
Element of c
1 holds
(0. c1) + b
1 = b
1
proof
let c
2 be
Element of c
1;
thus (0. c1) + c
2 =
c
2 + (0. c1)
by E21, E2
.=
c
2
by E21
;
end;
thus
for b
1, b
2 being
Element of c
1 holds
ex b
3 being
Element of c
1 st b
1 + b
3 = b
2
proof
let c
2, c
3 be
Element of c
1;
consider c
4 being
Element of c
1 such that
E23:
c
2 + c
4 = 0. c
1
by E21;
take c
5 = c
4 + c
3;
thus c
2 + c
5 =
(0. c1) + c
3
by E21, E23
.=
c
3
by E22
;
end;
thus
for b
1, b
2 being
Element of c
1 holds
ex b
3 being
Element of c
1 st b
3 + b
1 = b
2
proof
let c
2, c
3 be
Element of c
1;
consider c
4 being
Element of c
1 such that
E23:
c
4 + c
2 = 0. c
1
by E21, E3;
take c
5 = c
3 + c
4;
thus c
5 + c
2 =
c
3 + (0. c1)
by E21, E23
.=
c
3
by E21
;
end;
thus
for b
1, b
2, b
3 being
Element of c
1 holds
( b
1 + b
2 = b
1 + b
3 implies b
2 = b
3 )
proof
let c
2, c
3, c
4 be
Element of c
1;
consider c
5 being
Element of c
1 such that
E23:
c
5 + c
2 = 0. c
1
by E21, E3;
assume
c
2 + c
3 = c
2 + c
4
;
then (c5 + c2) + c
3 =
c
5 + (c2 + c4)
by E21
.=
(c5 + c2) + c
4
by E21
;
hence c
3 =
(0. c1) + c
4
by E22, E23
.=
c
4
by E22
;
end;
thus
for b
1, b
2, b
3 being
Element of c
1 holds
( b
2 + b
1 = b
3 + b
1 implies b
2 = b
3 )
proof
let c
2, c
3, c
4 be
Element of c
1;
consider c
5 being
Element of c
1 such that
E23:
c
2 + c
5 = 0. c
1
by E21;
assume
c
3 + c
2 = c
4 + c
2
;
then c
3 + (c2 + c5) =
(c4 + c2) + c
5
by E21
.=
c
4 + (c2 + c5)
by E21
;
hence c
3 =
c
4 + (0. c1)
by E21, E23
.=
c
4
by E21
;
end;
end;
hence
c
1 is
Group
by E21, E11, E17, RLVECT_1:def 6, RLVECT_1:def 7;
end;
theorem :: ALGSTR_1:10
canceled;
theorem :: ALGSTR_1:11
:: deftheorem defines multL_Trivial ALGSTR_1:def 11 :
theorem :: ALGSTR_1:12
canceled;
theorem :: ALGSTR_1:13
canceled;
theorem :: ALGSTR_1:14
canceled;
theorem :: ALGSTR_1:15
canceled;
theorem :: ALGSTR_1:16
canceled;
theorem :: ALGSTR_1:17
canceled;
theorem E21: :: ALGSTR_1:18
theorem :: ALGSTR_1:19
E22:
for b1 being Element of multL_Trivial holds b1 * (1. multL_Trivial ) = b1
by E21;
E23:
for b1 being Element of multL_Trivial holds (1. multL_Trivial ) * b1 = b1
by E21;
E24:
for b1, b2 being Element of multL_Trivial holds
ex b3 being Element of multL_Trivial st b1 * b3 = b2
E25:
for b1, b2 being Element of multL_Trivial holds
ex b3 being Element of multL_Trivial st b3 * b1 = b2
E26:
for b1, b2, b3 being Element of multL_Trivial holds
( b1 * b2 = b1 * b3 implies b2 = b3 )
by E21;
E27:
for b1, b2, b3 being Element of multL_Trivial holds
( b2 * b1 = b3 * b1 implies b2 = b3 )
by E21;
:: deftheorem E28 defines invertible ALGSTR_1:def 12 :
:: deftheorem E29 defines cancelable ALGSTR_1:def 13 :
E30:
for b1, b2, b3 being Element of multL_Trivial holds (b1 * b2) * b3 = b1 * (b2 * b3)
by E21;
E31:
for b1 being non empty multLoopStr
for b2, b3 being Element of b1 holds
( ( for b4 being Element of b1 holds b4 * (1. b1) = b4 & for b4 being Element of b1 holds
ex b5 being Element of b1 st b4 * b5 = 1. b1 & for b4, b5, b6 being Element of b1 holds (b4 * b5) * b6 = b4 * (b5 * b6) & b2 * b3 = 1. b1 ) implies ( b3 * b2 = 1. b1 ) )
proof
let c
1 be non
empty multLoopStr ;
let c
2, c
3 be
Element of c
1;
assume E32:
( for b
1 being
Element of c
1 holds b
1 * (1. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 * b
2 = 1. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 * b2) * b
3 = b
1 * (b2 * b3) )
;
assume E33:
c
2 * c
3 = 1. c
1
;
consider c
4 being
Element of c
1 such that
E34:
c
3 * c
4 = 1. c
1
by E32;
thus c
3 * c
2 =
(c3 * c2) * (c3 * c4)
by E32, E34
.=
((c3 * c2) * c3) * c
4
by E32
.=
(c3 * (1. c1)) * c
4
by E32, E33
.=
1. c
1
by E32, E34
;
end;
E32:
for b1 being non empty multLoopStr
for b2 being Element of b1 holds
( ( for b3 being Element of b1 holds b3 * (1. b1) = b3 & for b3 being Element of b1 holds
ex b4 being Element of b1 st b3 * b4 = 1. b1 & for b3, b4, b5 being Element of b1 holds (b3 * b4) * b5 = b3 * (b4 * b5) ) implies ( (1. b1) * b2 = b2 * (1. b1) ) )
proof
let c
1 be non
empty multLoopStr ;
let c
2 be
Element of c
1;
assume E33:
( for b
1 being
Element of c
1 holds b
1 * (1. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 * b
2 = 1. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 * b2) * b
3 = b
1 * (b2 * b3) )
;
then consider c
3 being
Element of c
1 such that
E34:
c
2 * c
3 = 1. c
1
;
thus (1. c1) * c
2 =
c
2 * (c3 * c2)
by E33, E34
.=
c
2 * (1. c1)
by E33, E34, E31
;
end;
E33:
for b1 being non empty multLoopStr holds
( ( for b2 being Element of b1 holds b2 * (1. b1) = b2 & for b2 being Element of b1 holds
ex b3 being Element of b1 st b2 * b3 = 1. b1 & for b2, b3, b4 being Element of b1 holds (b2 * b3) * b4 = b2 * (b3 * b4) ) implies ( for b2 being Element of b1 holds
ex b3 being Element of b1 st b3 * b2 = 1. b1 ) )
theorem :: ALGSTR_1:20
canceled;
theorem :: ALGSTR_1:21
canceled;
theorem E34: :: ALGSTR_1:22
proof
let c
1 be non
empty multLoopStr ;
thus
( c
1 is
multGroup implies ( for b
1 being
Element of c
1 holds b
1 * (1. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 * b
2 = 1. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 * b2) * b
3 = b
1 * (b2 * b3) ) )
by E28, GROUP_1:def 4, VECTSP_1:def 13;
assume E35:
( for b
1 being
Element of c
1 holds b
1 * (1. c1) = b
1 & for b
1 being
Element of c
1 holds
ex b
2 being
Element of c
1 st b
1 * b
2 = 1. c
1 & for b
1, b
2, b
3 being
Element of c
1 holds
(b1 * b2) * b
3 = b
1 * (b2 * b3) )
;
now
thus E36:
for b
1 being
Element of c
1 holds
(1. c1) * b
1 = b
1
proof
let c
2 be
Element of c
1;
thus (1. c1) * c
2 =
c
2 * (1. c1)
by E35, E32
.=
c
2
by E35
;
end;
thus
for b
1, b
2 being
Element of c
1 holds
ex b
3 being
Element of c
1 st b
1 * b
3 = b
2
proof
let c
2, c
3 be
Element of c
1;
consider c
4 being
Element of c
1 such that
E37:
c
2 * c
4 = 1. c
1
by E35;
take c
5 = c
4 * c
3;
thus c
2 * c
5 =
(1. c1) * c
3
by E35, E37
.=
c
3
by E36
;
end;
thus
for b
1, b
2 being
Element of c
1 holds
ex b
3 being
Element of c
1 st b
3 * b
1 = b
2
proof
let c
2, c
3 be
Element of c
1;
consider c
4 being
Element of c
1 such that
E37:
c
4 * c
2 = 1. c
1
by E35, E33;
take c
5 = c
3 * c
4;
thus c
5 * c
2 =
c
3 * (1. c1)
by E35, E37
.=
c
3
by E35
;
end;
thus
for b
1, b
2, b
3 being
Element of c
1 holds
( b
1 * b
2 = b
1 * b
3 implies b
2 = b
3 )
proof
let c
2, c
3, c
4 be
Element of c
1;
consider c
5 being
Element of c
1 such that
E37:
c
5 * c
2 = 1. c
1
by E35, E33;
assume
c
2 * c
3 = c
2 * c
4
;
then (c5 * c2) * c
3 =
c
5 * (c2 * c4)
by E35
.=
(c5 * c2) * c
4
by E35
;
hence c
3 =
(1. c1) * c
4
by E36, E37
.=
c
4
by E36
;
end;
thus
for b
1, b
2, b
3 being
Element of c
1 holds
( b
2 * b
1 = b
3 * b
1 implies b
2 = b
3 )
proof
let c
2, c
3, c
4 be
Element of c
1;
consider c
5 being
Element of c
1 such that
E37:
c
2 * c
5 = 1. c
1
by E35;
assume
c
3 * c
2 = c
4 * c
2
;
then c
3 * (c2 * c5) =
(c4 * c2) * c
5
by E35
.=
c
4 * (c2 * c5)
by E35
;
hence c
3 =
c
4 * (1. c1)
by E35, E37
.=
c
4
by E35
;
end;
end;
hence
c
1 is
multGroup
by E35, E28, E29, GROUP_1:def 4, GROUP_1:def 2;
end;
E35:
for b1, b2 being Element of multL_Trivial holds b1 * b2 = b2 * b1
by E21;
theorem :: ALGSTR_1:23
canceled;
theorem :: ALGSTR_1:24
:: deftheorem ALGSTR_1:def 14 :
canceled;
:: deftheorem ALGSTR_1:def 15 :
canceled;
:: deftheorem E36 defines " ALGSTR_1:def 16 :
theorem :: ALGSTR_1:25
canceled;
theorem :: ALGSTR_1:26
:: deftheorem defines / ALGSTR_1:def 17 :
:: deftheorem ALGSTR_1:def 18 :
canceled;
:: deftheorem ALGSTR_1:def 19 :
canceled;
:: deftheorem ALGSTR_1:def 20 :
canceled;
:: deftheorem defines multEX_0 ALGSTR_1:def 21 :
E37:
for b1, b2 being Element of multEX_0
for b3, b4 being Real holds
( ( b1 = b3 & b2 = b4 ) implies ( b1 * b2 = b3 * b4 ) )
E39:
0 = 0. multEX_0
;
E40:
1 = 1. multEX_0