let D be non empty set ; for F, G, H being FinSequence of D
for g being BinOp of D st g is associative & g is commutative & len F >= 1 & len F = len G & len F = len H & ( for k being Nat st k in dom F holds
H . k = g . ((F . k),(G . k)) ) holds
g "**" H = g . ((g "**" F),(g "**" G))
let F, G, H be FinSequence of D; for g being BinOp of D st g is associative & g is commutative & len F >= 1 & len F = len G & len F = len H & ( for k being Nat st k in dom F holds
H . k = g . ((F . k),(G . k)) ) holds
g "**" H = g . ((g "**" F),(g "**" G))
let g be BinOp of D; ( g is associative & g is commutative & len F >= 1 & len F = len G & len F = len H & ( for k being Nat st k in dom F holds
H . k = g . ((F . k),(G . k)) ) implies g "**" H = g . ((g "**" F),(g "**" G)) )
assume that
A1:
g is associative
and
A2:
g is commutative
; ( not len F >= 1 or not len F = len G or not len F = len H or ex k being Nat st
( k in dom F & not H . k = g . ((F . k),(G . k)) ) or g "**" H = g . ((g "**" F),(g "**" G)) )
defpred S1[ Nat] means for F, G, H being FinSequence of D st len F >= 1 & len F = $1 & len F = len G & len F = len H & ( for n being Nat st n in dom F holds
H . n = g . ((F . n),(G . n)) ) holds
g "**" H = g . ((g "**" F),(g "**" G));
A3:
now for k being Nat st S1[k] holds
S1[k + 1]let k be
Nat;
( S1[k] implies S1[k + 1] )assume A4:
S1[
k]
;
S1[k + 1]thus
S1[
k + 1]
verumproof
let F,
G,
H be
FinSequence of
D;
( len F >= 1 & len F = k + 1 & len F = len G & len F = len H & ( for n being Nat st n in dom F holds
H . n = g . ((F . n),(G . n)) ) implies g "**" H = g . ((g "**" F),(g "**" G)) )
assume that
len F >= 1
and A5:
len F = k + 1
and A6:
len F = len G
and A7:
len F = len H
and A8:
for
k being
Nat st
k in dom F holds
H . k = g . (
(F . k),
(G . k))
;
g "**" H = g . ((g "**" F),(g "**" G))
reconsider f =
F | (Seg k),
gg =
G | (Seg k),
h =
H | (Seg k) as
FinSequence of
D by FINSEQ_1:18;
A9:
len h = k
by A5, A7, FINSEQ_3:53;
A10:
len f = k
by A5, FINSEQ_3:53;
A11:
len gg = k
by A5, A6, FINSEQ_3:53;
A12:
now for i being Nat st i in dom f holds
h . i = g . ((f . i),(gg . i))
k <= k + 1
by NAT_1:12;
then
Seg (len f) c= Seg (len F)
by A5, A10, FINSEQ_1:5;
then
Seg (len f) c= dom F
by FINSEQ_1:def 3;
then A13:
dom f c= dom F
by FINSEQ_1:def 3;
let i be
Nat;
( i in dom f implies h . i = g . ((f . i),(gg . i)) )assume A14:
i in dom f
;
h . i = g . ((f . i),(gg . i))then
i in Seg (len gg)
by A10, A11, FINSEQ_1:def 3;
then
i in dom gg
by FINSEQ_1:def 3;
then A15:
G . i = gg . i
by FUNCT_1:47;
i in Seg (len h)
by A10, A9, A14, FINSEQ_1:def 3;
then
i in dom h
by FINSEQ_1:def 3;
then A16:
H . i = h . i
by FUNCT_1:47;
F . i = f . i
by A14, FUNCT_1:47;
hence
h . i = g . (
(f . i),
(gg . i))
by A8, A14, A15, A16, A13;
verum end;
now g "**" H = g . ((g "**" F),(g "**" G))per cases
( len f >= 1 or len f = 0 )
by NAT_1:14;
suppose A17:
len f >= 1
;
g "**" H = g . ((g "**" F),(g "**" G))A18:
rng H c= D
by FINSEQ_1:def 4;
A19:
(
rng F c= D &
rng G c= D )
by FINSEQ_1:def 4;
A20:
k + 1
in Seg (k + 1)
by FINSEQ_1:4;
then
k + 1
in dom G
by A5, A6, FINSEQ_1:def 3;
then A21:
G . (k + 1) in rng G
by FUNCT_1:def 3;
k + 1
in dom H
by A5, A7, A20, FINSEQ_1:def 3;
then A22:
H . (k + 1) in rng H
by FUNCT_1:def 3;
A23:
k + 1
in dom F
by A5, A20, FINSEQ_1:def 3;
then
F . (k + 1) in rng F
by FUNCT_1:def 3;
then reconsider d =
F . (k + 1),
d1 =
G . (k + 1),
d2 =
H . (k + 1) as
Element of
D by A21, A22, A19, A18;
A24:
d2 = g . (
(F . (k + 1)),
(G . (k + 1)))
by A8, A23;
F = f ^ <*d*>
by A5, FINSEQ_3:55;
then A25:
g "**" F = g . (
(g "**" f),
d)
by A17, Th4;
G = gg ^ <*d1*>
by A5, A6, FINSEQ_3:55;
then A26:
g "**" G = g . (
(g "**" gg),
d1)
by A10, A11, A17, Th4;
A27:
H = h ^ <*d2*>
by A5, A7, FINSEQ_3:55;
g "**" h = g . (
(g "**" f),
(g "**" gg))
by A4, A10, A11, A9, A12, A17;
hence g "**" H =
g . (
(g . ((g "**" f),(g "**" gg))),
(g . (d,d1)))
by A10, A9, A17, A27, A24, Th4
.=
g . (
(g . ((g . ((g "**" f),(g "**" gg))),d)),
d1)
by A1, BINOP_1:def 3
.=
g . (
(g . ((g "**" f),(g . ((g "**" gg),d)))),
d1)
by A1, BINOP_1:def 3
.=
g . (
(g . ((g "**" f),(g . (d,(g "**" gg))))),
d1)
by A2, BINOP_1:def 2
.=
g . (
(g . ((g "**" F),(g "**" gg))),
d1)
by A1, A25, BINOP_1:def 3
.=
g . (
(g "**" F),
(g "**" G))
by A1, A26, BINOP_1:def 3
;
verum end; suppose A28:
len f = 0
;
g "**" H = g . ((g "**" F),(g "**" G))then A29:
(
g "**" G = G . 1 & 1
in dom F )
by A5, A6, A10, Lm11, FINSEQ_3:25;
(
g "**" H = H . 1 &
g "**" F = F . 1 )
by A5, A7, A10, A28, Lm11;
hence
g "**" H = g . (
(g "**" F),
(g "**" G))
by A8, A29;
verum end; end; end;
hence
g "**" H = g . (
(g "**" F),
(g "**" G))
;
verum
end; end;
assume A30:
( len F >= 1 & len F = len G & len F = len H )
; ( ex k being Nat st
( k in dom F & not H . k = g . ((F . k),(G . k)) ) or g "**" H = g . ((g "**" F),(g "**" G)) )
A31:
S1[ 0 ]
;
for k being Nat holds S1[k]
from NAT_1:sch 2(A31, A3);
hence
( ex k being Nat st
( k in dom F & not H . k = g . ((F . k),(G . k)) ) or g "**" H = g . ((g "**" F),(g "**" G)) )
by A30; verum