 reserve X for set;
 reserve S for Subset-Family of X;

theorem
  for S be Subset-Family of REAL
  st S = {s where s is Subset of REAL:s is left_open_interval}
  holds S is cap-closed &
  S is diff-finite-partition-closed with_empty_element &
  S is with_countable_Cover
  proof
    let S be Subset-Family of REAL;
    assume
A1: S={s where s is Subset of REAL:s is left_open_interval};
A2: S is cap-closed
    proof
      for S1,S2 being set st S1 in S & S2 in S holds S1/\S2 in S
      proof
        let S1,S2 be set;
        assume
A3:     S1 in S;
        assume
A4:     S2 in S;
        consider s1 be Subset of REAL such that
A5:     S1=s1 & s1 is left_open_interval by A1,A3;
        consider s2 be Subset of REAL such that
A6:     S2=s2 & s2 is left_open_interval by A1,A4;
        set S3=s1/\s2;
        reconsider S3 as Subset of REAL;
        consider a1 being R_eal,b1 being Real such that
A7:     s1=].a1,b1.] by MEASURE5:def 5,A5;
        consider a2 being R_eal,b2 being Real such that
A8:     s2=].a2,b2.] by MEASURE5:def 5,A6;
A9:     S3=].max(a1,a2),min(b1,b2).] by A7,A8,XXREAL_1:141;
        set m1=max(a1,a2);
        m1 in ExtREAL by XXREAL_0:def 1;
        then S3 is left_open_interval by A9,MEASURE5:def 5;
        hence thesis by A1,A5,A6;
      end;
      hence thesis by FINSUB_1:def 2;
    end;
A10: S is with_empty_element
    proof
      ].0,0.] is left_open_interval
      proof
        0 in REAL by NUMBERS:19;
        hence thesis by NUMBERS:31,MEASURE5:def 5;
      end; then
      {} in S by A1;
      hence thesis;
    end;
    then
A12: S is non empty;
    S is diff-finite-partition-closed
    proof
      for S3,S4 be Element of S st S3\S4 is non empty
      ex z be finite Subset of S st
      z is a_partition of S3\S4
      proof
        let S3,S4 be Element of S;
        assume
A13:    S3\S4 is non empty;
A14:    S3 in S & S4 in S by A12;
        consider s3 be Subset of REAL such that
A15:    S3=s3 & s3 is left_open_interval by A1,A14;
        consider s4 be Subset of REAL such that
A16:    S4=s4 & s4 is left_open_interval by A1,A14;
        consider a1 be R_eal,b1 be Real such that
A17:    s3=].a1,b1.] by A15,MEASURE5:def 5;
        consider a2 be R_eal,b2 be Real such that
A18:    s4=].a2,b2.] by A16,MEASURE5:def 5;
A20:    s4 is empty implies
        ex z be finite Subset of S st z is a_partition of S3\S4
        proof
          assume
A21:      s4 is empty;
          set z={S3};
A22:      z c= S by A14,TARSKI:def 1;
          {S3} is a_partition of S3 by A13,EQREL_1:39;
          hence thesis by A22,A16,A21;
        end;
A23:    (s4 is non empty & s3 misses s4) implies
        ex z be finite Subset of S st z is a_partition of S3\S4
        proof
          assume
A24:      s4 is non empty & s3 misses s4;
A25:      S3\S4=S3
          proof
            S3 c= S3\S4
            proof
              let x be object;
              assume
A27:          x in S3;
              not x in S4 by A27,A15,A16,A24,XBOOLE_0:def 4;
              hence thesis by A27,XBOOLE_0:def 5;
            end;
            hence thesis;
          end;
          set z={S3};
A28:      z c= S by A14,TARSKI:def 1;
          z is a_partition of S3 by A13,EQREL_1:39;
          hence thesis by A28,A25;
        end;
        s4 is non empty & s3 meets s4 implies
        ex z be finite Subset of S st z is a_partition of S3\S4
        proof
          assume
A29:      s4 is non empty & s3 meets s4;
          then
A30:      ].a1,b1.] \ ].a2,b2.] = ].a1,a2.] \/ ].b2,b1.]
          by A17,A18,XXREAL_1:199;
A31:      b1<=b2 implies ].a1,a2.] /\ ].b2,b1.] c= {}
          proof
            assume
A32:        b1<=b2;
            ].b2,b1.]={}
            proof
              assume ].b2,b1.]<>{};
              then consider x be object such that
A33:          x in ].b2,b1.] by XBOOLE_0:def 1;
              reconsider x as real number by A33;
              b2<x & x<=b1 by A33,XXREAL_1:2;
              hence thesis by A32,XXREAL_0:2;
            end;
            hence thesis;
          end;
A33a:     b2<b1 implies ].a1,a2.] /\ ].b2,b1.] c= {}
          proof
            assume b2<b1;
            ].a1,a2.] /\ ].b2,b1.] c= {}
            proof
              let x be object;
              assume
A34:          x in ].a1,a2.] /\ ].b2,b1.];
              then
A35:          x in ].a1,a2.] & x in ].b2,b1.] by XBOOLE_0:def 4;
              reconsider x as real number by A34;
              per cases;
              suppose
A36:            a2<=b2;
                b2<x & x<=a2 by A35,XXREAL_1:2;
                hence thesis by A36,XXREAL_0:2;
              end;
              suppose
A37:            b2<a2;
                s4 c= {}
                proof
                  let x be object;
                  assume
A38:              x in s4;
                  then reconsider x as real number;
                  a2<x & x<=b2 by A18,A38,XXREAL_1:2;
                  hence thesis by A37,XXREAL_0:2;
                end;
                hence thesis by A29;
              end;
            end;
            hence thesis;
          end;
A40:      a2 in REAL or a2 in {-infty,+infty} by XBOOLE_0:def 3;
A41:      a2=+infty implies
          ex z be finite Subset of S st
          z is a_partition of S3\S4 by A18,A29,XXREAL_1:216;
A42:      a2= -infty implies
          ex z be finite Subset of S st z is a_partition of S3\S4
          proof
            assume
A43:        a2=-infty;
A44:        S3\S4={}\/].b2,b1.] by A15,A16,A17,A18,A30,A43,XXREAL_1:212;
            set z={].b2,b1.]};
A45:        z c= S
              proof
                let x be object;
                assume
A47:            x in z; then
A48:            x=].b2,b1.] by TARSKI:def 1;
                reconsider x as Subset of REAL by A47,TARSKI:def 1;
                b2 in REAL by XREAL_0:def 1;
                then x is left_open_interval by A48,NUMBERS:31,MEASURE5:def 5;
                hence thesis by A1;
            end;
            z is a_partition of S3\S4 by A44,A13,EQREL_1:39;
            hence thesis by A45;
          end;
A49:      a2 in REAL & not(not(a1<a2) & not(b2<b1)) &
          not(a1<a2 & b2<b1) implies
          ex z be finite Subset of S st z is a_partition of S3\S4
          proof
            assume
A50:        a2 in REAL;
            assume
A51:        not(not(a1<a2) & not(b2<b1)) & not(a1<a2 & b2<b1);
A52:        a1<a2 & b1<=b2 implies
            ex z be finite Subset of S st z is a_partition of S3\S4
            proof
              assume
A53:          a1<a2 & b1<=b2;
              ].b2,b1.] c= {}
              proof
                let x be object;
                assume
A54:            x in ].b2,b1.];
                then reconsider x as real number;
                b2<x & x<=b1 by A54,XXREAL_1:2;
                hence thesis by A53,XXREAL_0:2;
              end; then
A55:          ].b2,b1.]={};
              set z={].a1,a2.]};
A56:          {].a1,a2.]} c= S
                proof
                  let x be object;
                  assume
A57:              x in {].a1,a2.]};
                  ].a1,a2.] in S
                  proof
                    set AA=].a1,a2.];
                    reconsider AA as Subset of REAL by A50,XXREAL_1:227;
                    AA is left_open_interval by A50,MEASURE5:def 5;
                    hence thesis by A1;
                  end;
                  hence thesis by A57,TARSKI:def 1;
                end;
              ].a1,a2.]<>{}
              proof
                a2 in ].a1,a2.] by A53;
                hence thesis;
              end;
              then z is a_partition of ].a1,a2.] by EQREL_1:39;
              hence thesis by A15,A16,A17,A18,A30,A55,A56;
            end;
            b2<b1 & a2<=a1 implies
            ex z be finite Subset of S st z is a_partition of S3\S4
            proof
              assume
A58:          b2<b1 & a2<=a1;
              ].a1,a2.] c= {}
              proof
                let x be object;
                assume
A59:            x in ].a1,a2.];
                then reconsider x as real number by A50;
                a1<x & x<=a2 by A59,XXREAL_1:2;
                hence thesis by A58,XXREAL_0:2;
              end; then
A60:          ].a1,a2.]={};
              set z={].b2,b1.]};
A61:          {].b2,b1.]} c= S
                proof
                  let x be object;
                  assume
A62:              x in {].b2,b1.]};
                  ].b2,b1.] in S
                  proof
                    set AA=].b2,b1.];
                    reconsider AA as Subset of REAL;
                    b2 in REAL by XREAL_0:def 1;
                    then AA is left_open_interval by NUMBERS:31,MEASURE5:def 5;
                    hence thesis by A1;
                  end;
                  hence thesis by A62,TARSKI:def 1;
                end;
              ].b2,b1.]<>{} by A58,XXREAL_1:2;
              then z is a_partition of ].b2,b1.] by EQREL_1:39;
              hence thesis by A15,A16,A17,A18,A30,A60,A61;
            end;
            hence thesis by A51,A52;
          end;
A63:      a2 in REAL & not(a1<a2) & not(b2<b1) implies
          ex z be finite Subset of S st
          z is a_partition of S3\S4
          proof
            assume a2 in REAL;
            assume
A64:        not(a1<a2) & not(b2<b1);
            S3\S4 c= {}
            proof
              let x be object;
              assume
A65:          x in S3\S4; then
A66:          x in ].a1,b1.] & not x in ].a2,b2.]
                by A15,A16,A17,A18,XBOOLE_0:def 5;
              reconsider x as real number by A15,A65;
              a1<x & x<=b1 & (x<=a2 or b2<x) by A66,XXREAL_1:2;
              hence thesis by A64,XXREAL_0:2;
            end;
            hence thesis by A13;
          end;
          a2 in REAL & a1<a2 & b2<b1 implies
          ex z be finite Subset of S st z is a_partition of S3\S4
          proof
            assume
A67:        a2 in REAL;
            assume
            a1<a2 & b2<b1;
            then
A69:        ].a1,a2.] <>{} & ].b2,b1.]<>{} by XXREAL_1:2;
            set z={].a1,a2.], ].b2,b1.]};
A70:        {].a1,a2.], ].b2,b1.]} c= S
              proof
                let x be object;
                assume
A71:            x in {].a1,a2.], ].b2,b1.]};
A72:            ].a1,a2.] in S
                proof
                  set AA=].a1,a2.];
                  reconsider AA as Subset of REAL by A67,XXREAL_1:227;
                  AA is left_open_interval by A67,MEASURE5:def 5;
                  hence thesis by A1;
                end;
                ].b2,b1.] in S
                proof
                  set BB=].b2,b1.];
                  reconsider BB as Subset of REAL;
                  b2 in REAL by XREAL_0:def 1;
                  then BB is left_open_interval by NUMBERS:31,MEASURE5:def 5;
                  hence thesis by A1;
                end;
                hence thesis by A71,A72,TARSKI:def 2;
              end;
            z is a_partition of ].a1,b1.]\].a2,b2.]
            proof
A73:          z is Subset-Family of ].a1,b1.]\].a2,b2.]
              proof
                z c= bool (].a1,b1.]\].a2,b2.])
                proof
                  let x be object;
                  assume x in z;
                  then
A74:              x=].a1,a2.] or x=].b2,b1.] by TARSKI:def 2;
                  reconsider x as set by TARSKI:1;
                  x c= ].a1,b1.]\].a2,b2.]
                  proof
                    let y be object;
                    assume y in x;
                    then y in ].a1,a2.] \/ ].b2,b1.] by A74,XBOOLE_0:def 3;
                    hence thesis by A17,A18,A29,XXREAL_1:199;
                  end;
                  hence thesis;
                end;
                hence thesis;
              end;
A75:          union z = ].a1,b1.]\].a2,b2.] by A30,ZFMISC_1:75;
              for A be Subset of ].a1,b1.]\].a2,b2.] st A in z holds A<>{} &
              for B be Subset of ].a1,b1.]\].a2,b2.] st B in z holds A=B or
              A misses B
              proof
                let A be Subset of ].a1,b1.]\].a2,b2.];
                assume
A76:            A in z;
                for B be Subset of ].a1,b1.]\].a2,b2.] st B in z holds A=B or
                A misses B
                proof
                  let B be Subset of ].a1,b1.]\].a2,b2.];
                  assume B in z;
                  then (A=].a1,a2.] & B=].a1,a2.]) or
                  (A=].a1,a2.] & B=].b2,b1.]) or
                   (A=].b2,b1.] & B=].a1,a2.]) or
                  (A=].b2,b1.] & B=].b2,b1.]) by A76,TARSKI:def 2;
                  hence thesis by A31,A33a;
                end;
                hence thesis by A69,A76;
              end;
              hence thesis by A73,A75,EQREL_1:def 4;
            end;
            hence thesis by A15,A16,A17,A18,A70;
          end;
          hence thesis by A40,A41,A42,A49,A63,TARSKI:def 2;
        end;
        hence thesis by A20,A23;
      end;
      hence thesis by SRINGS_1:def 2;
    end;
    hence thesis by A1,A2,A10,LemmB;
  end;
