Zulip Chat Archive

Stream: new members

Topic: Examples depending on precisely one of propext/choice/sound?


Louis Cabarion (May 09 2025 at 05:50):

For educational purposes, I am looking for three simple and pedagogically effective theorems, each relying only on precisely one of the following axioms respectively: [propext][Classical.choice] and [Quot.sound].

What would be suitable candidates that are accessible to an undergraduate audience? The simpler, the better.

Something like this:

theorem only_propext [] : [] := by []
#print axioms only_propext
-- 'only_propext' depends on axioms: [propext]

theorem only_choice [] : [] := by []
#print axioms only_choice
-- 'only_choice' depends on axioms: [Classical.choice]

theorem only_quot_sound [] : [] := by []
#print axioms only_quot_sound
-- 'only_quot_sound' depends on axioms: [Quot.sound]

Aaron Liu (May 09 2025 at 11:42):

Here's what I came up with, what do you think?

import Mathlib

recall Quotient.exact {α : Sort u} {s : Setoid α} {a b : α} : a = b  a  b
#print axioms Quotient.exact
-- 'Quotient.exact' depends on axioms: [propext]

recall Function.surjInv {α : Sort u} {β : Sort v} {f : α  β} (h : Function.Surjective f) (b : β) : α
#print axioms Function.surjInv
-- 'Function.surjInv' depends on axioms: [Classical.choice]

recall funext {α : Sort u} {β : α  Sort v} {f g : (x : α)  β x} (h :  (x : α), f x = g x) : f = g
#print axioms funext
-- 'funext' depends on axioms: [Quot.sound]

Louis Cabarion (May 11 2025 at 21:27):

Thanks @Aaron Liu those are three spot-on examples. Great finds, as always!

TIL about recall — perfect for examples like these.


Last updated: Dec 20 2025 at 21:32 UTC