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 Th32:
  for x being object st x in MeasurableRectangle(ProductLeftOpenIntervals(n))
  holds ex y being Subset of REAL n, a, b being Element of REAL n st
        x = y &
        for s being object holds
          s in y
            iff
          (ex t being Element of REAL n st s = t & for i being Nat st
             i in Seg n holds t.i in ]. a.i, b.i .])
  proof
    let x be object;
    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 y,y1,z1;
    thus x = y by A1;
    thus for s be object holds (s in y) iff (ex t be Element of REAL n st
           s = t & for i be Nat st i in Seg n holds t.i in ]. y1.i, z1.i .])
    proof
      let s be object;
      hereby
        assume
A8:     s in y;
        then reconsider t = s as Element of REAL n;
        now
          take t;
          thus s = t;
          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,A2;
          end;
        end;
        hence (ex t be Element of REAL n st s = t & for i be Nat st
                 i in Seg n holds t.i in ]. y1.i, z1.i .]);
      end;
      assume (ex t be Element of REAL n st s = t & for i be Nat st
                i in Seg n holds t.i in ]. y1.i, z1.i .]);
      then consider t be Element of REAL n such that
A10:  s = t and
A11:  for i be Nat st i in Seg n holds t.i in ]. y1.i, z1.i .];
      now
        let i be Nat;
        assume
A12:    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 A11,A12,A6;
      end;
      hence s in y by A10,A2;
    end;
  end;
