reserve Y for non empty set,
  G for Subset of PARTITIONS(Y);
reserve a, u for Function of Y,BOOLEAN;

theorem
  for PA being a_partition of Y st u is_independent_of PA,G holds All(u
  'imp' a,PA,G) = u 'imp' All(a,PA,G)
proof
  let PA be a_partition of Y;
  assume
A1:  u is_independent_of PA,G;
A2: (u 'imp' All(a,PA,G)) '<' All(u 'imp' a,PA,G)
  proof
    let z be Element of Y;
    assume (u 'imp' All(a,PA,G)).z= TRUE;
    then
A3: ('not' u.z) 'or' All(a,PA,G).z = TRUE by BVFUNC_1:def 8;
A4: All(a,PA,G).z=TRUE or All(a,PA,G).z=FALSE by XBOOLEAN:def 3;
    now
      per cases by A3,A4,BINARITH:3;
      suppose
A5:     All(a,PA,G).z=TRUE;
        for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds (u
        'imp' a).x=TRUE
        proof
          let x be Element of Y;
          assume
A6:       x in EqClass(z,CompF(PA,G));
          (u 'imp' a).x = ('not' u.x) 'or' a.x by BVFUNC_1:def 8
            .= ('not' u.x) 'or' TRUE by A5,A6,BVFUNC_1:def 16
            .= TRUE by BINARITH:10;
          hence thesis;
        end;
        hence thesis by BVFUNC_1:def 16;
      end;
      suppose
A7:     All(a,PA,G).z<>TRUE & ('not' u.z)=TRUE;
A8:     z in EqClass(z,CompF(PA,G)) by EQREL_1:def 6;
        for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds (u
        'imp' a).x=TRUE
        proof
          let x be Element of Y;
          assume x in EqClass(z,CompF(PA,G));
          then (u 'imp' a).x=('not' u.x) 'or' a.x & u.x = u.z
              by A1,A8,BVFUNC_1:def 8,def 15;
          hence thesis by A7,BINARITH:10;
        end;
        hence thesis by BVFUNC_1:def 16;
      end;
    end;
    hence thesis;
  end;
  All(u 'imp' a,PA,G) '<' (u 'imp' All(a,PA,G))
  proof
    let z be Element of Y;
    assume
A9: All(u 'imp' a,PA,G).z= TRUE;
A10: (u 'imp' All(a,PA,G)).z = ('not' u.z) 'or' All(a,PA,G).z by BVFUNC_1:def 8
;
    per cases;
    suppose
      for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds a. x=TRUE;
      then All(a,PA,G).z =TRUE by BVFUNC_1:def 16;
      hence thesis by A10,BINARITH:10;
    end;
    suppose
      not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
holds a.x=TRUE) & for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds
      ('not' u.x)=TRUE;
      then ('not' u.z)=TRUE by EQREL_1:def 6;
      hence thesis by A10,BINARITH:10;
    end;
    suppose
A11:  not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
holds a.x=TRUE) & not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
      holds ('not' u.x)=TRUE);
      then consider x1 being Element of Y such that
A12:  x1 in EqClass(z,CompF(PA,G)) and
A13:  ('not' u.x1)<>TRUE;
      consider x2 being Element of Y such that
A14:  x2 in EqClass(z,CompF(PA,G)) and
A15:  a.x2<>TRUE by A11;
      u.x1 = u.x2 by A1,A12,A14,BVFUNC_1:def 15;
      then
A16:  u.x2=TRUE by A13,MARGREL1:11,XBOOLEAN:def 3;
      a.x2=FALSE by A15,XBOOLEAN:def 3;
      then (u 'imp' a).x2 = 'not' TRUE 'or' FALSE by A16,BVFUNC_1:def 8;
      then (u 'imp' a).x2 = FALSE 'or' FALSE by MARGREL1:11
        .= FALSE;
      hence thesis by A9,A14,BVFUNC_1:def 16;
    end;
  end;
  hence thesis by A2,BVFUNC_1:15;
end;
