let n be Element of NAT ; :: thesis: for R being good Ring
for s1, s2 being State of (SCM R) st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st p c= s1 & p c= s2 holds
( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) )

let R be good Ring; :: thesis: for s1, s2 being State of (SCM R) st not R is trivial holds
for p being non NAT -defined autonomic FinPartState of st p c= s1 & p c= s2 holds
( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) )

let s1, s2 be State of (SCM R); :: thesis: ( not R is trivial implies for p being non NAT -defined autonomic FinPartState of st p c= s1 & p c= s2 holds
( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) ) )

assume A1: not R is trivial ; :: thesis: for p being non NAT -defined autonomic FinPartState of st p c= s1 & p c= s2 holds
( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) )

set Cs2i = Comput (ProgramPart s2),s2,n;
set Cs1i = Comput (ProgramPart s1),s1,n;
let p be non NAT -defined autonomic FinPartState of ; :: thesis: ( p c= s1 & p c= s2 implies ( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) ) )
assume that
A2: p c= s1 and
A3: p c= s2 ; :: thesis: ( IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) )
ProgramPart p c= p by RELAT_1:88;
then A4: dom (ProgramPart p) c= dom p by GRFUNC_1:8;
thus A5: IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n) :: thesis: CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n)
proof
assume A6: IC (Comput (ProgramPart s1),s1,n) <> IC (Comput (ProgramPart s2),s2,n) ; :: thesis: contradiction
( ((Comput (ProgramPart s1),s1,n) | (dom p)) . (IC (SCM R)) = (Comput (ProgramPart s1),s1,n) . (IC (SCM R)) & ((Comput (ProgramPart s2),s2,n) | (dom p)) . (IC (SCM R)) = (Comput (ProgramPart s2),s2,n) . (IC (SCM R)) ) by A1, Th25, FUNCT_1:72;
hence contradiction by A2, A3, A6, AMI_1:def 25; :: thesis: verum
end;
IC (Comput (ProgramPart s2),s2,n) in dom (ProgramPart p) by A1, A3, Th27;
then A7: ((Comput (ProgramPart s2),s2,n) | (dom p)) . (IC (Comput (ProgramPart s2),s2,n)) = (Comput (ProgramPart s2),s2,n) . (IC (Comput (ProgramPart s2),s2,n)) by A4, FUNCT_1:72;
Y: (ProgramPart (Comput (ProgramPart s1),s1,n)) /. (IC (Comput (ProgramPart s1),s1,n)) = (Comput (ProgramPart s1),s1,n) . (IC (Comput (ProgramPart s1),s1,n)) by AMI_1:150;
Z: (ProgramPart (Comput (ProgramPart s2),s2,n)) /. (IC (Comput (ProgramPart s2),s2,n)) = (Comput (ProgramPart s2),s2,n) . (IC (Comput (ProgramPart s2),s2,n)) by AMI_1:150;
IC (Comput (ProgramPart s1),s1,n) in dom (ProgramPart p) by A1, A2, Th27;
then A8: ((Comput (ProgramPart s1),s1,n) | (dom p)) . (IC (Comput (ProgramPart s1),s1,n)) = (Comput (ProgramPart s1),s1,n) . (IC (Comput (ProgramPart s1),s1,n)) by A4, FUNCT_1:72;
assume not CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n) ; :: thesis: contradiction
hence contradiction by A2, A3, A5, A8, A7, AMI_1:def 25, Y, Z; :: thesis: verum