let N be non empty with_non-empty_elements set ; :: thesis: for S being non empty IC-Ins-separated AMI-Struct of N
for F being preProgram of S holds
( F is really-closed iff for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F )

let S be non empty IC-Ins-separated AMI-Struct of N; :: thesis: for F being preProgram of S holds
( F is really-closed iff for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F )

let F be preProgram of S; :: thesis: ( F is really-closed iff for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F )

thus ( F is really-closed implies for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F ) :: thesis: ( ( for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F ) implies F is really-closed )
proof
assume A1: F is really-closed ; :: thesis: for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F

let s be State of S; :: thesis: ( IC s in dom F implies for k being Element of NAT holds IC (Comput (F,s,k)) in dom F )
assume A2: IC s in dom F ; :: thesis: for k being Element of NAT holds IC (Comput (F,s,k)) in dom F
defpred S1[ Element of NAT ] means IC (Comput (F,s,$1)) in dom F;
A3: now
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
assume A4: S1[k] ; :: thesis: S1[k + 1]
reconsider t = Comput (F,s,k) as Element of product the Object-Kind of S by CARD_3:107;
set l = IC (Comput (F,s,k));
A5: IC (Following (F,t)) in NIC ((F /. (IC (Comput (F,s,k)))),(IC (Comput (F,s,k)))) ;
A6: Comput (F,s,(k + 1)) = Following (F,t) by EXTPRO_1:3;
NIC ((F /. (IC (Comput (F,s,k)))),(IC (Comput (F,s,k)))) c= dom F by A1, A4, Def17;
hence S1[k + 1] by A5, A6; :: thesis: verum
end;
A7: S1[ 0 ] by A2, EXTPRO_1:2;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A7, A3); :: thesis: verum
end;
assume Z1: for s being State of S st IC s in dom F holds
for k being Element of NAT holds IC (Comput (F,s,k)) in dom F ; :: thesis: F is really-closed
let l be Element of NAT ; :: according to AMISTD_1:def 9 :: thesis: ( l in dom F implies NIC ((F /. l),l) c= dom F )
assume Z2: l in dom F ; :: thesis: NIC ((F /. l),l) c= dom F
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in NIC ((F /. l),l) or x in dom F )
assume x in NIC ((F /. l),l) ; :: thesis: x in dom F
then consider ss being Element of product the Object-Kind of S such that
W1: x = IC (Exec ((F /. l),ss)) and
W2: IC ss = l ;
reconsider ss = ss as State of S ;
IC (Comput (F,ss,(0 + 1))) = IC (Following (F,(Comput (F,ss,0)))) by EXTPRO_1:3
.= IC (Following (F,ss)) by EXTPRO_1:2
.= IC (Exec ((F /. (IC ss)),ss)) ;
hence x in dom F by W1, W2, Z1, Z2; :: thesis: verum