reserve X,Y,Z for set,
  a,b,c,d,x,y,z,u for object,
  R for Relation,
  A,B,C for Ordinal;
reserve H for Function;
reserve f,g for Function;
reserve M for non empty set;

theorem
  (for X st X in M holds X <> {}) &
  (for X,Y st X in M & Y in M & X <> Y holds X misses Y)
   implies ex Choice being set st for X st X in M
    ex x being object st Choice /\ X = { x }
proof
  assume that
A1: for X st X in M holds X <> {} and
A2: for X,Y st X in M & Y in M & X <> Y holds X misses Y;
  consider R such that
A3: R well_orders union M by Th11;
A4: R is_reflexive_in union M by A3;
A5: R is_connected_in union M by A3;
  defpred Ch[object,object] means
   ex D1 being set st D1 = $1 &
   $2 in D1 & for z st z in D1 holds [$2,z] in R;
A6: R is_antisymmetric_in union M by A3;
A7: for x,y,z being object st x in M & Ch[x,y] & Ch[x,z] holds y = z
  proof
    let x,y,z be object such that
A8: x in M;
    given X such that
A9:  X = x and
A10:  y in X and
A11: for u st u in X holds [y,u] in R;
A12: y in union M by A8,A10,TARSKI:def 4,A9;
    given X such that
A13:  X = x and
A14: z in X and
A15: for u st u in X holds [z,u] in R;
A16: z in union M by A8,A14,TARSKI:def 4,A13;
    [y,z] in R & [z,y] in R by A10,A11,A14,A15,A9,A13;
    hence thesis by A6,A12,A16;
  end;
A17: R is_well_founded_in union M by A3;
A18: for x being object st x in M ex y being object st Ch[x,y]
  proof
    let x be object;
    assume
A19: x in M;
    reconsider xx=x as set by TARSKI:1;
A20: xx c= union M by ZFMISC_1:74,A19;
    x <> {} by A1,A19;
    then consider y being object such that
A21: y in xx and
A22: R-Seg(y) misses xx by A17,A20;
    take y;
    take xx;
    thus xx = x;
    thus y in xx by A21;
    let z;
    assume
A23: z in xx;
    then
A24: not z in R-Seg(y) by A22,XBOOLE_0:3;
    y <> z implies [y,z] in R or [z,y] in R by A5,A20,A21,A23;
    hence thesis by A4,A20,A23,A24,WELLORD1:1;
  end;
  consider f such that
A25: dom f = M & for x being object st x in M holds Ch[x,f.x]
    from FUNCT_1:sch 2(A7, A18 );
  take Choice = rng f;
  let X such that
A26: X in M;
  take x = f.X;
  thus Choice /\ X c= { x }
  proof
    let y be object;
    assume
A27: y in Choice /\ X;
    then
A28: y in X by XBOOLE_0:def 4;
    y in Choice by A27,XBOOLE_0:def 4;
    then consider z being object such that
A29: z in dom f and
A30: y = f.z by FUNCT_1:def 3;
     reconsider z as set by TARSKI:1;
    assume not y in { x };
    then X <> z by A30,TARSKI:def 1;
    then X misses z by A2,A25,A26,A29;
    then
A31: X /\ z = {};
    Ch[z,f.z] by A25,A29;
    then f.z in z;
    hence contradiction by A28,A30,A31,XBOOLE_0:def 4;
  end;
  let y be object;
  assume y in { x };
  then
A32: y = x by TARSKI:def 1;
  Ch[X,f.X] by A25,A26;
  then
A33: y in X by A32;
  y in Choice by A25,A26,A32,FUNCT_1:def 3;
  hence thesis by A33,XBOOLE_0:def 4;
end;
