let p be Instruction-Sequence of SCM+FSA; :: thesis: for s being State of SCM+FSA
for a being read-write Int-Location
for I being Program of SCM+FSA st ( ProperBodyWhile>0 a,I, Initialized s,p or I is parahalting ) & WithVariantWhile>0 a,I, Initialized s,p holds
DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s))))

let s be State of SCM+FSA; :: thesis: for a being read-write Int-Location
for I being Program of SCM+FSA st ( ProperBodyWhile>0 a,I, Initialized s,p or I is parahalting ) & WithVariantWhile>0 a,I, Initialized s,p holds
DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s))))

let a be read-write Int-Location ; :: thesis: for I being Program of SCM+FSA st ( ProperBodyWhile>0 a,I, Initialized s,p or I is parahalting ) & WithVariantWhile>0 a,I, Initialized s,p holds
DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s))))

let I be Program of SCM+FSA; :: thesis: ( ( ProperBodyWhile>0 a,I, Initialized s,p or I is parahalting ) & WithVariantWhile>0 a,I, Initialized s,p implies DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s)))) )
set Ins = NAT ;
set WH = while>0 (a,I);
set Is = Initialized s;
set pds = p +* (while>0 (a,I));
A2: Initialized s = Initialize (Initialized s) by MEMSTR_0:44;
assume A5: ( ( ProperBodyWhile>0 a,I, Initialized s,p or I is parahalting ) & WithVariantWhile>0 a,I, Initialized s,p ) ; :: thesis: DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s))))
then A6: ex k being Element of NAT st
( ExitsAtWhile>0 (a,I,p,(Initialized s)) = k & ((StepWhile>0 (a,I,p,(Initialized s))) . k) . a <= 0 & ( for i being Element of NAT st ((StepWhile>0 (a,I,p,(Initialized s))) . i) . a <= 0 holds
k <= i ) & DataPart (Comput ((p +* (while>0 (a,I))),(Initialize (Initialized s)),(LifeSpan ((p +* (while>0 (a,I))),(Initialize (Initialized s)))))) = DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . k) ) by Def6;
while>0 (a,I) is_halting_on Initialized s,p by A5, Th33, Th34;
then A7: p +* (while>0 (a,I)) halts_on Initialized s by A2, SCMFSA7B:def 7;
thus DataPart (IExec ((while>0 (a,I)),p,s)) = DataPart (Result ((p +* (while>0 (a,I))),(Initialized s))) by SCMFSA6B:def 1
.= DataPart ((StepWhile>0 (a,I,p,(Initialized s))) . (ExitsAtWhile>0 (a,I,p,(Initialized s)))) by A2, A7, A6, EXTPRO_1:23 ; :: thesis: verum