let p be preProgram of SCM+FSA; for k being Element of NAT holds UsedInt*Loc p = UsedInt*Loc (IncAddr (p,k))
let k be Element of NAT ; UsedInt*Loc p = UsedInt*Loc (IncAddr (p,k))
set Ip = IncAddr (p,k);
consider UIL being Function of the Instructions of SCM+FSA,(Fin FinSeq-Locations) such that
A1:
for i being Instruction of SCM+FSA holds UIL . i = UsedInt*Loc i
and
A2:
UsedInt*Loc p = Union (UIL * p)
by Def4;
set g = UIL * p;
set f = UIL * (IncAddr (p,k));
consider UIL2 being Function of the Instructions of SCM+FSA,(Fin FinSeq-Locations) such that
A3:
for i being Instruction of SCM+FSA holds UIL2 . i = UsedInt*Loc i
and
A4:
UsedInt*Loc (IncAddr (p,k)) = Union (UIL2 * (IncAddr (p,k)))
by Def4;
for c being Element of the Instructions of SCM+FSA holds UIL . c = UIL2 . c
then A5:
UIL = UIL2
by FUNCT_2:63;
now A6:
dom UIL = the
Instructions of
SCM+FSA
by FUNCT_2:def 1;
then A7:
rng p c= dom UIL
by RELAT_1:def 19;
A8:
rng (IncAddr (p,k)) c= dom UIL
by A6, RELAT_1:def 19;
then A9:
dom (UIL * (IncAddr (p,k))) = dom (IncAddr (p,k))
by RELAT_1:27;
A10:
dom (IncAddr (p,k)) = dom p
by COMPOS_1:def 19;
hence
dom (UIL * (IncAddr (p,k))) = dom (UIL * p)
by A7, A9, RELAT_1:27;
for x being set st x in dom (UIL * (IncAddr (p,k))) holds
(UIL * (IncAddr (p,k))) . x = (UIL * p) . xlet x be
set ;
( x in dom (UIL * (IncAddr (p,k))) implies (UIL * (IncAddr (p,k))) . x = (UIL * p) . x )assume A11:
x in dom (UIL * (IncAddr (p,k)))
;
(UIL * (IncAddr (p,k))) . x = (UIL * p) . xthen
p . x in rng p
by A10, A9, FUNCT_1:def 3;
then reconsider px =
p . x as
Instruction of
SCM+FSA by A7, FUNCT_2:def 1;
dom p c= NAT
by RELAT_1:def 18;
then reconsider x9 =
x as
Element of
NAT by A10, A9, A11;
reconsider m =
x9 as
Element of
NAT ;
A12:
(IncAddr (p,k)) . x =
IncAddr (
(p /. m),
k)
by A10, A9, A11, COMPOS_1:def 19
.=
IncAddr (
px,
k)
by A10, A9, A11, PARTFUN1:def 6
;
(IncAddr (p,k)) . x in rng (IncAddr (p,k))
by A9, A11, FUNCT_1:def 3;
then reconsider Ipx =
(IncAddr (p,k)) . x as
Instruction of
SCM+FSA by A8, FUNCT_2:def 1;
thus (UIL * (IncAddr (p,k))) . x =
UIL . Ipx
by A11, FUNCT_1:12
.=
UsedInt*Loc Ipx
by A1
.=
UsedInt*Loc px
by A12, Th43
.=
UIL . px
by A3, A5
.=
(UIL * p) . x
by A10, A9, A11, FUNCT_1:13
;
verum end;
hence
UsedInt*Loc p = UsedInt*Loc (IncAddr (p,k))
by A2, A4, A5, FUNCT_1:2; verum