reserve Y for non empty set,
  G for Subset of PARTITIONS(Y),
  A,B,C,D,E,F for a_partition of Y;

theorem Th21:
  G={A,B,C,D,E} & A<>B & A<>C & A<>D & A<>E implies CompF(A,G) = B
  '/\' C '/\' D '/\' E
proof
  assume that
A1: G={A,B,C,D,E} and
A2: A<>B and
A3: A<>C and
A4: A<>D and
A5: A<>E;
  per cases;
  suppose
A6: B = C;
    then G = {A,B,B,D} \/ {E} by A1,ENUMSET1:10
      .= {B,B,A,D} \/ {E} by ENUMSET1:67
      .= {B,B,A,D,E} by ENUMSET1:10
      .= {B,A,D,E} by ENUMSET1:32
      .={A,B,D,E} by ENUMSET1:65;
    hence CompF(A,G) = B '/\' D '/\' E by A2,A4,A5,Th7
      .= B '/\' C '/\' D '/\' E by A6,PARTIT1:13;
  end;
  suppose
A7: B = D;
    then G = {A,B,C,B} \/ {E} by A1,ENUMSET1:10
      .= {B,B,A,C} \/ {E} by ENUMSET1:69
      .= {B,B,A,C,E} by ENUMSET1:10
      .= {B,A,C,E} by ENUMSET1:32
      .={A,B,C,E} by ENUMSET1:65;
    hence CompF(A,G) = B '/\' C '/\' E by A2,A3,A5,Th7
      .= B '/\' D '/\' C '/\' E by A7,PARTIT1:13
      .= B '/\' C '/\' D '/\' E by PARTIT1:14;
  end;
  suppose
A8: B = E;
    then G = {A} \/ {B,C,D,B} by A1,ENUMSET1:7
      .= {A} \/ {B,B,C,D} by ENUMSET1:63
      .= {A} \/ {B,C,D} by ENUMSET1:31
      .={A,B,C,D} by ENUMSET1:4;
    hence CompF(A,G) = B '/\' C '/\' D by A2,A3,A4,Th7
      .= B '/\' E '/\' C '/\' D by A8,PARTIT1:13
      .= B '/\' E '/\' (C '/\' D) by PARTIT1:14
      .= B '/\' (C '/\' D) '/\' E by PARTIT1:14
      .= B '/\' C '/\' D '/\' E by PARTIT1:14;
  end;
  suppose
A9: C = D;
    then G = {A,B,C,C} \/ {E} by A1,ENUMSET1:10
      .= {C,C,A,B} \/ {E} by ENUMSET1:73
      .= {C,A,B} \/ {E} by ENUMSET1:31
      .= {C,A,B,E} by ENUMSET1:6
      .={A,B,C,E} by ENUMSET1:67;
    hence CompF(A,G) = B '/\' C '/\' E by A2,A3,A5,Th7
      .= B '/\' (C '/\' D) '/\' E by A9,PARTIT1:13
      .= B '/\' C '/\' D '/\' E by PARTIT1:14;
  end;
  suppose
A10: C = E;
    then G = {A} \/ {B,C,D,C} by A1,ENUMSET1:7
      .= {A} \/ {C,C,B,D} by ENUMSET1:72
      .= {A} \/ {C,B,D} by ENUMSET1:31
      .= {A,C,B,D} by ENUMSET1:4
      .={A,B,C,D} by ENUMSET1:62;
    hence CompF(A,G) = B '/\' C '/\' D by A2,A3,A4,Th7
      .= B '/\' (C '/\' E) '/\' D by A10,PARTIT1:13
      .= B '/\' (C '/\' E '/\' D) by PARTIT1:14
      .= B '/\' (C '/\' D '/\' E) by PARTIT1:14
      .= B '/\' (C '/\' D) '/\' E by PARTIT1:14
      .= B '/\' C '/\' D '/\' E by PARTIT1:14;
  end;
  suppose
A11: D = E;
    then G = {A} \/ {B,C,D,D} by A1,ENUMSET1:7
      .= {A} \/ {D,D,B,C} by ENUMSET1:73
      .= {A} \/ {D,B,C} by ENUMSET1:31
      .= {A,D,B,C} by ENUMSET1:4
      .={A,B,C,D} by ENUMSET1:63;
    hence CompF(A,G) = B '/\' C '/\' D by A2,A3,A4,Th7
      .= B '/\' C '/\' (D '/\' E) by A11,PARTIT1:13
      .= B '/\' (C '/\' (D '/\' E)) by PARTIT1:14
      .= B '/\' (C '/\' D '/\' E) by PARTIT1:14
      .= B '/\' (C '/\' D) '/\' E by PARTIT1:14
      .= B '/\' C '/\' D '/\' E by PARTIT1:14;
  end;
  suppose
A12: B<>C & B<>D & B<>E & C<>D & C<>E & D<>E;
A13: ( not D in {A})& not E in {A} by A4,A5,TARSKI:def 1;
A14: not B in {A} by A2,TARSKI:def 1;
    G \ {A}={A} \/ {B,C,D,E} \ {A} by A1,ENUMSET1:7;
    then
A15: G \ {A} = ({A} \ {A}) \/ ({B,C,D,E} \ {A}) by XBOOLE_1:42;
A16: not C in {A} by A3,TARSKI:def 1;
    A in {A} by TARSKI:def 1;
    then
A17: {A} \ {A}={} by ZFMISC_1:60;
    {B,C,D,E} \ {A} = ({B} \/ {C,D,E}) \ {A} by ENUMSET1:4
      .= ({B} \ {A}) \/ ({C,D,E} \ {A}) by XBOOLE_1:42
      .= {B} \/ ({C,D,E} \ {A}) by A14,ZFMISC_1:59
      .= {B} \/ (({C} \/ {D,E}) \ {A}) by ENUMSET1:2
      .= {B} \/ (({C} \ {A}) \/ ({D,E} \ {A})) by XBOOLE_1:42
      .= {B} \/ (({C} \ {A}) \/ {D,E}) by A13,ZFMISC_1:63
      .= {B} \/ ({C} \/ {D,E}) by A16,ZFMISC_1:59
      .= {B} \/ {C,D,E} by ENUMSET1:2;
    then
A18: G \ {A} = ({A} \ {A}) \/ {B,C,D,E} by A15,ENUMSET1:4;
A19: B '/\' C '/\' D '/\' E c= '/\' (G \ {A})
    proof
      let x be object;
     reconsider xx=x as set by TARSKI:1;
      assume
A20:  x in B '/\' C '/\' D '/\' E;
      then
A21:  x<>{} by EQREL_1:def 4;
      x in INTERSECTION(B '/\' C '/\' D,E) \ {{}} by A20,PARTIT1:def 4;
      then consider bcd,e being set such that
A22:  bcd in B '/\' C '/\' D and
A23:  e in E and
A24:  x = bcd /\ e by SETFAM_1:def 5;
      bcd in INTERSECTION(B '/\' C,D) \ {{}} by A22,PARTIT1:def 4;
      then consider bc,d being set such that
A25:  bc in B '/\' C and
A26:  d in D and
A27:  bcd = bc /\ d by SETFAM_1:def 5;
      bc in INTERSECTION(B,C) \ {{}} by A25,PARTIT1:def 4;
      then consider b,c being set such that
A28:  b in B and
A29:  c in C and
A30:  bc = b /\ c by SETFAM_1:def 5;
      set h = (B .--> b) +* (C .--> c) +* (D .--> d) +* (E .--> e);
A32:  C in dom (C .--> c) by TARSKI:def 1;
A34:  D in dom (D .--> d) by TARSKI:def 1;
A35:  not C in dom (D .--> d) by A12,TARSKI:def 1;
      E in dom (E .--> e) by TARSKI:def 1;
      then
A37:  h.E = (E .--> e).E by FUNCT_4:13;
      then
A38:  h.E = e by FUNCOP_1:72;
      not C in dom (E .--> e) by A12,TARSKI:def 1;
      then h.C=((B .--> b) +* (C .--> c) +* (D .--> d)).C by FUNCT_4:11;
      then h.C=((B .--> b) +* (C .--> c)).C by A35,FUNCT_4:11;
      then
A39:  h.C=(C .--> c).C by A32,FUNCT_4:13;
      then
A40:  h.C = c by FUNCOP_1:72;
      not D in dom (E .--> e) by A12,TARSKI:def 1;
      then h.D=((B .--> b) +* (C .--> c) +* (D .--> d)).D by FUNCT_4:11;
      then
A41:  h.D = (D .--> d).D by A34,FUNCT_4:13;
      then
A42:  h.D = d by FUNCOP_1:72;
A43:  not B in dom (C .--> c) by A12,TARSKI:def 1;
A44:  not B in dom (D .--> d) by A12,TARSKI:def 1;
      not B in dom (E .--> e) by A12,TARSKI:def 1;
      then h.B=((B .--> b) +* (C .--> c) +* (D .--> d)).B by FUNCT_4:11;
      then h.B=((B .--> b) +* (C .--> c)).B by A44,FUNCT_4:11;
      then
A45:  h.B=(B .--> b).B by A43,FUNCT_4:11;
      then
A46:  h.B = b by FUNCOP_1:72;
A47:  for p being set st p in (G \ {A}) holds h.p in p
      proof
        let p be set;
        assume
A48:    p in (G \ {A});
        now
          per cases by A15,A17,A48,ENUMSET1:def 2;
          case
            p=D;
            hence thesis by A26,A41,FUNCOP_1:72;
          end;
          case
            p=B;
            hence thesis by A28,A45,FUNCOP_1:72;
          end;
          case
            p=C;
            hence thesis by A29,A39,FUNCOP_1:72;
          end;
          case
            p=E;
            hence thesis by A23,A37,FUNCOP_1:72;
          end;
        end;
        hence thesis;
      end;
      dom ((B .--> b) +* (C .--> c)) = dom (B .--> b) \/ dom (C .--> c)
      by FUNCT_4:def 1;
      then dom ((B .--> b) +* (C .--> c) +* (D .--> d)) = dom (B .--> b) \/
      dom (C .--> c) \/ dom (D .--> d) by FUNCT_4:def 1;
      then
A49:  dom ((B .--> b) +* (C .--> c) +* (D .--> d) +* (E .--> e)) = dom (B
      .--> b) \/ dom (C .--> c) \/ dom (D .--> d) \/ dom (E .--> e) by
FUNCT_4:def 1;
A50:  dom ((B .--> b) +* (C .--> c) +* (D .--> d) +* (E .--> e)) = {B} \/
      {C} \/ {D} \/ {E} by A49
        .= {B,C} \/ {D} \/ {E} by ENUMSET1:1
        .= {B,C,D} \/ {E} by ENUMSET1:3
        .= {B,C,D,E} by ENUMSET1:6;
      then
A51:  D in dom h by ENUMSET1:def 2;
A52:  rng h c= {h.D,h.B,h.C,h.E}
      proof
        let t be object;
        assume t in rng h;
        then consider x1 being object such that
A53:    x1 in dom h and
A54:    t = h.x1 by FUNCT_1:def 3;
        now
          per cases by A50,A53,ENUMSET1:def 2;
          case
            x1=D;
            hence thesis by A54,ENUMSET1:def 2;
          end;
          case
            x1=B;
            hence thesis by A54,ENUMSET1:def 2;
          end;
          case
            x1=C;
            hence thesis by A54,ENUMSET1:def 2;
          end;
          case
            x1=E;
            hence thesis by A54,ENUMSET1:def 2;
          end;
        end;
        hence thesis;
      end;
      rng h c= bool Y
      proof
        let t be object;
        assume
A55:    t in rng h;
        now
          per cases by A52,A55,ENUMSET1:def 2;
          case
            t=h.D;
            hence thesis by A26,A42;
          end;
          case
            t=h.B;
            hence thesis by A28,A46;
          end;
          case
            t=h.C;
            hence thesis by A29,A40;
          end;
          case
            t=h.E;
            hence thesis by A23,A38;
          end;
        end;
        hence thesis;
      end;
      then reconsider F=rng h as Subset-Family of Y;
A56:  C in dom h by A50,ENUMSET1:def 2;
A57:  E in dom h by A50,ENUMSET1:def 2;
A58:  B in dom h by A50,ENUMSET1:def 2;
A59:  {h.D,h.B,h.C,h.E} c= rng h
      proof
        let t be object;
        assume
A60:    t in {h.D,h.B,h.C,h.E};
        now
          per cases by A60,ENUMSET1:def 2;
          case
            t=h.D;
            hence thesis by A51,FUNCT_1:def 3;
          end;
          case
            t=h.B;
            hence thesis by A58,FUNCT_1:def 3;
          end;
          case
            t=h.C;
            hence thesis by A56,FUNCT_1:def 3;
          end;
          case
            t=h.E;
            hence thesis by A57,FUNCT_1:def 3;
          end;
        end;
        hence thesis;
      end;
      then
A61:  {h.D,h.B,h.C,h.E} = rng h by A52,XBOOLE_0:def 10;
      reconsider h as Function;
A62:  xx c= Intersect F
      proof
        let u be object;
A63:    h.D in {h.D,h.B,h.C,h.E} by ENUMSET1:def 2;
        assume
A64:    u in xx;
        for y be set holds y in F implies u in y
        proof
          let y be set;
          assume
A65:      y in F;
          now
            per cases by A52,A65,ENUMSET1:def 2;
            case
A66:          y=h.D;
              u in d /\ ((b /\ c) /\ e) by A24,A27,A30,A64,XBOOLE_1:16;
              hence thesis by A42,A66,XBOOLE_0:def 4;
            end;
            case
A67:          y=h.B;
              u in (c /\ (d /\ b)) /\ e by A24,A27,A30,A64,XBOOLE_1:16;
              then u in c /\ ((d /\ b) /\ e) by XBOOLE_1:16;
              then u in c /\ ((d /\ e) /\ b) by XBOOLE_1:16;
              then u in (c /\ (d /\ e)) /\ b by XBOOLE_1:16;
              hence thesis by A46,A67,XBOOLE_0:def 4;
            end;
            case
A68:          y=h.C;
              u in (c /\ (b /\ d)) /\ e by A24,A27,A30,A64,XBOOLE_1:16;
              then u in c /\ (b /\ d /\ e) by XBOOLE_1:16;
              hence thesis by A40,A68,XBOOLE_0:def 4;
            end;
            case
              y=h.E;
              hence thesis by A24,A38,A64,XBOOLE_0:def 4;
            end;
          end;
          hence thesis;
        end;
        then u in meet F by A59,A63,SETFAM_1:def 1;
        hence thesis by A59,A63,SETFAM_1:def 9;
      end;
A69:  rng h <> {} by A51,FUNCT_1:3;
      Intersect F c= xx
      proof
        let t be object;
        assume t in Intersect F;
        then
A70:    t in meet (rng h) by A69,SETFAM_1:def 9;
        h.D in rng h by A61,ENUMSET1:def 2;
        then
A71:    t in h.D by A70,SETFAM_1:def 1;
        h.C in rng h by A61,ENUMSET1:def 2;
        then
A72:    t in h.C by A70,SETFAM_1:def 1;
        h.B in rng h by A61,ENUMSET1:def 2;
        then t in h.B by A70,SETFAM_1:def 1;
        then t in b /\ c by A46,A40,A72,XBOOLE_0:def 4;
        then
A73:    t in (b /\ c) /\ d by A42,A71,XBOOLE_0:def 4;
        h.E in rng h by A61,ENUMSET1:def 2;
        then t in h.E by A70,SETFAM_1:def 1;
        hence thesis by A24,A27,A30,A38,A73,XBOOLE_0:def 4;
      end;
      then x = Intersect F by A62,XBOOLE_0:def 10;
      hence thesis by A18,A17,A50,A47,A21,BVFUNC_2:def 1;
    end;
    '/\' (G \ {A}) c= B '/\' C '/\' D '/\' E
    proof
      let x be object;
     reconsider xx=x as set by TARSKI:1;
      assume x in '/\' (G \ {A});
      then consider h being Function, F being Subset-Family of Y such that
A74:  dom h=(G \ {A}) and
A75:  rng h = F and
A76:  for d being set st d in (G \ {A}) holds h.d in d and
A77:  x=Intersect F and
A78:  x<>{} by BVFUNC_2:def 1;
      D in dom h by A18,A17,A74,ENUMSET1:def 2;
      then
A79:  h.D in rng h by FUNCT_1:def 3;
      set mbc=h.B /\ h.C;
A80:  not x in {{}} by A78,TARSKI:def 1;
      E in (G \ {A}) by A18,A17,ENUMSET1:def 2;
      then
A81:  h.E in E by A76;
      D in (G \ {A}) by A18,A17,ENUMSET1:def 2;
      then
A82:  h.D in D by A76;
      C in (G \ {A}) by A18,A17,ENUMSET1:def 2;
      then
A83:  h.C in C by A76;
      E in dom h by A18,A17,A74,ENUMSET1:def 2;
      then
A84:  h.E in rng h by FUNCT_1:def 3;
      set mbcd=(h.B /\ h.C) /\ h.D;
      B in dom h by A18,A17,A74,ENUMSET1:def 2;
      then
A85:  h.B in rng h by FUNCT_1:def 3;
      C in dom h by A18,A17,A74,ENUMSET1:def 2;
      then
A86:  h.C in rng h by FUNCT_1:def 3;
A87:  xx c= h.B /\ h.C /\ h.D /\ h.E
      proof
        let m be object;
        assume m in xx;
        then
A88:    m in meet (rng h) by A75,A77,A85,SETFAM_1:def 9;
        then m in h.B & m in h.C by A85,A86,SETFAM_1:def 1;
        then
A89:    m in h.B /\ h.C by XBOOLE_0:def 4;
        m in h.D by A79,A88,SETFAM_1:def 1;
        then
A90:    m in h.B /\ h.C /\ h.D by A89,XBOOLE_0:def 4;
        m in h.E by A84,A88,SETFAM_1:def 1;
        hence thesis by A90,XBOOLE_0:def 4;
      end;
      then mbcd<>{} by A78;
      then
A91:  not mbcd in {{}} by TARSKI:def 1;
      mbc<>{} by A78,A87;
      then
A92:  not mbc in {{}} by TARSKI:def 1;
      B in (G \ {A}) by A18,A17,ENUMSET1:def 2;
      then h.B in B by A76;
      then mbc in INTERSECTION(B,C) by A83,SETFAM_1:def 5;
      then mbc in INTERSECTION(B,C) \ {{}} by A92,XBOOLE_0:def 5;
      then mbc in B '/\' C by PARTIT1:def 4;
      then mbcd in INTERSECTION(B '/\' C,D) by A82,SETFAM_1:def 5;
      then mbcd in INTERSECTION(B '/\' C,D) \ {{}} by A91,XBOOLE_0:def 5;
      then
A93:  mbcd in B '/\' C '/\' D by PARTIT1:def 4;
      h.B /\ h.C /\ h.D /\ h.E c= xx
      proof
        let m be object;
        assume
A94:    m in h.B /\ h.C /\ h.D /\ h.E;
        then
A95:    m in h.B /\ h.C /\ h.D by XBOOLE_0:def 4;
        then
A96:    m in h.B /\ h.C by XBOOLE_0:def 4;
A97:    rng h c= {h.B,h.C,h.D,h.E}
        proof
          let u be object;
          assume u in rng h;
          then consider x1 being object such that
A98:      x1 in dom h and
A99:      u = h.x1 by FUNCT_1:def 3;
          now
            per cases by A15,A17,A74,A98,ENUMSET1:def 2;
            case
              x1=B;
              hence thesis by A99,ENUMSET1:def 2;
            end;
            case
              x1=C;
              hence thesis by A99,ENUMSET1:def 2;
            end;
            case
              x1=D;
              hence thesis by A99,ENUMSET1:def 2;
            end;
            case
              x1=E;
              hence thesis by A99,ENUMSET1:def 2;
            end;
          end;
          hence thesis;
        end;
        for y being set holds y in rng h implies m in y
        proof
          let y be set;
          assume
A100:     y in rng h;
          now
            per cases by A97,A100,ENUMSET1:def 2;
            case
              y=h.B;
              hence thesis by A96,XBOOLE_0:def 4;
            end;
            case
              y=h.C;
              hence thesis by A96,XBOOLE_0:def 4;
            end;
            case
              y=h.D;
              hence thesis by A95,XBOOLE_0:def 4;
            end;
            case
              y=h.E;
              hence thesis by A94,XBOOLE_0:def 4;
            end;
          end;
          hence thesis;
        end;
        then m in meet (rng h) by A85,SETFAM_1:def 1;
        hence thesis by A75,A77,A85,SETFAM_1:def 9;
      end;
      then ((h.B /\ h.C) /\ h.D) /\ h.E = x by A87,XBOOLE_0:def 10;
      then x in INTERSECTION(B '/\' C '/\' D,E) by A81,A93,SETFAM_1:def 5;
      then x in INTERSECTION(B '/\' C '/\' D,E) \ {{}} by A80,XBOOLE_0:def 5;
      hence thesis by PARTIT1:def 4;
    end;
    then '/\' (G \ {A}) = B '/\' C '/\' D '/\' E by A19,XBOOLE_0:def 10;
    hence thesis by BVFUNC_2:def 7;
  end;
end;
