let n be Element of NAT ; :: thesis: for R being non trivial good Ring
for a being Data-Location of R
for loc being Element of NAT
for s1, s2 being State of (SCM R)
for P1, P2 being the Instructions of (SCM b1) -valued ManySortedSet of NAT st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

let R be non trivial good Ring; :: thesis: for a being Data-Location of R
for loc being Element of NAT
for s1, s2 being State of (SCM R)
for P1, P2 being the Instructions of (SCM R) -valued ManySortedSet of NAT st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

let a be Data-Location of R; :: thesis: for loc being Element of NAT
for s1, s2 being State of (SCM R)
for P1, P2 being the Instructions of (SCM R) -valued ManySortedSet of NAT st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

let loc be Element of NAT ; :: thesis: for s1, s2 being State of (SCM R)
for P1, P2 being the Instructions of (SCM R) -valued ManySortedSet of NAT st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

let s1, s2 be State of (SCM R); :: thesis: for P1, P2 being the Instructions of (SCM R) -valued ManySortedSet of NAT st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

let P1, P2 be the Instructions of (SCM R) -valued ManySortedSet of NAT ; :: thesis: ( not R is trivial implies for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R ) )

assume not R is trivial ; :: thesis: for p being non NAT -defined autonomic FinPartState of st NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) holds
( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )

set Cs2i1 = Comput (P2,s2,(n + 1));
set Cs1i1 = Comput (P1,s1,(n + 1));
set I = CurInstr (P1,(Comput (P1,s1,n)));
let p be non NAT -defined autonomic FinPartState of ; :: thesis: ( NPP p c= s1 & NPP p c= s2 & ProgramPart p c= P1 & ProgramPart p c= P2 & CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc & loc <> succ (IC (Comput (P1,s1,n))) implies ( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R ) )
assume that
A1: ( NPP p c= s1 & NPP p c= s2 ) and
A2: ( ProgramPart p c= P1 & ProgramPart p c= P2 ) ; :: thesis: ( not CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc or not loc <> succ (IC (Comput (P1,s1,n))) or ( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R ) )
A3: CurInstr (P1,(Comput (P1,s1,n))) = CurInstr (P2,(Comput (P2,s2,n))) by A1, AMISTD_5:7, A2;
set Cs2i = Comput (P2,s2,n);
set Cs1i = Comput (P1,s1,n);
A4: Comput (P1,s1,(n + 1)) = Following (P1,(Comput (P1,s1,n))) by EXTPRO_1:4
.= Exec ((CurInstr (P1,(Comput (P1,s1,n)))),(Comput (P1,s1,n))) ;
A5: Comput (P2,s2,(n + 1)) = Following (P2,(Comput (P2,s2,n))) by EXTPRO_1:4
.= Exec ((CurInstr (P2,(Comput (P2,s2,n)))),(Comput (P2,s2,n))) ;
IC in dom p by AMISTD_5:6;
then A6: ( ((Comput (P1,s1,(n + 1))) | (dom (NPP p))) . (IC ) = (Comput (P1,s1,(n + 1))) . (IC ) & ((Comput (P2,s2,(n + 1))) | (dom (NPP p))) . (IC ) = (Comput (P2,s2,(n + 1))) . (IC ) ) by FUNCT_1:72, COMPOS_1:179;
assume that
A7: CurInstr (P1,(Comput (P1,s1,n))) = a =0_goto loc and
A8: loc <> succ (IC (Comput (P1,s1,n))) ; :: thesis: ( (Comput (P1,s1,n)) . a = 0. R iff (Comput (P2,s2,n)) . a = 0. R )
A9: IC (Comput (P1,s1,n)) = IC (Comput (P2,s2,n)) by A1, AMISTD_5:7, A2;
hereby :: thesis: ( (Comput (P2,s2,n)) . a = 0. R implies (Comput (P1,s1,n)) . a = 0. R )
assume ( (Comput (P1,s1,n)) . a = 0. R & (Comput (P2,s2,n)) . a <> 0. R ) ; :: thesis: contradiction
then ( (Comput (P1,s1,(n + 1))) . (IC ) = loc & (Comput (P2,s2,(n + 1))) . (IC ) = succ (IC (Comput (P2,s2,n))) ) by A3, A4, A5, A7, SCMRING2:18;
hence contradiction by A1, A9, A6, A8, EXTPRO_1:def 9, A2; :: thesis: verum
end;
assume that
A10: (Comput (P2,s2,n)) . a = 0. R and
A11: (Comput (P1,s1,n)) . a <> 0. R ; :: thesis: contradiction
A12: (Comput (P1,s1,(n + 1))) . (IC ) = succ (IC (Comput (P1,s1,n))) by A4, A7, A11, SCMRING2:18;
(Comput (P2,s2,(n + 1))) . (IC ) = loc by A3, A5, A7, A10, SCMRING2:18;
hence contradiction by A1, A6, A8, A12, EXTPRO_1:def 9, A2; :: thesis: verum