order.category.BddLat
⟷
Mathlib.Order.Category.BddLat
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -74,7 +74,7 @@ instance : LargeCategory.{u} BddLat
instance : ConcreteCategory BddLat
where
forget := ⟨coeSort, fun X Y => coeFn, fun X => rfl, fun X Y Z f g => rfl⟩
- forget_faithful := ⟨fun X Y => by convert FunLike.coe_injective⟩
+ forget_faithful := ⟨fun X Y => by convert DFunLike.coe_injective⟩
#print BddLat.hasForgetToBddOrd /-
instance hasForgetToBddOrd : HasForget₂ BddLat BddOrd
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-/
-import Mathbin.CategoryTheory.Adjunction.Opposites
-import Mathbin.Order.Category.BddOrd
-import Mathbin.Order.Category.Lat
-import Mathbin.Order.Category.Semilat
+import CategoryTheory.Adjunction.Opposites
+import Order.Category.BddOrd
+import Order.Category.Lat
+import Order.Category.Semilat
#align_import order.category.BddLat from "leanprover-community/mathlib"@"8af7091a43227e179939ba132e54e54e9f3b089a"
@@ -27,42 +27,42 @@ universe u
open CategoryTheory
-#print BddLatCat /-
+#print BddLat /-
/-- The category of bounded lattices with bounded lattice morphisms. -/
-structure BddLatCat where
- toLat : LatCat
+structure BddLat where
+ toLat : Lat
[isBoundedOrder : BoundedOrder to_Lat]
-#align BddLat BddLatCat
+#align BddLat BddLat
-/
-namespace BddLatCat
+namespace BddLat
-instance : CoeSort BddLatCat (Type _) :=
+instance : CoeSort BddLat (Type _) :=
⟨fun X => X.toLat⟩
-instance (X : BddLatCat) : Lattice X :=
+instance (X : BddLat) : Lattice X :=
X.toLat.str
-attribute [instance] BddLatCat.isBoundedOrder
+attribute [instance] BddLat.isBoundedOrder
-#print BddLatCat.of /-
+#print BddLat.of /-
/-- Construct a bundled `BddLat` from `lattice` + `bounded_order`. -/
-def of (α : Type _) [Lattice α] [BoundedOrder α] : BddLatCat :=
+def of (α : Type _) [Lattice α] [BoundedOrder α] : BddLat :=
⟨⟨α⟩⟩
-#align BddLat.of BddLatCat.of
+#align BddLat.of BddLat.of
-/
-#print BddLatCat.coe_of /-
+#print BddLat.coe_of /-
@[simp]
theorem coe_of (α : Type _) [Lattice α] [BoundedOrder α] : ↥(of α) = α :=
rfl
-#align BddLat.coe_of BddLatCat.coe_of
+#align BddLat.coe_of BddLat.coe_of
-/
-instance : Inhabited BddLatCat :=
+instance : Inhabited BddLat :=
⟨of PUnit⟩
-instance : LargeCategory.{u} BddLatCat
+instance : LargeCategory.{u} BddLat
where
Hom X Y := BoundedLatticeHom X Y
id X := BoundedLatticeHom.id X
@@ -71,176 +71,173 @@ instance : LargeCategory.{u} BddLatCat
comp_id' X Y := BoundedLatticeHom.id_comp
assoc' W X Y Z _ _ _ := BoundedLatticeHom.comp_assoc _ _ _
-instance : ConcreteCategory BddLatCat
+instance : ConcreteCategory BddLat
where
forget := ⟨coeSort, fun X Y => coeFn, fun X => rfl, fun X Y Z f g => rfl⟩
forget_faithful := ⟨fun X Y => by convert FunLike.coe_injective⟩
-#print BddLatCat.hasForgetToBddOrd /-
-instance hasForgetToBddOrd : HasForget₂ BddLatCat BddOrdCat
+#print BddLat.hasForgetToBddOrd /-
+instance hasForgetToBddOrd : HasForget₂ BddLat BddOrd
where forget₂ :=
- { obj := fun X => BddOrdCat.of X
+ { obj := fun X => BddOrd.of X
map := fun X Y => BoundedLatticeHom.toBoundedOrderHom }
-#align BddLat.has_forget_to_BddOrd BddLatCat.hasForgetToBddOrd
+#align BddLat.has_forget_to_BddOrd BddLat.hasForgetToBddOrd
-/
-#print BddLatCat.hasForgetToLat /-
-instance hasForgetToLat : HasForget₂ BddLatCat LatCat
+#print BddLat.hasForgetToLat /-
+instance hasForgetToLat : HasForget₂ BddLat Lat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toLatticeHom }
-#align BddLat.has_forget_to_Lat BddLatCat.hasForgetToLat
+#align BddLat.has_forget_to_Lat BddLat.hasForgetToLat
-/
-#print BddLatCat.hasForgetToSemilatSup /-
-instance hasForgetToSemilatSup : HasForget₂ BddLatCat SemilatSupCat
+#print BddLat.hasForgetToSemilatSup /-
+instance hasForgetToSemilatSup : HasForget₂ BddLat SemilatSupCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toSupBotHom }
-#align BddLat.has_forget_to_SemilatSup BddLatCat.hasForgetToSemilatSup
+#align BddLat.has_forget_to_SemilatSup BddLat.hasForgetToSemilatSup
-/
-#print BddLatCat.hasForgetToSemilatInf /-
-instance hasForgetToSemilatInf : HasForget₂ BddLatCat SemilatInfCat
+#print BddLat.hasForgetToSemilatInf /-
+instance hasForgetToSemilatInf : HasForget₂ BddLat SemilatInfCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toInfTopHom }
-#align BddLat.has_forget_to_SemilatInf BddLatCat.hasForgetToSemilatInf
+#align BddLat.has_forget_to_SemilatInf BddLat.hasForgetToSemilatInf
-/
-#print BddLatCat.coe_forget_to_bddOrd /-
+#print BddLat.coe_forget_to_bddOrd /-
@[simp]
-theorem coe_forget_to_bddOrd (X : BddLatCat) : ↥((forget₂ BddLatCat BddOrdCat).obj X) = ↥X :=
+theorem coe_forget_to_bddOrd (X : BddLat) : ↥((forget₂ BddLat BddOrd).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_BddOrd BddLatCat.coe_forget_to_bddOrd
+#align BddLat.coe_forget_to_BddOrd BddLat.coe_forget_to_bddOrd
-/
-#print BddLatCat.coe_forget_to_latCat /-
+#print BddLat.coe_forget_to_lat /-
@[simp]
-theorem coe_forget_to_latCat (X : BddLatCat) : ↥((forget₂ BddLatCat LatCat).obj X) = ↥X :=
+theorem coe_forget_to_lat (X : BddLat) : ↥((forget₂ BddLat Lat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_Lat BddLatCat.coe_forget_to_latCat
+#align BddLat.coe_forget_to_Lat BddLat.coe_forget_to_lat
-/
-#print BddLatCat.coe_forget_to_semilatSup /-
+#print BddLat.coe_forget_to_semilatSup /-
@[simp]
-theorem coe_forget_to_semilatSup (X : BddLatCat) :
- ↥((forget₂ BddLatCat SemilatSupCat).obj X) = ↥X :=
+theorem coe_forget_to_semilatSup (X : BddLat) : ↥((forget₂ BddLat SemilatSupCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatSup BddLatCat.coe_forget_to_semilatSup
+#align BddLat.coe_forget_to_SemilatSup BddLat.coe_forget_to_semilatSup
-/
-#print BddLatCat.coe_forget_to_semilatInf /-
+#print BddLat.coe_forget_to_semilatInf /-
@[simp]
-theorem coe_forget_to_semilatInf (X : BddLatCat) :
- ↥((forget₂ BddLatCat SemilatInfCat).obj X) = ↥X :=
+theorem coe_forget_to_semilatInf (X : BddLat) : ↥((forget₂ BddLat SemilatInfCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatInf BddLatCat.coe_forget_to_semilatInf
+#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInf
-/
-#print BddLatCat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat /-
-theorem forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat :
- forget₂ BddLatCat LatCat ⋙ forget₂ LatCat PartOrdCat =
- forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLat.forget_lat_partOrd_eq_forget_bddOrd_partOrd /-
+theorem forget_lat_partOrd_eq_forget_bddOrd_partOrd :
+ forget₂ BddLat Lat ⋙ forget₂ Lat PartOrd = forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
rfl
-#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_lat_partOrd_eq_forget_bddOrd_partOrd
-/
-#print BddLatCat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat /-
-theorem forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat :
- forget₂ BddLatCat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrdCat =
- forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLat.forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd /-
+theorem forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd :
+ forget₂ BddLat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrd =
+ forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
rfl
-#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd
-/
-#print BddLatCat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat /-
-theorem forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat :
- forget₂ BddLatCat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrdCat =
- forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLat.forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd /-
+theorem forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd :
+ forget₂ BddLat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrd =
+ forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
rfl
-#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd
-/
-#print BddLatCat.Iso.mk /-
+#print BddLat.Iso.mk /-
/-- Constructs an equivalence between bounded lattices from an order isomorphism
between them. -/
@[simps]
-def Iso.mk {α β : BddLatCat.{u}} (e : α ≃o β) : α ≅ β
+def Iso.mk {α β : BddLat.{u}} (e : α ≃o β) : α ≅ β
where
Hom := e
inv := e.symm
hom_inv_id' := by ext; exact e.symm_apply_apply _
inv_hom_id' := by ext; exact e.apply_symm_apply _
-#align BddLat.iso.mk BddLatCat.Iso.mk
+#align BddLat.iso.mk BddLat.Iso.mk
-/
-#print BddLatCat.dual /-
+#print BddLat.dual /-
/-- `order_dual` as a functor. -/
@[simps]
-def dual : BddLatCat ⥤ BddLatCat where
+def dual : BddLat ⥤ BddLat where
obj X := of Xᵒᵈ
map X Y := BoundedLatticeHom.dual
-#align BddLat.dual BddLatCat.dual
+#align BddLat.dual BddLat.dual
-/
-#print BddLatCat.dualEquiv /-
+#print BddLat.dualEquiv /-
/-- The equivalence between `BddLat` and itself induced by `order_dual` both ways. -/
@[simps Functor inverse]
-def dualEquiv : BddLatCat ≌ BddLatCat :=
+def dualEquiv : BddLat ≌ BddLat :=
Equivalence.mk dual dual
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
-#align BddLat.dual_equiv BddLatCat.dualEquiv
+#align BddLat.dual_equiv BddLat.dualEquiv
-/
-end BddLatCat
+end BddLat
-#print bddLatCat_dual_comp_forget_to_bddOrdCat /-
-theorem bddLatCat_dual_comp_forget_to_bddOrdCat :
- BddLatCat.dual ⋙ forget₂ BddLatCat BddOrdCat = forget₂ BddLatCat BddOrdCat ⋙ BddOrdCat.dual :=
+#print bddLat_dual_comp_forget_to_bddOrd /-
+theorem bddLat_dual_comp_forget_to_bddOrd :
+ BddLat.dual ⋙ forget₂ BddLat BddOrd = forget₂ BddLat BddOrd ⋙ BddOrd.dual :=
rfl
-#align BddLat_dual_comp_forget_to_BddOrd bddLatCat_dual_comp_forget_to_bddOrdCat
+#align BddLat_dual_comp_forget_to_BddOrd bddLat_dual_comp_forget_to_bddOrd
-/
-#print bddLatCat_dual_comp_forget_to_latCat /-
-theorem bddLatCat_dual_comp_forget_to_latCat :
- BddLatCat.dual ⋙ forget₂ BddLatCat LatCat = forget₂ BddLatCat LatCat ⋙ LatCat.dual :=
+#print bddLat_dual_comp_forget_to_lat /-
+theorem bddLat_dual_comp_forget_to_lat :
+ BddLat.dual ⋙ forget₂ BddLat Lat = forget₂ BddLat Lat ⋙ Lat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_Lat bddLatCat_dual_comp_forget_to_latCat
+#align BddLat_dual_comp_forget_to_Lat bddLat_dual_comp_forget_to_lat
-/
-#print bddLatCat_dual_comp_forget_to_semilatSupCat /-
-theorem bddLatCat_dual_comp_forget_to_semilatSupCat :
- BddLatCat.dual ⋙ forget₂ BddLatCat SemilatSupCat =
- forget₂ BddLatCat SemilatInfCat ⋙ SemilatInfCat.dual :=
+#print bddLat_dual_comp_forget_to_semilatSupCat /-
+theorem bddLat_dual_comp_forget_to_semilatSupCat :
+ BddLat.dual ⋙ forget₂ BddLat SemilatSupCat =
+ forget₂ BddLat SemilatInfCat ⋙ SemilatInfCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatSup bddLatCat_dual_comp_forget_to_semilatSupCat
+#align BddLat_dual_comp_forget_to_SemilatSup bddLat_dual_comp_forget_to_semilatSupCat
-/
-#print bddLatCat_dual_comp_forget_to_semilatInfCat /-
-theorem bddLatCat_dual_comp_forget_to_semilatInfCat :
- BddLatCat.dual ⋙ forget₂ BddLatCat SemilatInfCat =
- forget₂ BddLatCat SemilatSupCat ⋙ SemilatSupCat.dual :=
+#print bddLat_dual_comp_forget_to_semilatInfCat /-
+theorem bddLat_dual_comp_forget_to_semilatInfCat :
+ BddLat.dual ⋙ forget₂ BddLat SemilatInfCat =
+ forget₂ BddLat SemilatSupCat ⋙ SemilatSupCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatInf bddLatCat_dual_comp_forget_to_semilatInfCat
+#align BddLat_dual_comp_forget_to_SemilatInf bddLat_dual_comp_forget_to_semilatInfCat
-/
-#print latToBddLatCat /-
+#print latToBddLat /-
/-- The functor that adds a bottom and a top element to a lattice. This is the free functor. -/
-def latToBddLatCat : LatCat.{u} ⥤ BddLatCat
+def latToBddLat : Lat.{u} ⥤ BddLat
where
- obj X := BddLatCat.of <| WithTop <| WithBot X
+ obj X := BddLat.of <| WithTop <| WithBot X
map X Y := LatticeHom.withTopWithBot
map_id' X := LatticeHom.withTopWithBot_id
map_comp' X Y Z _ _ := LatticeHom.withTopWithBot_comp _ _
-#align Lat_to_BddLat latToBddLatCat
+#align Lat_to_BddLat latToBddLat
-/
-#print latToBddLatCatForgetAdjunction /-
+#print latToBddLatForgetAdjunction /-
/-- `Lat_to_BddLat` is left adjoint to the forgetful functor, meaning it is the free
functor from `Lat` to `BddLat`. -/
-def latToBddLatCatForgetAdjunction : latToBddLatCat.{u} ⊣ forget₂ BddLatCat LatCat :=
+def latToBddLatForgetAdjunction : latToBddLat.{u} ⊣ forget₂ BddLat Lat :=
Adjunction.mkOfHomEquiv
{ homEquiv := fun X Y =>
{ toFun := fun f =>
@@ -262,14 +259,16 @@ def latToBddLatCatForgetAdjunction : latToBddLatCat.{u} ⊣ forget₂ BddLatCat
| some none => rfl
| some (some a) => rfl
homEquiv_naturality_right := fun X Y Z f g => LatticeHom.ext fun a => rfl }
-#align Lat_to_BddLat_forget_adjunction latToBddLatCatForgetAdjunction
+#align Lat_to_BddLat_forget_adjunction latToBddLatForgetAdjunction
-/
+#print latToBddLatCompDualIsoDualCompLatToBddLat /-
/-- `Lat_to_BddLat` and `order_dual` commute. -/
@[simps]
def latToBddLatCompDualIsoDualCompLatToBddLat :
- latToBddLatCat.{u} ⋙ BddLatCat.dual ≅ LatCat.dual ⋙ latToBddLatCat :=
- Adjunction.leftAdjointUniq (latToBddLatCatForgetAdjunction.comp BddLatCat.dualEquiv.toAdjunction)
- (LatCat.dualEquiv.toAdjunction.comp latToBddLatCatForgetAdjunction)
+ latToBddLat.{u} ⋙ BddLat.dual ≅ Lat.dual ⋙ latToBddLat :=
+ Adjunction.leftAdjointUniq (latToBddLatForgetAdjunction.comp BddLat.dualEquiv.toAdjunction)
+ (Lat.dualEquiv.toAdjunction.comp latToBddLatForgetAdjunction)
#align Lat_to_BddLat_comp_dual_iso_dual_comp_Lat_to_BddLat latToBddLatCompDualIsoDualCompLatToBddLat
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module order.category.BddLat
-! leanprover-community/mathlib commit 8af7091a43227e179939ba132e54e54e9f3b089a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Adjunction.Opposites
import Mathbin.Order.Category.BddOrd
import Mathbin.Order.Category.Lat
import Mathbin.Order.Category.Semilat
+#align_import order.category.BddLat from "leanprover-community/mathlib"@"8af7091a43227e179939ba132e54e54e9f3b089a"
+
/-!
# The category of bounded lattices
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -30,36 +30,42 @@ universe u
open CategoryTheory
+#print BddLatCat /-
/-- The category of bounded lattices with bounded lattice morphisms. -/
-structure BddLat where
+structure BddLatCat where
toLat : LatCat
[isBoundedOrder : BoundedOrder to_Lat]
-#align BddLat BddLat
+#align BddLat BddLatCat
+-/
-namespace BddLat
+namespace BddLatCat
-instance : CoeSort BddLat (Type _) :=
+instance : CoeSort BddLatCat (Type _) :=
⟨fun X => X.toLat⟩
-instance (X : BddLat) : Lattice X :=
+instance (X : BddLatCat) : Lattice X :=
X.toLat.str
-attribute [instance] BddLat.isBoundedOrder
+attribute [instance] BddLatCat.isBoundedOrder
+#print BddLatCat.of /-
/-- Construct a bundled `BddLat` from `lattice` + `bounded_order`. -/
-def of (α : Type _) [Lattice α] [BoundedOrder α] : BddLat :=
+def of (α : Type _) [Lattice α] [BoundedOrder α] : BddLatCat :=
⟨⟨α⟩⟩
-#align BddLat.of BddLat.of
+#align BddLat.of BddLatCat.of
+-/
+#print BddLatCat.coe_of /-
@[simp]
theorem coe_of (α : Type _) [Lattice α] [BoundedOrder α] : ↥(of α) = α :=
rfl
-#align BddLat.coe_of BddLat.coe_of
+#align BddLat.coe_of BddLatCat.coe_of
+-/
-instance : Inhabited BddLat :=
+instance : Inhabited BddLatCat :=
⟨of PUnit⟩
-instance : LargeCategory.{u} BddLat
+instance : LargeCategory.{u} BddLatCat
where
Hom X Y := BoundedLatticeHom X Y
id X := BoundedLatticeHom.id X
@@ -68,135 +74,176 @@ instance : LargeCategory.{u} BddLat
comp_id' X Y := BoundedLatticeHom.id_comp
assoc' W X Y Z _ _ _ := BoundedLatticeHom.comp_assoc _ _ _
-instance : ConcreteCategory BddLat
+instance : ConcreteCategory BddLatCat
where
forget := ⟨coeSort, fun X Y => coeFn, fun X => rfl, fun X Y Z f g => rfl⟩
forget_faithful := ⟨fun X Y => by convert FunLike.coe_injective⟩
-instance hasForgetToBddOrd : HasForget₂ BddLat BddOrdCat
+#print BddLatCat.hasForgetToBddOrd /-
+instance hasForgetToBddOrd : HasForget₂ BddLatCat BddOrdCat
where forget₂ :=
{ obj := fun X => BddOrdCat.of X
map := fun X Y => BoundedLatticeHom.toBoundedOrderHom }
-#align BddLat.has_forget_to_BddOrd BddLat.hasForgetToBddOrd
+#align BddLat.has_forget_to_BddOrd BddLatCat.hasForgetToBddOrd
+-/
-instance hasForgetToLat : HasForget₂ BddLat LatCat
+#print BddLatCat.hasForgetToLat /-
+instance hasForgetToLat : HasForget₂ BddLatCat LatCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toLatticeHom }
-#align BddLat.has_forget_to_Lat BddLat.hasForgetToLat
+#align BddLat.has_forget_to_Lat BddLatCat.hasForgetToLat
+-/
-instance hasForgetToSemilatSup : HasForget₂ BddLat SemilatSupCat
+#print BddLatCat.hasForgetToSemilatSup /-
+instance hasForgetToSemilatSup : HasForget₂ BddLatCat SemilatSupCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toSupBotHom }
-#align BddLat.has_forget_to_SemilatSup BddLat.hasForgetToSemilatSup
+#align BddLat.has_forget_to_SemilatSup BddLatCat.hasForgetToSemilatSup
+-/
-instance hasForgetToSemilatInf : HasForget₂ BddLat SemilatInfCat
+#print BddLatCat.hasForgetToSemilatInf /-
+instance hasForgetToSemilatInf : HasForget₂ BddLatCat SemilatInfCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toInfTopHom }
-#align BddLat.has_forget_to_SemilatInf BddLat.hasForgetToSemilatInf
+#align BddLat.has_forget_to_SemilatInf BddLatCat.hasForgetToSemilatInf
+-/
+#print BddLatCat.coe_forget_to_bddOrd /-
@[simp]
-theorem coe_forget_to_bddOrdCat (X : BddLat) : ↥((forget₂ BddLat BddOrdCat).obj X) = ↥X :=
+theorem coe_forget_to_bddOrd (X : BddLatCat) : ↥((forget₂ BddLatCat BddOrdCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_BddOrd BddLat.coe_forget_to_bddOrdCat
+#align BddLat.coe_forget_to_BddOrd BddLatCat.coe_forget_to_bddOrd
+-/
+#print BddLatCat.coe_forget_to_latCat /-
@[simp]
-theorem coe_forget_to_latCat (X : BddLat) : ↥((forget₂ BddLat LatCat).obj X) = ↥X :=
+theorem coe_forget_to_latCat (X : BddLatCat) : ↥((forget₂ BddLatCat LatCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_Lat BddLat.coe_forget_to_latCat
+#align BddLat.coe_forget_to_Lat BddLatCat.coe_forget_to_latCat
+-/
+#print BddLatCat.coe_forget_to_semilatSup /-
@[simp]
-theorem coe_forget_to_semilatSupCat (X : BddLat) : ↥((forget₂ BddLat SemilatSupCat).obj X) = ↥X :=
+theorem coe_forget_to_semilatSup (X : BddLatCat) :
+ ↥((forget₂ BddLatCat SemilatSupCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatSup BddLat.coe_forget_to_semilatSupCat
+#align BddLat.coe_forget_to_SemilatSup BddLatCat.coe_forget_to_semilatSup
+-/
+#print BddLatCat.coe_forget_to_semilatInf /-
@[simp]
-theorem coe_forget_to_semilatInfCat (X : BddLat) : ↥((forget₂ BddLat SemilatInfCat).obj X) = ↥X :=
+theorem coe_forget_to_semilatInf (X : BddLatCat) :
+ ↥((forget₂ BddLatCat SemilatInfCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInfCat
+#align BddLat.coe_forget_to_SemilatInf BddLatCat.coe_forget_to_semilatInf
+-/
-theorem forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
- forget₂ BddLat LatCat ⋙ forget₂ LatCat PartOrdCat =
- forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLatCat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat /-
+theorem forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLatCat LatCat ⋙ forget₂ LatCat PartOrdCat =
+ forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
+#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat
+-/
-theorem forget_semilatSupCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
- forget₂ BddLat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrdCat =
- forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLatCat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat /-
+theorem forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLatCat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrdCat =
+ forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSupCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
+#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat
+-/
-theorem forget_semilatInfCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
- forget₂ BddLat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrdCat =
- forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
+#print BddLatCat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat /-
+theorem forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLatCat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrdCat =
+ forget₂ BddLatCat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInfCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
+#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLatCat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat
+-/
+#print BddLatCat.Iso.mk /-
/-- Constructs an equivalence between bounded lattices from an order isomorphism
between them. -/
@[simps]
-def Iso.mk {α β : BddLat.{u}} (e : α ≃o β) : α ≅ β
+def Iso.mk {α β : BddLatCat.{u}} (e : α ≃o β) : α ≅ β
where
Hom := e
inv := e.symm
hom_inv_id' := by ext; exact e.symm_apply_apply _
inv_hom_id' := by ext; exact e.apply_symm_apply _
-#align BddLat.iso.mk BddLat.Iso.mk
+#align BddLat.iso.mk BddLatCat.Iso.mk
+-/
+#print BddLatCat.dual /-
/-- `order_dual` as a functor. -/
@[simps]
-def dual : BddLat ⥤ BddLat where
+def dual : BddLatCat ⥤ BddLatCat where
obj X := of Xᵒᵈ
map X Y := BoundedLatticeHom.dual
-#align BddLat.dual BddLat.dual
+#align BddLat.dual BddLatCat.dual
+-/
+#print BddLatCat.dualEquiv /-
/-- The equivalence between `BddLat` and itself induced by `order_dual` both ways. -/
@[simps Functor inverse]
-def dualEquiv : BddLat ≌ BddLat :=
+def dualEquiv : BddLatCat ≌ BddLatCat :=
Equivalence.mk dual dual
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
-#align BddLat.dual_equiv BddLat.dualEquiv
+#align BddLat.dual_equiv BddLatCat.dualEquiv
+-/
-end BddLat
+end BddLatCat
-theorem bddLat_dual_comp_forget_to_bddOrdCat :
- BddLat.dual ⋙ forget₂ BddLat BddOrdCat = forget₂ BddLat BddOrdCat ⋙ BddOrdCat.dual :=
+#print bddLatCat_dual_comp_forget_to_bddOrdCat /-
+theorem bddLatCat_dual_comp_forget_to_bddOrdCat :
+ BddLatCat.dual ⋙ forget₂ BddLatCat BddOrdCat = forget₂ BddLatCat BddOrdCat ⋙ BddOrdCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_BddOrd bddLat_dual_comp_forget_to_bddOrdCat
+#align BddLat_dual_comp_forget_to_BddOrd bddLatCat_dual_comp_forget_to_bddOrdCat
+-/
-theorem bddLat_dual_comp_forget_to_latCat :
- BddLat.dual ⋙ forget₂ BddLat LatCat = forget₂ BddLat LatCat ⋙ LatCat.dual :=
+#print bddLatCat_dual_comp_forget_to_latCat /-
+theorem bddLatCat_dual_comp_forget_to_latCat :
+ BddLatCat.dual ⋙ forget₂ BddLatCat LatCat = forget₂ BddLatCat LatCat ⋙ LatCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_Lat bddLat_dual_comp_forget_to_latCat
+#align BddLat_dual_comp_forget_to_Lat bddLatCat_dual_comp_forget_to_latCat
+-/
-theorem bddLat_dual_comp_forget_to_semilatSupCat :
- BddLat.dual ⋙ forget₂ BddLat SemilatSupCat =
- forget₂ BddLat SemilatInfCat ⋙ SemilatInfCat.dual :=
+#print bddLatCat_dual_comp_forget_to_semilatSupCat /-
+theorem bddLatCat_dual_comp_forget_to_semilatSupCat :
+ BddLatCat.dual ⋙ forget₂ BddLatCat SemilatSupCat =
+ forget₂ BddLatCat SemilatInfCat ⋙ SemilatInfCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatSup bddLat_dual_comp_forget_to_semilatSupCat
+#align BddLat_dual_comp_forget_to_SemilatSup bddLatCat_dual_comp_forget_to_semilatSupCat
+-/
-theorem bddLat_dual_comp_forget_to_semilatInfCat :
- BddLat.dual ⋙ forget₂ BddLat SemilatInfCat =
- forget₂ BddLat SemilatSupCat ⋙ SemilatSupCat.dual :=
+#print bddLatCat_dual_comp_forget_to_semilatInfCat /-
+theorem bddLatCat_dual_comp_forget_to_semilatInfCat :
+ BddLatCat.dual ⋙ forget₂ BddLatCat SemilatInfCat =
+ forget₂ BddLatCat SemilatSupCat ⋙ SemilatSupCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatInf bddLat_dual_comp_forget_to_semilatInfCat
+#align BddLat_dual_comp_forget_to_SemilatInf bddLatCat_dual_comp_forget_to_semilatInfCat
+-/
+#print latToBddLatCat /-
/-- The functor that adds a bottom and a top element to a lattice. This is the free functor. -/
-def latToBddLat : LatCat.{u} ⥤ BddLat
+def latToBddLatCat : LatCat.{u} ⥤ BddLatCat
where
- obj X := BddLat.of <| WithTop <| WithBot X
+ obj X := BddLatCat.of <| WithTop <| WithBot X
map X Y := LatticeHom.withTopWithBot
map_id' X := LatticeHom.withTopWithBot_id
map_comp' X Y Z _ _ := LatticeHom.withTopWithBot_comp _ _
-#align Lat_to_BddLat latToBddLat
+#align Lat_to_BddLat latToBddLatCat
+-/
+#print latToBddLatCatForgetAdjunction /-
/-- `Lat_to_BddLat` is left adjoint to the forgetful functor, meaning it is the free
functor from `Lat` to `BddLat`. -/
-def latToBddLatForgetAdjunction : latToBddLat.{u} ⊣ forget₂ BddLat LatCat :=
+def latToBddLatCatForgetAdjunction : latToBddLatCat.{u} ⊣ forget₂ BddLatCat LatCat :=
Adjunction.mkOfHomEquiv
{ homEquiv := fun X Y =>
{ toFun := fun f =>
@@ -218,13 +265,14 @@ def latToBddLatForgetAdjunction : latToBddLat.{u} ⊣ forget₂ BddLat LatCat :=
| some none => rfl
| some (some a) => rfl
homEquiv_naturality_right := fun X Y Z f g => LatticeHom.ext fun a => rfl }
-#align Lat_to_BddLat_forget_adjunction latToBddLatForgetAdjunction
+#align Lat_to_BddLat_forget_adjunction latToBddLatCatForgetAdjunction
+-/
/-- `Lat_to_BddLat` and `order_dual` commute. -/
@[simps]
def latToBddLatCompDualIsoDualCompLatToBddLat :
- latToBddLat.{u} ⋙ BddLat.dual ≅ LatCat.dual ⋙ latToBddLat :=
- Adjunction.leftAdjointUniq (latToBddLatForgetAdjunction.comp BddLat.dualEquiv.toAdjunction)
- (LatCat.dualEquiv.toAdjunction.comp latToBddLatForgetAdjunction)
+ latToBddLatCat.{u} ⋙ BddLatCat.dual ≅ LatCat.dual ⋙ latToBddLatCat :=
+ Adjunction.leftAdjointUniq (latToBddLatCatForgetAdjunction.comp BddLatCat.dualEquiv.toAdjunction)
+ (LatCat.dualEquiv.toAdjunction.comp latToBddLatCatForgetAdjunction)
#align Lat_to_BddLat_comp_dual_iso_dual_comp_Lat_to_BddLat latToBddLatCompDualIsoDualCompLatToBddLat
mathlib commit https://github.com/leanprover-community/mathlib/commit/bf9bbbcf0c1c1ead18280b0d010e417b10abb1b6
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
! This file was ported from Lean 3 source module order.category.BddLat
-! leanprover-community/mathlib commit 7581030920af3dcb241d1df0e36f6ec8289dd6be
+! leanprover-community/mathlib commit 8af7091a43227e179939ba132e54e54e9f3b089a
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -16,6 +16,9 @@ import Mathbin.Order.Category.Semilat
/-!
# The category of bounded lattices
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines `BddLat`, the category of bounded lattices.
In literature, this is sometimes called `Lat`, the category of lattices, because being a lattice is
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -82,13 +82,13 @@ instance hasForgetToLat : HasForget₂ BddLat LatCat
map := fun X Y => BoundedLatticeHom.toLatticeHom }
#align BddLat.has_forget_to_Lat BddLat.hasForgetToLat
-instance hasForgetToSemilatSup : HasForget₂ BddLat SemilatSup
+instance hasForgetToSemilatSup : HasForget₂ BddLat SemilatSupCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toSupBotHom }
#align BddLat.has_forget_to_SemilatSup BddLat.hasForgetToSemilatSup
-instance hasForgetToSemilatInf : HasForget₂ BddLat SemilatInf
+instance hasForgetToSemilatInf : HasForget₂ BddLat SemilatInfCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toInfTopHom }
@@ -105,14 +105,14 @@ theorem coe_forget_to_latCat (X : BddLat) : ↥((forget₂ BddLat LatCat).obj X)
#align BddLat.coe_forget_to_Lat BddLat.coe_forget_to_latCat
@[simp]
-theorem coe_forget_to_semilatSup (X : BddLat) : ↥((forget₂ BddLat SemilatSup).obj X) = ↥X :=
+theorem coe_forget_to_semilatSupCat (X : BddLat) : ↥((forget₂ BddLat SemilatSupCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatSup BddLat.coe_forget_to_semilatSup
+#align BddLat.coe_forget_to_SemilatSup BddLat.coe_forget_to_semilatSupCat
@[simp]
-theorem coe_forget_to_semilatInf (X : BddLat) : ↥((forget₂ BddLat SemilatInf).obj X) = ↥X :=
+theorem coe_forget_to_semilatInfCat (X : BddLat) : ↥((forget₂ BddLat SemilatInfCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInf
+#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInfCat
theorem forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
forget₂ BddLat LatCat ⋙ forget₂ LatCat PartOrdCat =
@@ -120,17 +120,17 @@ theorem forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
rfl
#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
-theorem forget_semilatSup_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
- forget₂ BddLat SemilatSup ⋙ forget₂ SemilatSup PartOrdCat =
+theorem forget_semilatSupCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
+ forget₂ BddLat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrdCat =
forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrdCat_eq_forget_bddOrdCat_partOrdCat
+#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSupCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
-theorem forget_semilatInf_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
- forget₂ BddLat SemilatInf ⋙ forget₂ SemilatInf PartOrdCat =
+theorem forget_semilatInfCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
+ forget₂ BddLat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrdCat =
forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrdCat_eq_forget_bddOrdCat_partOrdCat
+#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInfCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
/-- Constructs an equivalence between bounded lattices from an order isomorphism
between them. -/
@@ -170,15 +170,17 @@ theorem bddLat_dual_comp_forget_to_latCat :
rfl
#align BddLat_dual_comp_forget_to_Lat bddLat_dual_comp_forget_to_latCat
-theorem bddLat_dual_comp_forget_to_semilatSup :
- BddLat.dual ⋙ forget₂ BddLat SemilatSup = forget₂ BddLat SemilatInf ⋙ SemilatInf.dual :=
+theorem bddLat_dual_comp_forget_to_semilatSupCat :
+ BddLat.dual ⋙ forget₂ BddLat SemilatSupCat =
+ forget₂ BddLat SemilatInfCat ⋙ SemilatInfCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatSup bddLat_dual_comp_forget_to_semilatSup
+#align BddLat_dual_comp_forget_to_SemilatSup bddLat_dual_comp_forget_to_semilatSupCat
-theorem bddLat_dual_comp_forget_to_semilatInf :
- BddLat.dual ⋙ forget₂ BddLat SemilatInf = forget₂ BddLat SemilatSup ⋙ SemilatSup.dual :=
+theorem bddLat_dual_comp_forget_to_semilatInfCat :
+ BddLat.dual ⋙ forget₂ BddLat SemilatInfCat =
+ forget₂ BddLat SemilatSupCat ⋙ SemilatSupCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_SemilatInf bddLat_dual_comp_forget_to_semilatInf
+#align BddLat_dual_comp_forget_to_SemilatInf bddLat_dual_comp_forget_to_semilatInfCat
/-- The functor that adds a bottom and a top element to a lattice. This is the free functor. -/
def latToBddLat : LatCat.{u} ⥤ BddLat
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -70,9 +70,9 @@ instance : ConcreteCategory BddLat
forget := ⟨coeSort, fun X Y => coeFn, fun X => rfl, fun X Y Z f g => rfl⟩
forget_faithful := ⟨fun X Y => by convert FunLike.coe_injective⟩
-instance hasForgetToBddOrd : HasForget₂ BddLat BddOrd
+instance hasForgetToBddOrd : HasForget₂ BddLat BddOrdCat
where forget₂ :=
- { obj := fun X => BddOrd.of X
+ { obj := fun X => BddOrdCat.of X
map := fun X Y => BoundedLatticeHom.toBoundedOrderHom }
#align BddLat.has_forget_to_BddOrd BddLat.hasForgetToBddOrd
@@ -95,9 +95,9 @@ instance hasForgetToSemilatInf : HasForget₂ BddLat SemilatInf
#align BddLat.has_forget_to_SemilatInf BddLat.hasForgetToSemilatInf
@[simp]
-theorem coe_forget_to_bddOrd (X : BddLat) : ↥((forget₂ BddLat BddOrd).obj X) = ↥X :=
+theorem coe_forget_to_bddOrdCat (X : BddLat) : ↥((forget₂ BddLat BddOrdCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_BddOrd BddLat.coe_forget_to_bddOrd
+#align BddLat.coe_forget_to_BddOrd BddLat.coe_forget_to_bddOrdCat
@[simp]
theorem coe_forget_to_latCat (X : BddLat) : ↥((forget₂ BddLat LatCat).obj X) = ↥X :=
@@ -114,23 +114,23 @@ theorem coe_forget_to_semilatInf (X : BddLat) : ↥((forget₂ BddLat SemilatInf
rfl
#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInf
-theorem forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat :
+theorem forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
forget₂ BddLat LatCat ⋙ forget₂ LatCat PartOrdCat =
- forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
+ forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_latCat_partOrdCat_eq_forget_bddOrdCat_partOrdCat
-theorem forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat :
+theorem forget_semilatSup_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
forget₂ BddLat SemilatSup ⋙ forget₂ SemilatSup PartOrdCat =
- forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
+ forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrdCat_eq_forget_bddOrdCat_partOrdCat
-theorem forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat :
+theorem forget_semilatInf_partOrdCat_eq_forget_bddOrdCat_partOrdCat :
forget₂ BddLat SemilatInf ⋙ forget₂ SemilatInf PartOrdCat =
- forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
+ forget₂ BddLat BddOrdCat ⋙ forget₂ BddOrdCat PartOrdCat :=
rfl
-#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrdCat_eq_forget_bddOrdCat_partOrdCat
/-- Constructs an equivalence between bounded lattices from an order isomorphism
between them. -/
@@ -160,10 +160,10 @@ def dualEquiv : BddLat ≌ BddLat :=
end BddLat
-theorem bddLat_dual_comp_forget_to_bddOrd :
- BddLat.dual ⋙ forget₂ BddLat BddOrd = forget₂ BddLat BddOrd ⋙ BddOrd.dual :=
+theorem bddLat_dual_comp_forget_to_bddOrdCat :
+ BddLat.dual ⋙ forget₂ BddLat BddOrdCat = forget₂ BddLat BddOrdCat ⋙ BddOrdCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_BddOrd bddLat_dual_comp_forget_to_bddOrd
+#align BddLat_dual_comp_forget_to_BddOrd bddLat_dual_comp_forget_to_bddOrdCat
theorem bddLat_dual_comp_forget_to_latCat :
BddLat.dual ⋙ forget₂ BddLat LatCat = forget₂ BddLat LatCat ⋙ LatCat.dual :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -139,12 +139,8 @@ def Iso.mk {α β : BddLat.{u}} (e : α ≃o β) : α ≅ β
where
Hom := e
inv := e.symm
- hom_inv_id' := by
- ext
- exact e.symm_apply_apply _
- inv_hom_id' := by
- ext
- exact e.apply_symm_apply _
+ hom_inv_id' := by ext; exact e.symm_apply_apply _
+ inv_hom_id' := by ext; exact e.apply_symm_apply _
#align BddLat.iso.mk BddLat.Iso.mk
/-- `order_dual` as a functor. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -4,10 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
! This file was ported from Lean 3 source module order.category.BddLat
-! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
+! leanprover-community/mathlib commit 7581030920af3dcb241d1df0e36f6ec8289dd6be
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
+import Mathbin.CategoryTheory.Adjunction.Opposites
import Mathbin.Order.Category.BddOrd
import Mathbin.Order.Category.Lat
import Mathbin.Order.Category.Semilat
@@ -183,3 +184,46 @@ theorem bddLat_dual_comp_forget_to_semilatInf :
rfl
#align BddLat_dual_comp_forget_to_SemilatInf bddLat_dual_comp_forget_to_semilatInf
+/-- The functor that adds a bottom and a top element to a lattice. This is the free functor. -/
+def latToBddLat : LatCat.{u} ⥤ BddLat
+ where
+ obj X := BddLat.of <| WithTop <| WithBot X
+ map X Y := LatticeHom.withTopWithBot
+ map_id' X := LatticeHom.withTopWithBot_id
+ map_comp' X Y Z _ _ := LatticeHom.withTopWithBot_comp _ _
+#align Lat_to_BddLat latToBddLat
+
+/-- `Lat_to_BddLat` is left adjoint to the forgetful functor, meaning it is the free
+functor from `Lat` to `BddLat`. -/
+def latToBddLatForgetAdjunction : latToBddLat.{u} ⊣ forget₂ BddLat LatCat :=
+ Adjunction.mkOfHomEquiv
+ { homEquiv := fun X Y =>
+ { toFun := fun f =>
+ { toFun := f ∘ some ∘ some
+ map_sup' := fun a b => (congr_arg f <| by rfl).trans (f.map_sup' _ _)
+ map_inf' := fun a b => (congr_arg f <| by rfl).trans (f.map_inf' _ _) }
+ invFun := LatticeHom.withTopWithBot'
+ left_inv := fun f =>
+ BoundedLatticeHom.ext fun a =>
+ match a with
+ | none => f.map_top'.symm
+ | some none => f.map_bot'.symm
+ | some (some a) => rfl
+ right_inv := fun f => LatticeHom.ext fun a => rfl }
+ homEquiv_naturality_left_symm := fun X Y Z f g =>
+ BoundedLatticeHom.ext fun a =>
+ match a with
+ | none => rfl
+ | some none => rfl
+ | some (some a) => rfl
+ homEquiv_naturality_right := fun X Y Z f g => LatticeHom.ext fun a => rfl }
+#align Lat_to_BddLat_forget_adjunction latToBddLatForgetAdjunction
+
+/-- `Lat_to_BddLat` and `order_dual` commute. -/
+@[simps]
+def latToBddLatCompDualIsoDualCompLatToBddLat :
+ latToBddLat.{u} ⋙ BddLat.dual ≅ LatCat.dual ⋙ latToBddLat :=
+ Adjunction.leftAdjointUniq (latToBddLatForgetAdjunction.comp BddLat.dualEquiv.toAdjunction)
+ (LatCat.dualEquiv.toAdjunction.comp latToBddLatForgetAdjunction)
+#align Lat_to_BddLat_comp_dual_iso_dual_comp_Lat_to_BddLat latToBddLatCompDualIsoDualCompLatToBddLat
+
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a4df69ca1a9a0e5e26bfe12e2b92814216016d0
@@ -28,7 +28,7 @@ open CategoryTheory
/-- The category of bounded lattices with bounded lattice morphisms. -/
structure BddLat where
- toLat : Lat
+ toLat : LatCat
[isBoundedOrder : BoundedOrder to_Lat]
#align BddLat BddLat
@@ -75,7 +75,7 @@ instance hasForgetToBddOrd : HasForget₂ BddLat BddOrd
map := fun X Y => BoundedLatticeHom.toBoundedOrderHom }
#align BddLat.has_forget_to_BddOrd BddLat.hasForgetToBddOrd
-instance hasForgetToLat : HasForget₂ BddLat Lat
+instance hasForgetToLat : HasForget₂ BddLat LatCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => BoundedLatticeHom.toLatticeHom }
@@ -99,9 +99,9 @@ theorem coe_forget_to_bddOrd (X : BddLat) : ↥((forget₂ BddLat BddOrd).obj X)
#align BddLat.coe_forget_to_BddOrd BddLat.coe_forget_to_bddOrd
@[simp]
-theorem coe_forget_to_lat (X : BddLat) : ↥((forget₂ BddLat Lat).obj X) = ↥X :=
+theorem coe_forget_to_latCat (X : BddLat) : ↥((forget₂ BddLat LatCat).obj X) = ↥X :=
rfl
-#align BddLat.coe_forget_to_Lat BddLat.coe_forget_to_lat
+#align BddLat.coe_forget_to_Lat BddLat.coe_forget_to_latCat
@[simp]
theorem coe_forget_to_semilatSup (X : BddLat) : ↥((forget₂ BddLat SemilatSup).obj X) = ↥X :=
@@ -113,11 +113,11 @@ theorem coe_forget_to_semilatInf (X : BddLat) : ↥((forget₂ BddLat SemilatInf
rfl
#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInf
-theorem forget_lat_partOrdCat_eq_forget_bddOrd_partOrdCat :
- forget₂ BddLat Lat ⋙ forget₂ Lat PartOrdCat =
+theorem forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLat LatCat ⋙ forget₂ LatCat PartOrdCat =
forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
rfl
-#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_lat_partOrdCat_eq_forget_bddOrd_partOrdCat
+#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_latCat_partOrdCat_eq_forget_bddOrd_partOrdCat
theorem forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat :
forget₂ BddLat SemilatSup ⋙ forget₂ SemilatSup PartOrdCat =
@@ -168,10 +168,10 @@ theorem bddLat_dual_comp_forget_to_bddOrd :
rfl
#align BddLat_dual_comp_forget_to_BddOrd bddLat_dual_comp_forget_to_bddOrd
-theorem bddLat_dual_comp_forget_to_lat :
- BddLat.dual ⋙ forget₂ BddLat Lat = forget₂ BddLat Lat ⋙ Lat.dual :=
+theorem bddLat_dual_comp_forget_to_latCat :
+ BddLat.dual ⋙ forget₂ BddLat LatCat = forget₂ BddLat LatCat ⋙ LatCat.dual :=
rfl
-#align BddLat_dual_comp_forget_to_Lat bddLat_dual_comp_forget_to_lat
+#align BddLat_dual_comp_forget_to_Lat bddLat_dual_comp_forget_to_latCat
theorem bddLat_dual_comp_forget_to_semilatSup :
BddLat.dual ⋙ forget₂ BddLat SemilatSup = forget₂ BddLat SemilatInf ⋙ SemilatInf.dual :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a4df69ca1a9a0e5e26bfe12e2b92814216016d0
@@ -113,22 +113,23 @@ theorem coe_forget_to_semilatInf (X : BddLat) : ↥((forget₂ BddLat SemilatInf
rfl
#align BddLat.coe_forget_to_SemilatInf BddLat.coe_forget_to_semilatInf
-theorem forget_lat_partOrd_eq_forget_bddOrd_partOrd :
- forget₂ BddLat Lat ⋙ forget₂ Lat PartOrd = forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
+theorem forget_lat_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLat Lat ⋙ forget₂ Lat PartOrdCat =
+ forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
rfl
-#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_lat_partOrd_eq_forget_bddOrd_partOrd
+#align BddLat.forget_Lat_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_lat_partOrdCat_eq_forget_bddOrd_partOrdCat
-theorem forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd :
- forget₂ BddLat SemilatSup ⋙ forget₂ SemilatSup PartOrd =
- forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
+theorem forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLat SemilatSup ⋙ forget₂ SemilatSup PartOrdCat =
+ forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
rfl
-#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd
+#align BddLat.forget_SemilatSup_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatSup_partOrdCat_eq_forget_bddOrd_partOrdCat
-theorem forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd :
- forget₂ BddLat SemilatInf ⋙ forget₂ SemilatInf PartOrd =
- forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd :=
+theorem forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat :
+ forget₂ BddLat SemilatInf ⋙ forget₂ SemilatInf PartOrdCat =
+ forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrdCat :=
rfl
-#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd
+#align BddLat.forget_SemilatInf_PartOrd_eq_forget_BddOrd_PartOrd BddLat.forget_semilatInf_partOrdCat_eq_forget_bddOrd_partOrdCat
/-- Constructs an equivalence between bounded lattices from an order isomorphism
between them. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -44,7 +44,7 @@ attribute [instance] BddLat.isBoundedOrder
/-- Construct a bundled `BddLat` from `Lattice` + `BoundedOrder`. -/
def of (α : Type*) [Lattice α] [BoundedOrder α] : BddLat :=
- -- porting note: was `⟨⟨α⟩⟩`, see https://github.com/leanprover-community/mathlib4/issues/4998
+ -- Porting note: was `⟨⟨α⟩⟩`, see https://github.com/leanprover-community/mathlib4/issues/4998
⟨{α := α}⟩
#align BddLat.of BddLat.of
@[inherit_doc]
on notations (#9942)
Make all the notations that unambiguously should inherit the docstring of their definition actually inherit it.
Also write a few docstrings by hand. I only wrote the ones I was competent to write and which I was sure of. Some docstrings come from mathlib3 as they were lost during the early port.
This PR is only intended as a first pass There are many more docstrings to add.
@@ -27,6 +27,7 @@ open CategoryTheory
/-- The category of bounded lattices with bounded lattice morphisms. -/
structure BddLat where
+ /-- The underlying lattice of a bounded lattice. -/
toLat : Lat
[isBoundedOrder : BoundedOrder toLat]
#align BddLat BddLat
FunLike
(#9833)
This follows up from #9785, which renamed FunLike
to DFunLike
, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β)
, to make the non-dependent use of FunLike
easier.
I searched for the pattern DFunLike.*fun
and DFunLike.*λ
in all files to replace expressions of the form DFunLike F α (fun _ => β)
with FunLike F α β
. I did this everywhere except for extends
clauses for two reasons: it would conflict with #8386, and more importantly extends
must directly refer to a structure with no unfolding of def
s or abbrev
s.
@@ -64,8 +64,8 @@ instance : LargeCategory.{u} BddLat where
assoc _ _ _ := BoundedLatticeHom.comp_assoc _ _ _
-- Porting note: added.
-instance instDFunLike (X Y : BddLat) : DFunLike (X ⟶ Y) X (fun _ => Y) :=
- show DFunLike (BoundedLatticeHom X Y) X (fun _ => Y) from inferInstance
+instance instFunLike (X Y : BddLat) : FunLike (X ⟶ Y) X Y :=
+ show FunLike (BoundedLatticeHom X Y) X Y from inferInstance
instance : ConcreteCategory BddLat where
forget :=
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -64,14 +64,14 @@ instance : LargeCategory.{u} BddLat where
assoc _ _ _ := BoundedLatticeHom.comp_assoc _ _ _
-- Porting note: added.
-instance instFunLike (X Y : BddLat) : FunLike (X ⟶ Y) X (fun _ => Y) :=
- show FunLike (BoundedLatticeHom X Y) X (fun _ => Y) from inferInstance
+instance instDFunLike (X Y : BddLat) : DFunLike (X ⟶ Y) X (fun _ => Y) :=
+ show DFunLike (BoundedLatticeHom X Y) X (fun _ => Y) from inferInstance
instance : ConcreteCategory BddLat where
forget :=
{ obj := (↑)
- map := FunLike.coe }
- forget_faithful := ⟨(FunLike.coe_injective ·)⟩
+ map := DFunLike.coe }
+ forget_faithful := ⟨(DFunLike.coe_injective ·)⟩
instance hasForgetToBddOrd : HasForget₂ BddLat BddOrd where
forget₂ :=
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -33,7 +33,7 @@ structure BddLatCat where
namespace BddLatCat
-instance : CoeSort BddLatCat (Type _) :=
+instance : CoeSort BddLatCat (Type*) :=
⟨fun X => X.toLat⟩
instance (X : BddLatCat) : Lattice X :=
@@ -42,13 +42,13 @@ instance (X : BddLatCat) : Lattice X :=
attribute [instance] BddLatCat.isBoundedOrder
/-- Construct a bundled `BddLatCat` from `Lattice` + `BoundedOrder`. -/
-def of (α : Type _) [Lattice α] [BoundedOrder α] : BddLatCat :=
+def of (α : Type*) [Lattice α] [BoundedOrder α] : BddLatCat :=
-- porting note: was `⟨⟨α⟩⟩`, see https://github.com/leanprover-community/mathlib4/issues/4998
⟨{α := α}⟩
#align BddLat.of BddLatCat.of
@[simp]
-theorem coe_of (α : Type _) [Lattice α] [BoundedOrder α] : ↥(of α) = α :=
+theorem coe_of (α : Type*) [Lattice α] [BoundedOrder α] : ↥(of α) = α :=
rfl
#align BddLat.coe_of BddLatCat.coe_of
@@ -2,17 +2,14 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module order.category.BddLat
-! leanprover-community/mathlib commit 7581030920af3dcb241d1df0e36f6ec8289dd6be
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Adjunction.Opposites
import Mathlib.Order.Category.BddOrdCat
import Mathlib.Order.Category.LatCat
import Mathlib.Order.Category.SemilatCat
+#align_import order.category.BddLat from "leanprover-community/mathlib"@"7581030920af3dcb241d1df0e36f6ec8289dd6be"
+
/-!
# The category of bounded lattices
All dependencies are ported!