let s be State of SCM+FSA ; :: thesis: for I being Program of SCM+FSA
for a being read-write Int-Location st I is_closed_onInit s & I is_halting_onInit s & s . a > 0 holds
for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
let I be Program of SCM+FSA ; :: thesis: for a being read-write Int-Location st I is_closed_onInit s & I is_halting_onInit s & s . a > 0 holds
for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
let a be read-write Int-Location ; :: thesis: ( I is_closed_onInit s & I is_halting_onInit s & s . a > 0 implies for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) )
assume A1:
I is_closed_onInit s
; :: thesis: ( not I is_halting_onInit s or not s . a > 0 or for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) )
assume A2:
I is_halting_onInit s
; :: thesis: ( not s . a > 0 or for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) )
assume A3:
s . a > 0
; :: thesis: for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
set s0 = Initialize s;
set IA = I +* (Start-At (insloc 0 ));
then A4:
I is_closed_on Initialize s
by SCMFSA7B:def 7;
s +* (Initialized I) is halting
by A2, SCM_HALT:def 5;
then
(Initialize s) +* (I +* (Start-At (insloc 0 ))) is halting
by SCMFSA8A:13;
then A5:
I is_halting_on Initialize s
by SCMFSA7B:def 8;
A6:
(Initialize s) . a > 0
by A3, SCMFSA6C:3;
hereby :: thesis: verum
let k be
Element of
NAT ;
:: thesis: ( k <= (LifeSpan (s +* (Initialized I))) + 3 implies IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) )assume
k <= (LifeSpan (s +* (Initialized I))) + 3
;
:: thesis: IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)then
k <= (LifeSpan ((Initialize s) +* (I +* (Start-At (insloc 0 ))))) + 3
by SCMFSA8A:13;
then
IC (Computation ((Initialize s) +* ((while>0 a,I) +* (Start-At (insloc 0 )))),k) in dom (while>0 a,I)
by A4, A5, A6, SCMFSA_9:47;
hence
IC (Computation (s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
by SCMFSA8A:13;
:: thesis: verum
end;