let p be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for a being read-write Int-Location
for I being parahalting Program of SCM+FSA st WithVariantWhile=0 a,I,s,p holds
( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p )
let s be State of SCM+FSA; for a being read-write Int-Location
for I being parahalting Program of SCM+FSA st WithVariantWhile=0 a,I,s,p holds
( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p )
let a be read-write Int-Location ; for I being parahalting Program of SCM+FSA st WithVariantWhile=0 a,I,s,p holds
( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p )
let I be parahalting Program of SCM+FSA; ( WithVariantWhile=0 a,I,s,p implies ( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p ) )
assume A1:
WithVariantWhile=0 a,I,s,p
; ( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p )
ProperBodyWhile=0 a,I,s,p
proof
let k be
Element of
NAT ;
SCMFSA9A:def 1 ( ((StepWhile=0 (a,I,p,s)) . k) . a = 0 implies ( I is_closed_on (StepWhile=0 (a,I,p,s)) . k,p +* (while=0 (a,I)) & I is_halting_on (StepWhile=0 (a,I,p,s)) . k,p +* (while=0 (a,I)) ) )
assume
((StepWhile=0 (a,I,p,s)) . k) . a = 0
;
( I is_closed_on (StepWhile=0 (a,I,p,s)) . k,p +* (while=0 (a,I)) & I is_halting_on (StepWhile=0 (a,I,p,s)) . k,p +* (while=0 (a,I)) )
thus
(
I is_closed_on (StepWhile=0 (a,I,p,s)) . k,
p +* (while=0 (a,I)) &
I is_halting_on (StepWhile=0 (a,I,p,s)) . k,
p +* (while=0 (a,I)) )
by SCMFSA7B:18, SCMFSA7B:19;
verum
end;
hence
( while=0 (a,I) is_halting_on s,p & while=0 (a,I) is_closed_on s,p )
by A1, Th20; verum