let D be non empty set ; :: thesis: for F, G being XFinSequence of
for b being BinOp of D st b is associative & ( b is having_a_unity or ( len F >= 1 & len G >= 1 ) ) holds
b "**" (F ^ G) = b . (b "**" F),(b "**" G)
let F, G be XFinSequence of ; :: thesis: for b being BinOp of D st b is associative & ( b is having_a_unity or ( len F >= 1 & len G >= 1 ) ) holds
b "**" (F ^ G) = b . (b "**" F),(b "**" G)
let b be BinOp of D; :: thesis: ( b is associative & ( b is having_a_unity or ( len F >= 1 & len G >= 1 ) ) implies b "**" (F ^ G) = b . (b "**" F),(b "**" G) )
defpred S1[ XFinSequence of ] means for F being XFinSequence of
for b being BinOp of D st b is associative & ( b is having_a_unity or ( len F >= 1 & len $1 >= 1 ) ) holds
b "**" (F ^ $1) = b . (b "**" F),(b "**" $1);
A1:
S1[ <%> D]
A3:
for G being XFinSequence of
for d being Element of D st S1[G] holds
S1[G ^ <%d%>]
proof
let G be
XFinSequence of ;
:: thesis: for d being Element of D st S1[G] holds
S1[G ^ <%d%>]let d be
Element of
D;
:: thesis: ( S1[G] implies S1[G ^ <%d%>] )
assume A4:
S1[
G]
;
:: thesis: S1[G ^ <%d%>]
let F be
XFinSequence of ;
:: thesis: for b being BinOp of D st b is associative & ( b is having_a_unity or ( len F >= 1 & len (G ^ <%d%>) >= 1 ) ) holds
b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),(b "**" (G ^ <%d%>))let b be
BinOp of
D;
:: thesis: ( b is associative & ( b is having_a_unity or ( len F >= 1 & len (G ^ <%d%>) >= 1 ) ) implies b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),(b "**" (G ^ <%d%>)) )
assume A5:
(
b is
associative & (
b is
having_a_unity or (
len F >= 1 &
len (G ^ <%d%>) >= 1 ) ) )
;
:: thesis: b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),(b "**" (G ^ <%d%>))
now per cases
( len G <> 0 or len G = 0 )
;
suppose A6:
len G <> 0
;
:: thesis: b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),(b "**" (G ^ <%d%>))A7:
b "**" (F ^ (G ^ <%d%>)) = b . (b "**" (F ^ G)),
d
len G >= 1
by A6, NAT_1:14;
then b "**" (F ^ (G ^ <%d%>)) =
b . (b . (b "**" F),(b "**" G)),
d
by A4, A5, A7
.=
b . (b "**" F),
(b . (b "**" G),d)
by A5, BINOP_1:def 3
.=
b . (b "**" F),
(b "**" (G ^ <%d%>))
by A6, Th45
;
hence
b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),
(b "**" (G ^ <%d%>))
;
:: thesis: verum end; end; end;
hence
b "**" (F ^ (G ^ <%d%>)) = b . (b "**" F),
(b "**" (G ^ <%d%>))
;
:: thesis: verum
end;
for G being XFinSequence of holds S1[G]
from STIRL2_1:sch 5(A1, A3);
hence
( b is associative & ( b is having_a_unity or ( len F >= 1 & len G >= 1 ) ) implies b "**" (F ^ G) = b . (b "**" F),(b "**" G) )
; :: thesis: verum