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
proof
let c be Element of the Instructions of SCM+FSA ; :: thesis: UIL . c = UIL2 . c
reconsider d = c as Instruction of SCM+FSA ;
thus UIL . c = UsedInt*Loc d by A1
.= UIL2 . c by A2 ; :: thesis: verum
end;
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