@@ -7,6 +7,7 @@ Authors: Bhavik Mehta, Adam Topaz
77import category_theory.concrete_category.basic
88import category_theory.full_subcategory
99import category_theory.skeletal
10+ import category_theory.elementwise
1011import data.fin.basic
1112import data.fintype.basic
1213
@@ -43,12 +44,27 @@ instance : category Fintype := induced_category.category bundled.α
4344@[derive [full, faithful] , simps]
4445def incl : Fintype ⥤ Type * := induced_functor _
4546
46- instance : concrete_category Fintype := ⟨incl⟩
47+ instance concrete_category_Fintype : concrete_category Fintype := ⟨incl⟩
4748
4849@[simp] lemma id_apply (X : Fintype) (x : X) : (𝟙 X : X → X) x = x := rfl
4950@[simp] lemma comp_apply {X Y Z : Fintype} (f : X ⟶ Y) (g : Y ⟶ Z) (x : X) :
5051 (f ≫ g) x = g (f x) := rfl
5152
53+ /-- Equivalences between finite types are the same as isomorphisms in `Fintype`. -/
54+ -- See `equiv_equiv_iso` in the root namespace for the analogue in `Type`.
55+ @[simps]
56+ def equiv_equiv_iso {A B : Fintype} : (A ≃ B) ≃ (A ≅ B) :=
57+ { to_fun := λ e,
58+ { hom := e,
59+ inv := e.symm, },
60+ inv_fun := λ i,
61+ { to_fun := i.hom,
62+ inv_fun := i.inv,
63+ left_inv := iso.hom_inv_id_apply i,
64+ right_inv := iso.inv_hom_id_apply i, },
65+ left_inv := by tidy,
66+ right_inv := by tidy, }
67+
5268universe u
5369/--
5470The "standard" skeleton for `Fintype`. This is the full subcategory of `Fintype` spanned by objects
0 commit comments