let I be Program of ; for l being Element of NAT holds UsedInt*Loc (Directed (I,l)) = UsedInt*Loc I
let l be Element of NAT ; UsedInt*Loc (Directed (I,l)) = UsedInt*Loc I
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 I = Union (UIL * I)
by SF_MASTR:def 4;
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 (Directed (I,l)) = Union (UIL2 * (Directed (I,l)))
by SF_MASTR:def 4;
A5:
for c being Element of the Instructions of SCM+FSA holds UIL . c = UIL2 . c
A6:
dom UIL = the Instructions of SCM+FSA
by FUNCT_2:def 1;
A7: UIL . (halt SCM+FSA) =
UsedInt*Loc (halt SCM+FSA)
by A1
.=
{}
by SF_MASTR:32
;
A8: UIL . (goto l) =
UsedInt*Loc (goto l)
by A1
.=
{}
by SF_MASTR:32
;
A9:
rng I c= the Instructions of SCM+FSA
by RELAT_1:def 19;
UIL * (Directed (I,l)) =
UIL * (I +~ ((halt SCM+FSA),(goto l)))
by SCMFSA6A:def 1
.=
UIL * (((id the Instructions of SCM+FSA) +* ((halt SCM+FSA),(goto l))) * I)
by A9, FUNCT_7:116
.=
(UIL * ((id the Instructions of SCM+FSA) +* ((halt SCM+FSA),(goto l)))) * I
by RELAT_1:36
.=
UIL * I
by A6, A7, A8, FUNCT_7:108
;
hence
UsedInt*Loc (Directed (I,l)) = UsedInt*Loc I
by A2, A4, A5, FUNCT_2:63; verum