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