let l be Element of NAT ; :: thesis: for s being State of SCM+FSA st IC s = l & s . l = goto l holds
not ProgramPart s halts_on s

let s be State of SCM+FSA; :: thesis: ( IC s = l & s . l = goto l implies not ProgramPart s halts_on s )
assume that
A1: IC s = l and
A2: s . l = goto l ; :: thesis: not ProgramPart s halts_on s
defpred S1[ Nat] means Comput ((ProgramPart s),s,$1) = s;
A3: for m being Element of NAT st S1[m] holds
S1[m + 1]
proof
let m be Element of NAT ; :: thesis: ( S1[m] implies S1[m + 1] )
A4: ( ( for f being FinSeq-Location holds (Exec ((goto l),s)) . f = s . f ) & ( for i being Element of NAT holds (Exec ((goto l),s)) . i = s . i ) ) by AMI_1:def 13, SCMFSA_2:95;
A5: ( IC (Exec ((goto l),s)) = IC s & ( for a being Int-Location holds (Exec ((goto l),s)) . a = s . a ) ) by A1, SCMFSA_2:95;
A6: (ProgramPart s) /. (IC s) = s . (IC s) by COMPOS_1:38;
assume Comput ((ProgramPart s),s,m) = s ; :: thesis: S1[m + 1]
hence Comput ((ProgramPart s),s,(m + 1)) = Following ((ProgramPart s),s) by EXTPRO_1:4
.= s by A1, A2, A5, A4, A6, SCMFSA_2:86 ;
:: thesis: verum
end;
let mm be Nat; :: according to EXTPRO_1:def 7 :: thesis: ( not IC (Comput ((ProgramPart s),s,mm)) in proj1 (ProgramPart s) or not CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,mm))) = halt SCM+FSA )
reconsider m = mm as Element of NAT by ORDINAL1:def 13;
A7: S1[ 0 ] by EXTPRO_1:3;
for m being Element of NAT holds S1[m] from NAT_1:sch 1(A7, A3);
then A8: S1[m] ;
assume
IC (Comput ((ProgramPart s),s,mm)) in dom (ProgramPart s) ; :: thesis: not CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,mm))) = halt SCM+FSA
thus CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,mm))) <> halt SCM+FSA by A8, A1, A2, COMPOS_1:38; :: thesis: verum