let D be non empty set ; for f being BinOp of D
for x being FinSequence of D
for m being Nat holds
( ( m + 1 <= len x implies (MultPlace (f,x)) . m in D ) & ( for n being Nat st n >= m + 1 holds
(MultPlace (f,(x | n))) . m = (MultPlace (f,x)) . m ) )
let f be BinOp of D; for x being FinSequence of D
for m being Nat holds
( ( m + 1 <= len x implies (MultPlace (f,x)) . m in D ) & ( for n being Nat st n >= m + 1 holds
(MultPlace (f,(x | n))) . m = (MultPlace (f,x)) . m ) )
let x be FinSequence of D; for m being Nat holds
( ( m + 1 <= len x implies (MultPlace (f,x)) . m in D ) & ( for n being Nat st n >= m + 1 holds
(MultPlace (f,(x | n))) . m = (MultPlace (f,x)) . m ) )
defpred S1[ Nat] means ( $1 + 1 <= len x implies (MultPlace (f,x)) . $1 in D );
C0:
S1[ 0 ]
C1:
for m being Nat st S1[m] holds
S1[m + 1]
proof
let m be
Nat;
( S1[m] implies S1[m + 1] )
assume E0:
S1[
m]
;
S1[m + 1]
assume E1:
(m + 1) + 1
<= len x
;
(MultPlace (f,x)) . (m + 1) in D
then
(
m + 2
<= len x & 1
<= m + 2 )
by NAT_1:12;
then
m + 2
in Seg (len x)
by FINSEQ_1:1;
then
m + 2
in dom x
by FINSEQ_1:def 3;
then Z1:
(
x . (m + 2) in rng x &
rng x c= D )
by FUNCT_1:def 3;
Z3:
(
m + 1
<= m + 2 implies
m + 1
<= len x )
by E1, XXREAL_0:2;
[((MultPlace (f,x)) . m),(x . (m + 2))] in [:D,D:]
by Z3, E0, Z1, XREAL_1:6, ZFMISC_1:def 2;
then
f . (
((MultPlace (f,x)) . m),
(x . (m + 2)))
in D
by FUNCT_2:5;
hence
(MultPlace (f,x)) . (m + 1) in D
by DefMultPlace;
verum
end;
defpred S2[ Nat] means for n being Nat st n >= $1 + 1 holds
(MultPlace (f,(x | n))) . $1 = (MultPlace (f,x)) . $1;
B0:
S2[ 0 ]
B1:
for m being Nat st S2[m] holds
S2[m + 1]
proof
let m be
Nat;
( S2[m] implies S2[m + 1] )
assume C1:
S2[
m]
;
S2[m + 1]
let n be
Nat;
( n >= (m + 1) + 1 implies (MultPlace (f,(x | n))) . (m + 1) = (MultPlace (f,x)) . (m + 1) )
assume C2:
n >= (m + 1) + 1
;
(MultPlace (f,(x | n))) . (m + 1) = (MultPlace (f,x)) . (m + 1)
then Z2:
(
m + 2
>= m + 1 &
n >= m + 2 )
by XREAL_1:6;
(MultPlace (f,(x | n))) . (m + 1) =
f . (
((MultPlace (f,(x | n))) . m),
((x | n) . (m + 2)))
by DefMultPlace
.=
f . (
((MultPlace (f,x)) . m),
((x | n) . (m + 2)))
by C1, Z2, XXREAL_0:2
.=
f . (
((MultPlace (f,x)) . m),
(x . (m + 2)))
by C2, FINSEQ_3:112
.=
(MultPlace (f,x)) . (m + 1)
by DefMultPlace
;
hence
(MultPlace (f,(x | n))) . (m + 1) = (MultPlace (f,x)) . (m + 1)
;
verum
end;
defpred S3[ Nat] means ( S2[$1] & S1[$1] );
D0:
S3[ 0 ]
by B0, C0;
D1:
for m being Nat st S3[m] holds
S3[m + 1]
by B1, C1;
for m being Nat holds S3[m]
from NAT_1:sch 2(D0, D1);
hence
for m being Nat holds
( ( m + 1 <= len x implies (MultPlace (f,x)) . m in D ) & ( for n being Nat st n >= m + 1 holds
(MultPlace (f,(x | n))) . m = (MultPlace (f,x)) . m ) )
; verum