let g1, g2 be FinSequence; ( len g1 = len f & g1 . 1 = naming (V,A,(f . (len f)),a) & ( for n being Nat st 1 <= n & n < len g1 holds
g1 . (n + 1) = naming (V,A,(f . ((len f) - n)),(g1 . n)) ) & len g2 = len f & g2 . 1 = naming (V,A,(f . (len f)),a) & ( for n being Nat st 1 <= n & n < len g2 holds
g2 . (n + 1) = naming (V,A,(f . ((len f) - n)),(g2 . n)) ) implies g1 = g2 )
assume that
A3:
len g1 = len f
and
A4:
g1 . 1 = naming (V,A,(f . (len f)),a)
and
A5:
for n being Nat st 1 <= n & n < len g1 holds
g1 . (n + 1) = naming (V,A,(f . ((len f) - n)),(g1 . n))
and
A6:
len g2 = len f
and
A7:
g2 . 1 = naming (V,A,(f . (len f)),a)
and
A8:
for n being Nat st 1 <= n & n < len g2 holds
g2 . (n + 1) = naming (V,A,(f . ((len f) - n)),(g2 . n))
; g1 = g2
thus
len g1 = len g2
by A3, A6; FINSEQ_1:def 18 for b1 being set holds
( not 1 <= b1 or not b1 <= len g1 or g1 . b1 = g2 . b1 )
defpred S1[ Nat] means ( 1 <= $1 & $1 <= len g1 implies g1 . $1 = g2 . $1 );
A9:
S1[ 0 ]
;
A10:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume that A11:
S1[
k]
and
1
<= k + 1
and A12:
k + 1
<= len g1
;
g1 . (k + 1) = g2 . (k + 1)
per cases
( k <> 0 or k = 0 )
;
suppose
k <> 0
;
g1 . (k + 1) = g2 . (k + 1)then A13:
1
<= k
by NAT_1:14;
hence g1 . (k + 1) =
naming (
V,
A,
(f . ((len f) - k)),
(g2 . k))
by A5, A11, A12, NAT_1:13
.=
g2 . (k + 1)
by A3, A6, A8, A13, A12, NAT_1:13
;
verum end; end;
end;
for k being Nat holds S1[k]
from NAT_1:sch 2(A9, A10);
hence
for b1 being set holds
( not 1 <= b1 or not b1 <= len g1 or g1 . b1 = g2 . b1 )
; verum