let k, loc be Element of NAT ; IncAddr ((SCM-goto loc),k) = SCM-goto (loc + k)
A: InsCode (IncAddr ((SCM-goto loc),k)) =
InsCode (SCM-goto loc)
by COMPOS_1:def 38
.=
6
by RECDEF_2:def 1
.=
InsCode (SCM-goto (loc + k))
by RECDEF_2:def 1
;
B: AddressPart (IncAddr ((SCM-goto loc),k)) =
AddressPart (SCM-goto loc)
by COMPOS_1:def 38
.=
{}
by RECDEF_2:def 3
.=
AddressPart (SCM-goto (loc + k))
by RECDEF_2:def 3
;
X1:
JumpPart (IncAddr ((SCM-goto loc),k)) = k + (JumpPart (SCM-goto loc))
by COMPOS_1:def 38;
JumpPart (IncAddr ((SCM-goto loc),k)) = JumpPart (SCM-goto (loc + k))
proof
thus K:
dom (JumpPart (IncAddr ((SCM-goto loc),k))) = dom (JumpPart (SCM-goto (loc + k)))
by A, COMPOS_1:def 33;
FUNCT_1:def 17 for b1 being set holds
( not b1 in proj1 (JumpPart (IncAddr ((SCM-goto loc),k))) or (JumpPart (IncAddr ((SCM-goto loc),k))) . b1 = (JumpPart (SCM-goto (loc + k))) . b1 )
A1:
JumpPart (SCM-goto loc) = <*loc*>
by RECDEF_2:def 2;
A2:
JumpPart (SCM-goto (loc + k)) = <*(loc + k)*>
by RECDEF_2:def 2;
let x be
set ;
( not x in proj1 (JumpPart (IncAddr ((SCM-goto loc),k))) or (JumpPart (IncAddr ((SCM-goto loc),k))) . x = (JumpPart (SCM-goto (loc + k))) . x )
assume Z:
x in dom (JumpPart (IncAddr ((SCM-goto loc),k)))
;
(JumpPart (IncAddr ((SCM-goto loc),k))) . x = (JumpPart (SCM-goto (loc + k))) . x
dom <*(loc + k)*> = {1}
by FINSEQ_1:4, FINSEQ_1:55;
then C:
x = 1
by Z, K, A2, TARSKI:def 1;
thus (JumpPart (IncAddr ((SCM-goto loc),k))) . x =
k + ((JumpPart (SCM-goto loc)) . x)
by X1, Z, VALUED_1:def 2
.=
loc + k
by A1, C, FINSEQ_1:57
.=
(JumpPart (SCM-goto (loc + k))) . x
by A2, C, FINSEQ_1:57
;
verum
end;
hence
IncAddr ((SCM-goto loc),k) = SCM-goto (loc + k)
by A, B, COMPOS_1:7; verum