let p be preProgram of SCM+FSA ; for k being Element of NAT holds UsedIntLoc p = UsedIntLoc (IncAddr p,k)
let k be Element of NAT ; UsedIntLoc p = UsedIntLoc (IncAddr p,k)
set Ip = IncAddr p,k;
consider UIL being Function of the Instructions of SCM+FSA ,(Fin Int-Locations ) such that
A1:
for i being Instruction of SCM+FSA holds UIL . i = UsedIntLoc i
and
A2:
UsedIntLoc p = Union (UIL * p)
by Def2;
set g = UIL * p;
set f = UIL * (IncAddr p,k);
consider UIL2 being Function of the Instructions of SCM+FSA ,(Fin Int-Locations ) such that
A3:
for i being Instruction of SCM+FSA holds UIL2 . i = UsedIntLoc i
and
A4:
UsedIntLoc (IncAddr p,k) = Union (UIL2 * (IncAddr p,k))
by Def2;
for c being Element of the Instructions of SCM+FSA holds UIL . c = UIL2 . c
then A5:
UIL = UIL2
by FUNCT_2:113;
now A6:
dom UIL = the
Instructions of
SCM+FSA
by FUNCT_2:def 1;
then A7:
rng p c= dom UIL
by AMI_1:118;
A8:
rng (IncAddr p,k) c= dom UIL
by A6, AMI_1:118;
then A9:
dom (UIL * (IncAddr p,k)) = dom (IncAddr p,k)
by RELAT_1:46;
A10:
dom (IncAddr p,k) = dom p
by SCMFSA_4:def 6;
hence
dom (UIL * (IncAddr p,k)) = dom (UIL * p)
by A7, A9, RELAT_1:46;
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 5;
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 (pi p,m),
k
by A10, A9, A11, SCMFSA_4:def 6
.=
IncAddr px,
k
by A10, A9, A11, AMI_1:def 47
;
(IncAddr p,k) . x in rng (IncAddr p,k)
by A9, A11, FUNCT_1:def 5;
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:22
.=
UsedIntLoc Ipx
by A1
.=
UsedIntLoc px
by A12, Th27
.=
UIL . px
by A3, A5
.=
(UIL * p) . x
by A10, A9, A11, FUNCT_1:23
;
verum end;
hence
UsedIntLoc p = UsedIntLoc (IncAddr p,k)
by A2, A4, A5, FUNCT_1:9; verum