reserve I for Element of Segm 8,
  S for non empty 1-sorted,
  t for Element of S,
  x for set,
  k for Element of NAT;
 reserve R for Ring, T for InsType of SCM-Instr R;
reserve R for Ring,
  r for Element of R,
  a, b, c, d1, d2 for Data-Location of R,
  i1 for Nat;
reserve s for State of SCM R;

theorem Th17:
  Exec(a := r, s).IC SCM R = IC s + 1 & Exec(a := r, s).a = r &
  for c st c <> a holds Exec(a := r, s).c = s.c
proof
A1: a is Element of Data-Locations SCM by Th1;
A2: the_Values_of SCM R = (SCM-VAL R)*SCM-OK by Lm1;
  reconsider S = s as SCM-State of R by A2,CARD_3:107;
  reconsider I = a := r as Element of SCM-Instr R by Def1;
  set S1 = SCM-Chg(S, I const_address, I const_value);
  reconsider i = 5 as Element of Segm 8 by NAT_1:44;
A3: IC s = IC S by Def1;
A4: I = [ i,{}, <*a, r*>];
  then
A5: I const_address = a by A1,AMI_3:27,SCMRINGI:4;
A6: I const_value = r by A4,A1,AMI_3:27,SCMRINGI:4;
A7: Exec(a := r, s) = SCM-Exec-Res(I,S) by Th10
    .= (SCM-Chg(S1, IC S + 1)) by A1,AMI_3:27,SCMRING1:def 14;
  thus Exec(a := r, s).IC SCM R = Exec(a := r, s).NAT by Def1
    .= IC s + 1 by A3,A7,SCMRING1:7;
  thus Exec(a := r, s).a = S1.a by A1,A7,AMI_3:27,SCMRING1:8
    .= r by A5,A6,SCMRING1:11;
  let c;
  assume
A8: c <> a;
A9: c is Element of Data-Locations SCM by Th1;
  hence Exec(a := r, s).c = S1.c by A7,AMI_3:27,SCMRING1:8
    .= s.c by A5,A8,A9,AMI_3:27,SCMRING1:12;
end;
