In my undergraduate review for topology, we use axiom of choice to prove a result about the surjectivity of projection mappings. I have also read through a number of posts about AC on the site, and have encountered it in a book on axiomatic set theory (though not in detail).
In particular, my takeaway from reading through various questions and sources is that it is essential when dealing with infinite sets to actually be sure the choice function $f$ exists. Particularly: Axiom of Choice: Where does my argument for proving the axiom of choice fail? Help me understand why this is an axiom, and not a theorem.. While I don't know the details from goblin's answer (why the statements are proveable/not proveable), I think I have appreciated the overall point that there is a fundamental difference between the two statements.
From the same question in the accepted answer by Asaf, he states:
"When you move from ∃∈ ∃ s ∈ 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?"
I am not sure I fully comprehend what this means, but my current takeaway is that to construct the choice function would require an infinite number of steps in first order logic, something that is obviously not possible.
But my question then comes down to commonly used sets and definitions about cartesian products. For example consider the cartesian product on $\mathbb{R}$: $$\mathbb{R}^2 = \{(x,y) : x \in \mathbb{R} \wedge y \in \mathbb{R}\}$$
Why doesn't the issue of existence of this function apply as in cases where the axiom of choice is required? In particular, this is an infinite set, and it would not be possible to list out the contents of this set explicitly. What is the reason this is fundamentally different from explicitly listing out elements of sets in an indexed family? Similarly for functions such as $f = \{(x,y) \in \mathbb{R}^2 : x = y\}$.
How does this set-builder notation side-step the issue of requiring infinite first-order logic steps to specify the set, given that the sets themselves have an infinite number of elements? In other words, why is the existence of some infinite sets problematic, but not others?
My grasp on logic and set theory is very weak, so I am sure I have a major misunderstanding of the situation. I expect it may also not be possible for me to appreciate any answer without a lot more work on both, but I hope the question at least makes sense.