let k, loc be Nat; IncAddr ((SCM-goto loc),k) = SCM-goto (loc + k)
A1: InsCode (IncAddr ((SCM-goto loc),k)) =
InsCode (SCM-goto loc)
by COMPOS_0:def 9
.=
6
.=
InsCode (SCM-goto (loc + k))
;
A2: AddressPart (IncAddr ((SCM-goto loc),k)) =
AddressPart (SCM-goto loc)
by COMPOS_0:def 9
.=
{}
.=
AddressPart (SCM-goto (loc + k))
;
A3:
JumpPart (IncAddr ((SCM-goto loc),k)) = k + (JumpPart (SCM-goto loc))
by COMPOS_0:def 9;
JumpPart (IncAddr ((SCM-goto loc),k)) = JumpPart (SCM-goto (loc + k))
proof
thus A4:
dom (JumpPart (IncAddr ((SCM-goto loc),k))) = dom (JumpPart (SCM-goto (loc + k)))
by A1, COMPOS_0:def 5;
FUNCT_1:def 11 for b1 being object 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 )
let x be
object ;
( 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 A5:
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:2, FINSEQ_1:38;
then A6:
x = 1
by A5, A4, TARSKI:def 1;
thus (JumpPart (IncAddr ((SCM-goto loc),k))) . x =
k + ((JumpPart (SCM-goto loc)) . x)
by A3, A5, VALUED_1:def 2
.=
loc + k
by A6
.=
(JumpPart (SCM-goto (loc + k))) . x
by A6
;
verum
end;
hence
IncAddr ((SCM-goto loc),k) = SCM-goto (loc + k)
by A1, A2, COMPOS_0:1; verum