Zulip Chat Archive

Stream: general

Topic: Assumptions about data produced by `classical.choice`


Jesse Michael Han (Apr 29 2019 at 17:47):

I think of data produced by a choice principle as a "generic element" satisfying the given specification, so that e.g. it should not be possible to prove that

(classical.choice (by apply_instance) : nat) = 0

Is it inconsistent to assume something like this, though?

Simon Hudon (Apr 29 2019 at 17:50):

If that was inconsistent, wouldn't that mean that you could prove this?

(classical.choice (by apply_instance) : nat)   0

Jesse Michael Han (Apr 29 2019 at 17:51):

ah yes, you're right

Jesse Michael Han (Apr 29 2019 at 17:53):

I guess Lean really doesn't decide such things (of course this generic nat must be interpreted literally as some nat if we take a model in ZFC, but there's no guarantee which one)

Simon Hudon (Apr 29 2019 at 17:57):

So you can construct a model where it gives you 0 and a different one where it gives you 1

Jesse Michael Han (Apr 29 2019 at 17:57):

another related question: if we can prove P (classical.choice (h : nonempty X) : X) then is it a (meta)theorem that this lifts to a proof of
(∀ x : X, P x)?

Simon Hudon (Apr 29 2019 at 18:03):

I don't think that's a theorem but I would think that it is a meta theorem

Kevin Buzzard (Apr 29 2019 at 18:04):

classical.choice is an axiom; my guess is that any statement you can make about the natural it produces will be independent.

Chris Hughes (Apr 29 2019 at 18:27):

What if P is λ x, x = (classical.choice (h : nonempty X) : X)?


Last updated: Dec 20 2023 at 11:08 UTC