let K be Ring; for G being VectorSpace-Sequence of K holds
( product G is vector-distributive & product G is scalar-distributive & product G is scalar-associative & product G is scalar-unital )
let G be VectorSpace-Sequence of K; ( product G is vector-distributive & product G is scalar-distributive & product G is scalar-associative & product G is scalar-unital )
deffunc H1( addLoopStr ) -> Element of bool [:[: the carrier of $1, the carrier of $1:], the carrier of $1:] = the addF of $1;
reconsider GS = ModuleStr(# (product (carr G)),[:(addop G):],(zeros G),[:(multop G):] #) as non empty ModuleStr over K ;
dom G = Seg (len G)
by FINSEQ_1:def 3;
then
dom G = Seg (len (carr G))
by PRVECT_1:def 11;
then A1:
dom G = dom (carr G)
by FINSEQ_1:def 3;
now for a, b being Element of K
for v, w being Vector of GS holds
( a * (v + w) = (a * v) + (a * w) & (a + b) * v = (a * v) + (b * v) & (a * b) * v = a * (b * v) & (1. K) * v = v )let a,
b be
Element of
K;
for v, w being Vector of GS holds
( a * (v + w) = (a * v) + (a * w) & (a + b) * v = (a * v) + (b * v) & (a * b) * v = a * (b * v) & (1. K) * v = v )let v,
w be
Vector of
GS;
( a * (v + w) = (a * v) + (a * w) & (a + b) * v = (a * v) + (b * v) & (a * b) * v = a * (b * v) & (1. K) * v = v )reconsider v1 =
v,
w1 =
w as
Element of
product (carr G) ;
A3:
now for x being object st x in dom (carr G) holds
([:(multop G):] . ((a + b),v1)) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (b,v1)))) . xlet x be
object ;
( x in dom (carr G) implies ([:(multop G):] . ((a + b),v1)) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (b,v1)))) . x )assume
x in dom (carr G)
;
([:(multop G):] . ((a + b),v1)) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (b,v1)))) . xthen reconsider i =
x as
Element of
dom (carr G) ;
reconsider vi =
v1 . i as
Vector of
(G . i) by A1, PRVECT_1:def 11;
([:(multop G):] . ((a + b),v1)) . i =
(a + b) * vi
by Lm4
.=
(a * vi) + (b * vi)
by VECTSP_1:def 15
.=
H1(
G . i)
. (
(([:(multop G):] . (a,v1)) . i),
(b * vi))
by Lm4
.=
H1(
G . i)
. (
(([:(multop G):] . (a,v1)) . i),
(([:(multop G):] . (b,v1)) . i))
by Lm4
;
hence
([:(multop G):] . ((a + b),v1)) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (b,v1)))) . x
by Lm3;
verum end; A4:
now for x being object st x in dom (carr G) holds
([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (a,w1)))) . xlet x be
object ;
( x in dom (carr G) implies ([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (a,w1)))) . x )assume
x in dom (carr G)
;
([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (a,w1)))) . xthen reconsider i =
x as
Element of
dom (carr G) ;
reconsider vi =
v1 . i,
wi =
w1 . i as
Vector of
(G . i) by A1, PRVECT_1:def 11;
([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) . i =
the
lmult of
(G . i) . (
a,
(([:(addop G):] . (v1,w1)) . i))
by Lm4
.=
a * (vi + wi)
by Lm3
.=
(a * vi) + (a * wi)
by VECTSP_1:def 14
.=
H1(
G . i)
. (
(([:(multop G):] . (a,v1)) . i),
(a * wi))
by Lm4
.=
H1(
G . i)
. (
(([:(multop G):] . (a,v1)) . i),
(([:(multop G):] . (a,w1)) . i))
by Lm4
;
hence
([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) . x = ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (a,w1)))) . x
by Lm3;
verum end;
(
dom ([:(multop G):] . (a,([:(addop G):] . (v1,w1)))) = dom (carr G) &
dom ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (a,w1)))) = dom (carr G) )
by CARD_3:9;
hence
a * (v + w) = (a * v) + (a * w)
by A4, FUNCT_1:2;
( (a + b) * v = (a * v) + (b * v) & (a * b) * v = a * (b * v) & (1. K) * v = v )A5:
now for x being object st x in dom (carr G) holds
([:(multop G):] . ((a * b),v1)) . x = ([:(multop G):] . (a,([:(multop G):] . (b,v1)))) . xlet x be
object ;
( x in dom (carr G) implies ([:(multop G):] . ((a * b),v1)) . x = ([:(multop G):] . (a,([:(multop G):] . (b,v1)))) . x )assume
x in dom (carr G)
;
([:(multop G):] . ((a * b),v1)) . x = ([:(multop G):] . (a,([:(multop G):] . (b,v1)))) . xthen reconsider i =
x as
Element of
dom (carr G) ;
reconsider vi =
v1 . i as
Vector of
(G . i) by A1, PRVECT_1:def 11;
([:(multop G):] . ((a * b),v1)) . i =
(a * b) * vi
by Lm4
.=
a * (b * vi)
by VECTSP_1:def 16
.=
the
lmult of
(G . i) . (
a,
(([:(multop G):] . (b,v1)) . i))
by Lm4
;
hence
([:(multop G):] . ((a * b),v1)) . x = ([:(multop G):] . (a,([:(multop G):] . (b,v1)))) . x
by Lm4;
verum end;
(
dom ([:(multop G):] . ((a + b),v1)) = dom (carr G) &
dom ([:(addop G):] . (([:(multop G):] . (a,v1)),([:(multop G):] . (b,v1)))) = dom (carr G) )
by CARD_3:9;
hence
(a + b) * v = (a * v) + (b * v)
by A3, FUNCT_1:2;
( (a * b) * v = a * (b * v) & (1. K) * v = v )
(
dom ([:(multop G):] . ((a * b),v1)) = dom (carr G) &
dom ([:(multop G):] . (a,([:(multop G):] . (b,v1)))) = dom (carr G) )
by CARD_3:9;
hence
(a * b) * v = a * (b * v)
by A5, FUNCT_1:2;
(1. K) * v = v
(
dom ([:(multop G):] . ((1. K),v1)) = dom (carr G) &
dom v1 = dom (carr G) )
by CARD_3:9;
hence
(1. K) * v = v
by A2, FUNCT_1:2;
verum end;
hence
( product G is vector-distributive & product G is scalar-distributive & product G is scalar-associative & product G is scalar-unital )
; verum