let O be non empty set ; for E being set
for F1, F2 being FinSequence of O
for A being Action of O,E holds Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
let E be set ; for F1, F2 being FinSequence of O
for A being Action of O,E holds Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
let F1, F2 be FinSequence of O; for A being Action of O,E holds Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
let A be Action of O,E; Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
defpred S1[ Element of NAT ] means for F1, F2 being FinSequence of O st len F1 = $1 holds
Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A);
reconsider k = len F1 as Element of NAT ;
A1:
k = len F1
;
A2:
for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be
Element of
NAT ;
( S1[k] implies S1[k + 1] )
assume A3:
S1[
k]
;
S1[k + 1]
now let F1,
F2 be
FinSequence of
O;
( len F1 = k + 1 implies Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A) )assume A4:
len F1 = k + 1
;
Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)then consider F1k being
FinSequence of
O,
o being
Element of
O such that A5:
F1 = F1k ^ <*o*>
by FINSEQ_2:22;
set F2k =
<*o*> ^ F2;
len F1 = (len F1k) + (len <*o*>)
by A5, FINSEQ_1:35;
then A6:
k + 1
= (len F1k) + 1
by A4, FINSEQ_1:56;
thus Product (F1 ^ F2),
A =
Product (F1k ^ (<*o*> ^ F2)),
A
by A5, FINSEQ_1:45
.=
(Product F1k,A) * (Product (<*o*> ^ F2),A)
by A3, A6
.=
(Product F1k,A) * ((Product <*o*>,A) * (Product F2,A))
by Lm28
.=
((Product F1k,A) * (Product <*o*>,A)) * (Product F2,A)
by RELAT_1:55
.=
(Product F1,A) * (Product F2,A)
by A3, A5, A6
;
verum end;
hence
S1[
k + 1]
;
verum
end;
A7:
S1[ 0 ]
proof
let F1,
F2 be
FinSequence of
O;
( len F1 = 0 implies Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A) )
assume A8:
len F1 = 0
;
Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
then
F1 = <*> O
;
hence Product (F1 ^ F2),
A =
Product ((<*> O) ^ F2),
A
.=
Product F2,
A
by FINSEQ_1:47
.=
(id E) * (Product F2,A)
by FUNCT_2:23
.=
(Product F1,A) * (Product F2,A)
by A8, Def3
;
verum
end;
for k being Element of NAT holds S1[k]
from NAT_1:sch 1(A7, A2);
hence
Product (F1 ^ F2),A = (Product F1,A) * (Product F2,A)
by A1; verum