reserve
  x, y for object,
  i, n for Nat,
  r, s for Real,
  f1, f2 for n-element real-valued FinSequence;
reserve e, e1 for Point of Euclid n;

theorem Th21:
  OpenHypercube(e1,r-abs(e1-e).max_diff_index(e1,e)) c= OpenHypercube(e,r)
  proof
    set d = max_diff_index(e1,e);
    set F = abs(e1-e);
    set s = r-F.d;
A1: dom e1 = Seg n & dom e = Seg n by FINSEQ_1:89;
    let y be Point of TopSpaceMetr Euclid n;
    assume
A2: y in OpenHypercube(e1,s);
    reconsider y as Point of Euclid n;
A3: dom y = dom Intervals(e1,s) by A2,CARD_3:9;
A4: dom Intervals(e1,s) = dom e1 by Def3;
then A5: dom y = dom Intervals(e,r) by A1,A3,Def3;
    now
      let x be object;
      assume
A6:   x in dom Intervals(e,r);
      then
A7:   Intervals(e,r).x = ].e.x-r,e.x+r.[ by A1,A3,A4,A5,Def3;
A8:   Intervals(e1,s).x = ].e1.x-s,e1.x+s.[ by A3,A4,A5,A6,Def3;
      y.x in Intervals(e1,s).x by A2,A3,A5,A6,CARD_3:9;
      then
A9:   |.y.x-e1.x.| < s by A8,RCOMP_1:1;
      dom(e1-e) = dom e1 /\ dom e by VALUED_1:12;
      then |.e1.x-e.x.|= |.(e1-e).x.| by A1,A3,A4,A5,A6,VALUED_1:13
      .= abs(e1-e).x by VALUED_1:18;
      then
A10:   |.y.x-e1.x.| + |.e1.x-e.x.| < s + F.d by A9,Th5,XREAL_1:8;
      |.y.x-e.x.| <= |.y.x-e1.x.| + |.e1.x-e.x.| by COMPLEX1:63;
      then |.y.x-e.x.| < r by A10,XXREAL_0:2;
      hence y.x in Intervals(e,r).x by A7,RCOMP_1:1;
    end;
    hence thesis by A5,CARD_3:9;
  end;
