reserve X,x,y,z for set;
reserve n,m,k,k9,d9 for Nat;
reserve d for non zero Nat;
reserve i,i0,i1 for Element of Seg d;
reserve l,r,l9,r9,l99,r99,x,x9,l1,r1,l2,r2 for Element of REAL d;
reserve Gi for non trivial finite Subset of REAL;
reserve li,ri,li9,ri9,xi,xi9 for Real;
reserve G for Grating of d;

theorem Th40:
  for A being Subset of REAL d holds A in cells(1,G) iff
  ex l,r,i0 st A = cell(l,r) &
  (l.i0 < r.i0 or d = 1 & r.i0 < l.i0) & [l.i0,r.i0] is Gap of G.i0 &
  for i st i <> i0 holds l.i = r.i & l.i in G.i
proof
A1: d >= 1 by Def2;
  let A be Subset of REAL d;
  hereby
    assume A in cells(1,G);
    then consider l,r such that
A2: A = cell(l,r) and
A3: (ex X being Subset of Seg d st card X = 1 & for i holds (i in X & l
.i < r.i & [l.i,r.i] is Gap of G.i) or (not i in X & l.i = r.i & l.i in G.i))
    or (1 = d & for i holds r.i < l.i & [l.i,r.i] is Gap of G.i)
    by A1,Th29;
    take l,r;
    thus ex i0 st A = cell(l,r) &
    (l.i0 < r.i0 or d = 1 & r.i0 < l.i0) & [l.i0,r.i0] is Gap of G.i0 &
    for i st i <> i0 holds l.i = r.i & l.i in G.i
    proof
      per cases by A3;
      suppose ex X being Subset of Seg d st card X = 1 &
        for i holds i in X & l.i < r.i & [l.i,r.i] is Gap of G.i or
        not i in X & l.i = r.i & l.i in G.i;
        then consider X being Subset of Seg d such that
A4:     card X = 1 and
A5:     for i holds i in X & l.i < r.i & [l.i,r.i] is Gap of G.i or not i
        in X & l.i = r.i & l.i in G.i;
        consider i0 being object such that
A6:     X = {i0} by A4,CARD_2:42;
A7:     i0 in X by A6,TARSKI:def 1;
        then reconsider i0 as Element of Seg d;
        take i0;
        thus A = cell(l,r) &
        (l.i0 < r.i0 or d = 1 & r.i0 < l.i0) & [l.i0,r.i0] is Gap of G.i0
        by A2,A5,A7;
        let i;
        not i in X iff i <> i0 by A6,TARSKI:def 1;
        hence thesis by A5;
      end;
      suppose
A8:     d = 1 & for i holds r.i < l.i & [l.i,r.i] is Gap of G.i;
        reconsider i0 = 1 as Element of Seg d by A1,FINSEQ_1:1;
        take i0;
        thus A = cell(l,r) &
        (l.i0 < r.i0 or d = 1 & r.i0 < l.i0) & [l.i0,r.i0] is Gap of G.i0
        by A2,A8;
        let i;
A9:     1 <= i by FINSEQ_1:1;
        i <= d by FINSEQ_1:1;
        hence thesis by A8,A9,XXREAL_0:1;
      end;
    end;
  end;
  given l,r,i0 such that
A10: A = cell(l,r) and
A11: l.i0 < r.i0 or d = 1 & r.i0 < l.i0 and
A12: [l.i0,r.i0] is Gap of G.i0 and
A13: for i st i <> i0 holds l.i = r.i & l.i in G.i;
  set X = {i0};
  per cases by A11;
  suppose
A14: l.i0 < r.i0;
A15: card X = 1 by CARD_1:30;
    now
      let i;
      i in X iff i = i0 by TARSKI:def 1;
      hence i in X & l.i < r.i & [l.i,r.i] is Gap of G.i or
      not i in X & l.i = r.i & l.i in G.i by A12,A13,A14;
    end;
    hence thesis by A1,A10,A15,Th29;
  end;
  suppose
A16: d = 1 & r.i0 < l.i0;
    now
      let i;
A17:  1 <= i by FINSEQ_1:1;
A18:  i <= d by FINSEQ_1:1;
A19:  1 <= i0 by FINSEQ_1:1;
A20:  i0 <= d by FINSEQ_1:1;
A21:  i = 1 by A16,A17,A18,XXREAL_0:1;
      i0 = 1 by A16,A19,A20,XXREAL_0:1;
      hence r.i < l.i & [l.i,r.i] is Gap of G.i by A12,A16,A21;
    end;
    hence thesis by A10,A11,Th29;
  end;
end;
