Skip to content

Conversation

gaearon
Copy link
Contributor

@gaearon gaearon commented Aug 7, 2025

Since this isn't a part of the book, let's fill it in. It's a bit hard to guess how to produce an element satisfying ↑(Set.univ.pi fun i ↦ {x | x ∈ X i}) anyway.

I haven't filled other equivalences because the text is a bit ambiguous on whether they're all "why" or not.

@@ -203,7 +203,7 @@ noncomputable abbrev SetTheory.Set.singleton_iProd_equiv (i:Object) (X:Set) :
right_inv := sorry

/-- Example 3.5.10 -/
noncomputable abbrev SetTheory.Set.empty_iProd_equiv (X: (∅:Set) → Set) : iProd X ≃ Unit where
abbrev SetTheory.Set.empty_iProd_equiv (X: (∅:Set) → Set) : iProd X ≃ Unit where
Copy link
Contributor Author

@gaearon gaearon Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated but this one is computable (maybe the only one?)

For example:

abbrev SetTheory.Set.empty_iProd_equiv (X: (∅:Set) → Set) : iProd X ≃ Unit where
  toFun := fun t ↦ ()
  invFun := fun x ↦ ⟨tuple fun e ↦ False.elim (not_mem_empty _ e.property), by apply tuple_mem_iProd⟩
  left_inv := by
    intro t
    have h := (mem_iProd _).mp t.property
    obtain ⟨x, ht⟩ := h
    ext
    rw [ht, tuple_inj]
    ext e
    have := not_mem_empty e
    contradiction
  right_inv := by
    intro
    simp

Not included because the book has a "why" seemingly for a related question:

Screenshot 2025-08-07 at 04 16 37

@teorth teorth merged commit ac5f97e into teorth:main Aug 9, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants