let n be Element of NAT ; 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; 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); ( 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
; 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 ; ( 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
; ( 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))
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))
;
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, EXTPRO_1:def 9;
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 COMPOS_1:38;
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 COMPOS_1:38;
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)))
; contradiction
hence
contradiction
by A2, A3, A5, A8, A7, Y, Z, EXTPRO_1:def 9; verum