let I be Program of SCM+FSA ; :: thesis: for l being Instruction-Location of SCM+FSA holds UsedInt*Loc (Directed I,l) = UsedInt*Loc I
let l be Instruction-Location of SCM+FSA ; :: thesis: 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 ) & 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
A2:
( ( for i being Instruction of SCM+FSA holds UIL2 . i = UsedInt*Loc i ) & UsedInt*Loc (Directed I,l) = Union (UIL2 * (Directed I,l)) )
by SF_MASTR:def 4;
A3:
for c being Element of the Instructions of SCM+FSA holds UIL . c = UIL2 . c
A4:
dom UIL = the Instructions of SCM+FSA
by FUNCT_2:def 1;
A6: UIL . (halt SCM+FSA ) =
UsedInt*Loc (halt SCM+FSA )
by A1
.=
{}
by SF_MASTR:36
;
A7: UIL . (goto l) =
UsedInt*Loc (goto l)
by A1
.=
{}
by SF_MASTR:36
;
rng I c= the Instructions of SCM+FSA
by AMI_1:118;
then UIL * (Directed I,l) =
UIL * (((id the Instructions of SCM+FSA ) +* (halt SCM+FSA ),(goto l)) * I)
by FUNCT_7:118
.=
(UIL * ((id the Instructions of SCM+FSA ) +* (halt SCM+FSA ),(goto l))) * I
by RELAT_1:55
.=
UIL * I
by A4, A6, A7, FUNCT_7:110
;
hence
UsedInt*Loc (Directed I,l) = UsedInt*Loc I
by A1, A2, A3, FUNCT_2:113; :: thesis: verum