File tree Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Original file line number Diff line number Diff line change @@ -309,15 +309,12 @@ abbrev SetTheory.Set.Fin_embed (n N:ℕ) (h: n ≤ N) (i: Fin n) : Fin N := ⟨
309
309
obtain ⟨ m, hm, im ⟩ := this; use m, by linarith
310
310
⟩
311
311
312
- /--
313
- I suspect that this equivalence is non-computable and requires classical logic,
314
- unless there is a clever trick.
315
- -/
316
- noncomputable abbrev SetTheory.Set.Fin_equiv_Fin (n:ℕ) : Fin n ≃ _root_.Fin n where
317
- toFun := sorry
318
- invFun := sorry
319
- left_inv := sorry
320
- right_inv := sorry
312
+ /-- Connections with Mathlib's `Fin n` -/
313
+ noncomputable abbrev SetTheory.Set.Fin.Fin_equiv_Fin (n:ℕ) : Fin n ≃ _root_.Fin n where
314
+ toFun := fun m ↦ _root_.Fin.mk m (toNat_lt m)
315
+ invFun := fun m ↦ Fin_mk n m.val m.isLt
316
+ left_inv := by intro m; exact (toNat_spec m).2 .symm
317
+ right_inv := by intro m; simp
321
318
322
319
/-- Lemma 3.5.11 (finite choice) -/
323
320
theorem SetTheory.Set.finite_choice {n:ℕ} {X: Fin n → Set} (h: ∀ i, X i ≠ ∅) : iProd X ≠ ∅ := by
You can’t perform that action at this time.
0 commit comments