let p be non NAT -defined autonomic FinPartState of ; :: according to AMISTD_5:def 4 :: thesis: for s being State of (STC N) st p c= s holds
for P being the Instructions of (STC N) -valued ManySortedSet of NAT st ProgramPart p c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom (ProgramPart p)

let s be State of (STC N); :: thesis: ( p c= s implies for P being the Instructions of (STC N) -valued ManySortedSet of NAT st ProgramPart p c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom (ProgramPart p) )

assume A1: p c= s ; :: thesis: for P being the Instructions of (STC N) -valued ManySortedSet of NAT st ProgramPart p c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom (ProgramPart p)

let P be the Instructions of (STC N) -valued ManySortedSet of NAT ; :: thesis: ( ProgramPart p c= P implies for i being Element of NAT holds IC (Comput (P,s,i)) in dom (ProgramPart p) )
assume A2: ProgramPart p c= P ; :: thesis: for i being Element of NAT holds IC (Comput (P,s,i)) in dom (ProgramPart p)
let i be Element of NAT ; :: thesis: IC (Comput (P,s,i)) in dom (ProgramPart p)
set Csi = Comput (P,s,i);
set loc = IC (Comput (P,s,i));
reconsider ll = IC (Comput (P,s,i)) as Element of NAT ;
set loc1 = ll + 1;
A3: ( IC (Comput (P,s,i)) in dom (ProgramPart p) iff IC (Comput (P,s,i)) in (dom p) /\ NAT ) by RELAT_1:90;
assume not IC (Comput (P,s,i)) in dom (ProgramPart p) ; :: thesis: contradiction
then A4: not IC (Comput (P,s,i)) in dom p by A3, XBOOLE_0:def 4;
the Instructions of (STC N) = {[0,0,0],[1,0,0]} by AMISTD_1:def 11;
then reconsider I = [1,0,0] as Instruction of (STC N) by TARSKI:def 2;
set p2 = p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)));
set p1 = p +* ((IC (Comput (P,s,i))) .--> I);
A5: dom (p +* ((IC (Comput (P,s,i))) .--> I)) = (dom p) \/ (dom ((IC (Comput (P,s,i))) .--> I)) by FUNCT_4:def 1;
A6: dom ((IC (Comput (P,s,i))) .--> (halt (STC N))) = {(IC (Comput (P,s,i)))} by FUNCOP_1:19;
then A7: IC (Comput (P,s,i)) in dom ((IC (Comput (P,s,i))) .--> (halt (STC N))) by TARSKI:def 1;
A8: dom (p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))) = (dom p) \/ (dom ((IC (Comput (P,s,i))) .--> (halt (STC N)))) by FUNCT_4:def 1;
then A9: IC (Comput (P,s,i)) in dom (p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))) by A7, XBOOLE_0:def 3;
consider s2 being State of (STC N) such that
A10: p +* ((IC (Comput (P,s,i))) .--> (halt (STC N))) c= s2 by PBOOLE:156;
set Cs2i = Comput ((ProgramPart s2),s2,i);
consider s1 being State of (STC N) such that
A11: p +* ((IC (Comput (P,s,i))) .--> I) c= s1 by PBOOLE:156;
set Cs1i = Comput ((ProgramPart s1),s1,i);
A12: dom ((IC (Comput (P,s,i))) .--> I) = {(IC (Comput (P,s,i)))} by FUNCOP_1:19;
then A13: IC (Comput (P,s,i)) in dom ((IC (Comput (P,s,i))) .--> I) by TARSKI:def 1;
then A14: IC (Comput (P,s,i)) in dom (p +* ((IC (Comput (P,s,i))) .--> I)) by A5, XBOOLE_0:def 3;
not p is autonomic
proof
A15: now
let x be set ; :: thesis: ( x in dom p implies p . x = s2 . x )
assume A16: x in dom p ; :: thesis: p . x = s2 . x
dom p misses dom ((IC (Comput (P,s,i))) .--> (halt (STC N))) by A4, A6, ZFMISC_1:56;
then A17: p . x = (p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))) . x by A16, FUNCT_4:17;
x in dom (p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))) by A8, A16, XBOOLE_0:def 3;
hence p . x = s2 . x by A10, A17, GRFUNC_1:8; :: thesis: verum
end;
((IC (Comput (P,s,i))) .--> (halt (STC N))) . (IC (Comput (P,s,i))) = halt (STC N) by FUNCOP_1:87;
then (p +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))) . (IC (Comput (P,s,i))) = halt (STC N) by A7, FUNCT_4:14;
then s2 . (IC (Comput (P,s,i))) = halt (STC N) by A9, A10, GRFUNC_1:8;
then A18: (Comput ((ProgramPart s2),s2,i)) . (IC (Comput (P,s,i))) = halt (STC N) by AMI_1:54;
((IC (Comput (P,s,i))) .--> I) . (IC (Comput (P,s,i))) = I by FUNCOP_1:87;
then (p +* ((IC (Comput (P,s,i))) .--> I)) . (IC (Comput (P,s,i))) = I by A13, FUNCT_4:14;
then A19: s1 . (IC (Comput (P,s,i))) = I by A14, A11, GRFUNC_1:8;
take P = ProgramPart s1; :: according to EXTPRO_1:def 9 :: thesis: ex b1 being set st
( ProgramPart p c= P & ProgramPart p c= b1 & ex b2, b3 being set st
( p c= b2 & p c= b3 & not for b4 being Element of NAT holds (Comput (P,b2,b4)) | (proj1 (NPP p)) = (Comput (b1,b3,b4)) | (proj1 (NPP p)) ) )

take Q = ProgramPart s2; :: thesis: ( ProgramPart p c= P & ProgramPart p c= Q & ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP p)) = (Comput (Q,b2,b3)) | (proj1 (NPP p)) ) )

A20: now
let x be set ; :: thesis: ( x in dom p implies p . x = s1 . x )
assume A21: x in dom p ; :: thesis: p . x = s1 . x
dom p misses dom ((IC (Comput (P,s,i))) .--> I) by A4, A12, ZFMISC_1:56;
then A22: p . x = (p +* ((IC (Comput (P,s,i))) .--> I)) . x by A21, FUNCT_4:17;
x in dom (p +* ((IC (Comput (P,s,i))) .--> I)) by A5, A21, XBOOLE_0:def 3;
hence p . x = s1 . x by A11, A22, GRFUNC_1:8; :: thesis: verum
end;
dom s1 = the carrier of (STC N) by PARTFUN1:def 4;
then A23: dom p c= dom s1 by RELAT_1:def 18;
then A24: p c= s1 by A20, GRFUNC_1:8;
hence A25: ProgramPart p c= P by RELAT_1:105; :: thesis: ( ProgramPart p c= Q & ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP p)) = (Comput (Q,b2,b3)) | (proj1 (NPP p)) ) )

dom s2 = the carrier of (STC N) by PARTFUN1:def 4;
then A26: dom p c= dom s2 by RELAT_1:def 18;
then p c= s2 by A15, GRFUNC_1:8;
hence A27: ProgramPart p c= Q by RELAT_1:105; :: thesis: ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP p)) = (Comput (Q,b2,b3)) | (proj1 (NPP p)) )

take s1 ; :: thesis: ex b1 being set st
( p c= s1 & p c= b1 & not for b2 being Element of NAT holds (Comput (P,s1,b2)) | (proj1 (NPP p)) = (Comput (Q,b1,b2)) | (proj1 (NPP p)) )

take s2 ; :: thesis: ( p c= s1 & p c= s2 & not for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP p)) = (Comput (Q,s2,b1)) | (proj1 (NPP p)) )
thus p c= s1 by A23, A20, GRFUNC_1:8; :: thesis: ( p c= s2 & not for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP p)) = (Comput (Q,s2,b1)) | (proj1 (NPP p)) )
then A28: (Comput ((ProgramPart s1),s1,i)) | (dom (NPP p)) = (Comput (P,s,i)) | (dom (NPP p)) by A1, EXTPRO_1:def 9, A25, A2;
thus p c= s2 by A26, A15, GRFUNC_1:8; :: thesis: not for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP p)) = (Comput (Q,s2,b1)) | (proj1 (NPP p))
then A29: (Comput ((ProgramPart s1),s1,i)) | (dom (NPP p)) = (Comput ((ProgramPart s2),s2,i)) | (dom (NPP p)) by A24, EXTPRO_1:def 9, A25, A27;
take k = i + 1; :: thesis: not (Comput (P,s1,k)) | (proj1 (NPP p)) = (Comput (Q,s2,k)) | (proj1 (NPP p))
set Cs1k = Comput ((ProgramPart s1),s1,k);
A30: (ProgramPart (Comput ((ProgramPart s1),s1,i))) /. (IC (Comput ((ProgramPart s1),s1,i))) = (Comput ((ProgramPart s1),s1,i)) . (IC (Comput ((ProgramPart s1),s1,i))) by COMPOS_1:38;
A31: Comput ((ProgramPart s1),s1,k) = Following ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) by EXTPRO_1:4
.= Exec ((CurInstr ((ProgramPart (Comput ((ProgramPart s1),s1,i))),(Comput ((ProgramPart s1),s1,i)))),(Comput ((ProgramPart s1),s1,i))) by AMI_1:123 ;
InsCode I = 1 by RECDEF_2:def 1;
then A32: (Exec (I,(Comput ((ProgramPart s1),s1,i)))) . (IC ) = succ (IC (Comput ((ProgramPart s1),s1,i))) by AMISTD_1:38;
A33: IC in dom p by Th6;
A34: (Comput (P,s,i)) . (IC ) = ((Comput (P,s,i)) | (dom (NPP p))) . (IC ) by FUNCT_1:72, COMPOS_1:179, A33;
then (Comput ((ProgramPart s1),s1,i)) . (IC ) = IC (Comput (P,s,i)) by A28, FUNCT_1:72, COMPOS_1:179, A33;
then A35: (Comput ((ProgramPart s1),s1,k)) . (IC ) = ll + 1 by A32, A31, A19, A30, AMI_1:54;
set Cs2k = Comput ((ProgramPart s2),s2,k);
A36: Comput ((ProgramPart s2),s2,k) = Following ((ProgramPart s2),(Comput ((ProgramPart s2),s2,i))) by EXTPRO_1:4
.= Exec ((CurInstr ((ProgramPart (Comput ((ProgramPart s2),s2,i))),(Comput ((ProgramPart s2),s2,i)))),(Comput ((ProgramPart s2),s2,i))) by AMI_1:123 ;
A37: (ProgramPart (Comput ((ProgramPart s2),s2,i))) /. (IC (Comput ((ProgramPart s2),s2,i))) = (Comput ((ProgramPart s2),s2,i)) . (IC (Comput ((ProgramPart s2),s2,i))) by COMPOS_1:38;
(Comput ((ProgramPart s2),s2,i)) . (IC ) = IC (Comput (P,s,i)) by A28, A34, A29, FUNCT_1:72, COMPOS_1:179, A33;
then A38: (Comput ((ProgramPart s2),s2,k)) . (IC ) = IC (Comput (P,s,i)) by EXTPRO_1:def 3, A36, A18, A37;
( ((Comput ((ProgramPart s1),s1,k)) | (dom (NPP p))) . (IC ) = (Comput ((ProgramPart s1),s1,k)) . (IC ) & ((Comput ((ProgramPart s2),s2,k)) | (dom (NPP p))) . (IC ) = (Comput ((ProgramPart s2),s2,k)) . (IC ) ) by FUNCT_1:72, COMPOS_1:179, A33;
hence not (Comput (P,s1,k)) | (proj1 (NPP p)) = (Comput (Q,s2,k)) | (proj1 (NPP p)) by A35, A38; :: thesis: verum
end;
hence contradiction ; :: thesis: verum