let a be non empty FinSequence of REAL ; for Alg being Function of [:REAL,(NAT *):],NAT ex h being non empty FinSequence of NAT * st
( len h = len a & h . 1 = <*1*> & ( for i being Nat st 1 <= i & i < len a holds
ex d1 being Element of REAL ex d2 being FinSequence of NAT st
( d1 = a . (i + 1) & d2 = h . i & h . (i + 1) = d2 ^ <*(Alg . (d1,d2))*> ) ) )
let Alg be Function of [:REAL,(NAT *):],NAT; ex h being non empty FinSequence of NAT * st
( len h = len a & h . 1 = <*1*> & ( for i being Nat st 1 <= i & i < len a holds
ex d1 being Element of REAL ex d2 being FinSequence of NAT st
( d1 = a . (i + 1) & d2 = h . i & h . (i + 1) = d2 ^ <*(Alg . (d1,d2))*> ) ) )
defpred S1[ object , object , object ] means ex d0 being Element of NAT ex d1 being Element of REAL ex d2 being Element of NAT * st
( $1 = d0 & d1 = a . (d0 + 1) & $2 = d2 & $3 = d2 ^ <*(Alg . (d1,d2))*> );
reconsider I1 = <*1*> as Element of NAT * by FINSEQ_1:def 11;
A1:
for n0 being Nat st 1 <= n0 & n0 < len a holds
for f being Element of NAT * ex y being Element of NAT * st S1[n0,f,y]
proof
let n0 be
Nat;
( 1 <= n0 & n0 < len a implies for f being Element of NAT * ex y being Element of NAT * st S1[n0,f,y] )
assume L01:
( 1
<= n0 &
n0 < len a )
;
for f being Element of NAT * ex y being Element of NAT * st S1[n0,f,y]
let f be
Element of
NAT * ;
ex y being Element of NAT * st S1[n0,f,y]
n0 + 1
<= len a
by L01, NAT_1:13;
then L018:
Seg (n0 + 1) c= Seg (len a)
by FINSEQ_1:5;
n0 + 1
in Seg (len a)
by L018, FINSEQ_1:3;
then
n0 + 1
in dom a
by FINSEQ_1:def 3;
then
a . (n0 + 1) in rng a
by FUNCT_1:3;
then reconsider dd1 =
a . (n0 + 1) as
Element of
REAL ;
reconsider L =
Alg . (
dd1,
f) as
Element of
NAT ;
reconsider y =
f ^ <*L*> as
Element of
NAT * by FINSEQ_1:def 11;
FC99:
ex
d0 being
Element of
NAT ex
d1 being
Element of
REAL ex
d2 being
Element of
NAT * st
(
n0 = d0 &
d1 = a . (d0 + 1) &
f = d2 &
y = d2 ^ <*(Alg . (d1,d2))*> )
take
y
;
S1[n0,f,y]
thus
S1[
n0,
f,
y]
by FC99;
verum
end;
consider H being FinSequence of NAT * such that
A2:
( len H = len a & ( H . 1 = I1 or len a = 0 ) & ( for n being Nat st 1 <= n & n < len a holds
S1[n,H . n,H . (n + 1)] ) )
from RECDEF_1:sch 4(A1);
reconsider H = H as non empty FinSequence of NAT * by A2;
take
H
; ( len H = len a & H . 1 = <*1*> & ( for i being Nat st 1 <= i & i < len a holds
ex d1 being Element of REAL ex d2 being FinSequence of NAT st
( d1 = a . (i + 1) & d2 = H . i & H . (i + 1) = d2 ^ <*(Alg . (d1,d2))*> ) ) )
thus
( len H = len a & H . 1 = <*1*> )
by A2; for i being Nat st 1 <= i & i < len a holds
ex d1 being Element of REAL ex d2 being FinSequence of NAT st
( d1 = a . (i + 1) & d2 = H . i & H . (i + 1) = d2 ^ <*(Alg . (d1,d2))*> )
thus
for i being Nat st 1 <= i & i < len a holds
ex d1 being Element of REAL ex d2 being FinSequence of NAT st
( d1 = a . (i + 1) & d2 = H . i & H . (i + 1) = d2 ^ <*(Alg . (d1,d2))*> )
verum