reserve i,j,k for Nat,
  r,s,r1,r2,s1,s2,sb,tb for Real,
  x for set,
  GX for non empty TopSpace;
reserve GZ for non empty TopSpace;
reserve f for non constant standard special_circular_sequence,
  G for non empty-yielding Matrix of TOP-REAL 2;

theorem
  for f holds the carrier of TOP-REAL 2 = union {cell(GoB f,i,j):i<=len
  GoB f & j<=width GoB f}
proof
  let f;
  set j1=len GoB f, j2=width GoB f;
  thus the carrier of TOP-REAL 2 c= union {cell(GoB f,i,j):i<=j1 & j<=j2}
  proof
    let x be object;
    assume x in (the carrier of TOP-REAL 2);
    then reconsider p=x as Point of TOP-REAL 2;
    set r=p`1;
A1: now
      assume that
A2:   not r<(GoB f)*(1,1)`1 and
A3:   not (GoB f)*(len GoB f,1)`1 <=r;
      now
        reconsider l=len GoB f as Nat;
        defpred P[Nat] means $1=0 or(1<=$1 & $1<len GoB f implies (
        GoB f)*($1+1,1)`1<=r);
        1<len GoB f by GOBOARD7:32;
        then 1+1<=len GoB f by NAT_1:13;
        then
A4:     1+1-1<=l-1 by XREAL_1:9;
        assume
A5:     not ex j st 1<=j & j<len GoB f & (GoB f)*(j,1)`1<=r & r<(GoB f
        )*(j+1,1)`1;
A6:     for k holds P[k] implies P[k+1]
        proof
          let k;
          assume
A7:       k=0 or ( 1<=k & k<len GoB f implies (GoB f)*(k+1,1)`1<=r);
          1<=k+1 & k+1<len GoB f implies (GoB f)*(k+1+1,1)`1<=r
          proof
            assume
A8:         1<=k+1 & k+1<len GoB f;
            now
              assume
A9:          r< (GoB f)*(k+1+1,1)`1;
              then k<>0 by A2,A5,GOBOARD7:32;
              then 0+1<=k by NAT_1:13;
              hence contradiction by A5,A7,A8,A9,XREAL_1:145;
            end;
            hence thesis;
          end;
          hence thesis;
        end;
A10:    P[0];
A11:    for j holds P[j] from NAT_1:sch 2(A10,A6);
A12:    l-1<l-1+1 by XREAL_1:29;
        then reconsider l1=l-1 as Nat by A4,SPPOL_1:2;
        0<l1 by A4;
        hence contradiction by A3,A11,A4,A12;
      end;
      hence
      ex j st 1<=j & j<len GoB f & (GoB f)*(j,1)`1<=r & r<(GoB f)*(j+1,1) `1;
    end;
    now
      per cases by A1;
      case
A13:    r<(GoB f)*(1,1)`1;
        reconsider G=GoB f as Go-board;
        1 <= width G by GOBOARD7:33;
        then
A14:    v_strip(G,0) = { |[r1,s]| where r1,s is Real : r1 <= G*(1,1)`1 }
        by GOBOARD5:10;
        |[r,p`2]| in { |[r1,s]| where r1,s is Real : r1 <= (GoB f)*(1,1)`1 }
        by A13;
        then p in v_strip(GoB f,0) by A14,EUCLID:53;
        hence ex j0 being Nat st j0<=j1 & x in v_strip(GoB f,j0);
      end;
      case
A15:    (GoB f)*(len GoB f,1)`1 <=r;
        reconsider G=GoB f as Go-board;
        1 <= width G by GOBOARD7:33;
        then
A16:    v_strip(G,len G) = { |[r1,s]| where r1,s is Real : G*(len G,1)`1<=r1}
        by GOBOARD5:9;
        |[r,p`2]| in { |[r1,s]| where r1,s is Real : (GoB f)*(len G,1)`1 <=r1}
        by A15;
        then p in v_strip(GoB f,len GoB f) by A16,EUCLID:53;
        hence ex j0 being Nat st j0<=j1 & x in v_strip(GoB f,j0);
      end;
      case
A17:    ex j st 1<=j & j<len GoB f & (GoB f)*(j,1)`1<=r & r<(GoB f)*( j+1,1)`1;
        reconsider G=GoB f as Go-board;
        consider j such that
A18:    1<=j and
A19:    j<len GoB f and
A20:    (GoB f)*(j,1)`1<=r & r<(GoB f)*(j+1,1)`1 by A17;
A21:    |[r,p`2]| in { |[r1,s]| where r1,s is Real:
        G*(j,1)`1<=r1 & r1<=G* (j+1,1)`1 } by A20;
        1 <= width G by GOBOARD7:33;
        then v_strip(G,j) = { |[r1,s]| where r1,s is Real :
        G*(j,1)`1<=r1 & r1<=G*(j+1,1)`1} by A18,A19,GOBOARD5:8;
        then p in v_strip(GoB f,j) by A21,EUCLID:53;
        hence ex j0 being Nat st j0<=j1 & x in v_strip(GoB f,j0) by
A19;
      end;
    end;
    then consider j0 being Nat such that
A22: j0<=j1 and
A23: x in v_strip(GoB f,j0);
    set s=p`2;
A24: now
      assume that
A25:  not s<(GoB f)*(1,1)`2 and
A26:  not (GoB f)*(1,width GoB f)`2 <=s;
      now
        reconsider l=width GoB f as Nat;
        defpred P[Nat] means $1=0 or (1<=$1 & $1<width GoB f
        implies (GoB f)*(1,$1+1)`2<=s);
        1<width GoB f by GOBOARD7:33;
        then 1+1<=width GoB f by NAT_1:13;
        then
A27:    1+1-1<=l-1 by XREAL_1:9;
        assume
A28:    not ex j st 1<=j & j<width GoB f & (GoB f)*(1,j)`2<=s & s<(
        GoB f)*(1,j+1)`2;
A29:    for k holds P[k] implies P[k+1]
        proof
          let k;
          assume
A30:      k=0 or ( 1<=k & k<width GoB f implies (GoB f)*(1,k+1)`2<=s);
          1<=k+1 & k+1<width GoB f implies (GoB f)*(1,k+1+1)`2<=s
          proof
            assume
A31:        1<=k+1 & k+1<width GoB f;
            now
              assume
A32:          s< (GoB f)*(1,k+1+1)`2;
              then k<>0 by A25,A28,GOBOARD7:33;
              then 0+1<=k by NAT_1:13;
              hence contradiction by A28,A30,A31,A32,XREAL_1:145;
            end;
            hence thesis;
          end;
          hence thesis;
        end;
A33:    P[0];
A34:    for j holds P[j] from NAT_1:sch 2(A33,A29);
A35:    l-1<l-1+1 by XREAL_1:29;
        then reconsider l1=l-1 as Nat by A27,SPPOL_1:2;
        0<l1 by A27;
        hence contradiction by A26,A34,A27,A35;
      end;
      hence
      ex j st 1<=j & j<width GoB f & (GoB f)*(1,j)`2<=s & s<(GoB f)*(1,j+
      1) `2;
    end;
    now
      per cases by A24;
      case
A36:    s<(GoB f)*(1,1)`2;
        reconsider G=GoB f as Go-board;
        1 <= len G by GOBOARD7:32;
        then
A37:    h_strip(G,0) = { |[r1,s1]| : s1 <= G*(1,1)`2 } by GOBOARD5:7;
        |[r,s]| in { |[r1,s1]| : s1 <= (GoB f)*(1,1)`2 } by A36;
        then p in h_strip(GoB f,0) by A37,EUCLID:53;
        hence ex i0 being Nat st i0<=j2 & x in h_strip(GoB f,i0);
      end;
      case
A38:    (GoB f)*(1,width GoB f)`2 <=s;
        reconsider G=GoB f as Go-board;
        1 <= len G by GOBOARD7:32;
        then
A39:    h_strip(G,width G) = { |[r1,s1]| : G*(1,width G)`2<=s1} by GOBOARD5:6;
        |[r,s]| in { |[r1,s1]| : (GoB f)*(1,width G)`2 <=s1} by A38;
        then p in h_strip(GoB f,width GoB f) by A39,EUCLID:53;
        hence ex i0 being Nat st i0<=j2 & x in h_strip(GoB f,i0);
      end;
      case
A40:    ex j st 1<=j & j<width GoB f & (GoB f)*(1,j)`2<=s & s<(GoB f)
        *(1,j+1)`2;
        reconsider G=GoB f as Go-board;
        consider j such that
A41:    1<=j and
A42:    j<width GoB f and
A43:    (GoB f)*(1,j)`2<=s & s<(GoB f)*(1,j+1)`2 by A40;
A44:    |[r,s]| in { |[r1,s1]| : G*(1,j)`2<=s1 & s1<=G* (1,j+1)`2 } by A43;
        1 <= len G by GOBOARD7:32;
        then h_strip(G,j) = { |[r1,s1]| : G*(1,j)`2<=s1 & s1<=G*(1,j+1)`2} by
A41,A42,GOBOARD5:5;
        then p in h_strip(GoB f,j) by A44,EUCLID:53;
        hence ex i0 being Nat st i0<=j2 & x in h_strip(GoB f,i0) by
A42;
      end;
    end;
    then consider i0 being Nat such that
A45: i0<=j2 and
A46: x in h_strip(GoB f,i0);
    reconsider X0=cell(GoB f,j0,i0) as set;
    x in v_strip(GoB f,j0) /\ h_strip(GoB f,i0) by A23,A46,XBOOLE_0:def 4;
    then
A47: x in X0 by GOBOARD5:def 3;
    X0 in {cell(GoB f,i,j):i<=j1 & j<=j2} by A22,A45;
    hence thesis by A47,TARSKI:def 4;
  end;
  let x be object;
  assume x in union {cell(GoB f,i,j):i<=j1 & j<=j2};
  then consider X0 being set such that
A48: x in X0 & X0 in {cell(GoB f,i,j):i<=j1 & j<=j2} by TARSKI:def 4;
  ex i,j st X0=cell(GoB f,i,j) & i<=j1 & j<=j2 by A48;
  hence thesis by A48;
end;
