let s be State of SCM+FSA; ( (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) < s . (intloc (1 + 1)) or (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) <= 0 )
set s0 = Initialized s;
set s1 = Exec (((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))),(Initialized s));
set s2 = IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s);
A1:
intloc (4 + 1) <> intloc (1 + 1)
by SCMFSA_2:128;
A2: (IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)) . (intloc (1 + 1)) =
(Exec ((SubFrom ((intloc (4 + 1)),(intloc (5 + 1)))),(Exec (((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))),(Initialized s))))) . (intloc (1 + 1))
by SCMFSA6C:9
.=
(Exec (((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))),(Initialized s))) . (intloc (1 + 1))
by A1, SCMFSA_2:91
.=
(Initialized s) . (intloc (1 + 1))
by A1, SCMFSA_2:98
.=
s . (intloc (1 + 1))
by SCMFSA6C:3
;
per cases
( (IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)) . (intloc (4 + 1)) > 0 or (IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)) . (intloc (4 + 1)) <= 0 )
;
suppose A3:
(IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)) . (intloc (4 + 1)) > 0
;
( (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) < s . (intloc (1 + 1)) or (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) <= 0 )(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) =
(IExec ((if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0)))))),(IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)))) . (intloc (1 + 1))
by SCM_HALT:30
.=
0
by A3, Lm3
;
hence
(
(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) < s . (intloc (1 + 1)) or
(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) <= 0 )
;
verum end; suppose A4:
(IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)) . (intloc (4 + 1)) <= 0
;
( (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) < s . (intloc (1 + 1)) or (IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) <= 0 )(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) =
(IExec ((if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0)))))),(IExec ((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))),s)))) . (intloc (1 + 1))
by SCM_HALT:30
.=
(s . (intloc (1 + 1))) - 1
by A2, A4, Lm3
;
hence
(
(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) < s . (intloc (1 + 1)) or
(IExec (((((intloc (4 + 1)) := ((fsloc 0),(intloc (1 + 1)))) ';' (SubFrom ((intloc (4 + 1)),(intloc (5 + 1))))) ';' (if>0 ((intloc (4 + 1)),(Macro (SubFrom ((intloc (1 + 1)),(intloc (1 + 1))))),((AddTo ((intloc (3 + 1)),(intloc 0))) ';' (SubFrom ((intloc (1 + 1)),(intloc 0))))))),s)) . (intloc (1 + 1)) <= 0 )
by XREAL_1:148;
verum end; end;