let I be Program of SCM+FSA ; :: thesis: for a, b being Int-Location st I does_not_destroy b holds
while>0 a,I does_not_destroy b
let a, b be Int-Location ; :: thesis: ( I does_not_destroy b implies while>0 a,I does_not_destroy b )
assume A1:
I does_not_destroy b
; :: thesis: while>0 a,I does_not_destroy b
set J = (insloc ((card I) + 4)) .--> (goto (insloc 0 ));
set Gi = Goto (insloc 0 );
set SS = Stop SCM+FSA ;
set F = if>0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA );
A2:
(insloc ((card I) + 4)) .--> (goto (insloc 0 )) does_not_destroy b
by SCMFSA_9:35;
Goto (insloc 0 ) does_not_destroy b
by SCMFSA8C:86;
then A3:
I ';' (Goto (insloc 0 )) does_not_destroy b
by A1, SCMFSA8C:81;
Stop SCM+FSA does_not_destroy b
by SCMFSA8C:85;
then A4:
if>0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA ) does_not_destroy b
by A3, SCMFSA8C:121;
while>0 a,I = (if>0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))
by SCMFSA_9:def 2;
hence
while>0 a,I does_not_destroy b
by A2, A4, SCMFSA8A:25; :: thesis: verum