let n be Element of NAT ; for R being good Ring
for a, b being Data-Location of R
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 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p holds
(Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b
let R be good Ring; for a, b being Data-Location of R
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 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p holds
(Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b
let a, b be Data-Location of R; 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 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p holds
(Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b
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 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p holds
(Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b )
assume A1:
not R is trivial
; for p being non NAT -defined autonomic FinPartState of st p c= s1 & p c= s2 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p holds
(Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b
set Cs2i1 = Comput (ProgramPart s2),s2,(n + 1);
set Cs1i1 = Comput (ProgramPart s1),s1,(n + 1);
set Cs2i = Comput (ProgramPart s2),s2,n;
set Cs1i = Comput (ProgramPart s1),s1,n;
set I = CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n);
let p be non NAT -defined autonomic FinPartState of ; ( p c= s1 & p c= s2 & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b & a in dom p implies (Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b )
assume A2:
( p c= s1 & p c= s2 )
; ( not CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b or not a in dom p or (Comput (ProgramPart s1),s1,n) . b = (Comput (ProgramPart s2),s2,n) . b )
A3:
( a in dom p implies ( ((Comput (ProgramPart s1),s1,(n + 1)) | (dom p)) . a = (Comput (ProgramPart s1),s1,(n + 1)) . a & ((Comput (ProgramPart s2),s2,(n + 1)) | (dom p)) . a = (Comput (ProgramPart s2),s2,(n + 1)) . a ) )
by FUNCT_1:72;
T:
ProgramPart s2 = ProgramPart (Comput (ProgramPart s2),s2,n)
by AMI_1:144;
A4: Comput (ProgramPart s2),s2,(n + 1) =
Following (ProgramPart s2),(Comput (ProgramPart s2),s2,n)
by AMI_1:14
.=
Exec (CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n)
by T
;
assume that
A5:
CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a := b
and
A6:
( a in dom p & (Comput (ProgramPart s1),s1,n) . b <> (Comput (ProgramPart s2),s2,n) . b )
; contradiction
T:
ProgramPart s1 = ProgramPart (Comput (ProgramPart s1),s1,n)
by AMI_1:144;
Comput (ProgramPart s1),s1,(n + 1) =
Following (ProgramPart s1),(Comput (ProgramPart s1),s1,n)
by AMI_1:14
.=
Exec (CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n)
by T
;
then A7:
(Comput (ProgramPart s1),s1,(n + 1)) . a = (Comput (ProgramPart s1),s1,n) . b
by A5, SCMRING2:13;
CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,n)),(Comput (ProgramPart s2),s2,n)
by A1, A2, Th28;
then
(Comput (ProgramPart s2),s2,(n + 1)) . a = (Comput (ProgramPart s2),s2,n) . b
by A4, A5, SCMRING2:13;
hence
contradiction
by A2, A3, A6, A7, AMI_1:def 25; verum