In terms of purely set theory, the axiom of choice says that for any set $A$, its power set (with empty set removed) has a choice function, i.e. there exists a function $f\colon \mathcal{P}^*(A)\rightarrow A$ such that for any subset $S$ of $A$, $f(S)\in S.$ Is this correct?

My question then is about proving this fact, so that we do not need to put it as an axiom. Now as per the research done on this single object- Axiom of Choice, I believe here that there should be some falsity in my argument. I do not find the mistake.

For any $S\in \mathcal{P}^*(A)$, since $S\neq \emptyset$, $\exists s\in S$. Define $f(S)=s$. Then $f$ is a choice function.

This was showing me that the axiom of choice is proved, but then why it had been put as an axiom? For example, in this book, the author asserts that

It is a metatheorem of mathematical logic that it is impossible to specify the function that assigns to each non-empty subset of $\mathbb{R}$, an element of itself.

There are several notes and books on axiom of choice, but here I am trying to understand through doing some argument for some problem, where problem actually arises.

  • 20,466
  • 5
  • 41
  • 97
p Groups
  • 9,810
  • 15
  • 45
  • 5
    The intuitive idea is that when you say "since $S \neq \emptyset, \exists s \in S -$ Define $f(S)=s$" you are fixing $S$. If you want to do this for all $S \in \mathcal{P}^*(A)$, you must simultaneously do this for all of them, not fixing one at a time, otherwise you may be doing infinite things simultaneously, which the other axioms and the standard rules do not allow. Of course, this is a naive approach, and someone with real knowledge will appear soon, but this interpretation may help for now. – Aloizio Macedo Jun 26 '16 at 05:33
  • So, in almost all the branches of mathematics, one always plays with functions defined on infinite sets, and there we are certainly using axiom of choice, is this the thing you want to say? – p Groups Jun 26 '16 at 05:40
  • 2
    No. Think about it as a computer program. We can estabilish a program to associate a natural number to two times itself. This is a finite program, so this is allowed, even though it results in a function defined on a infinite set. It defines a "uniform" rule. The problem is that your process (in your question and suggested proof) may not be finite, since you are fixing an element every time to define the process. How will you "uniformly" glue everything in a finite way? – Aloizio Macedo Jun 26 '16 at 05:42
  • This may be relevant too: http://math.stackexchange.com/questions/307277/why-isnt-this-a-valid-argument-to-the-proof-of-the-axiom-of-countable-choice A very similar question I asked a while ago. It is really interesting to see my confusions and how I used to think in the past. Thanks for making me remember this : ). And thanks to Asaf yet again for his contribution. – Aloizio Macedo Jun 26 '16 at 06:05
  • @Aloizio Thanks for the link. Allow me to play devil's advocate a bit here - to make a point. Compare the infinitely many choices made in this argument with the infinitely many choices made in Cantor's diagonallization argument proving that the set of decimal numbers in $(0,1)$ is uncountable. A decimal number not included in the (putatively complete) countable list is produced by selecting one decimal at a time. Yet, we are to accept that - at a snap of fingers - a number not on the list was constructed. – Jyrki Lahtonen Jun 26 '16 at 06:22
  • My very limited understanding is that in Cantor's diagonalization the definitive description of the choice of a decimal function (a rule like: if the decimal on the diagonal is a 3 we choose a 7, otherwise we choose a 3) saves the day. But, I then decided to *believe in Zorn's lemma and stick to algebra and live happily ever after*. – Jyrki Lahtonen Jun 26 '16 at 06:25
  • 1
    @JyrkiLahtonen: I think this is what Aloizio and Asaf mean by "uniform". – joriki Jun 26 '16 at 06:27
  • 3
    @Jyrki: Allow me to play the devil's advocate, I mean, the axiom of choice advocate (aren't those two the same?) and answer your point. We are not making infinitely many choices. We are making one choice, the choice of enumeration. From there everything is firmly unique: the diagonal values, the diagonally-produced real, and the proof it is not on the list. (Your last comment reminds me of a recent paper I wrote for an analysis course---to be posted online sometime in the future---where I claim that the work about analysis in non-choice context is meant as proof by intimidation to accept AC.) – Asaf Karagila Jun 26 '16 at 06:28
  • 2
    @JyrkiLahtonen: To clarify further, the construction of a real number not on your list proceeds via **unique definable** choices at each step, and by induction we can construct a sequence $(x_n)_{n\in\mathbb{N}}$ of **compatible** digit sequences, namely that $x_n$ is a prefix of $x_{n+1}$ for every $n\in\mathbb{N}$, and then we can by suitable use of axiom of union construct the limit, which is an infinite sequence compatible with every $x_n$, and that limit is what we seek. – user21820 Jun 26 '16 at 16:10
  • Is it possible to clarify the title of this question? – Hatshepsut Jun 27 '16 at 04:23
  • @Hatshepsut, p Groups: I tried to clarify the title (also italics (and boldface) don't work in titles). – Asaf Karagila Jun 27 '16 at 06:54
  • 2
    If $S$ has two or more elements then "$\exists s\in S$" is true, but "Define $f(S)=s$" leaves me wondering which $s$ you intend. – Henry Jun 27 '16 at 09:30
  • @Henry: Now its getting clear to me why it is necessary to put it as an axiom. While reading a book (linked in question), it is precisely the argument I wrote above, after reading the passage in the book (yellow-shaded statement in question). Hence I wondered, why it has been put as "axiom". Thanks for clarification in my arguments, – p Groups Jun 27 '16 at 09:34
  • How do you choose which element of $S$ should be $s$? Well, you could do it by assuming the Axiom of Choice... – user253751 Jun 27 '16 at 10:03
  • 2
    @immibis: The point is that when you only choose finitely many points, you can delegate this to existential instantiation and induction. Problems begin with you can't describe something with a single formula, whose length is finite. You can argue that the choice is not necessarily well-defined, but if you apply the instantiation on the set of all objects with exactly the properties you need, it won't matter either (it will just be a fixed, but arbitrary selection for the remainder of your proof). – Asaf Karagila Jun 27 '16 at 10:48
  • 1
    In short, you already assumed the axiom of choice in your proof. – OrangeDog Jun 27 '16 at 11:39

4 Answers4


When you move from $\exists s\in S$, to specifying "Let $s$ be an element of $S$" you are using what is known as existential instantiation. This is an inference rule of the underlying logic, stating that if there are objects satisfying some property, we can add a new symbol to the language with the statement that this symbol satisfies our property.

So you can apply it once, or twice, or thrice, and if you live long enough and all you do is apply it, then maybe even a few trillion times. Sure, all that is fun and games. But how can you apply it to each and every set of real numbers?

You simply can't.

So what you did there, really, was to say that you have a function mapping $S$ to an element of itself, and that this was your uniform existential instantiation. But why would such a function exist? Well, the answer is that without postulating its existence, it is possible that no such function exists. So you need to have the axiom of choice to assert the existence of such a function, which happens to be exactly what the axiom of choice is doing: it allows you to take all those sets, and get existential instantiation for all of them for the price of one; namely, you only need to instantiate the quantifier stating "There exists a choice function" once, and the rest is given.

Let me add two remarks here.

  1. Zermelo, historically, treated the axiom of choice as a principle of logic, rather than an axiom of set theory. Probably to do exactly what you did there.

  2. Many modern proof assistants prove the axiom of choice, by exactly the same argument as this. When you eliminate existential quantifiers like this uniformly, you simply get a choice function. This is not a bug per se, it's more of a consequence of the design features.

  • 747
  • 4
  • 10
Asaf Karagila
  • 370,314
  • 41
  • 552
  • 949
  • 3
    Good explanation. I like the way your answer actually gets into the formal systems side of things, while magically not getting too bogged down in technical nonsense. Impressive! – goblin GONE Jun 26 '16 at 06:02
  • 8
    Practice makes perfect... it ain't my first rodeo. :-P – Asaf Karagila Jun 26 '16 at 06:03
  • The last remark is interesting; could you elaborate? (Also, it might be worthwhile to explain how "uniform" is being used here.) – joriki Jun 26 '16 at 06:11
  • 1
    @joriki: I just know this from a talk I heard by Peter Koepke about his project NAPROCHE. If I remember correctly, the point is that the system does this uniform existential instantiation. Similar to how some constructive systems prove the axiom of choice: if you could have proved that all the sets are non-empty, you could only do it by essentially being able to uniformly exhibit elements of those sets, which is your choice function. – Asaf Karagila Jun 26 '16 at 06:20
  • Wow, I hadn't heard about that project -- cool, I always thought there should be such a project :-) – joriki Jun 26 '16 at 06:28
  • 10
    The reason for the last part is that many proof assistants are based on constructive logic, in which the proof of existence of $s$ is exactly the choice function required, according to the Curry-Howard correspondence. However, this form of AC doesn't have the same far-reaching consequences as in classical set theory, though stronger formulations exist which are more analogous. – Lily Chung Jun 26 '16 at 08:18
  • @joriki: It's also related to the axiom of global choice, which supplies this choice function and is essentially the same as having a definable witness for every provable existential sentence. ZFC on the other hand does not have definable witnesses due to AC. Asaf, please correct me if what I say is erroneous. =) – user21820 Jun 26 '16 at 15:30
  • @user21820: I'm not sure how this is relevant, actually. What Istvan said is far more relevant, as far as automated proof assistants go. – Asaf Karagila Jun 26 '16 at 21:07
  • @AsafKaragila: I meant that if we look from the perspective of MK, the usual AC is only for set functions, and so cannot provide witnesses for every existential formula, but the axiom of global choice is for class functions, and so it can provide a witness for every existential formula that can be proven over ZFC. – user21820 Jun 27 '16 at 01:24
  • @user21820: You might mean NBG, since MK is a non-conservative extension of ZFC. Also note that there is no universal agreement whether or not AC or GC are included in either system. But the bigger issue with the question is not about a formula, it's about rules of inference, it's the underlying logic. – Asaf Karagila Jun 27 '16 at 07:15
  • Well I did mean MK, so that we can talk about set functions and class functions. I wasn't talking about the question at hand, but about the uniform existential instantiation that you mentioned to joriki, which I felt was exactly like having global choice in the sense I described. – user21820 Jun 27 '16 at 10:44
  • @AsafKaragila I think an answer similar to this answer would be a really good answer to https://math.stackexchange.com/questions/1877364/why-isnt-axiom-of-choice-a-trivial-result-is-it-needed-to-prove-existence-of-t/1877379. I don't want to write such an answer myself because there's too high a chance that it would be worse than not writing an answer. Also, I've already been blocked from asking a question on this site. – Timothy Apr 06 '18 at 17:19
  • @Timothy: Probably a few questions of this vein have been asked before. Yes. – Asaf Karagila Apr 06 '18 at 21:44
  • 1
    @AsafKaragila I don't understand what the point of your comment is. Maybe I was supposed to figure out a helpful piece of information from it and I can't figure out which helpful piece of information you were expecting me to figure out. What I was suggesting was that the other question doesn't have an answer similar answer to this answer so such an answer might be a good answer for it, not that one question should be marked as a duplicate of the other question. – Timothy Apr 09 '18 at 02:33
  • @Timothy: My point is that I don't see the point in duplicating answers across questions. Especially since I've already posted an answer to the question you linked. – Asaf Karagila Apr 09 '18 at 12:03
  • @AsafKaragila I suppose your main point is: one cannot apply existential instantiation to a formula like $p: \forall x \exists y \phi(x, y)$ and obtain an infinite family of constants parameterized by $x$, but only to a formula of the form $q: \exists y \ \phi(c, y)$ where $c$ is an individual in $UD$. If $UD$ contains infinitely many elements, then $p$ represents infinitely many substitutions - one for each member of UD - making existential elimination impossible to apply in a finite proof. – Jaspreet Sep 29 '20 at 18:37
  • 1
    @jaspreet: If I understand you correctly, then yes. – Asaf Karagila Sep 29 '20 at 18:46

This is a confusing matter, mainly because the kind of reasoning you use in your proof is usually taken to be valid.

However, in order to formalize that reasoning in axiomatic set theory, we need to reduce it to particular symbolic formulas in a formal logic system. And it turns out that the rules of symbolic logic and set theory that are sufficient to express most other kinds of generally accepted proofs can't by themselves express your reasoning.

We declare that this is not the fault of your reasoning, but of the limited logical rules we already have. Then we set out to fix our axiomatic set theory by adding a new rule stating that it's allowed to do what you do. This new rule is the axiom of choice.

So the problem with your proof is not that it doesn't work, from the perspective of ordinary mathematics -- but that what it does is not very interesting. It just says that if we accept this kind of reasoning, then we must conclude that this kind of reasoning works, which doesn't really tell us anything.

What a "proof of the axiom of choice" ought to be would be an argument that even if we don't extend our system with this new rule, we can still prove everything we can prove with the rule. But that means that the proof has to be done with fewer tools than we normally allow ourselves to use.

Otherwise, the end result would be something like claiming that you don't need to buy a hammer for your toolbox, because you can still drive in nails. How? Well, just hit the nail with a hammer ...

hmakholm left over Monica
  • 276,945
  • 22
  • 401
  • 655
  • 1
    Excellent answer, +1! – joriki Jun 27 '16 at 14:31
  • @Henning: much clear explanation. – p Groups Jun 28 '16 at 03:14
  • This is lovely, +1. It's worth mentioning in this vein that the axiom of determinacy, which contradicts choice, *also* corresponds to a "higher deduction principle" - roughly, it lets us apply De Morgan's laws to infinite sequences of quantifiers over $\mathbb{N}$. – Noah Schweber Aug 29 '17 at 00:36
  • This is a good answer so I upvoted it. Just because you can't prove a statement in a system does not mean it's not provable. I don't find the axiom of choice obviously true myself. However, there are systems of pure number theory that you can prove that everything they prove is true and from that prove that a specific statement the system describes is both true and unprovable in the system. – Timothy Apr 06 '18 at 18:56
  • I figured out another reason I like this answer. For super intelligent people, they probably don't feel the need for any answer to this question but if they feel the need for some answer, that's probably because they don't know how to write a formal proof in ZF so this will probably be the only answer they feel is helpful to them. For those superintelligent people who know how to write a formal proof in ZF, Asaf Karagila's answer is probably not helpful because they can think of their own proof that no formal proof of the axiom of choice in ZF exists. – Timothy Apr 06 '18 at 21:25

This is a misunderstanding about the essence of axiomatic set theory. In axiomatic set theory, you don't assume that a set exists because you can think of it; in a sense, the entire point of axiomatic set theory is not to do that, to decouple the notion of existence of sets from such pre-existing (pun intended) notions.

When you say "Define $f(S)=s$", you're already assuming that $f$ exists. The point of the axiom of choice is to allow you to deduce the existence of $f$ from the axioms. If this seems unnecessarily formal, consider that before the advent of axiomatic set theory it probably seemed unnecessarily formal to ask whether the set of all sets that don't contain themselves exists. What do you mean, does it exist? Just define $A=\{x\mid x\text{ is a set that doesn't contain itself}\}$!

  • 215,929
  • 14
  • 263
  • 474
  • Wow, the quickest downvotes I've ever seen. Please enlighten me! :-) – joriki Jun 26 '16 at 05:47
  • 1
    I think the downvotes may be due to the following: up to maybe a slight change of writing, the proof he mentions is essentially correct for proving the existence of a choice function on a finite set, and your answer implies it is not. I think the point is not that he is assuming that $f$ exists, the point is that the method of defining the function is not a valid one in general. – Aloizio Macedo Jun 26 '16 at 05:50
  • @AloizioMacedo: For it to be a proof, one would have to explicate how "Define $f(S)=s$" is meant to use other axioms to prove the existence of $f$ (which is possible for finite sets and impossible for infinite sets). Since the OP didn't even attempt to do that, my impression was that their argument wasn't that the axiom of choice follows from other axioms, but that it follows directly because we can "define" $f$. I think with this interpretation of the question, my answer stands. Perhaps the OP can chime in on whether it's an appropriate interpretation. – joriki Jun 26 '16 at 05:55
  • 2
    I downvoted, perhaps a little unfairly, because I disagree that the issue relates to the statement "in axiomatic set theory, you don't assume that a set exists because you can think of it" and because a good answer should attempt to show the issue with the OP's proof. And, you have a lot of Rep, you know, so I didn't feel too guilty :) haha. Have a nice day :) – goblin GONE Jun 26 '16 at 05:55
  • 5
    @goblin: Thanks for the explanation! I'm not worried about my rep, I'm worried about my grasp of axiomatic set theory :-). I think our disagreement is basically the same as above with Aloizio Macedo; we have different impressions of where the OP stands and what their problem is; you're considering this as a flawed proof *within* axiomatic set theory, and I took it as an attempt to prove an axiom, not on the basis of other axioms, but on the basis of pre-existing notions of existence. Hopefully we'll hear from the OP which is closer to their thinking. – joriki Jun 26 '16 at 06:00
  • 3
    This is not a terrible answer. I don't know if it hits the nail on the head, or if it just touches a tangent issue which may or may not be the cause of confusion. But it certainly not something I'd consider worth downvoting beyond the first downvote. – Asaf Karagila Jun 26 '16 at 06:03
  • 1
    @AsafKaragila: Thanks, that's a relief, coming from the master :-) – joriki Jun 26 '16 at 06:03
  • 5
    @joriki: Wait another year, and it will be coming from the doctor! :D – Asaf Karagila Jun 26 '16 at 06:29
  • @AsafKaragila: בהצלחה! – joriki Jun 26 '16 at 06:30
  • Well I'm sorry I'm going to downvote because I think your answer is misleading for the following reason. When mathematicians write "Let $f(x) = \cdots$ for every $x \in \cdots$.", it does **not** assume that $f$ exists, but of course one is only permitted to write certain things in the "$\cdots$". That is the key issue, because one is unable to do so to prove AC since it is not allowed to write "Let $f(S) = ( \text{$s$ for some $s \in S$} )$ for every $S \subseteq A$.". Does what I say make sense to you? – user21820 Jun 26 '16 at 15:36
  • 1
    @user21820: Not quite. I don't think that what's at issue here is what mathematicians usually write and what they usually mean when they write something; I think what's at issue (as I wrote above responding to Aloizio and goblin) is what the OP meant when they wrote what they wrote (which I'm still hoping they will eventually clarify). It's one thing to write "Let $f(x)=\cdots$", quite another to continue "Then $f$ is a choice function, so I think I've proved the axiom of choice". That only makes sense if exhibiting $f$ was meant to prove its existence. Or am I missing something there? – joriki Jun 26 '16 at 15:53
  • @joriki: I wasn't talking about the distinction between what is written and what is meant. Rather, I'm saying that what is logically valid is of a certain form. When we define a function we're only allowed to do it in a certain way. Any other way is invalid. For example, you're not allowed to say "For every rational $r$ let $f(r) = p+q$ where $p,q$ are integers such that $\frac{p}{q} = r$." Why? In common parlance, it is because we haven't proven that $f$ is well-defined. Technically, we don't even have $f$ yet, unless we take this notation to denote defining a **relation** instead. [cont] – user21820 Jun 26 '16 at 16:03
  • [cont] If we do, then we always need to prove unique forward relation target before we can call $f$ a function. If we don't, then we're not even allowed to say that unless we first prove the unique image criterion. Either way, we have to prove the unique image criterion, whether before or after writing the 'definition' of $f$. And that is the key point; one cannot prove the unique image criterion for the purported choice function in the question. That's the only real issue here. – user21820 Jun 26 '16 at 16:06
  • 2
    @user21820: Then it seems we have a difference of opinion on what the real issue is here. I'm well aware of what you write about valid and invalid attempts to define functions; while you may turn out to be right that this is what needs to be explained to the OP, there's no need to explain it to me :-). We seem to have different perceptions of what kind of mistake the OP was making, and I doubt we'll bring them to converge unless the OP joins the discussion. – joriki Jun 26 '16 at 16:39
  • 4
    Admittedly, after the recent meta thread about being nice to downvoters, this comment thread is a refreshing pace of discussion on the merits and problems of this answer. Good job everyone. – Asaf Karagila Jun 26 '16 at 18:07
  • @joriki: Yes I guess only the asker can confirm whether or not the issue I mention is the crucial one. And I was sure you already know the content of what I was saying, and indeed it was merely our opinion on the kind of mistake the asker made on which we differ. =) – user21820 Jun 27 '16 at 01:27
  • I downvoted this answer because I don't feel like it answers the question. It just says we can't prove a choice function exists because we can't define one and prove it's a choice function. It doesn't explain why you can't prove its existence in axiomatic set theory. The fact that we can't define a choice function is why ZF exists the way it does but you didn't say so. Asaf Karagila's answer already exists so I'm not sure an improved version of this answer is needed. – Timothy Dec 14 '17 at 05:19

Good question!

This is really subtle stuff; its impossible to give a proper answer without picking an actual formal system for first-order logic and trying to formalize your argument inside. After a lot of struggle, you'll notice that it can't be done.

An informal explanation, however, is that you're implicitly using the "logicians" axiom of choice:

AC. For all sets $X$ and $Y$ and all predicates $P : X \times Y \rightarrow \rm\{True,False\}$, we have: $$(\forall x \in X)(\exists y \in Y)P(x,y) \rightarrow (\exists f : X \rightarrow Y)(\forall x\in X)P(x,f(x))$$

in going from

$$\forall S \in \mathcal{P}_{\neq 0}(A) \exists s \in A(s \in S),$$

which is provable in ZF, to

$$\exists s \in (\mathcal{P}_{\neq 0}(A) \rightarrow A)\forall S \in \mathcal{P}_{\neq 0}(A) (s(S) \in S),$$

which isn't provable.

You may be interested in this old question of mine.

goblin GONE
  • 65,164
  • 15
  • 90
  • 252
  • Thanks for the link at the end. Yes, an interesting question. – almagest Jun 26 '16 at 19:19
  • @almagest, no worries. Thanks for your interest :) – goblin GONE Jun 27 '16 at 10:40
  • Is it intentional that you use the letter $s$ for two very different things? I found this confusing. Why not call the second $s$ "$f$", as in the OP? – Torsten Schoeneberg Sep 08 '18 at 12:15
  • @TorstenSchoeneberg, I did it intentionally because I actually find this less confusing, but in light of your comment maybe this was a bad idea. But anyway, it's supposed to illustrate the relationship between notations like $y = x^2$ and the corresponding notation we sometimes see, namely $y(x) = x^2$. – goblin GONE Sep 09 '18 at 01:44