reserve Y for non empty set;
reserve B for Subset of Y;

theorem
  for a being Function of Y,BOOLEAN,PA being a_partition of Y st a
  is_dependent_of PA holds PA is_finer_than GPart(a)
proof
  let a be Function of Y,BOOLEAN, PA be a_partition of Y;
  defpred P[set] means a.$1 = TRUE;
  reconsider C={x where x is Element of Y: P[x]} as Subset of Y from DOMAIN_1:
  sch 7;
  defpred P[set] means a.$1 = FALSE;
  reconsider D={x9 where x9 is Element of Y: P[x9]} as Subset of Y from
  DOMAIN_1:sch 7;
  assume
A1: a is_dependent_of PA;
  for g being set st g in PA ex h being set st h in GPart(a) & g c= h
  proof
    let g be set;
    set u = the Element of g;
    assume
A2: g in PA;
    then
A3: g <> {} by EQREL_1:def 4;
    then u in g;
    then reconsider u as Element of Y by A2;
A4: for x1 being set st x1 in g holds a.x1=TRUE or a.x1=FALSE
    proof
      let x1 be set;
      assume x1 in g;
      then reconsider x1 as Element of Y by A2;
      a.x1 in BOOLEAN;
      hence thesis by TARSKI:def 2;
    end;
    now
      per cases by A3,A4;
      case
A5:     a.u=TRUE;
A6:     g c= C
        proof
          let t be object;
          assume
A7:       t in g;
          then reconsider t as Element of Y by A2;
          now
            per cases by A4,A7;
            case
              a.t=TRUE;
              hence thesis;
            end;
            case
              a.t=FALSE;
              hence contradiction by A1,A2,A5,A7;
            end;
          end;
          hence thesis;
        end;
        u in C by A5;
        then
A8:     not C in {{}} by TARSKI:def 1;
        C in {C,D} by TARSKI:def 2;
        then C in ({C,D} \ {{}}) by A8,XBOOLE_0:def 5;
        hence thesis by A6;
      end;
      case
A9:     a.u=FALSE;
A10:    g c= D
        proof
          let t be object;
          assume
A11:      t in g;
          then reconsider t as Element of Y by A2;
          now
            per cases by A4,A11;
            case
              a.t=TRUE;
              hence contradiction by A1,A2,A9,A11;
            end;
            case
              a.t=FALSE;
              hence thesis;
            end;
          end;
          hence thesis;
        end;
        u in D by A9;
        then
A12:    not D in {{}} by TARSKI:def 1;
        D in {C,D} by TARSKI:def 2;
        then D in ({C,D} \ {{}}) by A12,XBOOLE_0:def 5;
        hence thesis by A10;
      end;
    end;
    hence thesis;
  end;
  hence thesis by SETFAM_1:def 2;
end;
