reserve n   for Nat,
        r,s for Real,
        x,y for Element of REAL n,
        p,q for Point of TOP-REAL n,
        e   for Point of Euclid n;
reserve n for non zero Nat;

theorem
  for x being set st x in MeasurableRectangle(ProductLeftOpenIntervals(n))
  holds ex a, b being Element of REAL n st
        for t being Element of REAL n holds
          t in x
            iff
          (for i being Nat st i in Seg n holds t.i in ]. a.i, b.i .])
  proof
    let x be set;
    assume x in MeasurableRectangle(ProductLeftOpenIntervals(n));
    then consider y being Subset of REAL n,
    f being n-element FinSequence of [:REAL,REAL:] such that
A1: x = y and
A2: (for t be Element of REAL n holds t in y iff
    for i be Nat st i in Seg n holds t.i in ].(f/.i)`1,(f/.i)`2.]) by Th31;
    consider x1 be Element of [:REAL n,REAL n:] such that
A3: for i being Nat st i in Seg n holds
    (x1`1).i = (f/.i)`1 & (x1`2).i = (f/.i)`2 by Th13;
    consider y1,z1 be object such that
A4: y1 in REAL n and
A5: z1 in REAL n and
A6: x1 = [y1,z1] by ZFMISC_1:def 2;
    reconsider y1,z1 as Element of REAL n by A4,A5;
    take y1,z1;
    for t be Element of REAL n holds t in x iff
    for i be Nat st i in Seg n holds t.i in ]. y1.i, z1.i .]
    proof
A7:   now
        let t be Element of REAL n;
        assume
A8:     t in x;
        hereby
          let i be Nat;
          assume
A9:       i in Seg n;
          then (x1`1).i = (f/.i)`1 & (x1`2).i = (f/.i)`2 by A3;
          hence t.i in ].y1.i,z1.i.] by A6,A8,A9,A1,A2;
        end;
      end;
      now
        let t be Element of REAL n;
        assume
A10:    for i be Nat st i in Seg n holds t.i in ]. y1.i, z1.i .];
        now
          let i be Nat;
          assume
A11:      i in Seg n;
          then (x1`1).i = (f/.i)`1 & (x1`2).i = (f/.i)`2 by A3;
          hence t.i in ].(f/.i)`1,(f/.i)`2.] by A10,A11,A6;
        end;
        hence t in x by A1,A2;
      end;
      hence thesis by A7;
    end;
    hence thesis;
  end;
