reconsider ss = s as Element of product the Object-Kind of SCM+FSA by PBOOLE:155;
consider f being Function of NAT ,(product the Object-Kind of SCM+FSA ) such that
W1:
f . 0 = ss
and
W2:
for i being Nat holds f . (i + 1) = H2(i,f . i)
from NAT_1:sch 12();
take
f
; ( f . 0 = s & ( for i being Nat holds f . (i + 1) = Comput (ProgramPart ((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA )))),((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ))),((LifeSpan (ProgramPart ((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))),((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))) + 3) ) )
thus
f . 0 = s
by W1; for i being Nat holds f . (i + 1) = Comput (ProgramPart ((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA )))),((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ))),((LifeSpan (ProgramPart ((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))),((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))) + 3)
let i be Nat; f . (i + 1) = Comput (ProgramPart ((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA )))),((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ))),((LifeSpan (ProgramPart ((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))),((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))) + 3)
f . (i + 1) = H2(i,f . i)
by W2;
hence
f . (i + 1) = Comput (ProgramPart ((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA )))),((f . i) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ))),((LifeSpan (ProgramPart ((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))),((f . i) +* (I +* (Start-At 0 ,SCM+FSA )))) + 3)
; verum