let I, J be Program of SCM+FSA ; for k being Element of NAT
for i being Instruction of SCM+FSA st ( for n being Element of NAT holds IncAddr i,n = i ) & i <> halt SCM+FSA & k = card I holds
( ((I ';' i) ';' J) . k = i & ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2) )
let k be Element of NAT ; for i being Instruction of SCM+FSA st ( for n being Element of NAT holds IncAddr i,n = i ) & i <> halt SCM+FSA & k = card I holds
( ((I ';' i) ';' J) . k = i & ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2) )
let i be Instruction of SCM+FSA ; ( ( for n being Element of NAT holds IncAddr i,n = i ) & i <> halt SCM+FSA & k = card I implies ( ((I ';' i) ';' J) . k = i & ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2) ) )
assume that
A1:
for n being Element of NAT holds IncAddr i,n = i
and
A2:
i <> halt SCM+FSA
and
A3:
k = card I
; ( ((I ';' i) ';' J) . k = i & ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2) )
set x1 = k;
A4: card (I ';' i) =
(card I) + (card (Macro i))
by SCMFSA6A:61
.=
(card I) + 2
by SCMFSA7B:6
;
(card I) + 0 < (card I) + 2
by XREAL_1:8;
then A5:
k in dom (I ';' i)
by A3, A4, SCMFSA6A:15;
A6:
(Macro i) . 0 = i
by SCMFSA6B:33;
A7:
card (Macro i) = 2
by SCMFSA7B:6;
A8: (I ';' i) . k =
(I ';' (Macro i)) . ((card I) + 0 )
by A3
.=
IncAddr i,(card I)
by A6, A7, Th48
.=
i
by A1
;
thus ((I ';' i) ';' J) . k =
(Directed (I ';' i)) . k
by A5, SCMFSA8A:28
.=
i
by A2, A5, A8, SCMFSA8A:30
; ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2)
set x2 = k + 1;
(card I) + 1 < (card I) + 2
by XREAL_1:8;
then A9:
k + 1 in dom (I ';' i)
by A3, A4, SCMFSA6A:15;
(Macro i) . 1 = halt SCM+FSA
by SCMFSA6B:33;
then A10: (I ';' i) . (k + 1) =
IncAddr (halt SCM+FSA ),(card I)
by A3, A7, Th48
.=
halt SCM+FSA
by SCMFSA_4:8
;
thus ((I ';' i) ';' J) . (k + 1) =
(Directed (I ';' i)) . (k + 1)
by A9, SCMFSA8A:28
.=
goto ((card I) + 2)
by A4, A9, A10, SCMFSA8A:30
; verum