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

theorem Th4:
  G={A,B,C} & A<>B & C<>A implies CompF(A,G) = B '/\' C
proof
  assume that
A1: G={A,B,C} and
A2: A<>B and
A3: C<>A;
  per cases;
  suppose
A4: B = C;
    G = {B,C,A} by A1,ENUMSET1:59
      .= {B,A} by A4,ENUMSET1:30;
    hence CompF(A,G) = B by A2,BVFUNC11:7
      .= B '/\' C by A4,PARTIT1:13;
  end;
  suppose
A5: B <> C;
A6: G \ {A}={A} \/ {B,C} \ {A} by A1,ENUMSET1:2
      .= ({A} \ {A}) \/ ({B,C} \ {A}) by XBOOLE_1:42;
    ( not B in {A})& not C in {A} by A2,A3,TARSKI:def 1;
    then
A7: G \ {A} = ({A} \ {A}) \/ {B,C} by A6,ZFMISC_1:63
      .= {} \/ {B,C} by XBOOLE_1:37
      .= {B,C};
A8: '/\' (G \ {A}) c= B '/\' C
    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
A9:   dom h=(G \ {A}) and
A10:  rng h = F and
A11:  for d being set st d in (G \ {A}) holds h.d in d and
A12:  x=Intersect F and
A13:  x<>{} by BVFUNC_2:def 1;
A14:  not x in {{}} by A13,TARSKI:def 1;
      B in dom h by A7,A9,TARSKI:def 2;
      then
A15:  h.B in rng h by FUNCT_1:def 3;
A16:  h.B /\ h.C c= xx
      proof
        let m be object;
        assume
A17:    m in h.B /\ h.C;
A18:    rng h c= {h.B,h.C}
        proof
          let u be object;
          assume u in rng h;
          then consider x1 being object such that
A19:      x1 in dom h and
A20:      u = h.x1 by FUNCT_1:def 3;
          now
            per cases by A7,A9,A19,TARSKI:def 2;
            case
              x1=B;
              hence thesis by A20,TARSKI:def 2;
            end;
            case
              x1=C;
              hence thesis by A20,TARSKI: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
A21:      y in rng h;
          now
            per cases by A18,A21,TARSKI:def 2;
            case
              y=h.B;
              hence thesis by A17,XBOOLE_0:def 4;
            end;
            case
              y=h.C;
              hence thesis by A17,XBOOLE_0:def 4;
            end;
          end;
          hence thesis;
        end;
        then m in meet (rng h) by A15,SETFAM_1:def 1;
        hence thesis by A10,A12,A15,SETFAM_1:def 9;
      end;
      C in (G \ {A}) by A7,TARSKI:def 2;
      then
A22:  h.C in C by A11;
      B in (G \ {A}) by A7,TARSKI:def 2;
      then
A23:  h.B in B by A11;
      C in dom h by A7,A9,TARSKI:def 2;
      then
A24:  h.C in rng h by FUNCT_1:def 3;
      xx c= h.B /\ h.C
      proof
        let m be object;
        assume m in xx;
        then m in meet (rng h) by A10,A12,A15,SETFAM_1:def 9;
        then m in h.B & m in h.C by A15,A24,SETFAM_1:def 1;
        hence thesis by XBOOLE_0:def 4;
      end;
      then h.B /\ h.C = x by A16,XBOOLE_0:def 10;
      then x in INTERSECTION(B,C) by A23,A22,SETFAM_1:def 5;
      then x in INTERSECTION(B,C) \ {{}} by A14,XBOOLE_0:def 5;
      hence thesis by PARTIT1:def 4;
    end;
A25: B '/\' C c= '/\' (G \ {A})
    proof
      let x be object;
     reconsider xx=x as set by TARSKI:1;
      assume
A26:  x in B '/\' C;
      then
A27:  x<>{} by EQREL_1:def 4;
      x in INTERSECTION(B,C) \ {{}} by A26,PARTIT1:def 4;
      then consider a,b being set such that
A28:  a in B and
A29:  b in C and
A30:  x = a /\ b by SETFAM_1:def 5;
      set h0=(B,C) --> (a,b);
A31:  dom h0 = (G \ {A}) by A7,FUNCT_4:62;
A32:  rng h0 = {a,b} by A5,FUNCT_4:64;
      rng h0 c= bool Y
      proof
        let y be object;
        assume
A33:    y in rng h0;
        now
          per cases by A32,A33,TARSKI:def 2;
          case
            y=a;
            hence thesis by A28;
          end;
          case
            y=b;
            hence thesis by A29;
          end;
        end;
        hence thesis;
      end;
      then reconsider F=rng h0 as Subset-Family of Y;
A34:  xx c= Intersect F
      proof
        let u be object;
        assume
A35:    u in xx;
        for y be set holds y in F implies u in y
        proof
          let y be set;
          assume
A36:      y in F;
          now
            per cases by A32,A36,TARSKI:def 2;
            case
              y=a;
              hence thesis by A30,A35,XBOOLE_0:def 4;
            end;
            case
              y=b;
              hence thesis by A30,A35,XBOOLE_0:def 4;
            end;
          end;
          hence thesis;
        end;
        then u in meet F by A32,SETFAM_1:def 1;
        hence thesis by A32,SETFAM_1:def 9;
      end;
A37:  for d being set st d in (G \ {A}) holds h0.d in d
      proof
        let d be set;
        assume
A38:    d in (G \ {A});
        now
          per cases by A7,A38,TARSKI:def 2;
          case
            d=B;
            hence thesis by A5,A28,FUNCT_4:63;
          end;
          case
            d=C;
            hence thesis by A29,FUNCT_4:63;
          end;
        end;
        hence thesis;
      end;
      Intersect F c= xx
      proof
        let u be object;
        assume
A39:    u in Intersect F;
A40:    Intersect F = meet F by A32,SETFAM_1:def 9;
        b in F by A32,TARSKI:def 2;
        then
A41:    u in b by A39,A40,SETFAM_1:def 1;
        a in F by A32,TARSKI:def 2;
        then u in a by A39,A40,SETFAM_1:def 1;
        hence thesis by A30,A41,XBOOLE_0:def 4;
      end;
      then x = Intersect F by A34,XBOOLE_0:def 10;
      hence thesis by A31,A37,A27,BVFUNC_2:def 1;
    end;
    CompF(A,G)='/\' (G \ {A}) by BVFUNC_2:def 7;
    hence thesis by A25,A8,XBOOLE_0:def 10;
  end;
end;
