set J = Stop SCM+FSA;
set G = Goto 0;
let a be Int-Location ; for I being Program of SCM+FSA holds
( (card I) + 4 in dom (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) & (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) . ((card I) + 4) = goto (0 + ((card I) + 4)) )
let I be Program of SCM+FSA; ( (card I) + 4 in dom (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) & (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) . ((card I) + 4) = goto (0 + ((card I) + 4)) )
set I1 = I ';' (Goto 0);
set i = a >0_goto ((card (Stop SCM+FSA)) + 3);
set c4 = (card I) + 4;
set Lc4 = (card I) + 4;
set Mi = (((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I;
x:
card (Stop SCM+FSA) = 1
by COMPOS_1:46;
A1: card ((Goto 0) ';' (Stop SCM+FSA)) =
(card (Goto 0)) + (card (Stop SCM+FSA))
by SCMFSA6A:61
.=
1 + 1
by x, SCMFSA8A:29
.=
2
;
A2: if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA)) =
((((a >0_goto ((card (Stop SCM+FSA)) + 3)) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' (I ';' (Goto 0))) ';' (Stop SCM+FSA)
by SCMFSA8B:def 2
.=
(((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I) ';' (Goto 0)) ';' (Stop SCM+FSA)
by SCMFSA6A:67
.=
((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I) ';' ((Goto 0) ';' (Stop SCM+FSA))
by SCMFSA6A:67
;
then
card (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) = (card ((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I)) + (card ((Goto 0) ';' (Stop SCM+FSA)))
by SCMFSA6A:61;
then A3: card ((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I) =
(card (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA)))) - (card ((Goto 0) ';' (Stop SCM+FSA)))
.=
((card I) + 6) - 2
by A1, SCMFSA_9:2
.=
(card I) + 4
;
then A4:
not (card I) + 4 in dom ((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I)
;
set GJ = (Goto 0) ';' (Stop SCM+FSA);
A5:
InsCode (goto 0) = 6
by SCMFSA_2:47;
A6:
Goto 0 = 0 .--> (goto 0)
by SCMFSA8A:def 2;
then A7:
(Goto 0) . 0 = goto 0
by FUNCOP_1:87;
dom (Goto 0) = {0}
by A6, FUNCOP_1:19;
then A8:
0 in dom (Goto 0)
by TARSKI:def 1;
A9:
dom (Goto 0) c= dom ((Goto 0) ';' (Stop SCM+FSA))
by SCMFSA6A:56;
then
0 + ((card I) + 4) in { (il + ((card I) + 4)) where il is Element of NAT : il in dom ((Goto 0) ';' (Stop SCM+FSA)) }
by A8;
then A10:
(card I) + 4 in dom (Shift (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4)))
by VALUED_1:def 12;
then A11: (Shift (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4))) /. ((card I) + 4) =
(Shift (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4))) . (0 + ((card I) + 4))
by PARTFUN1:def 8
.=
((Goto 0) ';' (Stop SCM+FSA)) . 0
by A8, A9, VALUED_1:def 12
.=
goto 0
by A8, A7, A5, SCMFSA6A:54
;
x:
card (Stop SCM+FSA) = 1
by COMPOS_1:46;
card (I ';' (Goto 0)) =
(card I) + (card (Goto 0))
by SCMFSA6A:61
.=
(card I) + 1
by SCMFSA8A:29
;
then
((card (I ';' (Goto 0))) + (card (Stop SCM+FSA))) + 3 = ((card I) + 4) + 1
by x;
then
(card I) + 4 < ((card (I ';' (Goto 0))) + (card (Stop SCM+FSA))) + 3
by NAT_1:13;
hence A12:
(card I) + 4 in dom (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA)))
by SCMFSA8C:57; (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) . ((card I) + 4) = goto (0 + ((card I) + 4))
A13:
dom (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) = (dom (Directed ((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I))) \/ (dom (ProgramPart (Relocated (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4)))))
by A2, A3, FUNCT_4:def 1;
then
dom (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) = (dom ((((Macro (a >0_goto ((card (Stop SCM+FSA)) + 3))) ';' (Stop SCM+FSA)) ';' (Goto ((card (I ';' (Goto 0))) + 1))) ';' I)) \/ (dom (ProgramPart (Relocated (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4)))))
by FUNCT_4:105;
then
(card I) + 4 in dom (ProgramPart (Relocated (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4))))
by A12, A4, XBOOLE_0:def 3;
hence (if>0 (a,(I ';' (Goto 0)),(Stop SCM+FSA))) . ((card I) + 4) =
(ProgramPart (Relocated (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4)))) . ((card I) + 4)
by A12, A2, A3, A13, FUNCT_4:def 1
.=
(Reloc ((ProgramPart ((Goto 0) ';' (Stop SCM+FSA))),((card I) + 4))) . ((card I) + 4)
by COMPOS_1:116
.=
(Reloc (((Goto 0) ';' (Stop SCM+FSA)),((card I) + 4))) . ((card I) + 4)
by RELAT_1:209
.=
IncAddr ((goto 0),((card I) + 4))
by A10, A11, SCMFSA_4:24
.=
goto (0 + ((card I) + 4))
by SCMFSA_4:14
;
verum