let I be Program of SCM+FSA; :: thesis: ( I is InitClosed iff for s being State of SCM+FSA
for p being the Instructions of SCM+FSA -valued ManySortedSet of NAT holds I is_closed_onInit s,p )

hereby :: thesis: ( ( for s being State of SCM+FSA
for p being the Instructions of SCM+FSA -valued ManySortedSet of NAT holds I is_closed_onInit s,p ) implies I is InitClosed )
end;
assume A4: for s being State of SCM+FSA
for p being the Instructions of SCM+FSA -valued ManySortedSet of NAT holds I is_closed_onInit s,p ; :: thesis: I is InitClosed
now
let s be State of SCM+FSA; :: thesis: for p being the Instructions of SCM+FSA -valued ManySortedSet of NAT st I c= p holds
for k being Element of NAT st Initialize ((intloc 0) .--> 1) c= s holds
IC (Comput (p,s,k)) in dom I

let p be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; :: thesis: ( I c= p implies for k being Element of NAT st Initialize ((intloc 0) .--> 1) c= s holds
IC (Comput (p,s,k)) in dom I )

assume I c= p ; :: thesis: for k being Element of NAT st Initialize ((intloc 0) .--> 1) c= s holds
IC (Comput (p,s,k)) in dom I

then A5: p +* I = p by FUNCT_4:103, FUNCT_4:104;
let k be Element of NAT ; :: thesis: ( Initialize ((intloc 0) .--> 1) c= s implies IC (Comput (p,s,k)) in dom I )
assume Initialize ((intloc 0) .--> 1) c= s ; :: thesis: IC (Comput (p,s,k)) in dom I
then A6: s = s +* (Initialize ((intloc 0) .--> 1)) by FUNCT_4:103, FUNCT_4:104;
I is_closed_onInit s,p by A4;
hence IC (Comput (p,s,k)) in dom I by A6, Def4, A5; :: thesis: verum
end;
hence I is InitClosed by Def1; :: thesis: verum