let I, J be Program of ; 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) + 2
by SCMFSA6A:34;
(card I) + 0 < (card I) + 2
by XREAL_1:6;
then A5:
k in dom (I ';' i)
by A3, A4, AFINSQ_1:66;
A6:
(Macro i) . 0 = i
by COMPOS_1:58;
A7:
card (Macro i) = 2
by COMPOS_1:56;
A8: (I ';' i) . k =
(I ';' (Macro i)) . ((card I) + 0)
by A3, SCMFSA6A:def 6
.=
IncAddr (i,(card I))
by A6, A7, Th48
.=
i
by A1
;
thus ((I ';' i) ';' J) . k =
(Directed (I ';' i)) . k
by A5, SCMFSA8A:14
.=
i
by A2, A5, A8, SCMFSA8A:16
; ((I ';' i) ';' J) . (k + 1) = goto ((card I) + 2)
set x2 = k + 1;
(card I) + 1 < (card I) + 2
by XREAL_1:6;
then A9:
k + 1 in dom (I ';' i)
by A3, A4, AFINSQ_1:66;
(Macro i) . 1 = halt SCM+FSA
by COMPOS_1:59;
then
(I ';' (Macro i)) . (k + 1) = IncAddr ((halt SCM+FSA),(card I))
by A3, A7, Th48;
then A10: (I ';' i) . (k + 1) =
IncAddr ((halt SCM+FSA),(card I))
by SCMFSA6A:def 6
.=
halt SCM+FSA
by COMPOS_1:11
;
thus ((I ';' i) ';' J) . (k + 1) =
(Directed (I ';' i)) . (k + 1)
by A9, SCMFSA8A:14
.=
goto ((card I) + 2)
by A4, A9, A10, SCMFSA8A:16
; verum