:: VECTSP_1 semantic presentation
begin
definition
func G_Real -> strict addLoopStr equals :: VECTSP_1:def 1
addLoopStr(# REAL,addreal,0 #);
coherence
addLoopStr(# REAL,addreal,0 #) is strict addLoopStr ;
end;
:: deftheorem defines G_Real VECTSP_1:def_1_:_
G_Real = addLoopStr(# REAL,addreal,0 #);
registration
cluster G_Real -> non empty strict ;
coherence
not G_Real is empty ;
end;
registration
cluster the carrier of G_Real -> real-membered ;
coherence
the carrier of G_Real is real-membered ;
end;
registration
let a, b be Element of G_Real;
let x, y be real number ;
identifya + b with x + y when a = x, b = y;
compatibility
( a = x & b = y implies a + b = x + y ) by BINOP_2:def_9;
end;
registration
cluster G_Real -> strict right_complementable Abelian add-associative right_zeroed ;
coherence
( G_Real is Abelian & G_Real is add-associative & G_Real is right_zeroed & G_Real is right_complementable )
proof
thus for x, y being Element of G_Real holds x + y = y + x ; :: according to RLVECT_1:def_2 ::_thesis: ( G_Real is add-associative & G_Real is right_zeroed & G_Real is right_complementable )
thus for x, y, z being Element of G_Real holds (x + y) + z = x + (y + z) ; :: according to RLVECT_1:def_3 ::_thesis: ( G_Real is right_zeroed & G_Real is right_complementable )
thus for x being Element of G_Real holds x + (0. G_Real) = x ; :: according to RLVECT_1:def_4 ::_thesis: G_Real is right_complementable
let x be Element of G_Real; :: according to ALGSTR_0:def_16 ::_thesis: x is right_complementable
reconsider x9 = x as Element of REAL ;
reconsider y = - x9 as Element of G_Real ;
take y ; :: according to ALGSTR_0:def_11 ::_thesis: x + y = 0. G_Real
thus x + y = 0. G_Real ; ::_thesis: verum
end;
end;
registration
let a be Element of G_Real;
let x be real number ;
identify - a with - x when a = x;
compatibility
( a = x implies - a = - x )
proof
reconsider b = - x as Element of G_Real ;
assume x = a ; ::_thesis: - a = - x
then b + a = 0. G_Real ;
hence - a = - x by RLVECT_1:6; ::_thesis: verum
end;
end;
theorem :: VECTSP_1:1
for x, y, z being Element of G_Real holds
( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. G_Real) = x & x + (- x) = 0. G_Real ) ;
registration
cluster non empty strict right_complementable Abelian add-associative right_zeroed for addLoopStr ;
existence
ex b1 being non empty addLoopStr st
( b1 is strict & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is Abelian )
proof
take G_Real ; ::_thesis: ( G_Real is strict & G_Real is add-associative & G_Real is right_zeroed & G_Real is right_complementable & G_Real is Abelian )
thus ( G_Real is strict & G_Real is add-associative & G_Real is right_zeroed & G_Real is right_complementable & G_Real is Abelian ) ; ::_thesis: verum
end;
end;
definition
mode AddGroup is non empty right_complementable add-associative right_zeroed addLoopStr ;
end;
definition
mode AbGroup is Abelian AddGroup;
end;
definition
let IT be non empty doubleLoopStr ;
attrIT is right-distributive means :Def2: :: VECTSP_1:def 2
for a, b, c being Element of IT holds a * (b + c) = (a * b) + (a * c);
attrIT is left-distributive means :Def3: :: VECTSP_1:def 3
for a, b, c being Element of IT holds (b + c) * a = (b * a) + (c * a);
end;
:: deftheorem Def2 defines right-distributive VECTSP_1:def_2_:_
for IT being non empty doubleLoopStr holds
( IT is right-distributive iff for a, b, c being Element of IT holds a * (b + c) = (a * b) + (a * c) );
:: deftheorem Def3 defines left-distributive VECTSP_1:def_3_:_
for IT being non empty doubleLoopStr holds
( IT is left-distributive iff for a, b, c being Element of IT holds (b + c) * a = (b * a) + (c * a) );
definition
let IT be non empty multLoopStr ;
attrIT is right_unital means :Def4: :: VECTSP_1:def 4
for x being Element of IT holds x * (1. IT) = x;
end;
:: deftheorem Def4 defines right_unital VECTSP_1:def_4_:_
for IT being non empty multLoopStr holds
( IT is right_unital iff for x being Element of IT holds x * (1. IT) = x );
definition
func F_Real -> strict doubleLoopStr equals :: VECTSP_1:def 5
doubleLoopStr(# REAL,addreal,multreal,1,0 #);
correctness
coherence
doubleLoopStr(# REAL,addreal,multreal,1,0 #) is strict doubleLoopStr ;
;
end;
:: deftheorem defines F_Real VECTSP_1:def_5_:_
F_Real = doubleLoopStr(# REAL,addreal,multreal,1,0 #);
registration
cluster F_Real -> non empty strict ;
coherence
not F_Real is empty ;
end;
registration
cluster the carrier of F_Real -> real-membered ;
coherence
the carrier of F_Real is real-membered ;
end;
registration
let a, b be Element of F_Real;
let x, y be real number ;
identifya + b with x + y when a = x, b = y;
compatibility
( a = x & b = y implies a + b = x + y ) by BINOP_2:def_9;
end;
registration
let a, b be Element of F_Real;
let x, y be real number ;
identifya * b with x * y when a = x, b = y;
compatibility
( a = x & b = y implies a * b = x * y ) by BINOP_2:def_11;
end;
definition
let IT be non empty multLoopStr ;
attrIT is well-unital means :Def6: :: VECTSP_1:def 6
for x being Element of IT holds
( x * (1. IT) = x & (1. IT) * x = x );
end;
:: deftheorem Def6 defines well-unital VECTSP_1:def_6_:_
for IT being non empty multLoopStr holds
( IT is well-unital iff for x being Element of IT holds
( x * (1. IT) = x & (1. IT) * x = x ) );
Lm1: for L being non empty multLoopStr st L is well-unital holds
L is unital
proof
let L be non empty multLoopStr ; ::_thesis: ( L is well-unital implies L is unital )
assume A1: L is well-unital ; ::_thesis: L is unital
take 1. L ; :: according to GROUP_1:def_1 ::_thesis: for b1 being Element of the carrier of L holds
( b1 * (1. L) = b1 & (1. L) * b1 = b1 )
thus for b1 being Element of the carrier of L holds
( b1 * (1. L) = b1 & (1. L) * b1 = b1 ) by A1, Def6; ::_thesis: verum
end;
Lm2: for L being non empty multLoopStr st L is well-unital holds
1. L = 1_ L
proof
let L be non empty multLoopStr ; ::_thesis: ( L is well-unital implies 1. L = 1_ L )
assume L is well-unital ; ::_thesis: 1. L = 1_ L
then ( ( for h being Element of L holds
( h * (1. L) = h & (1. L) * h = h ) ) & L is unital ) by Def6, Lm1;
hence 1. L = 1_ L by GROUP_1:def_4; ::_thesis: verum
end;
registration
cluster F_Real -> strict well-unital ;
coherence
F_Real is well-unital
proof
let x be Element of F_Real; :: according to VECTSP_1:def_6 ::_thesis: ( x * (1. F_Real) = x & (1. F_Real) * x = x )
thus ( x * (1. F_Real) = x & (1. F_Real) * x = x ) ; ::_thesis: verum
end;
end;
registration
cluster non empty well-unital for multLoopStr_0 ;
existence
ex b1 being non empty multLoopStr_0 st b1 is well-unital
proof
take F_Real ; ::_thesis: F_Real is well-unital
thus F_Real is well-unital ; ::_thesis: verum
end;
end;
definition
let IT be non empty doubleLoopStr ;
attrIT is distributive means :Def7: :: VECTSP_1:def 7
for x, y, z being Element of IT holds
( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) );
end;
:: deftheorem Def7 defines distributive VECTSP_1:def_7_:_
for IT being non empty doubleLoopStr holds
( IT is distributive iff for x, y, z being Element of IT holds
( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) );
definition
let IT be non empty multLoopStr ;
attrIT is left_unital means :Def8: :: VECTSP_1:def 8
for x being Element of IT holds (1. IT) * x = x;
end;
:: deftheorem Def8 defines left_unital VECTSP_1:def_8_:_
for IT being non empty multLoopStr holds
( IT is left_unital iff for x being Element of IT holds (1. IT) * x = x );
definition
let IT be non empty multLoopStr_0 ;
redefine attr IT is almost_left_invertible means :Def9: :: VECTSP_1:def 9
for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT;
compatibility
( IT is almost_left_invertible iff for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT )
proof
thus ( IT is almost_left_invertible implies for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT ) ::_thesis: ( ( for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT ) implies IT is almost_left_invertible )
proof
assume A1: IT is almost_left_invertible ; ::_thesis: for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT
let x be Element of IT; ::_thesis: ( x <> 0. IT implies ex y being Element of IT st y * x = 1. IT )
assume x <> 0. IT ; ::_thesis: ex y being Element of IT st y * x = 1. IT
then x is left_invertible by A1, ALGSTR_0:def_39;
hence ex y being Element of IT st y * x = 1. IT by ALGSTR_0:def_27; ::_thesis: verum
end;
assume A2: for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT ; ::_thesis: IT is almost_left_invertible
let x be Element of IT; :: according to ALGSTR_0:def_39 ::_thesis: ( x = 0. IT or x is left_invertible )
assume x <> 0. IT ; ::_thesis: x is left_invertible
hence ex y being Element of IT st y * x = 1. IT by A2; :: according to ALGSTR_0:def_27 ::_thesis: verum
end;
end;
:: deftheorem Def9 defines almost_left_invertible VECTSP_1:def_9_:_
for IT being non empty multLoopStr_0 holds
( IT is almost_left_invertible iff for x being Element of IT st x <> 0. IT holds
ex y being Element of IT st y * x = 1. IT );
set FR = F_Real ;
registration
cluster F_Real -> strict unital ;
coherence
F_Real is unital
proof
reconsider e = 1 as Element of F_Real ;
take e ; :: according to GROUP_1:def_1 ::_thesis: for b1 being Element of the carrier of F_Real holds
( b1 * e = b1 & e * b1 = b1 )
thus for b1 being Element of the carrier of F_Real holds
( b1 * e = b1 & e * b1 = b1 ) ; ::_thesis: verum
end;
end;
registration
cluster F_Real -> non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative commutative right_unital distributive left_unital ;
coherence
( F_Real is add-associative & F_Real is right_zeroed & F_Real is right_complementable & F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
proof
thus for x, y, z being Element of F_Real holds (x + y) + z = x + (y + z) ; :: according to RLVECT_1:def_3 ::_thesis: ( F_Real is right_zeroed & F_Real is right_complementable & F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x being Element of F_Real holds x + (0. F_Real) = x ; :: according to RLVECT_1:def_4 ::_thesis: ( F_Real is right_complementable & F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus F_Real is right_complementable ::_thesis: ( F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
proof
let x be Element of F_Real; :: according to ALGSTR_0:def_16 ::_thesis: x is right_complementable
reconsider x9 = x as Element of REAL ;
reconsider y = - x9 as Element of F_Real ;
take y ; :: according to ALGSTR_0:def_11 ::_thesis: x + y = 0. F_Real
thus x + y = 0. F_Real ; ::_thesis: verum
end;
thus for x, y being Element of F_Real holds x + y = y + x ; :: according to RLVECT_1:def_2 ::_thesis: ( F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x, y being Element of F_Real holds x * y = y * x ; :: according to GROUP_1:def_12 ::_thesis: ( F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x, y, z being Element of F_Real holds (x * y) * z = x * (y * z) ; :: according to GROUP_1:def_3 ::_thesis: ( F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x being Element of F_Real holds (1. F_Real) * x = x ; :: according to VECTSP_1:def_8 ::_thesis: ( F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x being Element of F_Real holds x * (1. F_Real) = x ; :: according to VECTSP_1:def_4 ::_thesis: ( F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated )
thus for x, y, z being Element of F_Real holds
( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) ; :: according to VECTSP_1:def_7 ::_thesis: ( F_Real is almost_left_invertible & not F_Real is degenerated )
hereby :: according to VECTSP_1:def_9 ::_thesis: not F_Real is degenerated
let x be Element of F_Real; ::_thesis: ( x <> 0. F_Real implies ex y being Element of F_Real st y * x = 1. F_Real )
reconsider x9 = x as Element of REAL ;
assume A1: x <> 0. F_Real ; ::_thesis: ex y being Element of F_Real st y * x = 1. F_Real
reconsider y = x9 " as Element of F_Real ;
take y = y; ::_thesis: y * x = 1. F_Real
thus y * x = 1. F_Real by A1, XCMPLX_0:def_7; ::_thesis: verum
end;
thus 0. F_Real <> 1. F_Real ; :: according to STRUCT_0:def_8 ::_thesis: verum
end;
end;
registration
let a be Element of F_Real;
let x be real number ;
identify - a with - x when a = x;
compatibility
( a = x implies - a = - x )
proof
reconsider b = - x as Element of F_Real ;
assume x = a ; ::_thesis: - a = - x
then b + a = 0. F_Real ;
hence - a = - x by RLVECT_1:6; ::_thesis: verum
end;
end;
Lm3: for L being non empty doubleLoopStr st L is distributive holds
( L is right-distributive & L is left-distributive )
proof
let L be non empty doubleLoopStr ; ::_thesis: ( L is distributive implies ( L is right-distributive & L is left-distributive ) )
assume A1: L is distributive ; ::_thesis: ( L is right-distributive & L is left-distributive )
then for a, b, c being Element of L holds a * (b + c) = (a * b) + (a * c) by Def7;
hence L is right-distributive by Def2; ::_thesis: L is left-distributive
for a, b, c being Element of L holds (b + c) * a = (b * a) + (c * a) by A1, Def7;
hence L is left-distributive by Def3; ::_thesis: verum
end;
registration
cluster non empty distributive -> non empty right-distributive left-distributive for doubleLoopStr ;
coherence
for b1 being non empty doubleLoopStr st b1 is distributive holds
( b1 is left-distributive & b1 is right-distributive ) by Lm3;
cluster non empty right-distributive left-distributive -> non empty distributive for doubleLoopStr ;
coherence
for b1 being non empty doubleLoopStr st b1 is left-distributive & b1 is right-distributive holds
b1 is distributive
proof
let D be non empty doubleLoopStr ; ::_thesis: ( D is left-distributive & D is right-distributive implies D is distributive )
assume ( ( for a, b, c being Element of D holds (b + c) * a = (b * a) + (c * a) ) & ( for a, b, c being Element of D holds a * (b + c) = (a * b) + (a * c) ) ) ; :: according to VECTSP_1:def_2,VECTSP_1:def_3 ::_thesis: D is distributive
hence for x, y, z being Element of D holds
( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) ; :: according to VECTSP_1:def_7 ::_thesis: verum
end;
end;
registration
cluster non empty well-unital -> non empty right_unital left_unital for multLoopStr ;
coherence
for b1 being non empty multLoopStr st b1 is well-unital holds
( b1 is left_unital & b1 is right_unital )
proof
let L be non empty multLoopStr ; ::_thesis: ( L is well-unital implies ( L is left_unital & L is right_unital ) )
assume A1: L is well-unital ; ::_thesis: ( L is left_unital & L is right_unital )
hence for x being Element of L holds (1. L) * x = x by Def6; :: according to VECTSP_1:def_8 ::_thesis: L is right_unital
thus for x being Element of L holds x * (1. L) = x by A1, Def6; :: according to VECTSP_1:def_4 ::_thesis: verum
end;
cluster non empty right_unital left_unital -> non empty unital for multLoopStr ;
coherence
for b1 being non empty multLoopStr st b1 is left_unital & b1 is right_unital holds
b1 is unital
proof
let L be non empty multLoopStr ; ::_thesis: ( L is left_unital & L is right_unital implies L is unital )
assume A2: ( ( for x being Element of L holds (1. L) * x = x ) & ( for x being Element of L holds x * (1. L) = x ) ) ; :: according to VECTSP_1:def_4,VECTSP_1:def_8 ::_thesis: L is unital
take 1. L ; :: according to GROUP_1:def_1 ::_thesis: for b1 being Element of the carrier of L holds
( b1 * (1. L) = b1 & (1. L) * b1 = b1 )
thus for b1 being Element of the carrier of L holds
( b1 * (1. L) = b1 & (1. L) * b1 = b1 ) by A2; ::_thesis: verum
end;
end;
registration
cluster non empty associative commutative for multMagma ;
existence
ex b1 being non empty multMagma st
( b1 is commutative & b1 is associative )
proof
take F_Real ; ::_thesis: ( F_Real is commutative & F_Real is associative )
thus ( F_Real is commutative & F_Real is associative ) ; ::_thesis: verum
end;
end;
registration
cluster non empty unital associative commutative for multLoopStr ;
existence
ex b1 being non empty multLoopStr st
( b1 is commutative & b1 is associative & b1 is unital )
proof
take F_Real ; ::_thesis: ( F_Real is commutative & F_Real is associative & F_Real is unital )
thus ( F_Real is commutative & F_Real is associative & F_Real is unital ) ; ::_thesis: verum
end;
end;
registration
cluster non empty non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative commutative right_unital well-unital distributive left_unital for doubleLoopStr ;
existence
ex b1 being non empty doubleLoopStr st
( b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is Abelian & b1 is commutative & b1 is associative & b1 is left_unital & b1 is right_unital & b1 is distributive & b1 is almost_left_invertible & not b1 is degenerated & b1 is well-unital & b1 is strict )
proof
take F_Real ; ::_thesis: ( F_Real is add-associative & F_Real is right_zeroed & F_Real is right_complementable & F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated & F_Real is well-unital & F_Real is strict )
thus ( F_Real is add-associative & F_Real is right_zeroed & F_Real is right_complementable & F_Real is Abelian & F_Real is commutative & F_Real is associative & F_Real is left_unital & F_Real is right_unital & F_Real is distributive & F_Real is almost_left_invertible & not F_Real is degenerated & F_Real is well-unital & F_Real is strict ) ; ::_thesis: verum
end;
end;
definition
mode Field is non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr ;
end;
theorem :: VECTSP_1:2
1. F_Real = 1 ;
theorem :: VECTSP_1:3
for x, y, z being Element of F_Real holds
( x + y = y + x & (x + y) + z = x + (y + z) & x + (0. F_Real) = x & x + (- x) = 0. F_Real & x * y = y * x & (x * y) * z = x * (y * z) & (1. F_Real) * x = x & ( x <> 0. F_Real implies ex y being Element of F_Real st y * x = 1. F_Real ) & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) by Def9;
theorem :: VECTSP_1:4
for FS being non empty doubleLoopStr holds
( ( for x, y, z being Element of FS holds
( ( x <> 0. FS implies ex y being Element of FS st y * x = 1. FS ) & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) ) ) iff FS is non empty almost_left_invertible distributive doubleLoopStr ) by Def7, Def9;
registration
cluster non empty well-unital -> non empty unital for multLoopStr ;
coherence
for b1 being non empty multLoopStr st b1 is well-unital holds
b1 is unital ;
end;
theorem :: VECTSP_1:5
for F being non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr
for x, y, z being Element of F st x <> 0. F & x * y = x * z holds
y = z
proof
let F be non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr ; ::_thesis: for x, y, z being Element of F st x <> 0. F & x * y = x * z holds
y = z
let x, y, z be Element of F; ::_thesis: ( x <> 0. F & x * y = x * z implies y = z )
assume x <> 0. F ; ::_thesis: ( not x * y = x * z or y = z )
then consider x1 being Element of F such that
A1: x1 * x = 1. F by Def9;
A2: ( (x1 * x) * y = x1 * (x * y) & x1 * (x * z) = (x1 * x) * z ) by GROUP_1:def_3;
assume x * y = x * z ; ::_thesis: y = z
then (x * x1) * y = z by A1, A2, Def8;
hence y = z by A1, Def8; ::_thesis: verum
end;
definition
let F be non empty almost_left_invertible associative commutative well-unital doubleLoopStr ;
let x be Element of F;
assume A1: x <> 0. F ;
redefine func x " means :Def10: :: VECTSP_1:def 10
it * x = 1. F;
compatibility
for b1 being Element of the carrier of F holds
( b1 = x " iff b1 * x = 1. F )
proof
let IT be Element of F; ::_thesis: ( IT = x " iff IT * x = 1. F )
A2: x is left_invertible by A1, ALGSTR_0:def_39;
then consider x1 being Element of F such that
A3: x1 * x = 1. F by ALGSTR_0:def_27;
x is right_mult-cancelable
proof
let y, z be Element of F; :: according to ALGSTR_0:def_21 ::_thesis: ( not y * x = z * x or y = z )
assume A4: y * x = z * x ; ::_thesis: y = z
thus y = y * (1. F) by Def6
.= (z * x) * x1 by A3, A4, GROUP_1:def_3
.= z * (1. F) by A3, GROUP_1:def_3
.= z by Def6 ; ::_thesis: verum
end;
hence ( IT = x " iff IT * x = 1. F ) by A2, ALGSTR_0:def_35; ::_thesis: verum
end;
end;
:: deftheorem Def10 defines " VECTSP_1:def_10_:_
for F being non empty almost_left_invertible associative commutative well-unital doubleLoopStr
for x being Element of F st x <> 0. F holds
for b3 being Element of the carrier of F holds
( b3 = x " iff b3 * x = 1. F );
definition
let F be non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr ;
let x, y be Element of F;
funcx / y -> Element of F equals :: VECTSP_1:def 11
x * (y ");
coherence
x * (y ") is Element of F ;
end;
:: deftheorem defines / VECTSP_1:def_11_:_
for F being non empty almost_left_invertible associative commutative well-unital distributive doubleLoopStr
for x, y being Element of F holds x / y = x * (y ");
theorem Th6: :: VECTSP_1:6
for F being non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr
for x being Element of F holds x * (0. F) = 0. F
proof
let F be non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr ; ::_thesis: for x being Element of F holds x * (0. F) = 0. F
let x be Element of F; ::_thesis: x * (0. F) = 0. F
(x * (0. F)) + (0. F) = (x * ((0. F) + (0. F))) + (0. F) by RLVECT_1:4
.= x * ((0. F) + (0. F)) by RLVECT_1:4
.= (x * (0. F)) + (x * (0. F)) by Def2 ;
hence x * (0. F) = 0. F by RLVECT_1:8; ::_thesis: verum
end;
theorem Th7: :: VECTSP_1:7
for F being non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr
for x being Element of F holds (0. F) * x = 0. F
proof
let F be non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr ; ::_thesis: for x being Element of F holds (0. F) * x = 0. F
let x be Element of F; ::_thesis: (0. F) * x = 0. F
((0. F) * x) + (0. F) = (((0. F) + (0. F)) * x) + (0. F) by RLVECT_1:4
.= ((0. F) + (0. F)) * x by RLVECT_1:4
.= ((0. F) * x) + ((0. F) * x) by Def3 ;
hence (0. F) * x = 0. F by RLVECT_1:8; ::_thesis: verum
end;
theorem Th8: :: VECTSP_1:8
for F being non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr
for x, y being Element of F holds x * (- y) = - (x * y)
proof
let F be non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr ; ::_thesis: for x, y being Element of F holds x * (- y) = - (x * y)
let x, y be Element of F; ::_thesis: x * (- y) = - (x * y)
(x * y) + (x * (- y)) = x * (y + (- y)) by Def2
.= x * (0. F) by RLVECT_1:def_10
.= 0. F by Th6 ;
hence x * (- y) = - (x * y) by RLVECT_1:def_10; ::_thesis: verum
end;
theorem Th9: :: VECTSP_1:9
for F being non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr
for x, y being Element of F holds (- x) * y = - (x * y)
proof
let F be non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr ; ::_thesis: for x, y being Element of F holds (- x) * y = - (x * y)
let x, y be Element of F; ::_thesis: (- x) * y = - (x * y)
(x * y) + ((- x) * y) = (x + (- x)) * y by Def3
.= (0. F) * y by RLVECT_1:def_10
.= 0. F by Th7 ;
hence (- x) * y = - (x * y) by RLVECT_1:def_10; ::_thesis: verum
end;
theorem Th10: :: VECTSP_1:10
for F being non empty right_complementable add-associative right_zeroed distributive doubleLoopStr
for x, y being Element of F holds (- x) * (- y) = x * y
proof
let F be non empty right_complementable add-associative right_zeroed distributive doubleLoopStr ; ::_thesis: for x, y being Element of F holds (- x) * (- y) = x * y
let x, y be Element of F; ::_thesis: (- x) * (- y) = x * y
thus (- x) * (- y) = - (x * (- y)) by Th9
.= - (- (x * y)) by Th8
.= x * y by RLVECT_1:17 ; ::_thesis: verum
end;
theorem :: VECTSP_1:11
for F being non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr
for x, y, z being Element of F holds x * (y - z) = (x * y) - (x * z)
proof
let F be non empty right_complementable add-associative right_zeroed right-distributive doubleLoopStr ; ::_thesis: for x, y, z being Element of F holds x * (y - z) = (x * y) - (x * z)
let x, y, z be Element of F; ::_thesis: x * (y - z) = (x * y) - (x * z)
x * (y - z) = (x * y) + (x * (- z)) by Def2
.= (x * y) - (x * z) by Th8 ;
hence x * (y - z) = (x * y) - (x * z) ; ::_thesis: verum
end;
theorem Th12: :: VECTSP_1:12
for F being non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for x, y being Element of F holds
( x * y = 0. F iff ( x = 0. F or y = 0. F ) )
proof
let F be non empty right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr ; ::_thesis: for x, y being Element of F holds
( x * y = 0. F iff ( x = 0. F or y = 0. F ) )
let x, y be Element of F; ::_thesis: ( x * y = 0. F iff ( x = 0. F or y = 0. F ) )
( not x * y = 0. F or x = 0. F or y = 0. F )
proof
assume A1: x * y = 0. F ; ::_thesis: ( x = 0. F or y = 0. F )
assume A2: x <> 0. F ; ::_thesis: y = 0. F
(x ") * (0. F) = ((x ") * x) * y by A1, GROUP_1:def_3
.= (1. F) * y by A2, Def10
.= y by Def8 ;
hence y = 0. F by Th7; ::_thesis: verum
end;
hence ( x * y = 0. F iff ( x = 0. F or y = 0. F ) ) by Th7; ::_thesis: verum
end;
theorem :: VECTSP_1:13
for K being non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr
for a, b, c being Element of K holds (a - b) * c = (a * c) - (b * c)
proof
let K be non empty right_complementable add-associative right_zeroed left-distributive doubleLoopStr ; ::_thesis: for a, b, c being Element of K holds (a - b) * c = (a * c) - (b * c)
let y, z, x be Element of K; ::_thesis: (y - z) * x = (y * x) - (z * x)
thus (y - z) * x = (y * x) + ((- z) * x) by Def3
.= (y * x) - (z * x) by Th9 ; ::_thesis: verum
end;
definition
let F be 1-sorted ;
attrc2 is strict ;
struct VectSpStr over F -> addLoopStr ;
aggrVectSpStr(# carrier, addF, ZeroF, lmult #) -> VectSpStr over F;
sel lmult c2 -> Function of [: the carrier of F, the carrier of c2:], the carrier of c2;
end;
registration
let F be 1-sorted ;
cluster non empty strict for VectSpStr over F;
existence
ex b1 being VectSpStr over F st
( not b1 is empty & b1 is strict )
proof
set A = the non empty set ;
set a = the BinOp of the non empty set ;
set Z = the Element of the non empty set ;
set l = the Function of [: the carrier of F, the non empty set :], the non empty set ;
take VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) ; ::_thesis: ( not VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) is empty & VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) is strict )
thus not the carrier of VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) is empty ; :: according to STRUCT_0:def_1 ::_thesis: VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) is strict
thus VectSpStr(# the non empty set , the BinOp of the non empty set , the Element of the non empty set , the Function of [: the carrier of F, the non empty set :], the non empty set #) is strict ; ::_thesis: verum
end;
end;
registration
let F be 1-sorted ;
let A be non empty set ;
let a be BinOp of A;
let Z be Element of A;
let l be Function of [: the carrier of F,A:],A;
cluster VectSpStr(# A,a,Z,l #) -> non empty ;
coherence
not VectSpStr(# A,a,Z,l #) is empty ;
end;
definition
let F be 1-sorted ;
mode Scalar of F is Element of F;
end;
definition
let F be 1-sorted ;
let VS be VectSpStr over F;
mode Scalar of VS is Scalar of F;
mode Vector of VS is Element of VS;
end;
definition
let F be non empty 1-sorted ;
let V be non empty VectSpStr over F;
let x be Element of F;
let v be Element of V;
funcx * v -> Element of V equals :: VECTSP_1:def 12
the lmult of V . (x,v);
coherence
the lmult of V . (x,v) is Element of V ;
end;
:: deftheorem defines * VECTSP_1:def_12_:_
for F being non empty 1-sorted
for V being non empty VectSpStr over F
for x being Element of F
for v being Element of V holds x * v = the lmult of V . (x,v);
definition
let F be non empty addLoopStr ;
func comp F -> UnOp of the carrier of F means :: VECTSP_1:def 13
for x being Element of F holds it . x = - x;
existence
ex b1 being UnOp of the carrier of F st
for x being Element of F holds b1 . x = - x
proof
deffunc H1( Element of F) -> Element of the carrier of F = - $1;
thus ex f being UnOp of the carrier of F st
for x being Element of F holds f . x = H1(x) from FUNCT_2:sch_4(); ::_thesis: verum
end;
uniqueness
for b1, b2 being UnOp of the carrier of F st ( for x being Element of F holds b1 . x = - x ) & ( for x being Element of F holds b2 . x = - x ) holds
b1 = b2
proof
let f, g be UnOp of the carrier of F; ::_thesis: ( ( for x being Element of F holds f . x = - x ) & ( for x being Element of F holds g . x = - x ) implies f = g )
assume that
A1: for x being Element of F holds f . x = - x and
A2: for x being Element of F holds g . x = - x ; ::_thesis: f = g
now__::_thesis:_for_x_being_set_st_x_in_the_carrier_of_F_holds_
f_._x_=_g_._x
let x be set ; ::_thesis: ( x in the carrier of F implies f . x = g . x )
assume x in the carrier of F ; ::_thesis: f . x = g . x
then reconsider y = x as Element of F ;
thus f . x = - y by A1
.= g . x by A2 ; ::_thesis: verum
end;
hence f = g by FUNCT_2:12; ::_thesis: verum
end;
end;
:: deftheorem defines comp VECTSP_1:def_13_:_
for F being non empty addLoopStr
for b2 being UnOp of the carrier of F holds
( b2 = comp F iff for x being Element of F holds b2 . x = - x );
Lm4: now__::_thesis:_for_F_being_non_empty_right_complementable_Abelian_add-associative_right_zeroed_associative_distributive_left_unital_doubleLoopStr_
for_MLT_being_Function_of_[:_the_carrier_of_F,_the_carrier_of_F:],_the_carrier_of_F_holds_
(_VectSpStr(#_the_carrier_of_F,_the_addF_of_F,(0._F),MLT_#)_is_Abelian_&_VectSpStr(#_the_carrier_of_F,_the_addF_of_F,(0._F),MLT_#)_is_add-associative_&_VectSpStr(#_the_carrier_of_F,_the_addF_of_F,(0._F),MLT_#)_is_right_zeroed_&_VectSpStr(#_the_carrier_of_F,_the_addF_of_F,(0._F),MLT_#)_is_right_complementable_)
let F be non empty right_complementable Abelian add-associative right_zeroed associative distributive left_unital doubleLoopStr ; ::_thesis: for MLT being Function of [: the carrier of F, the carrier of F:], the carrier of F holds
( VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is Abelian & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is add-associative & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_zeroed & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable )
let MLT be Function of [: the carrier of F, the carrier of F:], the carrier of F; ::_thesis: ( VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is Abelian & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is add-associative & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_zeroed & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable )
set GF = VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #);
thus VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is Abelian ::_thesis: ( VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is add-associative & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_zeroed & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable )
proof
let x, y be Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #); :: according to RLVECT_1:def_2 ::_thesis: x + y = y + x
reconsider x9 = x, y9 = y as Element of F ;
thus x + y = y9 + x9 by RLVECT_1:2
.= y + x ; ::_thesis: verum
end;
thus VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is add-associative ::_thesis: ( VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_zeroed & VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable )
proof
let x, y, z be Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #); :: according to RLVECT_1:def_3 ::_thesis: (x + y) + z = x + (y + z)
reconsider x9 = x, y9 = y, z9 = z as Element of F ;
thus (x + y) + z = (x9 + y9) + z9
.= x9 + (y9 + z9) by RLVECT_1:def_3
.= x + (y + z) ; ::_thesis: verum
end;
thus VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_zeroed ::_thesis: VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable
proof
let x be Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #); :: according to RLVECT_1:def_4 ::_thesis: x + (0. VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #)) = x
reconsider x9 = x as Element of F ;
thus x + (0. VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #)) = x9 + (0. F)
.= x by RLVECT_1:4 ; ::_thesis: verum
end;
thus VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) is right_complementable ::_thesis: verum
proof
let x be Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #); :: according to ALGSTR_0:def_16 ::_thesis: x is right_complementable
reconsider x9 = x as Element of F ;
consider t being Element of F such that
A1: x9 + t = 0. F by ALGSTR_0:def_11;
reconsider t9 = t as Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) ;
take t9 ; :: according to ALGSTR_0:def_11 ::_thesis: x + t9 = 0. VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #)
thus x + t9 = 0. VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) by A1; ::_thesis: verum
end;
end;
Lm5: now__::_thesis:_for_F_being_non_empty_right_complementable_add-associative_right_zeroed_associative_well-unital_distributive_doubleLoopStr_
for_MLT_being_Function_of_[:_the_carrier_of_F,_the_carrier_of_F:],_the_carrier_of_F_st_MLT_=_the_multF_of_F_holds_
for_x,_y_being_Element_of_F
for_v,_w_being_Element_of_VectSpStr(#_the_carrier_of_F,_the_addF_of_F,(0._F),MLT_#)_holds_
(_x_*_(v_+_w)_=_(x_*_v)_+_(x_*_w)_&_(x_+_y)_*_v_=_(x_*_v)_+_(y_*_v)_&_(x_*_y)_*_v_=_x_*_(y_*_v)_&_(1._F)_*_v_=_v_)
let F be non empty right_complementable add-associative right_zeroed associative well-unital distributive doubleLoopStr ; ::_thesis: for MLT being Function of [: the carrier of F, the carrier of F:], the carrier of F st MLT = the multF of F holds
for x, y being Element of F
for v, w being Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) holds
( x * (v + w) = (x * v) + (x * w) & (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v )
let MLT be Function of [: the carrier of F, the carrier of F:], the carrier of F; ::_thesis: ( MLT = the multF of F implies for x, y being Element of F
for v, w being Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) holds
( x * (v + w) = (x * v) + (x * w) & (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v ) )
assume A1: MLT = the multF of F ; ::_thesis: for x, y being Element of F
for v, w being Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) holds
( x * (v + w) = (x * v) + (x * w) & (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v )
let x, y be Element of F; ::_thesis: for v, w being Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #) holds
( x * (v + w) = (x * v) + (x * w) & (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v )
set LS = VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #);
let v, w be Element of VectSpStr(# the carrier of F, the addF of F,(0. F),MLT #); ::_thesis: ( x * (v + w) = (x * v) + (x * w) & (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v )
reconsider v9 = v, w9 = w as Element of F ;
thus x * (v + w) = x * (v9 + w9) by A1
.= (x * v9) + (x * w9) by Def7
.= (x * v) + (x * w) by A1 ; ::_thesis: ( (x + y) * v = (x * v) + (y * v) & (x * y) * v = x * (y * v) & (1. F) * v = v )
thus (x + y) * v = (x + y) * v9 by A1
.= (x * v9) + (y * v9) by Def7
.= (x * v) + (y * v) by A1 ; ::_thesis: ( (x * y) * v = x * (y * v) & (1. F) * v = v )
thus (x * y) * v = (x * y) * v9 by A1
.= x * (y * v9) by GROUP_1:def_3
.= x * (y * v) by A1 ; ::_thesis: (1. F) * v = v
thus (1. F) * v = (1. F) * v9 by A1
.= v by Def8 ; ::_thesis: verum
end;
definition
let F be non empty doubleLoopStr ;
let IT be non empty VectSpStr over F;
attrIT is vector-distributive means :Def14: :: VECTSP_1:def 14
for x being Element of F
for v, w being Element of IT holds x * (v + w) = (x * v) + (x * w);
attrIT is scalar-distributive means :Def15: :: VECTSP_1:def 15
for x, y being Element of F
for v being Element of IT holds (x + y) * v = (x * v) + (y * v);
attrIT is scalar-associative means :Def16: :: VECTSP_1:def 16
for x, y being Element of F
for v being Element of IT holds (x * y) * v = x * (y * v);
attrIT is scalar-unital means :Def17: :: VECTSP_1:def 17
for v being Element of IT holds (1. F) * v = v;
end;
:: deftheorem Def14 defines vector-distributive VECTSP_1:def_14_:_
for F being non empty doubleLoopStr
for IT being non empty VectSpStr over F holds
( IT is vector-distributive iff for x being Element of F
for v, w being Element of IT holds x * (v + w) = (x * v) + (x * w) );
:: deftheorem Def15 defines scalar-distributive VECTSP_1:def_15_:_
for F being non empty doubleLoopStr
for IT being non empty VectSpStr over F holds
( IT is scalar-distributive iff for x, y being Element of F
for v being Element of IT holds (x + y) * v = (x * v) + (y * v) );
:: deftheorem Def16 defines scalar-associative VECTSP_1:def_16_:_
for F being non empty doubleLoopStr
for IT being non empty VectSpStr over F holds
( IT is scalar-associative iff for x, y being Element of F
for v being Element of IT holds (x * y) * v = x * (y * v) );
:: deftheorem Def17 defines scalar-unital VECTSP_1:def_17_:_
for F being non empty doubleLoopStr
for IT being non empty VectSpStr over F holds
( IT is scalar-unital iff for v being Element of IT holds (1. F) * v = v );
registration
let F be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr ;
cluster non empty right_complementable Abelian add-associative right_zeroed strict vector-distributive scalar-distributive scalar-associative scalar-unital for VectSpStr over F;
existence
ex b1 being non empty VectSpStr over F st
( b1 is scalar-distributive & b1 is vector-distributive & b1 is scalar-associative & b1 is scalar-unital & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is Abelian & b1 is strict )
proof
take V = VectSpStr(# the carrier of F, the addF of F,(0. F), the multF of F #); ::_thesis: ( V is scalar-distributive & V is vector-distributive & V is scalar-associative & V is scalar-unital & V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict )
thus for x, y being Element of F
for v being Element of V holds (x + y) * v = (x * v) + (y * v) by Lm5; :: according to VECTSP_1:def_15 ::_thesis: ( V is vector-distributive & V is scalar-associative & V is scalar-unital & V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict )
thus for x being Element of F
for v, w being Element of V holds x * (v + w) = (x * v) + (x * w) by Lm5; :: according to VECTSP_1:def_14 ::_thesis: ( V is scalar-associative & V is scalar-unital & V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict )
thus for x, y being Element of F
for v being Element of V holds (x * y) * v = x * (y * v) by Lm5; :: according to VECTSP_1:def_16 ::_thesis: ( V is scalar-unital & V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict )
thus for v being Element of V holds (1. F) * v = v by Lm5; :: according to VECTSP_1:def_17 ::_thesis: ( V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict )
thus ( V is add-associative & V is right_zeroed & V is right_complementable & V is Abelian & V is strict ) by Lm4; ::_thesis: verum
end;
end;
definition
let F be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr ;
mode VectSp of F is non empty right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F;
end;
theorem Th14: :: VECTSP_1:14
for F being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for x being Element of F
for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for v being Element of V holds
( (0. F) * v = 0. V & (- (1. F)) * v = - v & x * (0. V) = 0. V )
proof
let F be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr ; ::_thesis: for x being Element of F
for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for v being Element of V holds
( (0. F) * v = 0. V & (- (1. F)) * v = - v & x * (0. V) = 0. V )
let x be Element of F; ::_thesis: for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for v being Element of V holds
( (0. F) * v = 0. V & (- (1. F)) * v = - v & x * (0. V) = 0. V )
let V be non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F; ::_thesis: for v being Element of V holds
( (0. F) * v = 0. V & (- (1. F)) * v = - v & x * (0. V) = 0. V )
let v be Element of V; ::_thesis: ( (0. F) * v = 0. V & (- (1. F)) * v = - v & x * (0. V) = 0. V )
v + ((0. F) * v) = ((1. F) * v) + ((0. F) * v) by Def17
.= ((1. F) + (0. F)) * v by Def15
.= (1. F) * v by RLVECT_1:4
.= v by Def17
.= v + (0. V) by RLVECT_1:4 ;
hence A1: (0. F) * v = 0. V by RLVECT_1:8; ::_thesis: ( (- (1. F)) * v = - v & x * (0. V) = 0. V )
((- (1. F)) * v) + v = ((- (1. F)) * v) + ((1. F) * v) by Def17
.= ((1. F) + (- (1. F))) * v by Def15
.= 0. V by A1, RLVECT_1:def_10 ;
then ((- (1. F)) * v) + (v + (- v)) = (0. V) + (- v) by RLVECT_1:def_3;
then (0. V) + (- v) = ((- (1. F)) * v) + (0. V) by RLVECT_1:5
.= (- (1. F)) * v by RLVECT_1:4 ;
hence (- (1. F)) * v = - v by RLVECT_1:4; ::_thesis: x * (0. V) = 0. V
x * (0. V) = (x * (0. F)) * v by A1, Def16
.= 0. V by A1, Th6 ;
hence x * (0. V) = 0. V ; ::_thesis: verum
end;
theorem :: VECTSP_1:15
for F being Field
for x being Element of F
for V being VectSp of F
for v being Element of V holds
( x * v = 0. V iff ( x = 0. F or v = 0. V ) )
proof
let F be Field; ::_thesis: for x being Element of F
for V being VectSp of F
for v being Element of V holds
( x * v = 0. V iff ( x = 0. F or v = 0. V ) )
let x be Element of F; ::_thesis: for V being VectSp of F
for v being Element of V holds
( x * v = 0. V iff ( x = 0. F or v = 0. V ) )
let V be VectSp of F; ::_thesis: for v being Element of V holds
( x * v = 0. V iff ( x = 0. F or v = 0. V ) )
let v be Element of V; ::_thesis: ( x * v = 0. V iff ( x = 0. F or v = 0. V ) )
( not x * v = 0. V or x = 0. F or v = 0. V )
proof
assume x * v = 0. V ; ::_thesis: ( x = 0. F or v = 0. V )
then A1: ((x ") * x) * v = (x ") * (0. V) by Def16
.= 0. V by Th14 ;
assume x <> 0. F ; ::_thesis: v = 0. V
then 0. V = (1. F) * v by A1, Def10;
hence v = 0. V by Def17; ::_thesis: verum
end;
hence ( x * v = 0. V iff ( x = 0. F or v = 0. V ) ) by Th14; ::_thesis: verum
end;
theorem :: VECTSP_1:16
for V being non empty right_complementable add-associative right_zeroed addLoopStr
for v, w being Element of V holds
( v + w = 0. V iff - v = w )
proof
let V be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for v, w being Element of V holds
( v + w = 0. V iff - v = w )
let v, w be Element of V; ::_thesis: ( v + w = 0. V iff - v = w )
( v + w = 0. V implies - v = w )
proof
assume A1: v + w = 0. V ; ::_thesis: - v = w
thus w = (0. V) + w by RLVECT_1:4
.= ((- v) + v) + w by RLVECT_1:5
.= (- v) + (0. V) by A1, RLVECT_1:def_3
.= - v by RLVECT_1:4 ; ::_thesis: verum
end;
hence ( v + w = 0. V iff - v = w ) by RLVECT_1:5; ::_thesis: verum
end;
Lm6: for V being non empty right_complementable add-associative right_zeroed addLoopStr
for v, w being Element of V holds - (w + (- v)) = v - w
proof
let V be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for v, w being Element of V holds - (w + (- v)) = v - w
let v, w be Element of V; ::_thesis: - (w + (- v)) = v - w
- (w + (- v)) = (- (- v)) - w by RLVECT_1:30;
hence - (w + (- v)) = v - w by RLVECT_1:17; ::_thesis: verum
end;
Lm7: for V being non empty right_complementable add-associative right_zeroed addLoopStr
for v, w being Element of V holds - ((- v) - w) = w + v
proof
let V be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for v, w being Element of V holds - ((- v) - w) = w + v
let v, w be Element of V; ::_thesis: - ((- v) - w) = w + v
- ((- v) - w) = w + (- (- v)) by RLVECT_1:33;
hence - ((- v) - w) = w + v by RLVECT_1:17; ::_thesis: verum
end;
theorem :: VECTSP_1:17
for V being non empty right_complementable add-associative right_zeroed addLoopStr
for u, v, w being Element of V holds
( - (v + w) = (- w) - v & - (w + (- v)) = v - w & - (v - w) = w + (- v) & - ((- v) - w) = w + v & u - (w + v) = (u - v) - w ) by Lm6, Lm7, RLVECT_1:27, RLVECT_1:30, RLVECT_1:33;
theorem :: VECTSP_1:18
for V being non empty right_complementable add-associative right_zeroed addLoopStr
for v being Element of V holds
( (0. V) - v = - v & v - (0. V) = v ) by RLVECT_1:13, RLVECT_1:14;
theorem Th19: :: VECTSP_1:19
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for x, y being Element of F holds
( ( x + (- y) = 0. F implies x = y ) & ( x = y implies x + (- y) = 0. F ) & ( x - y = 0. F implies x = y ) & ( x = y implies x - y = 0. F ) )
proof
let F be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for x, y being Element of F holds
( ( x + (- y) = 0. F implies x = y ) & ( x = y implies x + (- y) = 0. F ) & ( x - y = 0. F implies x = y ) & ( x = y implies x - y = 0. F ) )
let x, y be Element of F; ::_thesis: ( ( x + (- y) = 0. F implies x = y ) & ( x = y implies x + (- y) = 0. F ) & ( x - y = 0. F implies x = y ) & ( x = y implies x - y = 0. F ) )
( x + (- y) = 0. F implies x = y )
proof
assume x + (- y) = 0. F ; ::_thesis: x = y
then x + ((- y) + y) = (0. F) + y by RLVECT_1:def_3;
then x + (0. F) = (0. F) + y by RLVECT_1:5;
then x = (0. F) + y by RLVECT_1:4;
hence x = y by RLVECT_1:4; ::_thesis: verum
end;
hence ( ( x + (- y) = 0. F implies x = y ) & ( x = y implies x + (- y) = 0. F ) & ( x - y = 0. F implies x = y ) & ( x = y implies x - y = 0. F ) ) by RLVECT_1:5; ::_thesis: verum
end;
theorem :: VECTSP_1:20
for F being Field
for x being Element of F
for V being VectSp of F
for v being Element of V st x <> 0. F holds
(x ") * (x * v) = v
proof
let F be Field; ::_thesis: for x being Element of F
for V being VectSp of F
for v being Element of V st x <> 0. F holds
(x ") * (x * v) = v
let x be Element of F; ::_thesis: for V being VectSp of F
for v being Element of V st x <> 0. F holds
(x ") * (x * v) = v
let V be VectSp of F; ::_thesis: for v being Element of V st x <> 0. F holds
(x ") * (x * v) = v
let v be Element of V; ::_thesis: ( x <> 0. F implies (x ") * (x * v) = v )
assume A1: x <> 0. F ; ::_thesis: (x ") * (x * v) = v
(x ") * (x * v) = ((x ") * x) * v by Def16
.= (1. F) * v by A1, Def10
.= v by Def17 ;
hence (x ") * (x * v) = v ; ::_thesis: verum
end;
theorem Th21: :: VECTSP_1:21
for F being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v, w being Element of V holds
( - (x * v) = (- x) * v & w - (x * v) = w + ((- x) * v) )
proof
let F be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr ; ::_thesis: for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v, w being Element of V holds
( - (x * v) = (- x) * v & w - (x * v) = w + ((- x) * v) )
let V be non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F; ::_thesis: for x being Element of F
for v, w being Element of V holds
( - (x * v) = (- x) * v & w - (x * v) = w + ((- x) * v) )
let x be Element of F; ::_thesis: for v, w being Element of V holds
( - (x * v) = (- x) * v & w - (x * v) = w + ((- x) * v) )
let v, w be Element of V; ::_thesis: ( - (x * v) = (- x) * v & w - (x * v) = w + ((- x) * v) )
A1: - (x * v) = (- (1. F)) * (x * v) by Th14
.= ((- (1. F)) * x) * v by Def16
.= (- ((1. F) * x)) * v by Th9 ;
hence - (x * v) = (- x) * v by Def8; ::_thesis: w - (x * v) = w + ((- x) * v)
thus w - (x * v) = w + ((- x) * v) by A1, Def8; ::_thesis: verum
end;
registration
cluster non empty commutative left_unital -> non empty right_unital for multLoopStr ;
coherence
for b1 being non empty multLoopStr st b1 is commutative & b1 is left_unital holds
b1 is right_unital
proof
let F be non empty multLoopStr ; ::_thesis: ( F is commutative & F is left_unital implies F is right_unital )
assume A1: ( F is commutative & F is left_unital ) ; ::_thesis: F is right_unital
let x be Scalar of F; :: according to VECTSP_1:def_4 ::_thesis: x * (1. F) = x
for F being non empty commutative multMagma
for x, y being Element of F holds x * y = y * x ;
then x * (1. F) = (1. F) * x by A1;
hence x * (1. F) = x by A1, Def8; ::_thesis: verum
end;
end;
theorem Th22: :: VECTSP_1:22
for F being non empty right_complementable Abelian add-associative right_zeroed associative right_unital well-unital distributive doubleLoopStr
for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v being Element of V holds x * (- v) = - (x * v)
proof
let F be non empty right_complementable Abelian add-associative right_zeroed associative right_unital well-unital distributive doubleLoopStr ; ::_thesis: for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v being Element of V holds x * (- v) = - (x * v)
let V be non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F; ::_thesis: for x being Element of F
for v being Element of V holds x * (- v) = - (x * v)
let x be Element of F; ::_thesis: for v being Element of V holds x * (- v) = - (x * v)
let v be Element of V; ::_thesis: x * (- v) = - (x * v)
x * (- v) = x * ((- (1. F)) * v) by Th14
.= (x * (- (1. F))) * v by Def16
.= (- (x * (1. F))) * v by Th8
.= (- x) * v by Def4 ;
hence x * (- v) = - (x * v) by Th21; ::_thesis: verum
end;
theorem :: VECTSP_1:23
for F being non empty right_complementable Abelian add-associative right_zeroed associative right_unital well-unital distributive doubleLoopStr
for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v, w being Element of V holds x * (v - w) = (x * v) - (x * w)
proof
let F be non empty right_complementable Abelian add-associative right_zeroed associative right_unital well-unital distributive doubleLoopStr ; ::_thesis: for V being non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F
for x being Element of F
for v, w being Element of V holds x * (v - w) = (x * v) - (x * w)
let V be non empty right_complementable add-associative right_zeroed vector-distributive scalar-distributive scalar-associative scalar-unital VectSpStr over F; ::_thesis: for x being Element of F
for v, w being Element of V holds x * (v - w) = (x * v) - (x * w)
let x be Element of F; ::_thesis: for v, w being Element of V holds x * (v - w) = (x * v) - (x * w)
let v, w be Element of V; ::_thesis: x * (v - w) = (x * v) - (x * w)
x * (v - w) = (x * v) + (x * (- w)) by Def14
.= (x * v) + (- (x * w)) by Th22 ;
hence x * (v - w) = (x * v) - (x * w) ; ::_thesis: verum
end;
theorem :: VECTSP_1:24
for F being non empty non degenerated right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for x being Element of F st x <> 0. F holds
(x ") " = x
proof
let F be non empty non degenerated right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr ; ::_thesis: for x being Element of F st x <> 0. F holds
(x ") " = x
let x be Element of F; ::_thesis: ( x <> 0. F implies (x ") " = x )
assume A1: x <> 0. F ; ::_thesis: (x ") " = x
( x <> 0. F implies x " <> 0. F )
proof
assume A2: x <> 0. F ; ::_thesis: x " <> 0. F
assume not x " <> 0. F ; ::_thesis: contradiction
then 1. F = x * (0. F) by A2, Def10;
hence contradiction by Th7; ::_thesis: verum
end;
then (x ") * ((x ") ") = 1. F by A1, Def10;
then (x * (x ")) * ((x ") ") = x * (1. F) by GROUP_1:def_3;
then (1. F) * ((x ") ") = x * (1. F) by A1, Def10;
then (x ") " = x * (1. F) by Def6;
hence (x ") " = x by Def6; ::_thesis: verum
end;
theorem :: VECTSP_1:25
for F being Field
for x being Element of F st x <> 0. F holds
( x " <> 0. F & - (x ") <> 0. F )
proof
let F be Field; ::_thesis: for x being Element of F st x <> 0. F holds
( x " <> 0. F & - (x ") <> 0. F )
let x be Element of F; ::_thesis: ( x <> 0. F implies ( x " <> 0. F & - (x ") <> 0. F ) )
assume A1: x <> 0. F ; ::_thesis: ( x " <> 0. F & - (x ") <> 0. F )
hereby ::_thesis: - (x ") <> 0. F
assume x " = 0. F ; ::_thesis: contradiction
then 1. F = x * (0. F) by A1, Def10;
hence contradiction by Th7; ::_thesis: verum
end;
assume - (x ") = 0. F ; ::_thesis: contradiction
then (1. F) * (x ") = (- (1. F)) * (0. F) by Th10;
then (1. F) * (x ") = 0. F by Th7;
then x * (x ") = x * (0. F) by Def8;
then 1. F = x * (0. F) by A1, Def10;
hence contradiction by Th7; ::_thesis: verum
end;
theorem Th26: :: VECTSP_1:26
(1. F_Real) + (1. F_Real) <> 0. F_Real ;
definition
let IT be non empty addLoopStr ;
attrIT is Fanoian means :Def18: :: VECTSP_1:def 18
for a being Element of IT st a + a = 0. IT holds
a = 0. IT;
end;
:: deftheorem Def18 defines Fanoian VECTSP_1:def_18_:_
for IT being non empty addLoopStr holds
( IT is Fanoian iff for a being Element of IT st a + a = 0. IT holds
a = 0. IT );
registration
cluster non empty Fanoian for addLoopStr ;
existence
ex b1 being non empty addLoopStr st b1 is Fanoian
proof
take F = F_Real ; ::_thesis: F is Fanoian
let a be Element of F; :: according to VECTSP_1:def_18 ::_thesis: ( a + a = 0. F implies a = 0. F )
assume A1: a + a = 0. F ; ::_thesis: a = 0. F
a = (1. F) * a by Def8;
then a + a = ((1. F) + (1. F)) * a by Def7;
hence a = 0. F by A1, Th12, Th26; ::_thesis: verum
end;
end;
definition
let F be non empty non degenerated right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr ;
redefine attr F is Fanoian means :Def19: :: VECTSP_1:def 19
(1. F) + (1. F) <> 0. F;
compatibility
( F is Fanoian iff (1. F) + (1. F) <> 0. F )
proof
thus ( F is Fanoian implies (1. F) + (1. F) <> 0. F ) by Def18; ::_thesis: ( (1. F) + (1. F) <> 0. F implies F is Fanoian )
assume A1: (1. F) + (1. F) <> 0. F ; ::_thesis: F is Fanoian
let a be Element of F; :: according to VECTSP_1:def_18 ::_thesis: ( a + a = 0. F implies a = 0. F )
assume A2: a + a = 0. F ; ::_thesis: a = 0. F
a = (1. F) * a by Def8;
then a + a = ((1. F) + (1. F)) * a by Def7;
hence a = 0. F by A1, A2, Th12; ::_thesis: verum
end;
end;
:: deftheorem Def19 defines Fanoian VECTSP_1:def_19_:_
for F being non empty non degenerated right_complementable almost_left_invertible add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr holds
( F is Fanoian iff (1. F) + (1. F) <> 0. F );
registration
cluster non empty non degenerated non trivial right_complementable almost_left_invertible strict Abelian add-associative right_zeroed unital associative commutative right-distributive left-distributive right_unital well-unital distributive left_unital Fanoian for doubleLoopStr ;
existence
ex b1 being Field st
( b1 is strict & b1 is Fanoian )
proof
F_Real is Fanoian by Def19, Th26;
hence ex b1 being Field st
( b1 is strict & b1 is Fanoian ) ; ::_thesis: verum
end;
end;
theorem :: VECTSP_1:27
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for a, b being Element of F st a - b = 0. F holds
a = b by Th19;
theorem Th28: :: VECTSP_1:28
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for a being Element of F st - a = 0. F holds
a = 0. F
proof
let F be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for a being Element of F st - a = 0. F holds
a = 0. F
let a be Element of F; ::_thesis: ( - a = 0. F implies a = 0. F )
- (- a) = a by RLVECT_1:17;
hence ( - a = 0. F implies a = 0. F ) by RLVECT_1:12; ::_thesis: verum
end;
theorem :: VECTSP_1:29
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for a, b being Element of F st a - b = 0. F holds
b - a = 0. F
proof
let F be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for a, b being Element of F st a - b = 0. F holds
b - a = 0. F
let a, b be Element of F; ::_thesis: ( a - b = 0. F implies b - a = 0. F )
a - b = - (b - a) by RLVECT_1:33;
hence ( a - b = 0. F implies b - a = 0. F ) by Th28; ::_thesis: verum
end;
theorem :: VECTSP_1:30
for F being Field
for a, b, c being Element of F holds
( ( a <> 0. F & (a * c) - b = 0. F implies c = b * (a ") ) & ( a <> 0. F & b - (c * a) = 0. F implies c = b * (a ") ) )
proof
let F be Field; ::_thesis: for a, b, c being Element of F holds
( ( a <> 0. F & (a * c) - b = 0. F implies c = b * (a ") ) & ( a <> 0. F & b - (c * a) = 0. F implies c = b * (a ") ) )
let a, b, c be Element of F; ::_thesis: ( ( a <> 0. F & (a * c) - b = 0. F implies c = b * (a ") ) & ( a <> 0. F & b - (c * a) = 0. F implies c = b * (a ") ) )
thus A1: ( a <> 0. F & (a * c) - b = 0. F implies c = b * (a ") ) ::_thesis: ( a <> 0. F & b - (c * a) = 0. F implies c = b * (a ") )
proof
assume a <> 0. F ; ::_thesis: ( not (a * c) - b = 0. F or c = b * (a ") )
then A2: (a ") * a = 1. F by Def10;
assume (a * c) - b = 0. F ; ::_thesis: c = b * (a ")
then (a ") * (a * c) = b * (a ") by RLVECT_1:21;
then ((a ") * a) * c = b * (a ") by GROUP_1:def_3;
hence c = b * (a ") by A2, Def6; ::_thesis: verum
end;
assume A3: a <> 0. F ; ::_thesis: ( not b - (c * a) = 0. F or c = b * (a ") )
assume b - (c * a) = 0. F ; ::_thesis: c = b * (a ")
then - (b - (c * a)) = 0. F by RLVECT_1:12;
hence c = b * (a ") by A1, A3, RLVECT_1:33; ::_thesis: verum
end;
theorem :: VECTSP_1:31
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for a, b being Element of F holds a + b = - ((- b) + (- a))
proof
let F be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for a, b being Element of F holds a + b = - ((- b) + (- a))
let a, b be Element of F; ::_thesis: a + b = - ((- b) + (- a))
thus a + b = - (- (a + b)) by RLVECT_1:17
.= - ((- b) + (- a)) by RLVECT_1:31 ; ::_thesis: verum
end;
theorem :: VECTSP_1:32
for F being non empty right_complementable add-associative right_zeroed addLoopStr
for a, b, c being Element of F holds (b + a) - (c + a) = b - c
proof
let F be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for a, b, c being Element of F holds (b + a) - (c + a) = b - c
let a, b, c be Element of F; ::_thesis: (b + a) - (c + a) = b - c
thus (b + a) - (c + a) = (b + a) + ((- a) + (- c)) by RLVECT_1:31
.= ((b + a) + (- a)) + (- c) by RLVECT_1:def_3
.= (b + (a + (- a))) + (- c) by RLVECT_1:def_3
.= (b + (0. F)) + (- c) by RLVECT_1:5
.= b - c by RLVECT_1:4 ; ::_thesis: verum
end;
theorem :: VECTSP_1:33
for G being non empty right_complementable add-associative right_zeroed addLoopStr
for v, w being Element of G holds - ((- v) + w) = (- w) + v
proof
let G be non empty right_complementable add-associative right_zeroed addLoopStr ; ::_thesis: for v, w being Element of G holds - ((- v) + w) = (- w) + v
let v, w be Element of G; ::_thesis: - ((- v) + w) = (- w) + v
thus - ((- v) + w) = (- w) + (- (- v)) by RLVECT_1:31
.= (- w) + v by RLVECT_1:17 ; ::_thesis: verum
end;
theorem :: VECTSP_1:34
for G being non empty Abelian add-associative addLoopStr
for u, v, w being Element of G holds (u - v) - w = (u - w) - v
proof
let G be non empty Abelian add-associative addLoopStr ; ::_thesis: for u, v, w being Element of G holds (u - v) - w = (u - w) - v
let u, v, w be Element of G; ::_thesis: (u - v) - w = (u - w) - v
thus (u - v) - w = (u + (- v)) + (- w)
.= (u + (- w)) + (- v) by RLVECT_1:def_3
.= (u - w) - v ; ::_thesis: verum
end;
theorem :: VECTSP_1:35
for B being AbGroup holds multMagma(# the carrier of B, the addF of B #) is commutative Group
proof
let B be AbGroup; ::_thesis: multMagma(# the carrier of B, the addF of B #) is commutative Group
set G = multMagma(# the carrier of B, the addF of B #);
A1: for a, b being Element of multMagma(# the carrier of B, the addF of B #)
for x, y being Element of B st a = x & b = y holds
a * b = x + y ;
A2: ( multMagma(# the carrier of B, the addF of B #) is associative & multMagma(# the carrier of B, the addF of B #) is Group-like )
proof
reconsider e = 0. B as Element of multMagma(# the carrier of B, the addF of B #) ;
thus for a, b, c being Element of multMagma(# the carrier of B, the addF of B #) holds (a * b) * c = a * (b * c) :: according to GROUP_1:def_3 ::_thesis: multMagma(# the carrier of B, the addF of B #) is Group-like
proof
let a, b, c be Element of multMagma(# the carrier of B, the addF of B #); ::_thesis: (a * b) * c = a * (b * c)
reconsider x = a, y = b, z = c as Element of B ;
thus (a * b) * c = (x + y) + z
.= x + (y + z) by RLVECT_1:def_3
.= a * (b * c) ; ::_thesis: verum
end;
take e ; :: according to GROUP_1:def_2 ::_thesis: for b1 being Element of the carrier of multMagma(# the carrier of B, the addF of B #) holds
( b1 * e = b1 & e * b1 = b1 & ex b2 being Element of the carrier of multMagma(# the carrier of B, the addF of B #) st
( b1 * b2 = e & b2 * b1 = e ) )
let a be Element of multMagma(# the carrier of B, the addF of B #); ::_thesis: ( a * e = a & e * a = a & ex b1 being Element of the carrier of multMagma(# the carrier of B, the addF of B #) st
( a * b1 = e & b1 * a = e ) )
reconsider x = a as Element of B ;
thus a * e = x + (0. B)
.= a by RLVECT_1:4 ; ::_thesis: ( e * a = a & ex b1 being Element of the carrier of multMagma(# the carrier of B, the addF of B #) st
( a * b1 = e & b1 * a = e ) )
reconsider b = - x as Element of multMagma(# the carrier of B, the addF of B #) ;
thus e * a = x + (0. B) by A1
.= a by RLVECT_1:4 ; ::_thesis: ex b1 being Element of the carrier of multMagma(# the carrier of B, the addF of B #) st
( a * b1 = e & b1 * a = e )
take b ; ::_thesis: ( a * b = e & b * a = e )
thus a * b = x + (- x)
.= e by RLVECT_1:5 ; ::_thesis: b * a = e
thus b * a = x + (- x) by A1
.= e by RLVECT_1:5 ; ::_thesis: verum
end;
now__::_thesis:_for_a,_b_being_Element_of_multMagma(#_the_carrier_of_B,_the_addF_of_B_#)_holds_a_*_b_=_b_*_a
let a, b be Element of multMagma(# the carrier of B, the addF of B #); ::_thesis: a * b = b * a
reconsider x = a, y = b as Element of B ;
thus a * b = y + x by A1
.= b * a ; ::_thesis: verum
end;
hence multMagma(# the carrier of B, the addF of B #) is commutative Group by A2, GROUP_1:def_12; ::_thesis: verum
end;
begin
theorem :: VECTSP_1:36
for L being non empty right_complementable add-associative right_zeroed unital right-distributive doubleLoopStr
for n being Element of NAT st n > 0 holds
(power L) . ((0. L),n) = 0. L
proof
let L be non empty right_complementable add-associative right_zeroed unital right-distributive doubleLoopStr ; ::_thesis: for n being Element of NAT st n > 0 holds
(power L) . ((0. L),n) = 0. L
let n be Element of NAT ; ::_thesis: ( n > 0 implies (power L) . ((0. L),n) = 0. L )
assume n > 0 ; ::_thesis: (power L) . ((0. L),n) = 0. L
then n >= 0 + 1 by NAT_1:13;
then A1: n - 1 >= 0 by XREAL_1:19;
n = (n - 1) + 1
.= (n -' 1) + 1 by A1, XREAL_0:def_2 ;
hence (power L) . ((0. L),n) = ((power L) . ((0. L),(n -' 1))) * (0. L) by GROUP_1:def_7
.= 0. L by Th6 ;
::_thesis: verum
end;
registration
cluster non empty well-unital for multLoopStr ;
existence
ex b1 being non empty multLoopStr st b1 is well-unital
proof
take F_Real ; ::_thesis: F_Real is well-unital
thus F_Real is well-unital ; ::_thesis: verum
end;
end;
registration
let S be non empty well-unital multLoopStr ;
identify 1_ S with 1. S;
compatibility
1_ S = 1. S by Lm2;
end;
theorem :: VECTSP_1:37
for L being non empty multLoopStr st L is well-unital holds
1. L = 1_ L by Lm2;
definition
let G, H be non empty addMagma ;
let f be Function of G,H;
attrf is additive means :: VECTSP_1:def 20
for x, y being Element of G holds f . (x + y) = (f . x) + (f . y);
end;
:: deftheorem defines additive VECTSP_1:def_20_:_
for G, H being non empty addMagma
for f being Function of G,H holds
( f is additive iff for x, y being Element of G holds f . (x + y) = (f . x) + (f . y) );