let n be Element of NAT ; for R being good Ring
for a being Data-Location of R
for loc being Element of NAT
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
let R be good Ring; for a being Data-Location of R
for loc being Element of NAT
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
let a be Data-Location of R; for loc being Element of NAT
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
let loc be Element of NAT ; 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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R ) )
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) holds
( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
set Cs2i1 = Comput (ProgramPart s2),s2,(n + 1);
set Cs1i1 = Comput (ProgramPart s1),s1,(n + 1);
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 =0_goto loc & loc <> succ (IC (Comput (ProgramPart s1),s1,n)) implies ( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R ) )
assume A2:
( p c= s1 & p c= s2 )
; ( not CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a =0_goto loc or not loc <> succ (IC (Comput (ProgramPart s1),s1,n)) or ( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R ) )
A3:
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;
set Cs2i = Comput (ProgramPart s2),s2,n;
set Cs1i = Comput (ProgramPart s1),s1,n;
A4: 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 AMI_1:123
;
A5: 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 AMI_1:123
;
A6:
( ((Comput (ProgramPart s1),s1,(n + 1)) | (dom p)) . (IC (SCM R)) = (Comput (ProgramPart s1),s1,(n + 1)) . (IC (SCM R)) & ((Comput (ProgramPart s2),s2,(n + 1)) | (dom p)) . (IC (SCM R)) = (Comput (ProgramPart s2),s2,(n + 1)) . (IC (SCM R)) )
by A1, Th25, FUNCT_1:72;
assume that
A7:
CurInstr (ProgramPart (Comput (ProgramPart s1),s1,n)),(Comput (ProgramPart s1),s1,n) = a =0_goto loc
and
A8:
loc <> succ (IC (Comput (ProgramPart s1),s1,n))
; ( (Comput (ProgramPart s1),s1,n) . a = 0. R iff (Comput (ProgramPart s2),s2,n) . a = 0. R )
A9:
IC (Comput (ProgramPart s1),s1,n) = IC (Comput (ProgramPart s2),s2,n)
by A1, A2, Th28;
hereby ( (Comput (ProgramPart s2),s2,n) . a = 0. R implies (Comput (ProgramPart s1),s1,n) . a = 0. R )
assume
(
(Comput (ProgramPart s1),s1,n) . a = 0. R &
(Comput (ProgramPart s2),s2,n) . a <> 0. R )
;
contradictionthen
(
(Comput (ProgramPart s1),s1,(n + 1)) . (IC (SCM R)) = loc &
(Comput (ProgramPart s2),s2,(n + 1)) . (IC (SCM R)) = succ (IC (Comput (ProgramPart s2),s2,n)) )
by A3, A4, A5, A7, SCMRING2:18;
hence
contradiction
by A2, A9, A6, A8, AMI_1:def 25;
verum
end;
assume that
A10:
(Comput (ProgramPart s2),s2,n) . a = 0. R
and
A11:
(Comput (ProgramPart s1),s1,n) . a <> 0. R
; contradiction
A12:
(Comput (ProgramPart s1),s1,(n + 1)) . (IC (SCM R)) = succ (IC (Comput (ProgramPart s1),s1,n))
by A4, A7, A11, SCMRING2:18;
(Comput (ProgramPart s2),s2,(n + 1)) . (IC (SCM R)) = loc
by A3, A5, A7, A10, SCMRING2:18;
hence
contradiction
by A2, A6, A8, A12, AMI_1:def 25; verum