 reserve CPN for with-nontrivial-ColoredSet Colored-PT-net;
 reserve m for colored-state of CPN;
 reserve t for Element of the carrier' of CPN;

theorem
:::Th5A:
  for D0 being thin_cylinder of the ColoredSet of CPN, *'{t},
  D1 being thin_cylinder of the ColoredSet of CPN, {t}*',
  ColD0 be color-threshold of D0,
  ColD1 be color-threshold of D1,
  x be Element of the ColoredSet of CPN,
  p be Element of CPN holds
  (m.p).x - 1 <= (firing_result(ColD0, ColD1, m, p)).x &
  (firing_result(ColD0, ColD1, m, p)).x <= (m.p).x + 1
proof
  let D0 be thin_cylinder of the ColoredSet of CPN, *'{t},
  D1 be thin_cylinder of the ColoredSet of CPN, {t}*',
  ColD0 be color-threshold of D0,
  ColD1 be color-threshold of D1,
  x be Element of the ColoredSet of CPN,
  p be Element of CPN;
  per cases;
  suppose
A1:   (p in loc(D0) \ loc(D1) & t is_firable_on m, ColD0);
    then
A11:  firing_result(ColD0, ColD1, m, p) = Ptr_Sub(ColD0, m, p)
    by Def16;
A12:  p in loc(D0) by XBOOLE_0:def 5, A1;
    per cases;
    suppose
a:    x = ColD0.p;
      (m.p). x - 1 + 0 <= ((m.p). x -1) +2 by XREAL_1:7;
      hence thesis by a,A11, A12, Def16Sub, A1;
    end;
    suppose
a:    x <> ColD0.p; then
A122: (firing_result(ColD0, ColD1, m, p)).x
      = (m.p). x by A11, Def16Sub,A1;
A123: (m.p).x - 1 <= (firing_result(ColD0, ColD1, m, p)).x - 0
      by A122, XREAL_1:13;
      (m.p). x + 0 <= (m.p). x + 1 by XREAL_1:7;
      hence thesis by a,A123,A11, Def16Sub,A1;
    end;
  end;
  suppose
A2: (p in loc(D1) \ loc(D0) & t is_firable_on m, ColD0);
    then
A11: firing_result(ColD0,ColD1,m,p) = Ptr_Add(ColD1,m,p) by Def16;
A12: p in loc(D1) by XBOOLE_0:def 5, A2;
    per cases;
    suppose
      x = ColD1.p; then
A122: (firing_result(ColD0, ColD1, m, p)).x
      = (m.p). x + 1 by A11,A12,Def16Add;
      (m.p). x -1  + 0 <= ((m.p). x -1) + 2 by XREAL_1:7;
      hence thesis by A122;
    end;
    suppose
a:    x <> ColD1.p; then
A122: (firing_result(ColD0, ColD1, m, p)).x
      = (m.p). x by A11, Def16Add;
A123: (m.p).x - 1 <= (firing_result(ColD0, ColD1, m, p)).x - 0
      by A122, XREAL_1:13;
      (m.p). x + 0 <= (m.p). x + 1 by XREAL_1:7;
      hence thesis by A123,a,A11,Def16Add;
    end;
  end;
  suppose
a:  not(p in loc(D0) \ loc(D1) & t is_firable_on m,ColD0) &
    not(p in loc(D1) \ loc(D0) & t is_firable_on m,ColD0); then
A122: (firing_result(ColD0, ColD1, m, p)).x = (m.p). x by Def16;
A123: (m.p).x - 1 <= (firing_result(ColD0, ColD1, m, p)).x - 0
    by A122, XREAL_1:13;
    (m.p). x + 0 <= (m.p). x + 1 by XREAL_1:7;
    hence thesis by a,A123,Def16;
  end;
end;
