
theorem Th30: ::  Ex2:
  for X being finite set, F being Dependency-set of X, K being
  Subset of X st F = { [A, B] where A, B is Subset of X : K c= A or B c= A }
  holds {[K, X]}\/{[A, A] where A is Subset of X : not K c= A} = Maximal_wrt F
proof
  let X be finite set, F be Dependency-set of X, K be Subset of X;
  set M = {[K, X]}\/{[A, A] where A is Subset of X : not K c= A};
A1: {[K,X]} c= M by XBOOLE_1:7;
A2: now
    let A be Subset of X;
    assume not K c= A;
    then
A3: [A,A] in {[a, a] where a is Subset of X : not K c= a};
    {[a, a] where a is Subset of X : not K c= a} c= M by XBOOLE_1:7;
    hence [A,A] in M by A3;
  end;
A4: [#] X = X;
A5: M c= [:bool X, bool X:]
  proof
    let x be object;
    assume
A6: x in M;
    per cases by A6,XBOOLE_0:def 3;
    suppose
      x in {[K, X]};
      then x = [K,X] by TARSKI:def 1;
      hence thesis by A4,ZFMISC_1:def 2;
    end;
    suppose
      x in {[A, A] where A is Subset of X : not K c= A};
      then ex A being Subset of X st x = [A,A] & not K c= A;
      hence thesis;
    end;
  end;
A7: now
    let A, B be Subset of X;
    assume
A8: [A,B] in M;
    per cases by A8,XBOOLE_0:def 3;
    suppose
      [A,B] in {[K, X]};
      hence [A,B] = [K,X] or not K c= A & A = B by TARSKI:def 1;
    end;
    suppose
      [A,B] in {[a, a] where a is Subset of X : not K c= a};
      then consider a being Subset of X such that
A9:   [A,B] = [a,a] and
A10:  not K c= a;
      A = a by A9,XTUPLE_0:1;
      hence [A,B] = [K,X] or not K c= A & A = B by A9,A10,XTUPLE_0:1;
    end;
  end;
  reconsider M as Dependency-set of X by A5;
  set FF = {[A, B] where A, B is Subset of X : ex A9, B9 being Subset of X st
  [A9, B9] >= [A, B] & [A9, B9] in M};
A11: FF c= [:bool X, bool X:]
  proof
    let x be object;
    assume x in FF;
    then ex A, B being Subset of X st x = [A,B] & ex A9, B9 being Subset of
    X st [A9, B9] >= [A, B] & [A9, B9] in M;
    hence thesis;
  end;
A12: M is (M2)
  proof
    let A, B, A9, B9 be Subset of X such that
A13: [A, B] in M and
A14: [A9, B9] in M and
A15: [A, B] >= [A9, B9];
A16: A c= A9 by A15;
A17: B9 c= B by A15;
    per cases by A7,A13;
    suppose
A18:  [A,B] = [K,X];
      thus A = A9 & B = B9
      proof
        per cases by A7,A14;
        suppose
          [A9,B9] = [K,X];
          hence thesis by A18,XTUPLE_0:1;
        end;
        suppose
          not K c= A9 & A9 = B9;
          hence thesis by A16,A18,XTUPLE_0:1;
        end;
      end;
    end;
    suppose
A19:  not K c= A & A = B;
      thus A = A9 & B = B9
      proof
        per cases by A7,A14;
        suppose
          [A9,B9] = [K,X];
          then B9 = X by XTUPLE_0:1;
          then B = X by A17,XBOOLE_0:def 10;
          hence thesis by A19;
        end;
        suppose
          not K c= A9 & A9 = B9;
          hence thesis by A16,A17,A19,XBOOLE_0:def 10;
        end;
      end;
    end;
  end;
  reconsider FF as Dependency-set of X by A11;
  assume
A20: F = { [A, B] where A, B is Subset of X : K c= A or B c= A };
A21: now
    let x be object;
    hereby
A22:  {[a, a] where a is Subset of X : not K c= a} c= M by XBOOLE_1:7;
A23:  [K,X] in {[K,X]} by TARSKI:def 1;
A24:  {[K,X]} c= M by XBOOLE_1:7;
      assume x in F;
      then consider A, B being Subset of X such that
A25:  x = [A,B] and
A26:  K c= A or B c= A by A20;
      per cases;
      suppose
        K c= A;
        then [K,[#] X] >= [A,B];
        hence x in FF by A25,A24,A23;
      end;
      suppose
A27:    not K c= A;
        then
A28:    [A,A] in {[a, a] where a is Subset of X : not K c= a};
        [A,A] >= [A,B] by A26,A27;
        hence x in FF by A25,A22,A28;
      end;
    end;
    assume x in FF;
    then consider A, B being Subset of X such that
A29: x = [A,B] and
A30: ex A9, B9 being Subset of X st [A9, B9] >= [A, B] & [A9, B9] in M;
    consider A9, B9 being Subset of X such that
A31: [A9, B9] >= [A, B] and
A32: [A9, B9] in M by A30;
    per cases by A32,XBOOLE_0:def 3;
    suppose
      [A9,B9] in {[K, X]};
      then [A9,B9] = [K,X] by TARSKI:def 1;
      then A9 = K by XTUPLE_0:1;
      then K c= A by A31;
      hence x in F by A20,A29;
    end;
    suppose
      [A9,B9] in {[a, a] where a is Subset of X : not K c= a};
      then consider a being Subset of X such that
A33:  [A9,B9] = [a,a] and
      not K c= a;
A34:  A9 = a by A33,XTUPLE_0:1;
A35:  B9 = a by A33,XTUPLE_0:1;
A36:  B c= B9 by A31;
      A9 c= A by A31;
      then B c= A by A34,A35,A36;
      hence x in F by A20,A29;
    end;
  end;
A37: M is (M3)
  proof
    let A, B, A9, B9 be Subset of X such that
A38: [A, B] in M and
A39: [A9, B9] in M and
A40: A9 c= B;
    per cases by A7,A38;
    suppose
      [A,B] = [K,X];
      then B = X by XTUPLE_0:1;
      hence thesis;
    end;
    suppose
A41:  not K c= A & A = B;
      thus B9 c= B
      proof
        per cases by A7,A39;
        suppose
          [A9,B9] = [K,X];
          hence thesis by A40,A41,XTUPLE_0:1;
        end;
        suppose
          not K c= A9 & A9 = B9;
          hence thesis by A40;
        end;
      end;
    end;
  end;
A42: [K,X] in {[K,X]} by TARSKI:def 1;
  M is (M1)
  proof
    let A be Subset of X;
    per cases;
    suppose
A43:  K c= A;
      take A9 = K, B9 = [#]X;
      thus [A9, B9] >= [A, A] by A43;
      thus thesis by A42,A1;
    end;
    suppose
A44:  not K c= A;
      take A9 = A, B9 = A;
      thus [A9, B9] >= [A, A];
      thus thesis by A2,A44;
    end;
  end;
  then M = Maximal_wrt FF by A12,A37,Th29;
  hence thesis by A21,TARSKI:2;
end;
