let R be Ring; for i1, k being Nat holds IncAddr ((goto (i1,R)),k) = goto ((i1 + k),R)
let i1, k be Nat; IncAddr ((goto (i1,R)),k) = goto ((i1 + k),R)
A1:
JumpPart (IncAddr ((goto (i1,R)),k)) = k + (JumpPart (goto (i1,R)))
by COMPOS_0:def 9;
then A2:
dom (JumpPart (IncAddr ((goto (i1,R)),k))) = dom (JumpPart (goto (i1,R)))
by VALUED_1:def 2;
A3: dom (JumpPart (goto ((i1 + k),R))) =
dom <*(i1 + k)*>
.=
Seg 1
by FINSEQ_1:def 8
.=
dom <*i1*>
by FINSEQ_1:def 8
.=
dom (JumpPart (goto (i1,R)))
;
A4:
for x being object st x in dom (JumpPart (goto (i1,R))) holds
(JumpPart (IncAddr ((goto (i1,R)),k))) . x = (JumpPart (goto ((i1 + k),R))) . x
proof
let x be
object ;
( x in dom (JumpPart (goto (i1,R))) implies (JumpPart (IncAddr ((goto (i1,R)),k))) . x = (JumpPart (goto ((i1 + k),R))) . x )
assume A5:
x in dom (JumpPart (goto (i1,R)))
;
(JumpPart (IncAddr ((goto (i1,R)),k))) . x = (JumpPart (goto ((i1 + k),R))) . x
then
x in dom <*i1*>
;
then A6:
x = 1
by Lm1;
reconsider f =
(JumpPart (goto (i1,R))) . x as
Element of
NAT by ORDINAL1:def 12;
A7:
(JumpPart (IncAddr ((goto (i1,R)),k))) . x = k + f
by A5, A1, A2, VALUED_1:def 2;
thus (JumpPart (IncAddr ((goto (i1,R)),k))) . x =
<*(i1 + k)*> . x
by A6, A7
.=
(JumpPart (goto ((i1 + k),R))) . x
;
verum
end;
A8: InsCode (IncAddr ((goto (i1,R)),k)) =
InsCode (goto (i1,R))
by COMPOS_0:def 9
.=
6
.=
InsCode (goto ((i1 + k),R))
;
A9: AddressPart (IncAddr ((goto (i1,R)),k)) =
AddressPart (goto (i1,R))
by COMPOS_0:def 9
.=
{}
.=
AddressPart (goto ((i1 + k),R))
;
JumpPart (IncAddr ((goto (i1,R)),k)) = JumpPart (goto ((i1 + k),R))
by A2, A3, A4, FUNCT_1:2;
hence
IncAddr ((goto (i1,R)),k) = goto ((i1 + k),R)
by A8, A9, COMPOS_0:1; verum