reserve a, b, c, a1, a2, b1, b2 for Int-Location,
  l, l1, l2 for Nat,
  f, g, f1, f2 for FinSeq-Location,
  i, j for Instruction of SCM+FSA,
  X, Y for set;
reserve p, r for preProgram of SCM+FSA,
  I, J for Program of SCM+FSA,
  k, m, n for Nat;
reserve L for finite Subset of Int-Locations;
reserve L for finite Subset of FinSeq-Locations;
reserve s, t for State of SCM+FSA;
reserve P for Instruction-Sequence of SCM+FSA;

theorem Th64:
  s | UsedIntLoc i = t | UsedIntLoc i & s | UsedInt*Loc i = t |
UsedInt*Loc i & IC s = IC t implies IC Exec(i, s) = IC Exec(i, t) & Exec(i, s)
| UsedIntLoc i = Exec(i, t) | UsedIntLoc i & Exec(i, s) | UsedInt*Loc i = Exec(
  i, t) | UsedInt*Loc i
proof
  assume that
A1: s | UsedIntLoc i = t | UsedIntLoc i and
A2: s | UsedInt*Loc i = t | UsedInt*Loc i and
A3: IC s = IC t;
  set UFi = UsedInt*Loc i;
  set Ui = UsedIntLoc i;
  set Et = Exec(i, t);
  set Es = Exec(i, s);
A4: dom Es = the carrier of SCM+FSA by PARTFUN1:def 2
    .= dom Et by PARTFUN1:def 2;
 InsCode i <= 12 by SCMFSA_2:16;
  then InsCode i = 0 or ... or InsCode i = 12;
  then per cases;
  suppose
    InsCode i = 0;
    then
A5: i = halt SCM+FSA by SCMFSA_2:95;
    then Exec(i, s) = s by EXTPRO_1:def 3;
    hence thesis by A1,A2,A3,A5,EXTPRO_1:def 3;
  end;
  suppose
    InsCode i = 1;
    then consider a, b such that
A6: i = a:=b by SCMFSA_2:30;
A7: Ui = {a, b} by A6,Th14;
    then
A8: b in Ui by TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A9: s.b = t.b by A1,A8,FUNCT_1:49;
    thus IC Es = IC t + 1 by A3,A6,SCMFSA_2:63
      .= IC Et by A6,SCMFSA_2:63;
    a = b or a <> b;
    then
A10: Es.b = s.b & Et.b = t.b by A6,SCMFSA_2:63;
    Es.a = s.b & Et.a = t.b by A6,SCMFSA_2:63;
    hence Es | Ui = Et | Ui by A4,A7,A9,A10,GRFUNC_1:30;
A11: UFi = {} by A6,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A11,RELAT_1:81;
  end;
  suppose
    InsCode i = 2;
    then consider a, b such that
A12: i = AddTo(a,b) by SCMFSA_2:31;
    thus IC Es = IC t + 1 by A3,A12,SCMFSA_2:64
      .= IC Et by A12,SCMFSA_2:64;
A13: Ui = {a, b} by A12,Th14;
    then
A14: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A15: s.a = t.a by A1,A14,FUNCT_1:49;
A16: now
      per cases;
      case
        a = b;
        hence Es.b = s.a + s.b & Et.b = t.a + t.b by A12,SCMFSA_2:64;
      end;
      case
        a<> b;
        hence Es.b = s.b & Et.b = t.b by A12,SCMFSA_2:64;
      end;
    end;
A17: b in Ui by A13,TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A18: s.b = t.b by A1,A17,FUNCT_1:49;
    Es.a = s.a + s.b & Et.a = t.a + t.b by A12,SCMFSA_2:64;
    hence Es | Ui = Et | Ui by A4,A13,A15,A18,A16,GRFUNC_1:30;
A19: UFi = {} by A12,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A19,RELAT_1:81;
  end;
  suppose
    InsCode i = 3;
    then consider a, b such that
A20: i = SubFrom(a, b) by SCMFSA_2:32;
    thus IC Es = IC t + 1 by A3,A20,SCMFSA_2:65
      .= IC Et by A20,SCMFSA_2:65;
A21: Ui = {a, b} by A20,Th14;
    then
A22: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A23: s.a = t.a by A1,A22,FUNCT_1:49;
A24: now
      per cases;
      case
        a = b;
        hence Es.b = s.a - s.b & Et.b = t.a - t.b by A20,SCMFSA_2:65;
      end;
      case
        a<> b;
        hence Es.b = s.b & Et.b = t.b by A20,SCMFSA_2:65;
      end;
    end;
A25: b in Ui by A21,TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A26: s.b = t.b by A1,A25,FUNCT_1:49;
    Es.a = s.a - s.b & Et.a = t.a - t.b by A20,SCMFSA_2:65;
    hence Es | Ui = Et | Ui by A4,A21,A23,A26,A24,GRFUNC_1:30;
A27: UFi = {} by A20,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A27,RELAT_1:81;
  end;
  suppose
    InsCode i = 4;
    then consider a, b such that
A28: i = MultBy(a, b) by SCMFSA_2:33;
    thus IC Es = IC t + 1 by A3,A28,SCMFSA_2:66
      .= IC Et by A28,SCMFSA_2:66;
A29: Ui = {a, b} by A28,Th14;
    then
A30: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A31: s.a = t.a by A1,A30,FUNCT_1:49;
A32: now
      per cases;
      case
        a = b;
        hence Es.b = s.a * s.b & Et.b = t.a * t.b by A28,SCMFSA_2:66;
      end;
      case
        a<> b;
        hence Es.b = s.b & Et.b = t.b by A28,SCMFSA_2:66;
      end;
    end;
A33: b in Ui by A29,TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A34: s.b = t.b by A1,A33,FUNCT_1:49;
    Es.a = s.a * s.b & Et.a = t.a * t.b by A28,SCMFSA_2:66;
    hence Es | Ui = Et | Ui by A4,A29,A31,A34,A32,GRFUNC_1:30;
A35: UFi = {} by A28,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A35,RELAT_1:81;
  end;
  suppose
    InsCode i = 5;
    then consider a, b such that
A36: i = Divide(a, b) by SCMFSA_2:34;
A37: Ui = {a, b} by A36,Th14;
    then
A38: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A39: s.a = t.a by A1,A38,FUNCT_1:49;
A40: UFi = {} by A36,Th32;
A41: b in Ui by A37,TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A42: s.b = t.b by A1,A41,FUNCT_1:49;
    hereby
      per cases;
      suppose
A43:    a = b;
        hence IC Es = IC t + 1 by A3,A36,SCMFSA_2:68
          .= IC Et by A36,A43,SCMFSA_2:68;
        Es.a = s.a mod s.a & Et.a = t.a mod t.b by A36,A43,SCMFSA_2:68;
        hence Es | Ui = Et | Ui by A4,A37,A39,A43,GRFUNC_1:30;
        thus Es | UFi = {} by A40,RELAT_1:81
          .= Et | UFi by A40,RELAT_1:81;
      end;
      suppose
A44:    a <> b;
        thus IC Es = IC t + 1 by A3,A36,SCMFSA_2:67
          .= IC Et by A36,SCMFSA_2:67;
A45:    Es.b = s.a mod s.b & Et.b = t.a mod t.b by A36,SCMFSA_2:67;
        Es.a = s.a div s.b & Et.a = t.a div t.b by A36,A44,SCMFSA_2:67;
        hence Es | Ui = Et | Ui by A4,A37,A39,A42,A45,GRFUNC_1:30;
        thus Es | UFi = {} by A40,RELAT_1:81
          .= Et | UFi by A40,RELAT_1:81;
      end;
    end;
  end;
  suppose
    InsCode i = 6;
    then consider l such that
A46: i = goto l by SCMFSA_2:35;
    thus IC Es = l by A46,SCMFSA_2:69
      .= IC Et by A46,SCMFSA_2:69;
A47: Ui = {} by A46,Th15;
    hence Es | Ui = {} by RELAT_1:81
      .= Et | Ui by A47,RELAT_1:81;
A48: UFi = {} by A46,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A48,RELAT_1:81;
  end;
  suppose
    InsCode i = 7;
    then consider l, a such that
A49: i = a=0_goto l by SCMFSA_2:36;
A50: Ui = {a} by A49,Th16;
    then
A51: a in Ui by TARSKI:def 1;
    then
A52: s.a = (s | Ui).a by FUNCT_1:49;
    then
A53: s.a = t.a by A1,A51,FUNCT_1:49;
    hereby
      per cases;
      suppose
A54:    s.a = 0;
        hence IC Es = l by A49,SCMFSA_2:70
          .= IC Et by A49,A53,A54,SCMFSA_2:70;
      end;
      suppose
A55:    s.a <> 0;
        hence IC Es = IC s + 1 by A49,SCMFSA_2:70
          .= IC Et by A3,A49,A53,A55,SCMFSA_2:70;
      end;
    end;
    Es.a = s.a & Et.a = t.a by A49,SCMFSA_2:70;
    hence Es | Ui = Et | Ui by A1,A4,A50,A51,A52,FUNCT_1:49,GRFUNC_1:29;
A56: UFi = {} by A49,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A56,RELAT_1:81;
  end;
  suppose
    InsCode i = 8;
    then consider l, a such that
A57: i = a>0_goto l by SCMFSA_2:37;
A58: Ui = {a} by A57,Th16;
    then
A59: a in Ui by TARSKI:def 1;
    then
A60: s.a = (s | Ui).a by FUNCT_1:49;
    then
A61: s.a = t.a by A1,A59,FUNCT_1:49;
    hereby
      per cases;
      suppose
A62:    s.a > 0;
        hence IC Es = l by A57,SCMFSA_2:71
          .= IC Et by A57,A61,A62,SCMFSA_2:71;
      end;
      suppose
A63:    s.a <= 0;
        hence IC Es = IC s + 1 by A57,SCMFSA_2:71
          .= IC Et by A3,A57,A61,A63,SCMFSA_2:71;
      end;
    end;
    Es.a = s.a & Et.a = t.a by A57,SCMFSA_2:71;
    hence Es | Ui = Et | Ui by A1,A4,A58,A59,A60,FUNCT_1:49,GRFUNC_1:29;
A64: UFi = {} by A57,Th32;
    hence Es | UFi = {} by RELAT_1:81
      .= Et | UFi by A64,RELAT_1:81;
  end;
  suppose
    InsCode i = 9;
    then consider a, b, f such that
A65: i = b:=(f,a) by SCMFSA_2:38;
A66: Ui = {a, b} by A65,Th17;
    then
A67: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A68: s.a = t.a by A1,A67,FUNCT_1:49;
    thus IC Es = IC t + 1 by A3,A65,SCMFSA_2:72
      .= IC Et by A65,SCMFSA_2:72;
A69: UFi = {f} by A65,Th33;
    then
A70: f in UFi by TARSKI:def 1;
    then
A71: s.f = (s | UFi).f by FUNCT_1:49;
A72: (ex m st m = |.s.a.| & Es.b = (s.f)/.m )& ex n st n = |.t.a.| & Et
    .b = (t.f)/.n by A65,SCMFSA_2:72;
A73: now
      per cases;
      case
        a = b;
        thus Es.b = Et.b by A2,A70,A71,A68,A72,FUNCT_1:49;
      end;
      case
        a <> b;
        hence Es.a = s.a & Et.a = t.a by A65,SCMFSA_2:72;
      end;
    end;
    s.f = t.f by A2,A70,A71,FUNCT_1:49;
    hence Es | Ui = Et | Ui by A4,A66,A68,A72,A73,GRFUNC_1:30;
    Es.f = s.f & Et.f = t.f by A65,SCMFSA_2:72;
    hence thesis by A2,A4,A69,A70,A71,FUNCT_1:49,GRFUNC_1:29;
  end;
  suppose
    InsCode i = 10;
    then consider a, b, f such that
A74: i = (f,a):=b by SCMFSA_2:39;
    thus IC Es = IC t + 1 by A3,A74,SCMFSA_2:73
      .= IC Et by A74,SCMFSA_2:73;
A75: Et.a = t.a & Et.b = t.b by A74,SCMFSA_2:73;
A76: Ui = {a, b} by A74,Th17;
    then
A77: a in Ui by TARSKI:def 2;
    then s.a = (s | Ui).a by FUNCT_1:49;
    then
A78: s.a = t.a by A1,A77,FUNCT_1:49;
A79: b in Ui by A76,TARSKI:def 2;
    then s.b = (s | Ui).b by FUNCT_1:49;
    then
A80: s.b = t.b by A1,A79,FUNCT_1:49;
A81: UFi = {f} by A74,Th33;
    then
A82: f in UFi by TARSKI:def 1;
    then s.f = (s | UFi).f by FUNCT_1:49;
    then
A83: s.f = t.f by A2,A82,FUNCT_1:49;
    Es.a = s.a & Es.b = s.b by A74,SCMFSA_2:73;
    hence Es | Ui = Et | Ui by A4,A76,A78,A80,A75,GRFUNC_1:30;
    (ex m st m = |.s.a.| & Es.f = s.f+*(m,s.b) )& ex n st n = |.t.a.|
    & Et. f = t.f+*(n,t.b) by A74,SCMFSA_2:73;
    hence thesis by A4,A81,A78,A80,A83,GRFUNC_1:29;
  end;
  suppose
    InsCode i = 11;
    then consider a, f such that
A84: i = a:=len f by SCMFSA_2:40;
    thus IC Es = IC t + 1 by A3,A84,SCMFSA_2:74
      .= IC Et by A84,SCMFSA_2:74;
A85: Et.a = len(t.f) by A84,SCMFSA_2:74;
A86: Ui = {a} & Es.a = len(s.f) by A84,Th18,SCMFSA_2:74;
A87: UFi = {f} by A84,Th34;
    then
A88: f in UFi by TARSKI:def 1;
    then
A89: s.f = (s | UFi).f by FUNCT_1:49;
    then s.f = t.f by A2,A88,FUNCT_1:49;
    hence Es | Ui = Et | Ui by A4,A86,A85,GRFUNC_1:29;
    Es.f = s.f & Et.f = t.f by A84,SCMFSA_2:74;
    hence thesis by A2,A4,A87,A88,A89,FUNCT_1:49,GRFUNC_1:29;
  end;
  suppose
    InsCode i = 12;
    then consider a,f such that
A90: i = f:=<0,...,0>a by SCMFSA_2:41;
    thus IC Es = IC t + 1 by A3,A90,SCMFSA_2:75
      .= IC Et by A90,SCMFSA_2:75;
A91: Ui = {a} by A90,Th18;
    then
A92: a in Ui by TARSKI:def 1;
    then
A93: s.a = (s | Ui).a by FUNCT_1:49;
A94: UFi = {f} & ex m st m = |.s.a.| & Es.f = m |-> 0
      by A90,Th34,SCMFSA_2:75;
    Es.a = s.a & Et.a = t.a by A90,SCMFSA_2:75;
    hence Es | Ui = Et | Ui by A1,A4,A91,A92,A93,FUNCT_1:49,GRFUNC_1:29;
A95: ex n st n = |.t.a.| & Et.f = n |-> 0 by A90,SCMFSA_2:75;
    s.a = t.a by A1,A92,A93,FUNCT_1:49;
    hence thesis by A4,A94,A95,GRFUNC_1:29;
  end;
end;
