set i = (insloc ((card I) + 4)) .--> (goto (insloc 0 ));
set C = if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA );
set P = (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )));
A1: card (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) = (card I) + 6 by Th1;
(card I) + 4 < (card I) + 6 by XREAL_1:8;
then insloc ((card I) + 4) in dom (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) by A1, SCMFSA6A:15;
then A2: {(insloc ((card I) + 4))} c= dom (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) by ZFMISC_1:37;
A3: dom ((if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) = (dom (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA ))) \/ (dom ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) by FUNCT_4:def 1
.= (dom (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA ))) \/ {(insloc ((card I) + 4))} by FUNCOP_1:19
.= dom (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) by A2, XBOOLE_1:12 ;
(if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 ))) is initial
proof
let m, n be Nat; :: according to SCMNORM:def 1 :: thesis: ( not n in dom ((if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) or n <= m or m in dom ((if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) )
thus ( not n in dom ((if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) or n <= m or m in dom ((if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 )))) ) by A3, SCMNORM:def 1; :: thesis: verum
end;
hence (if=0 a,(I ';' (Goto (insloc 0 ))),(Stop SCM+FSA )) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0 ))) is Program of SCM+FSA ; :: thesis: verum