let s be State of SCM+FSA ; 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
( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) )
let I be 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
( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) )
let a be read-write Int-Location ; ( I is_closed_onInit s & I is_halting_onInit s & s . a > 0 implies ( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) ) )
set s0 = Initialize s;
set sw = s +* (Initialized (while>0 a,I));
set sI = s +* (Initialized I);
set s0I = (Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ));
set s0w = (Initialize s) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ));
A1:
s +* (Initialized I) = (Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))
by SCMFSA8A:13;
A2:
s +* (Initialized (while>0 a,I)) = (Initialize s) +* ((while>0 a,I) +* (Start-At 0 ,SCM+FSA ))
by SCMFSA8A:13;
assume
I is_closed_onInit s
; ( not I is_halting_onInit s or not s . a > 0 or ( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) ) )
then A3:
I is_closed_on Initialize s
by SCM_HALT:40;
assume
I is_halting_onInit s
; ( not s . a > 0 or ( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) ) )
then A4:
I is_halting_on Initialize s
by SCM_HALT:41;
assume
s . a > 0
; ( IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0 & ( for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I) ) )
then A5:
(Initialize s) . a > 0
by SCMFSA6C:3;
hence
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),((LifeSpan (s +* (Initialized I))) + 3)) = 0
by A3, A4, A1, A2, SCMFSA_9:47; for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
thus
for k being Element of NAT st k <= (LifeSpan (s +* (Initialized I))) + 3 holds
IC (Comput (ProgramPart (s +* (Initialized (while>0 a,I)))),(s +* (Initialized (while>0 a,I))),k) in dom (while>0 a,I)
by A3, A4, A5, A1, A2, SCMFSA_9:47; verum