let s be State of SCM+FSA; :: thesis: for p being Instruction-Sequence of SCM+FSA

for I being really-closed Program of SCM+FSA

for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let p be Instruction-Sequence of SCM+FSA; :: thesis: for I being really-closed Program of SCM+FSA

for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let I be really-closed Program of SCM+FSA; :: thesis: for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let J be Program of SCM+FSA; :: thesis: ( Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s implies for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m) )

assume that

A1: Initialize ((intloc 0) .--> 1) c= s and

A2: I c= p and

A3: p halts_on s ; :: thesis: for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

defpred S_{1}[ Nat] means ( $1 <= LifeSpan (p,s) implies Comput (p,s,$1) = Comput ((p +* (I ";" J)),s,$1) );

A4: for m being Nat st S_{1}[m] holds

S_{1}[m + 1]
_{1}[ 0 ]
;

thus for m being Nat holds S_{1}[m]
from NAT_1:sch 2(A15, A4); :: thesis: verum

for I being really-closed Program of SCM+FSA

for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let p be Instruction-Sequence of SCM+FSA; :: thesis: for I being really-closed Program of SCM+FSA

for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let I be really-closed Program of SCM+FSA; :: thesis: for J being Program of SCM+FSA st Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s holds

for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

let J be Program of SCM+FSA; :: thesis: ( Initialize ((intloc 0) .--> 1) c= s & I c= p & p halts_on s implies for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m) )

assume that

A1: Initialize ((intloc 0) .--> 1) c= s and

A2: I c= p and

A3: p halts_on s ; :: thesis: for m being Nat st m <= LifeSpan (p,s) holds

Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m)

defpred S

A4: for m being Nat st S

S

proof

A15:
S
set px = p +* (I ";" J);

let m be Nat; :: thesis: ( S_{1}[m] implies S_{1}[m + 1] )

A5: I ";" J c= p +* (I ";" J) by FUNCT_4:25;

assume A6: ( m <= LifeSpan (p,s) implies Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m) ) ; :: thesis: S_{1}[m + 1]

dom (I ";" J) = (dom I) \/ (dom (Reloc (J,(card I)))) by SCMFSA6A:39;

then A7: ( {} c= Comput ((p +* (I ";" J)),s,m) & dom I c= dom (I ";" J) ) by XBOOLE_1:2, XBOOLE_1:7;

A8: Comput (p,s,(m + 1)) = Following (p,(Comput (p,s,m))) by EXTPRO_1:3

.= Exec ((CurInstr (p,(Comput (p,s,m)))),(Comput (p,s,m))) ;

A9: Comput ((p +* (I ";" J)),s,(m + 1)) = Following ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m))) by EXTPRO_1:3

.= Exec ((CurInstr ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m)))),(Comput ((p +* (I ";" J)),s,m))) ;

IC s = 0 by A1, MEMSTR_0:47;

then IC s in dom I by AFINSQ_1:65;

then A10: IC (Comput (p,s,m)) in dom I by AMISTD_1:21, A2;

A11: p /. (IC (Comput (p,s,m))) = p . (IC (Comput (p,s,m))) by PBOOLE:143;

A12: CurInstr (p,(Comput (p,s,m))) = I . (IC (Comput (p,s,m))) by A10, A11, A2, GRFUNC_1:2;

assume A13: m + 1 <= LifeSpan (p,s) ; :: thesis: Comput (p,s,(m + 1)) = Comput ((p +* (I ";" J)),s,(m + 1))

A14: (p +* (I ";" J)) /. (IC (Comput ((p +* (I ";" J)),s,m))) = (p +* (I ";" J)) . (IC (Comput ((p +* (I ";" J)),s,m))) by PBOOLE:143;

m < LifeSpan (p,s) by A13, NAT_1:13;

then I . (IC (Comput (p,s,m))) <> halt SCM+FSA by A3, A12, EXTPRO_1:def 15;

then CurInstr (p,(Comput (p,s,m))) = (I ";" J) . (IC (Comput (p,s,m))) by A10, A12, SCMFSA6A:15

.= CurInstr ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m))) by A13, A10, A7, A14, A5, A6, GRFUNC_1:2, NAT_1:13 ;

hence Comput (p,s,(m + 1)) = Comput ((p +* (I ";" J)),s,(m + 1)) by A6, A13, A8, A9, NAT_1:13; :: thesis: verum

end;let m be Nat; :: thesis: ( S

A5: I ";" J c= p +* (I ";" J) by FUNCT_4:25;

assume A6: ( m <= LifeSpan (p,s) implies Comput (p,s,m) = Comput ((p +* (I ";" J)),s,m) ) ; :: thesis: S

dom (I ";" J) = (dom I) \/ (dom (Reloc (J,(card I)))) by SCMFSA6A:39;

then A7: ( {} c= Comput ((p +* (I ";" J)),s,m) & dom I c= dom (I ";" J) ) by XBOOLE_1:2, XBOOLE_1:7;

A8: Comput (p,s,(m + 1)) = Following (p,(Comput (p,s,m))) by EXTPRO_1:3

.= Exec ((CurInstr (p,(Comput (p,s,m)))),(Comput (p,s,m))) ;

A9: Comput ((p +* (I ";" J)),s,(m + 1)) = Following ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m))) by EXTPRO_1:3

.= Exec ((CurInstr ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m)))),(Comput ((p +* (I ";" J)),s,m))) ;

IC s = 0 by A1, MEMSTR_0:47;

then IC s in dom I by AFINSQ_1:65;

then A10: IC (Comput (p,s,m)) in dom I by AMISTD_1:21, A2;

A11: p /. (IC (Comput (p,s,m))) = p . (IC (Comput (p,s,m))) by PBOOLE:143;

A12: CurInstr (p,(Comput (p,s,m))) = I . (IC (Comput (p,s,m))) by A10, A11, A2, GRFUNC_1:2;

assume A13: m + 1 <= LifeSpan (p,s) ; :: thesis: Comput (p,s,(m + 1)) = Comput ((p +* (I ";" J)),s,(m + 1))

A14: (p +* (I ";" J)) /. (IC (Comput ((p +* (I ";" J)),s,m))) = (p +* (I ";" J)) . (IC (Comput ((p +* (I ";" J)),s,m))) by PBOOLE:143;

m < LifeSpan (p,s) by A13, NAT_1:13;

then I . (IC (Comput (p,s,m))) <> halt SCM+FSA by A3, A12, EXTPRO_1:def 15;

then CurInstr (p,(Comput (p,s,m))) = (I ";" J) . (IC (Comput (p,s,m))) by A10, A12, SCMFSA6A:15

.= CurInstr ((p +* (I ";" J)),(Comput ((p +* (I ";" J)),s,m))) by A13, A10, A7, A14, A5, A6, GRFUNC_1:2, NAT_1:13 ;

hence Comput (p,s,(m + 1)) = Comput ((p +* (I ";" J)),s,(m + 1)) by A6, A13, A8, A9, NAT_1:13; :: thesis: verum

thus for m being Nat holds S