order.hom.complete_lattice
⟷
Mathlib.Order.Hom.CompleteLattice
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
Move map_finset_sup
/map_finset_inf
from order.hom.lattice
to data.finset.lattice
. This breaks a few unqualified downstream uses of submodule.map_bot
.
@@ -3,7 +3,7 @@ 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 order.complete_lattice
+import data.set.lattice
import order.hom.lattice
/-!
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
It was pointed out in leanprover-community/mathlib4#3164 that certain changes in #18657 were unsound. This PR reverts those unsound changes.
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -21,7 +21,7 @@ be satisfied by itself and all stricter types.
* `Sup_hom`: Maps which preserve `⨆`.
* `Inf_hom`: Maps which preserve `⨅`.
-* `frame_hom`: Frm homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
+* `frame_hom`: Frame homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
* `complete_lattice_hom`: Complete lattice homomorphisms. Maps which preserve `⨆` and `⨅`.
## Typeclasses
@@ -37,7 +37,7 @@ be satisfied by itself and all stricter types.
## TODO
-Frm homs are Heyting homs.
+Frame homs are Heyting homs.
-/
open function order_dual set
@@ -365,7 +365,7 @@ instance : order_top (Inf_hom α β) := ⟨⊤, λ f a, le_top⟩
end Inf_hom
-/-! ### Frm homomorphisms -/
+/-! ### Frame homomorphisms -/
namespace frame_hom
variables [complete_lattice α] [complete_lattice β] [complete_lattice γ] [complete_lattice δ]
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
The Lean 4 naming convention forces us to rename the categories of orders. Instead of blankly appending Cat
to the names, we proactively shorten the names. Incidentally, this gets them closer to the way they're referred in the literature.
Preorder
→ Preord
(the literature name is Ord
, but Lean 4 already takes it)PartialOrder
→ PartOrd
BoundedOrder
→ BddOrd
FinPartialOrder
→ FinPartOrd
SemilatticeSup
→ SemilatSup
SemilatticeInf
→ SemilatInf
Lattice
→ Lat
DistribLattice
→ DistLat
BoundedLattice
→ BddLat
BoundedDistribLattice
→ BddDistLat
LinearOrder
→ LinOrd
CompleteLattice
→ CompleteLat
Frame
→ Frm
(the corresponding class is Order.Frame
, but better be safe)Co-authored-by: Jeremy Tan Jie Rui <e0191785@u.nus.edu>
@@ -21,7 +21,7 @@ be satisfied by itself and all stricter types.
* `Sup_hom`: Maps which preserve `⨆`.
* `Inf_hom`: Maps which preserve `⨅`.
-* `frame_hom`: Frame homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
+* `frame_hom`: Frm homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
* `complete_lattice_hom`: Complete lattice homomorphisms. Maps which preserve `⨆` and `⨅`.
## Typeclasses
@@ -37,7 +37,7 @@ be satisfied by itself and all stricter types.
## TODO
-Frame homs are Heyting homs.
+Frm homs are Heyting homs.
-/
open function order_dual set
@@ -365,7 +365,7 @@ instance : order_top (Inf_hom α β) := ⟨⊤, λ f a, le_top⟩
end Inf_hom
-/-! ### Frame homomorphisms -/
+/-! ### Frm homomorphisms -/
namespace frame_hom
variables [complete_lattice α] [complete_lattice β] [complete_lattice γ] [complete_lattice δ]
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -223,7 +223,7 @@ instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [Co
{ show OrderHomClass F α β from inferInstance with
map_sSup := fun f s =>
eq_of_forall_ge_iff fun c => by
- simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
+ simp only [← le_map_inv_iff, sSup_le_iff, Set.forall_mem_image] }
#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
-/
@@ -234,7 +234,7 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [Co
{ show OrderHomClass F α β from inferInstance with
map_sInf := fun f s =>
eq_of_forall_le_iff fun c => by
- simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
+ simp only [← map_inv_le_iff, le_sInf_iff, Set.forall_mem_image] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -87,7 +87,7 @@ section
You should extend this class when you extend `Sup_hom`. -/
class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
- FunLike F α fun _ => β where
+ DFunLike F α fun _ => β where
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align Sup_hom_class sSupHomClass
-/
@@ -97,7 +97,7 @@ class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet
You should extend this class when you extend `Inf_hom`. -/
class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
- FunLike F α fun _ => β where
+ DFunLike F α fun _ => β where
map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
#align Inf_hom_class sInfHomClass
-/
@@ -280,7 +280,7 @@ instance : sSupHomClass (sSupHom α β) α β
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (sSupHom α β) fun _ => α → β :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print sSupHom.toFun_eq_coe /-
@[simp]
@@ -292,7 +292,7 @@ theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = (f : α → β) :=
#print sSupHom.ext /-
@[ext]
theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align Sup_hom.ext sSupHom.ext
-/
@@ -315,7 +315,7 @@ theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#print sSupHom.copy_eq /-
theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align Sup_hom.copy_eq sSupHom.copy_eq
-/
@@ -395,7 +395,7 @@ theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
#print sSupHom.cancel_right /-
theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align Sup_hom.cancel_right sSupHom.cancel_right
-/
@@ -411,7 +411,7 @@ end SupSet
variable [CompleteLattice β]
instance : PartialOrder (sSupHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
instance : Bot (sSupHom α β) :=
⟨⟨fun _ => ⊥, fun s => by
@@ -458,7 +458,7 @@ instance : sInfHomClass (sInfHom α β) α β
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (sInfHom α β) fun _ => α → β :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print sInfHom.toFun_eq_coe /-
@[simp]
@@ -470,7 +470,7 @@ theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = (f : α → β) :=
#print sInfHom.ext /-
@[ext]
theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align Inf_hom.ext sInfHom.ext
-/
@@ -493,7 +493,7 @@ theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#print sInfHom.copy_eq /-
theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align Inf_hom.copy_eq sInfHom.copy_eq
-/
@@ -573,7 +573,7 @@ theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
#print sInfHom.cancel_right /-
theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align Inf_hom.cancel_right sInfHom.cancel_right
-/
@@ -589,7 +589,7 @@ end InfSet
variable [CompleteLattice β]
instance : PartialOrder (sInfHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
instance : Top (sInfHom α β) :=
⟨⟨fun _ => ⊤, fun s => by
@@ -634,7 +634,7 @@ instance : FrameHomClass (FrameHom α β) α β
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (FrameHom α β) fun _ => α → β :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print FrameHom.toLatticeHom /-
/-- Reinterpret a `frame_hom` as a `lattice_hom`. -/
@@ -653,7 +653,7 @@ theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
#print FrameHom.ext /-
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align frame_hom.ext FrameHom.ext
-/
@@ -674,7 +674,7 @@ theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#print FrameHom.copy_eq /-
theorem copy_eq (f : FrameHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align frame_hom.copy_eq FrameHom.copy_eq
-/
@@ -752,7 +752,7 @@ theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
#print FrameHom.cancel_right /-
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align frame_hom.cancel_right FrameHom.cancel_right
-/
@@ -764,7 +764,7 @@ theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Inje
-/
instance : PartialOrder (FrameHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
end FrameHom
@@ -799,7 +799,7 @@ def toBoundedLatticeHom (f : CompleteLatticeHom α β) : BoundedLatticeHom α β
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print CompleteLatticeHom.toFun_eq_coe /-
@[simp]
@@ -811,7 +811,7 @@ theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β)
#print CompleteLatticeHom.ext /-
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align complete_lattice_hom.ext CompleteLatticeHom.ext
-/
@@ -833,7 +833,7 @@ theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
#print CompleteLatticeHom.copy_eq /-
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eq
-/
@@ -912,7 +912,7 @@ theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp
#print CompleteLatticeHom.cancel_right /-
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_right
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ 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.Data.Set.Lattice
-import Mathbin.Order.Hom.Lattice
+import Data.Set.Lattice
+import Order.Hom.Lattice
#align_import order.hom.complete_lattice from "leanprover-community/mathlib"@"9d684a893c52e1d6692a504a118bfccbae04feeb"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
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.hom.complete_lattice
-! leanprover-community/mathlib commit 9d684a893c52e1d6692a504a118bfccbae04feeb
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Data.Set.Lattice
import Mathbin.Order.Hom.Lattice
+#align_import order.hom.complete_lattice from "leanprover-community/mathlib"@"9d684a893c52e1d6692a504a118bfccbae04feeb"
+
/-!
# Complete lattice homomorphisms
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -133,28 +133,37 @@ export sInfHomClass (map_sInf)
attribute [simp] map_Sup map_Inf
+#print map_iSup /-
theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
f (⨆ i, g i) = ⨆ i, f (g i) := by rw [iSup, iSup, map_Sup, Set.range_comp]
#align map_supr map_iSup
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print map_iSup₂ /-
theorem map_iSup₂ [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_iSup]
#align map_supr₂ map_iSup₂
+-/
+#print map_iInf /-
theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
f (⨅ i, g i) = ⨅ i, f (g i) := by rw [iInf, iInf, map_Inf, Set.range_comp]
#align map_infi map_iInf
+-/
/- warning: map_infi₂ clashes with map_infi -> map_iInf
Case conversion may be inaccurate. Consider using '#align map_infi₂ map_iInfₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print map_iInf /-
theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_iInf]
#align map_infi₂ map_iInf
+-/
+#print sSupHomClass.toSupBotHomClass /-
-- See note [lower instance priority]
instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
[sSupHomClass F α β] : SupBotHomClass F α β :=
@@ -164,7 +173,9 @@ instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α] [C
map_sup := fun f a b => by rw [← sSup_pair, map_Sup, Set.image_pair, sSup_pair]
map_bot := fun f => by rw [← sSup_empty, map_Sup, Set.image_empty, sSup_empty] }
#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
+-/
+#print sInfHomClass.toInfTopHomClass /-
-- See note [lower instance priority]
instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
[sInfHomClass F α β] : InfTopHomClass F α β :=
@@ -174,12 +185,15 @@ instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α] [C
map_inf := fun f a b => by rw [← sInf_pair, map_Inf, Set.image_pair, sInf_pair]
map_top := fun f => by rw [← sInf_empty, map_Inf, Set.image_empty, sInf_empty] }
#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
+-/
+#print FrameHomClass.tosSupHomClass /-
-- See note [lower instance priority]
instance (priority := 100) FrameHomClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
[FrameHomClass F α β] : sSupHomClass F α β :=
{ ‹FrameHomClass F α β› with }
#align frame_hom_class.to_Sup_hom_class FrameHomClass.tosSupHomClass
+-/
#print FrameHomClass.toBoundedLatticeHomClass /-
-- See note [lower instance priority]
@@ -205,6 +219,7 @@ instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [Com
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
-/
+#print OrderIsoClass.tosSupHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
[OrderIsoClass F α β] : sSupHomClass F α β :=
@@ -213,7 +228,9 @@ instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [Co
eq_of_forall_ge_iff fun c => by
simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
+-/
+#print OrderIsoClass.tosInfHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [CompleteLattice β]
[OrderIsoClass F α β] : sInfHomClass F α β :=
@@ -222,6 +239,7 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [Co
eq_of_forall_le_iff fun c => by
simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
+-/
#print OrderIsoClass.toCompleteLatticeHomClass /-
-- See note [lower instance priority]
@@ -267,16 +285,21 @@ directly. -/
instance : CoeFun (sSupHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
+#print sSupHom.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = (f : α → β) :=
rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
+-/
+#print sSupHom.ext /-
@[ext]
theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align Sup_hom.ext sSupHom.ext
+-/
+#print sSupHom.copy /-
/-- Copy of a `Sup_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom α β
@@ -284,15 +307,20 @@ protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom
toFun := f'
map_Sup' := h.symm ▸ f.map_Sup'
#align Sup_hom.copy sSupHom.copy
+-/
+#print sSupHom.coe_copy /-
@[simp]
theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align Sup_hom.coe_copy sSupHom.coe_copy
+-/
+#print sSupHom.copy_eq /-
theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align Sup_hom.copy_eq sSupHom.copy_eq
+-/
variable (α)
@@ -306,17 +334,21 @@ protected def id : sSupHom α α :=
instance : Inhabited (sSupHom α α) :=
⟨sSupHom.id α⟩
+#print sSupHom.coe_id /-
@[simp]
theorem coe_id : ⇑(sSupHom.id α) = id :=
rfl
#align Sup_hom.coe_id sSupHom.coe_id
+-/
variable {α}
+#print sSupHom.id_apply /-
@[simp]
theorem id_apply (a : α) : sSupHom.id α a = a :=
rfl
#align Sup_hom.id_apply sSupHom.id_apply
+-/
#print sSupHom.comp /-
/-- Composition of `Sup_hom`s as a `Sup_hom`. -/
@@ -327,41 +359,55 @@ def comp (f : sSupHom β γ) (g : sSupHom α β) : sSupHom α γ
#align Sup_hom.comp sSupHom.comp
-/
+#print sSupHom.coe_comp /-
@[simp]
theorem coe_comp (f : sSupHom β γ) (g : sSupHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align Sup_hom.coe_comp sSupHom.coe_comp
+-/
+#print sSupHom.comp_apply /-
@[simp]
theorem comp_apply (f : sSupHom β γ) (g : sSupHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align Sup_hom.comp_apply sSupHom.comp_apply
+-/
+#print sSupHom.comp_assoc /-
@[simp]
theorem comp_assoc (f : sSupHom γ δ) (g : sSupHom β γ) (h : sSupHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align Sup_hom.comp_assoc sSupHom.comp_assoc
+-/
+#print sSupHom.comp_id /-
@[simp]
theorem comp_id (f : sSupHom α β) : f.comp (sSupHom.id α) = f :=
ext fun a => rfl
#align Sup_hom.comp_id sSupHom.comp_id
+-/
+#print sSupHom.id_comp /-
@[simp]
theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
ext fun a => rfl
#align Sup_hom.id_comp sSupHom.id_comp
+-/
+#print sSupHom.cancel_right /-
theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align Sup_hom.cancel_right sSupHom.cancel_right
+-/
+#print sSupHom.cancel_left /-
theorem cancel_left {g : sSupHom β γ} {f₁ f₂ : sSupHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align Sup_hom.cancel_left sSupHom.cancel_left
+-/
end SupSet
@@ -379,15 +425,19 @@ instance : Bot (sSupHom α β) :=
instance : OrderBot (sSupHom α β) :=
⟨⊥, fun f a => bot_le⟩
+#print sSupHom.coe_bot /-
@[simp]
theorem coe_bot : ⇑(⊥ : sSupHom α β) = ⊥ :=
rfl
#align Sup_hom.coe_bot sSupHom.coe_bot
+-/
+#print sSupHom.bot_apply /-
@[simp]
theorem bot_apply (a : α) : (⊥ : sSupHom α β) a = ⊥ :=
rfl
#align Sup_hom.bot_apply sSupHom.bot_apply
+-/
end sSupHom
@@ -413,16 +463,21 @@ directly. -/
instance : CoeFun (sInfHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
+#print sInfHom.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = (f : α → β) :=
rfl
#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
+-/
+#print sInfHom.ext /-
@[ext]
theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align Inf_hom.ext sInfHom.ext
+-/
+#print sInfHom.copy /-
/-- Copy of a `Inf_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom α β
@@ -430,15 +485,20 @@ protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom
toFun := f'
map_Inf' := h.symm ▸ f.map_Inf'
#align Inf_hom.copy sInfHom.copy
+-/
+#print sInfHom.coe_copy /-
@[simp]
theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align Inf_hom.coe_copy sInfHom.coe_copy
+-/
+#print sInfHom.copy_eq /-
theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align Inf_hom.copy_eq sInfHom.copy_eq
+-/
variable (α)
@@ -452,17 +512,21 @@ protected def id : sInfHom α α :=
instance : Inhabited (sInfHom α α) :=
⟨sInfHom.id α⟩
+#print sInfHom.coe_id /-
@[simp]
theorem coe_id : ⇑(sInfHom.id α) = id :=
rfl
#align Inf_hom.coe_id sInfHom.coe_id
+-/
variable {α}
+#print sInfHom.id_apply /-
@[simp]
theorem id_apply (a : α) : sInfHom.id α a = a :=
rfl
#align Inf_hom.id_apply sInfHom.id_apply
+-/
#print sInfHom.comp /-
/-- Composition of `Inf_hom`s as a `Inf_hom`. -/
@@ -473,41 +537,55 @@ def comp (f : sInfHom β γ) (g : sInfHom α β) : sInfHom α γ
#align Inf_hom.comp sInfHom.comp
-/
+#print sInfHom.coe_comp /-
@[simp]
theorem coe_comp (f : sInfHom β γ) (g : sInfHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align Inf_hom.coe_comp sInfHom.coe_comp
+-/
+#print sInfHom.comp_apply /-
@[simp]
theorem comp_apply (f : sInfHom β γ) (g : sInfHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align Inf_hom.comp_apply sInfHom.comp_apply
+-/
+#print sInfHom.comp_assoc /-
@[simp]
theorem comp_assoc (f : sInfHom γ δ) (g : sInfHom β γ) (h : sInfHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align Inf_hom.comp_assoc sInfHom.comp_assoc
+-/
+#print sInfHom.comp_id /-
@[simp]
theorem comp_id (f : sInfHom α β) : f.comp (sInfHom.id α) = f :=
ext fun a => rfl
#align Inf_hom.comp_id sInfHom.comp_id
+-/
+#print sInfHom.id_comp /-
@[simp]
theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
ext fun a => rfl
#align Inf_hom.id_comp sInfHom.id_comp
+-/
+#print sInfHom.cancel_right /-
theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align Inf_hom.cancel_right sInfHom.cancel_right
+-/
+#print sInfHom.cancel_left /-
theorem cancel_left {g : sInfHom β γ} {f₁ f₂ : sInfHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align Inf_hom.cancel_left sInfHom.cancel_left
+-/
end InfSet
@@ -525,15 +603,19 @@ instance : Top (sInfHom α β) :=
instance : OrderTop (sInfHom α β) :=
⟨⊤, fun f a => le_top⟩
+#print sInfHom.coe_top /-
@[simp]
theorem coe_top : ⇑(⊤ : sInfHom α β) = ⊤ :=
rfl
#align Inf_hom.coe_top sInfHom.coe_top
+-/
+#print sInfHom.top_apply /-
@[simp]
theorem top_apply (a : α) : (⊤ : sInfHom α β) a = ⊤ :=
rfl
#align Inf_hom.top_apply sInfHom.top_apply
+-/
end sInfHom
@@ -564,30 +646,40 @@ def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
#align frame_hom.to_lattice_hom FrameHom.toLatticeHom
-/
+#print FrameHom.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
rfl
#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coe
+-/
+#print FrameHom.ext /-
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align frame_hom.ext FrameHom.ext
+-/
+#print FrameHom.copy /-
/-- Copy of a `frame_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : FrameHom α β :=
{ (f : sSupHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
#align frame_hom.copy FrameHom.copy
+-/
+#print FrameHom.coe_copy /-
@[simp]
theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align frame_hom.coe_copy FrameHom.coe_copy
+-/
+#print FrameHom.copy_eq /-
theorem copy_eq (f : FrameHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align frame_hom.copy_eq FrameHom.copy_eq
+-/
variable (α)
@@ -601,17 +693,21 @@ protected def id : FrameHom α α :=
instance : Inhabited (FrameHom α α) :=
⟨FrameHom.id α⟩
+#print FrameHom.coe_id /-
@[simp]
theorem coe_id : ⇑(FrameHom.id α) = id :=
rfl
#align frame_hom.coe_id FrameHom.coe_id
+-/
variable {α}
+#print FrameHom.id_apply /-
@[simp]
theorem id_apply (a : α) : FrameHom.id α a = a :=
rfl
#align frame_hom.id_apply FrameHom.id_apply
+-/
#print FrameHom.comp /-
/-- Composition of `frame_hom`s as a `frame_hom`. -/
@@ -620,41 +716,55 @@ def comp (f : FrameHom β γ) (g : FrameHom α β) : FrameHom α γ :=
#align frame_hom.comp FrameHom.comp
-/
+#print FrameHom.coe_comp /-
@[simp]
theorem coe_comp (f : FrameHom β γ) (g : FrameHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align frame_hom.coe_comp FrameHom.coe_comp
+-/
+#print FrameHom.comp_apply /-
@[simp]
theorem comp_apply (f : FrameHom β γ) (g : FrameHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align frame_hom.comp_apply FrameHom.comp_apply
+-/
+#print FrameHom.comp_assoc /-
@[simp]
theorem comp_assoc (f : FrameHom γ δ) (g : FrameHom β γ) (h : FrameHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align frame_hom.comp_assoc FrameHom.comp_assoc
+-/
+#print FrameHom.comp_id /-
@[simp]
theorem comp_id (f : FrameHom α β) : f.comp (FrameHom.id α) = f :=
ext fun a => rfl
#align frame_hom.comp_id FrameHom.comp_id
+-/
+#print FrameHom.id_comp /-
@[simp]
theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
ext fun a => rfl
#align frame_hom.id_comp FrameHom.id_comp
+-/
+#print FrameHom.cancel_right /-
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align frame_hom.cancel_right FrameHom.cancel_right
+-/
+#print FrameHom.cancel_left /-
theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align frame_hom.cancel_left FrameHom.cancel_left
+-/
instance : PartialOrder (FrameHom α β) :=
PartialOrder.lift _ FunLike.coe_injective
@@ -675,10 +785,12 @@ instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β
map_sSup f := f.map_Sup'
map_sInf f := f.map_Inf'
+#print CompleteLatticeHom.tosSupHom /-
/-- Reinterpret a `complete_lattice_hom` as a `Sup_hom`. -/
def tosSupHom (f : CompleteLatticeHom α β) : sSupHom α β :=
f
#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.tosSupHom
+-/
#print CompleteLatticeHom.toBoundedLatticeHom /-
/-- Reinterpret a `complete_lattice_hom` as a `bounded_lattice_hom`. -/
@@ -692,31 +804,41 @@ directly. -/
instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
+#print CompleteLatticeHom.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β) :=
rfl
#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coe
+-/
+#print CompleteLatticeHom.ext /-
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align complete_lattice_hom.ext CompleteLatticeHom.ext
+-/
+#print CompleteLatticeHom.copy /-
/-- Copy of a `complete_lattice_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
CompleteLatticeHom α β :=
{ f.tosSupHom.copy f' h with toInfHom := f.toInfHom.copy f' h }
#align complete_lattice_hom.copy CompleteLatticeHom.copy
+-/
+#print CompleteLatticeHom.coe_copy /-
@[simp]
theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copy
+-/
+#print CompleteLatticeHom.copy_eq /-
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eq
+-/
variable (α)
@@ -730,17 +852,21 @@ protected def id : CompleteLatticeHom α α :=
instance : Inhabited (CompleteLatticeHom α α) :=
⟨CompleteLatticeHom.id α⟩
+#print CompleteLatticeHom.coe_id /-
@[simp]
theorem coe_id : ⇑(CompleteLatticeHom.id α) = id :=
rfl
#align complete_lattice_hom.coe_id CompleteLatticeHom.coe_id
+-/
variable {α}
+#print CompleteLatticeHom.id_apply /-
@[simp]
theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
rfl
#align complete_lattice_hom.id_apply CompleteLatticeHom.id_apply
+-/
#print CompleteLatticeHom.comp /-
/-- Composition of `complete_lattice_hom`s as a `complete_lattice_hom`. -/
@@ -749,42 +875,56 @@ def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : Complet
#align complete_lattice_hom.comp CompleteLatticeHom.comp
-/
+#print CompleteLatticeHom.coe_comp /-
@[simp]
theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align complete_lattice_hom.coe_comp CompleteLatticeHom.coe_comp
+-/
+#print CompleteLatticeHom.comp_apply /-
@[simp]
theorem comp_apply (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) (a : α) :
(f.comp g) a = f (g a) :=
rfl
#align complete_lattice_hom.comp_apply CompleteLatticeHom.comp_apply
+-/
+#print CompleteLatticeHom.comp_assoc /-
@[simp]
theorem comp_assoc (f : CompleteLatticeHom γ δ) (g : CompleteLatticeHom β γ)
(h : CompleteLatticeHom α β) : (f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align complete_lattice_hom.comp_assoc CompleteLatticeHom.comp_assoc
+-/
+#print CompleteLatticeHom.comp_id /-
@[simp]
theorem comp_id (f : CompleteLatticeHom α β) : f.comp (CompleteLatticeHom.id α) = f :=
ext fun a => rfl
#align complete_lattice_hom.comp_id CompleteLatticeHom.comp_id
+-/
+#print CompleteLatticeHom.id_comp /-
@[simp]
theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp f = f :=
ext fun a => rfl
#align complete_lattice_hom.id_comp CompleteLatticeHom.id_comp
+-/
+#print CompleteLatticeHom.cancel_right /-
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_right
+-/
+#print CompleteLatticeHom.cancel_left /-
theorem cancel_left {g : CompleteLatticeHom β γ} {f₁ f₂ : CompleteLatticeHom α β}
(hg : Injective g) : g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align complete_lattice_hom.cancel_left CompleteLatticeHom.cancel_left
+-/
end CompleteLatticeHom
@@ -795,6 +935,7 @@ namespace sSupHom
variable [SupSet α] [SupSet β] [SupSet γ]
+#print sSupHom.dual /-
/-- Reinterpret a `⨆`-homomorphism as an `⨅`-homomorphism between the dual orders. -/
@[simps]
protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
@@ -804,16 +945,21 @@ protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
left_inv f := sSupHom.ext fun a => rfl
right_inv f := sInfHom.ext fun a => rfl
#align Sup_hom.dual sSupHom.dual
+-/
+#print sSupHom.dual_id /-
@[simp]
theorem dual_id : (sSupHom.id α).dual = sInfHom.id _ :=
rfl
#align Sup_hom.dual_id sSupHom.dual_id
+-/
+#print sSupHom.dual_comp /-
@[simp]
theorem dual_comp (g : sSupHom β γ) (f : sSupHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
#align Sup_hom.dual_comp sSupHom.dual_comp
+-/
#print sSupHom.symm_dual_id /-
@[simp]
@@ -822,11 +968,13 @@ theorem symm_dual_id : sSupHom.dual.symm (sInfHom.id _) = sSupHom.id α :=
#align Sup_hom.symm_dual_id sSupHom.symm_dual_id
-/
+#print sSupHom.symm_dual_comp /-
@[simp]
theorem symm_dual_comp (g : sInfHom βᵒᵈ γᵒᵈ) (f : sInfHom αᵒᵈ βᵒᵈ) :
sSupHom.dual.symm (g.comp f) = (sSupHom.dual.symm g).comp (sSupHom.dual.symm f) :=
rfl
#align Sup_hom.symm_dual_comp sSupHom.symm_dual_comp
+-/
end sSupHom
@@ -834,6 +982,7 @@ namespace sInfHom
variable [InfSet α] [InfSet β] [InfSet γ]
+#print sInfHom.dual /-
/-- Reinterpret an `⨅`-homomorphism as a `⨆`-homomorphism between the dual orders. -/
@[simps]
protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
@@ -847,16 +996,21 @@ protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
left_inv f := sInfHom.ext fun a => rfl
right_inv f := sSupHom.ext fun a => rfl
#align Inf_hom.dual sInfHom.dual
+-/
+#print sInfHom.dual_id /-
@[simp]
theorem dual_id : (sInfHom.id α).dual = sSupHom.id _ :=
rfl
#align Inf_hom.dual_id sInfHom.dual_id
+-/
+#print sInfHom.dual_comp /-
@[simp]
theorem dual_comp (g : sInfHom β γ) (f : sInfHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
#align Inf_hom.dual_comp sInfHom.dual_comp
+-/
#print sInfHom.symm_dual_id /-
@[simp]
@@ -865,11 +1019,13 @@ theorem symm_dual_id : sInfHom.dual.symm (sSupHom.id _) = sInfHom.id α :=
#align Inf_hom.symm_dual_id sInfHom.symm_dual_id
-/
+#print sInfHom.symm_dual_comp /-
@[simp]
theorem symm_dual_comp (g : sSupHom βᵒᵈ γᵒᵈ) (f : sSupHom αᵒᵈ βᵒᵈ) :
sInfHom.dual.symm (g.comp f) = (sInfHom.dual.symm g).comp (sInfHom.dual.symm f) :=
rfl
#align Inf_hom.symm_dual_comp sInfHom.symm_dual_comp
+-/
end sInfHom
@@ -897,11 +1053,13 @@ theorem dual_id : (CompleteLatticeHom.id α).dual = CompleteLatticeHom.id _ :=
#align complete_lattice_hom.dual_id CompleteLatticeHom.dual_id
-/
+#print CompleteLatticeHom.dual_comp /-
@[simp]
theorem dual_comp (g : CompleteLatticeHom β γ) (f : CompleteLatticeHom α β) :
(g.comp f).dual = g.dual.comp f.dual :=
rfl
#align complete_lattice_hom.dual_comp CompleteLatticeHom.dual_comp
+-/
#print CompleteLatticeHom.symm_dual_id /-
@[simp]
@@ -911,12 +1069,14 @@ theorem symm_dual_id :
#align complete_lattice_hom.symm_dual_id CompleteLatticeHom.symm_dual_id
-/
+#print CompleteLatticeHom.symm_dual_comp /-
@[simp]
theorem symm_dual_comp (g : CompleteLatticeHom βᵒᵈ γᵒᵈ) (f : CompleteLatticeHom αᵒᵈ βᵒᵈ) :
CompleteLatticeHom.dual.symm (g.comp f) =
(CompleteLatticeHom.dual.symm g).comp (CompleteLatticeHom.dual.symm f) :=
rfl
#align complete_lattice_hom.symm_dual_comp CompleteLatticeHom.symm_dual_comp
+-/
end CompleteLatticeHom
@@ -925,6 +1085,7 @@ end CompleteLatticeHom
namespace CompleteLatticeHom
+#print CompleteLatticeHom.setPreimage /-
/-- `set.preimage` as a complete lattice homomorphism.
See also `Sup_hom.set_image`. -/
@@ -934,30 +1095,40 @@ def setPreimage (f : α → β) : CompleteLatticeHom (Set β) (Set α)
map_Sup' s := preimage_sUnion.trans <| by simp only [Set.sSup_eq_sUnion, Set.sUnion_image]
map_Inf' s := preimage_sInter.trans <| by simp only [Set.sInf_eq_sInter, Set.sInter_image]
#align complete_lattice_hom.set_preimage CompleteLatticeHom.setPreimage
+-/
+#print CompleteLatticeHom.coe_setPreimage /-
@[simp]
theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
rfl
#align complete_lattice_hom.coe_set_preimage CompleteLatticeHom.coe_setPreimage
+-/
+#print CompleteLatticeHom.setPreimage_apply /-
@[simp]
theorem setPreimage_apply (f : α → β) (s : Set β) : setPreimage f s = s.Preimage f :=
rfl
#align complete_lattice_hom.set_preimage_apply CompleteLatticeHom.setPreimage_apply
+-/
+#print CompleteLatticeHom.setPreimage_id /-
@[simp]
theorem setPreimage_id : setPreimage (id : α → α) = CompleteLatticeHom.id _ :=
rfl
#align complete_lattice_hom.set_preimage_id CompleteLatticeHom.setPreimage_id
+-/
+#print CompleteLatticeHom.setPreimage_comp /-
-- This lemma can't be `simp` because `g ∘ f` matches anything (`id ∘ f = f` synctatically)
theorem setPreimage_comp (g : β → γ) (f : α → β) :
setPreimage (g ∘ f) = (setPreimage f).comp (setPreimage g) :=
rfl
#align complete_lattice_hom.set_preimage_comp CompleteLatticeHom.setPreimage_comp
+-/
end CompleteLatticeHom
+#print Set.image_sSup /-
theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) :=
by
ext b
@@ -966,7 +1137,9 @@ theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (
· rintro ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩; exact ⟨t, ht₁, a, ht₂, rfl⟩
· rintro ⟨t, ht₁, a, ht₂, rfl⟩; exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
#align set.image_Sup Set.image_sSup
+-/
+#print sSupHom.setImage /-
/-- Using `set.image`, a function between types yields a `Sup_hom` between their lattices of
subsets.
@@ -977,6 +1150,7 @@ def sSupHom.setImage (f : α → β) : sSupHom (Set α) (Set β)
toFun := image f
map_Sup' := Set.image_sSup
#align Sup_hom.set_image sSupHom.setImage
+-/
#print Equiv.toOrderIsoSet /-
/-- An equivalence of types yields an order isomorphism between their lattices of subsets. -/
@@ -994,25 +1168,33 @@ def Equiv.toOrderIsoSet (e : α ≃ β) : Set α ≃o Set β
variable [CompleteLattice α] (x : α × α)
+#print supsSupHom /-
/-- The map `(a, b) ↦ a ⊔ b` as a `Sup_hom`. -/
def supsSupHom : sSupHom (α × α) α where
toFun x := x.1 ⊔ x.2
map_Sup' s := by simp_rw [Prod.fst_sSup, Prod.snd_sSup, sSup_image, iSup_sup_eq]
#align sup_Sup_hom supsSupHom
+-/
+#print infsInfHom /-
/-- The map `(a, b) ↦ a ⊓ b` as an `Inf_hom`. -/
def infsInfHom : sInfHom (α × α) α where
toFun x := x.1 ⊓ x.2
map_Inf' s := by simp_rw [Prod.fst_sInf, Prod.snd_sInf, sInf_image, iInf_inf_eq]
#align inf_Inf_hom infsInfHom
+-/
+#print supsSupHom_apply /-
@[simp, norm_cast]
theorem supsSupHom_apply : supsSupHom x = x.1 ⊔ x.2 :=
rfl
#align sup_Sup_hom_apply supsSupHom_apply
+-/
+#print infsInfHom_apply /-
@[simp, norm_cast]
theorem infsInfHom_apply : infsInfHom x = x.1 ⊓ x.2 :=
rfl
#align inf_Inf_hom_apply infsInfHom_apply
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -70,7 +70,7 @@ structure sInfHom (α β : Type _) [InfSet α] [InfSet β] where
/-- The type of frame homomorphisms from `α` to `β`. They preserve finite meets and arbitrary joins.
-/
structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
- InfTopHom α β where
+ InfTopHom α β where
map_Sup' (s : Set α) : to_fun (sSup s) = sSup (to_fun '' s)
#align frame_hom FrameHom
-/
@@ -78,7 +78,7 @@ structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] ex
#print CompleteLatticeHom /-
/-- The type of complete lattice homomorphisms from `α` to `β`. -/
structure CompleteLatticeHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
- sInfHom α β where
+ sInfHom α β where
map_Sup' (s : Set α) : to_fun (sSup s) = sSup (to_fun '' s)
#align complete_lattice_hom CompleteLatticeHom
-/
@@ -90,7 +90,7 @@ section
You should extend this class when you extend `Sup_hom`. -/
class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
- FunLike F α fun _ => β where
+ FunLike F α fun _ => β where
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align Sup_hom_class sSupHomClass
-/
@@ -100,7 +100,7 @@ class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet
You should extend this class when you extend `Inf_hom`. -/
class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
- FunLike F α fun _ => β where
+ FunLike F α fun _ => β where
map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
#align Inf_hom_class sInfHomClass
-/
@@ -110,7 +110,7 @@ class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet
You should extend this class when you extend `frame_hom`. -/
class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
- [CompleteLattice β] extends InfTopHomClass F α β where
+ [CompleteLattice β] extends InfTopHomClass F α β where
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align frame_hom_class FrameHomClass
-/
@@ -120,7 +120,7 @@ class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice
You should extend this class when you extend `complete_lattice_hom`. -/
class CompleteLatticeHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
- [CompleteLattice β] extends sInfHomClass F α β where
+ [CompleteLattice β] extends sInfHomClass F α β where
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align complete_lattice_hom_class CompleteLatticeHomClass
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -223,12 +223,14 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [Co
simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
+#print OrderIsoClass.toCompleteLatticeHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
{ OrderIsoClass.tosSupHomClass, OrderIsoClass.toLatticeHomClass,
show sInfHomClass F α β from inferInstance with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
+-/
instance [SupSet α] [SupSet β] [sSupHomClass F α β] : CoeTC F (sSupHom α β) :=
⟨fun f => ⟨f, map_sSup f⟩⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -133,44 +133,21 @@ export sInfHomClass (map_sInf)
attribute [simp] map_Sup map_Inf
-/- warning: map_supr -> map_iSup is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iSup.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (iSup.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
-but is expected to have type
- forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : SupSet.{u4} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (iSup.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (iSup.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (iSup.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
-Case conversion may be inaccurate. Consider using '#align map_supr map_iSupₓ'. -/
theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
f (⨆ i, g i) = ⨆ i, f (g i) := by rw [iSup, iSup, map_Sup, Set.range_comp]
#align map_supr map_iSup
-/- warning: map_supr₂ -> map_iSup₂ is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} {κ : ι -> Sort.{u5}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iSup.{u2, u4} α _inst_1 ι (fun (i : ι) => iSup.{u2, u5} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iSup.{u3, u4} β _inst_2 ι (fun (i : ι) => iSup.{u3, u5} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
-but is expected to have type
- forall {F : Type.{u3}} {α : Type.{u5}} {β : Type.{u4}} {ι : Sort.{u2}} {κ : ι -> Sort.{u1}} [_inst_1 : SupSet.{u5} α] [_inst_2 : SupSet.{u4} β] [_inst_3 : sSupHomClass.{u3, u5, u4} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u4} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (iSup.{u5, u2} α _inst_1 ι (fun (i : ι) => iSup.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (iSup.{u5, u2} α _inst_1 ι (fun (i : ι) => iSup.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iSup.{u4, u2} β _inst_2 ι (fun (i : ι) => iSup.{u4, u1} β _inst_2 (κ i) (fun (j : κ i) => FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (g i j))))
-Case conversion may be inaccurate. Consider using '#align map_supr₂ map_iSup₂ₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
theorem map_iSup₂ [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_iSup]
#align map_supr₂ map_iSup₂
-/- warning: map_infi -> map_iInf is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iInf.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (iInf.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
-but is expected to have type
- forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : InfSet.{u4} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : sInfHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (iInf.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (iInf.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (iInf.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
-Case conversion may be inaccurate. Consider using '#align map_infi map_iInfₓ'. -/
theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
f (⨅ i, g i) = ⨅ i, f (g i) := by rw [iInf, iInf, map_Inf, Set.range_comp]
#align map_infi map_iInf
/- warning: map_infi₂ clashes with map_infi -> map_iInf
-warning: map_infi₂ -> map_iInf is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u_1}} {α : Type.{u_2}} {β : Type.{u_3}} {ι : Sort.{u_6}} {κ : ι -> Sort.{u_7}} [_inst_1 : InfSet.{u_2} α] [_inst_2 : InfSet.{u_3} β] [_inst_3 : sInfHomClass.{u_1, u_2, u_3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u_3} β (coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (iInf.{u_2, u_6} α _inst_1 ι (fun (i : ι) => iInf.{u_2, u_7} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iInf.{u_3, u_6} β _inst_2 ι (fun (i : ι) => iInf.{u_3, u_7} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
-but is expected to have type
- forall {F : Type.{u_3}} {α : Type.{u_1}} {β : Type.{u_2}} {ι : Sort.{u_4}} [κ : InfSet.{u_1} α] [_inst_1 : InfSet.{u_2} β] [_inst_2 : sInfHomClass.{u_3, u_1, u_2} F α β κ _inst_1] (_inst_3 : F) (f : ι -> α), Eq.{succ u_2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (iInf.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (sInfHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (iInf.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (iInf.{u_2, u_4} β _inst_1 ι (fun (i : ι) => FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (sInfHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (f i)))
Case conversion may be inaccurate. Consider using '#align map_infi₂ map_iInfₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
@@ -178,12 +155,6 @@ theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ∀
f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_iInf]
#align map_infi₂ map_iInf
-/- warning: Sup_hom_class.to_sup_bot_hom_class -> sSupHomClass.toSupBotHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasBot.{u2} α _inst_1) (CompleteLattice.toHasBot.{u3} β _inst_2)
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
[sSupHomClass F α β] : SupBotHomClass F α β :=
@@ -194,12 +165,6 @@ instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α] [C
map_bot := fun f => by rw [← sSup_empty, map_Sup, Set.image_empty, sSup_empty] }
#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
-/- warning: Inf_hom_class.to_inf_top_hom_class -> sInfHomClass.toInfTopHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))], InfTopHomClass.{u1, u2, u3} F α β (SemilatticeInf.toHasInf.{u2} α (Lattice.toSemilatticeInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasTop.{u2} α _inst_1) (CompleteLattice.toHasTop.{u3} β _inst_2)
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
[sInfHomClass F α β] : InfTopHomClass F α β :=
@@ -210,12 +175,6 @@ instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α] [C
map_top := fun f => by rw [← sInf_empty, map_Inf, Set.image_empty, sInf_empty] }
#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
-/- warning: frame_hom_class.to_Sup_hom_class -> FrameHomClass.tosSupHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align frame_hom_class.to_Sup_hom_class FrameHomClass.tosSupHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) FrameHomClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
[FrameHomClass F α β] : sSupHomClass F α β :=
@@ -246,12 +205,6 @@ instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [Com
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
-/
-/- warning: order_iso_class.to_Sup_hom_class -> OrderIsoClass.tosSupHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
[OrderIsoClass F α β] : sSupHomClass F α β :=
@@ -261,12 +214,6 @@ instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [Co
simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
-/- warning: order_iso_class.to_Inf_hom_class -> OrderIsoClass.tosInfHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [CompleteLattice β]
[OrderIsoClass F α β] : sInfHomClass F α β :=
@@ -276,12 +223,6 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [Co
simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
-/- warning: order_iso_class.to_complete_lattice_hom_class -> OrderIsoClass.toCompleteLatticeHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], CompleteLatticeHomClass.{u1, u2, u3} F α β _inst_1 _inst_2
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], CompleteLatticeHomClass.{u1, u2, u3} F α β _inst_1 _inst_2
-Case conversion may be inaccurate. Consider using '#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
@@ -324,34 +265,16 @@ directly. -/
instance : CoeFun (sSupHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: Sup_hom.to_fun_eq_coe -> sSupHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : sSupHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sSupHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : sSupHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sSupHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = (f : α → β) :=
rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
-/- warning: Sup_hom.ext -> sSupHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : sSupHom.{u1, u2} α β _inst_1 _inst_2} {g : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : sSupHom.{u2, u1} α β _inst_1 _inst_2} {g : sSupHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.ext sSupHom.extₓ'. -/
@[ext]
theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align Sup_hom.ext sSupHom.ext
-/- warning: Sup_hom.copy -> sSupHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.copy sSupHom.copyₓ'. -/
/-- Copy of a `Sup_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom α β
@@ -360,23 +283,11 @@ protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom
map_Sup' := h.symm ▸ f.map_Sup'
#align Sup_hom.copy sSupHom.copy
-/- warning: Sup_hom.coe_copy -> sSupHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (sSupHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) (sSupHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_copy sSupHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align Sup_hom.coe_copy sSupHom.coe_copy
-/- warning: Sup_hom.copy_eq -> sSupHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.copy_eq sSupHom.copy_eqₓ'. -/
theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align Sup_hom.copy_eq sSupHom.copy_eq
@@ -393,12 +304,6 @@ protected def id : sSupHom α α :=
instance : Inhabited (sSupHom α α) :=
⟨sSupHom.id α⟩
-/- warning: Sup_hom.coe_id -> sSupHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sSupHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sSupHom.instSSupHomClassSSupHom.{u1, u1} α α _inst_1 _inst_1)) (sSupHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_id sSupHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(sSupHom.id α) = id :=
rfl
@@ -406,12 +311,6 @@ theorem coe_id : ⇑(sSupHom.id α) = id :=
variable {α}
-/- warning: Sup_hom.id_apply -> sSupHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sSupHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sSupHom.instSSupHomClassSSupHom.{u1, u1} α α _inst_1 _inst_1)) (sSupHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align Sup_hom.id_apply sSupHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : sSupHom.id α a = a :=
rfl
@@ -426,79 +325,37 @@ def comp (f : sSupHom β γ) (g : sSupHom α β) : sSupHom α γ
#align Sup_hom.comp sSupHom.comp
-/
-/- warning: Sup_hom.coe_comp -> sSupHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sSupHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) g))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_comp sSupHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : sSupHom β γ) (g : sSupHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align Sup_hom.coe_comp sSupHom.coe_comp
-/- warning: Sup_hom.comp_apply -> sSupHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sSupHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) g a))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_apply sSupHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : sSupHom β γ) (g : sSupHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align Sup_hom.comp_apply sSupHom.comp_apply
-/- warning: Sup_hom.comp_assoc -> sSupHom.comp_assoc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] [_inst_4 : SupSet.{u4} δ] (f : sSupHom.{u3, u4} γ δ _inst_3 _inst_4) (g : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (h : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (sSupHom.{u1, u4} α δ _inst_1 _inst_4) (sSupHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (sSupHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sSupHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u4} γ] [_inst_4 : SupSet.{u3} δ] (f : sSupHom.{u4, u3} γ δ _inst_3 _inst_4) (g : sSupHom.{u2, u4} β γ _inst_2 _inst_3) (h : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α δ _inst_1 _inst_4) (sSupHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (sSupHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sSupHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (sSupHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_assoc sSupHom.comp_assocₓ'. -/
@[simp]
theorem comp_assoc (f : sSupHom γ δ) (g : sSupHom β γ) (h : sSupHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align Sup_hom.comp_assoc sSupHom.comp_assoc
-/- warning: Sup_hom.comp_id -> sSupHom.comp_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (sSupHom.id.{u1} α _inst_1)) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (sSupHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_id sSupHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : sSupHom α β) : f.comp (sSupHom.id α) = f :=
ext fun a => rfl
#align Sup_hom.comp_id sSupHom.comp_id
-/- warning: Sup_hom.id_comp -> sSupHom.id_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (sSupHom.id.{u2} β _inst_2) f) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (sSupHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.id_comp sSupHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
ext fun a => rfl
#align Sup_hom.id_comp sSupHom.id_comp
-/- warning: Sup_hom.cancel_right -> sSupHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g₁ : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {f : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g₁ : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {f : sSupHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_right sSupHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align Sup_hom.cancel_right sSupHom.cancel_right
-/- warning: Sup_hom.cancel_left -> sSupHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : sSupHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : sSupHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : sSupHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_left sSupHom.cancel_leftₓ'. -/
theorem cancel_left {g : sSupHom β γ} {f₁ f₂ : sSupHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -520,23 +377,11 @@ instance : Bot (sSupHom α β) :=
instance : OrderBot (sSupHom α β) :=
⟨⊥, fun f a => bot_le⟩
-/- warning: Sup_hom.coe_bot -> sSupHom.coe_bot is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (sSupHom.hasBot.{u1, u2} α β _inst_1 _inst_2))) (Bot.bot.{max u1 u2} (α -> β) (Pi.hasBot.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasBot.{u2} β _inst_2)))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] {_inst_2 : CompleteLattice.{u1} β}, Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2) (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2))) (Bot.bot.{max u2 u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) (sSupHom.instBotSSupHomToSupSet.{u2, u1} α β _inst_1 _inst_2))) (Bot.bot.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (Pi.instBotForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toBot.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) i) _inst_2)))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_bot sSupHom.coe_botₓ'. -/
@[simp]
theorem coe_bot : ⇑(⊥ : sSupHom α β) = ⊥ :=
rfl
#align Sup_hom.coe_bot sSupHom.coe_bot
-/- warning: Sup_hom.bot_apply -> sSupHom.bot_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (sSupHom.hasBot.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} β (CompleteLattice.toHasBot.{u2} β _inst_2))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] {_inst_2 : CompleteLattice.{u2} β} (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2) (sSupHom.instSSupHomClassSSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) (sSupHom.instBotSSupHomToSupSet.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (CompleteLattice.toBot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) _inst_2))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.bot_apply sSupHom.bot_applyₓ'. -/
@[simp]
theorem bot_apply (a : α) : (⊥ : sSupHom α β) a = ⊥ :=
rfl
@@ -566,34 +411,16 @@ directly. -/
instance : CoeFun (sInfHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: Inf_hom.to_fun_eq_coe -> sInfHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : sInfHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sInfHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : sInfHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sInfHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = (f : α → β) :=
rfl
#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
-/- warning: Inf_hom.ext -> sInfHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : sInfHom.{u1, u2} α β _inst_1 _inst_2} {g : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : sInfHom.{u2, u1} α β _inst_1 _inst_2} {g : sInfHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.ext sInfHom.extₓ'. -/
@[ext]
theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align Inf_hom.ext sInfHom.ext
-/- warning: Inf_hom.copy -> sInfHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.copy sInfHom.copyₓ'. -/
/-- Copy of a `Inf_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom α β
@@ -602,23 +429,11 @@ protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom
map_Inf' := h.symm ▸ f.map_Inf'
#align Inf_hom.copy sInfHom.copy
-/- warning: Inf_hom.coe_copy -> sInfHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (sInfHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) (sInfHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_copy sInfHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align Inf_hom.coe_copy sInfHom.coe_copy
-/- warning: Inf_hom.copy_eq -> sInfHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.copy_eq sInfHom.copy_eqₓ'. -/
theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align Inf_hom.copy_eq sInfHom.copy_eq
@@ -635,12 +450,6 @@ protected def id : sInfHom α α :=
instance : Inhabited (sInfHom α α) :=
⟨sInfHom.id α⟩
-/- warning: Inf_hom.coe_id -> sInfHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sInfHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sInfHom.instSInfHomClassSInfHom.{u1, u1} α α _inst_1 _inst_1)) (sInfHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_id sInfHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(sInfHom.id α) = id :=
rfl
@@ -648,12 +457,6 @@ theorem coe_id : ⇑(sInfHom.id α) = id :=
variable {α}
-/- warning: Inf_hom.id_apply -> sInfHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sInfHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sInfHom.instSInfHomClassSInfHom.{u1, u1} α α _inst_1 _inst_1)) (sInfHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align Inf_hom.id_apply sInfHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : sInfHom.id α a = a :=
rfl
@@ -668,79 +471,37 @@ def comp (f : sInfHom β γ) (g : sInfHom α β) : sInfHom α γ
#align Inf_hom.comp sInfHom.comp
-/
-/- warning: Inf_hom.coe_comp -> sInfHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sInfHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) g))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_comp sInfHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : sInfHom β γ) (g : sInfHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align Inf_hom.coe_comp sInfHom.coe_comp
-/- warning: Inf_hom.comp_apply -> sInfHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sInfHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) g a))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_apply sInfHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : sInfHom β γ) (g : sInfHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align Inf_hom.comp_apply sInfHom.comp_apply
-/- warning: Inf_hom.comp_assoc -> sInfHom.comp_assoc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] [_inst_4 : InfSet.{u4} δ] (f : sInfHom.{u3, u4} γ δ _inst_3 _inst_4) (g : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (h : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (sInfHom.{u1, u4} α δ _inst_1 _inst_4) (sInfHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (sInfHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sInfHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u4} γ] [_inst_4 : InfSet.{u3} δ] (f : sInfHom.{u4, u3} γ δ _inst_3 _inst_4) (g : sInfHom.{u2, u4} β γ _inst_2 _inst_3) (h : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α δ _inst_1 _inst_4) (sInfHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (sInfHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sInfHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (sInfHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_assoc sInfHom.comp_assocₓ'. -/
@[simp]
theorem comp_assoc (f : sInfHom γ δ) (g : sInfHom β γ) (h : sInfHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align Inf_hom.comp_assoc sInfHom.comp_assoc
-/- warning: Inf_hom.comp_id -> sInfHom.comp_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (sInfHom.id.{u1} α _inst_1)) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (sInfHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_id sInfHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : sInfHom α β) : f.comp (sInfHom.id α) = f :=
ext fun a => rfl
#align Inf_hom.comp_id sInfHom.comp_id
-/- warning: Inf_hom.id_comp -> sInfHom.id_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (sInfHom.id.{u2} β _inst_2) f) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (sInfHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.id_comp sInfHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
ext fun a => rfl
#align Inf_hom.id_comp sInfHom.id_comp
-/- warning: Inf_hom.cancel_right -> sInfHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g₁ : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {f : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g₁ : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {f : sInfHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_right sInfHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align Inf_hom.cancel_right sInfHom.cancel_right
-/- warning: Inf_hom.cancel_left -> sInfHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : sInfHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : sInfHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : sInfHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_left sInfHom.cancel_leftₓ'. -/
theorem cancel_left {g : sInfHom β γ} {f₁ f₂ : sInfHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -762,23 +523,11 @@ instance : Top (sInfHom α β) :=
instance : OrderTop (sInfHom α β) :=
⟨⊤, fun f a => le_top⟩
-/- warning: Inf_hom.coe_top -> sInfHom.coe_top is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (sInfHom.hasTop.{u1, u2} α β _inst_1 _inst_2))) (Top.top.{max u1 u2} (α -> β) (Pi.hasTop.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasTop.{u2} β _inst_2)))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : CompleteLattice.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2) (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2))) (Top.top.{max u2 u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) (sInfHom.instTopSInfHomToInfSet.{u2, u1} α β _inst_1 _inst_2))) (Top.top.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (Pi.instTopForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toTop.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) i) _inst_2)))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_top sInfHom.coe_topₓ'. -/
@[simp]
theorem coe_top : ⇑(⊤ : sInfHom α β) = ⊤ :=
rfl
#align Inf_hom.coe_top sInfHom.coe_top
-/- warning: Inf_hom.top_apply -> sInfHom.top_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (sInfHom.hasTop.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} β (CompleteLattice.toHasTop.{u2} β _inst_2))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2) (sInfHom.instSInfHomClassSInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) (sInfHom.instTopSInfHomToInfSet.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (CompleteLattice.toTop.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) _inst_2))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.top_apply sInfHom.top_applyₓ'. -/
@[simp]
theorem top_apply (a : α) : (⊤ : sInfHom α β) a = ⊤ :=
rfl
@@ -813,57 +562,27 @@ def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
#align frame_hom.to_lattice_hom FrameHom.toLatticeHom
-/
-/- warning: frame_hom.to_fun_eq_coe -> FrameHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : FrameHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfHom.toFun.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (InfTopHom.toInfHom.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (CompleteLattice.toHasTop.{u1} α _inst_1) (CompleteLattice.toHasTop.{u2} β _inst_2) (FrameHom.toInfTopHom.{u1, u2} α β _inst_1 _inst_2 f))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfHom.toFun.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (InfTopHom.toInfHom.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u1} β _inst_2) (FrameHom.toInfTopHom.{u2, u1} α β _inst_1 _inst_2 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)
-Case conversion may be inaccurate. Consider using '#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
rfl
#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coe
-/- warning: frame_hom.ext -> FrameHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : FrameHom.{u1, u2} α β _inst_1 _inst_2} {g : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2} {g : FrameHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align frame_hom.ext FrameHom.extₓ'. -/
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align frame_hom.ext FrameHom.ext
-/- warning: frame_hom.copy -> FrameHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (FrameHom.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (FrameHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align frame_hom.copy FrameHom.copyₓ'. -/
/-- Copy of a `frame_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : FrameHom α β :=
{ (f : sSupHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
#align frame_hom.copy FrameHom.copy
-/- warning: frame_hom.coe_copy -> FrameHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (FrameHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align frame_hom.coe_copy FrameHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align frame_hom.coe_copy FrameHom.coe_copy
-/- warning: frame_hom.copy_eq -> FrameHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (FrameHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align frame_hom.copy_eq FrameHom.copy_eqₓ'. -/
theorem copy_eq (f : FrameHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align frame_hom.copy_eq FrameHom.copy_eq
@@ -880,12 +599,6 @@ protected def id : FrameHom α α :=
instance : Inhabited (FrameHom α α) :=
⟨FrameHom.id α⟩
-/- warning: frame_hom.coe_id -> FrameHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : FrameHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (FrameHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (FrameHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.tosSupHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align frame_hom.coe_id FrameHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(FrameHom.id α) = id :=
rfl
@@ -893,12 +606,6 @@ theorem coe_id : ⇑(FrameHom.id α) = id :=
variable {α}
-/- warning: frame_hom.id_apply -> FrameHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : FrameHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (FrameHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (FrameHom.id.{u1} α _inst_1) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.tosSupHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align frame_hom.id_apply FrameHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : FrameHom.id α a = a :=
rfl
@@ -911,79 +618,37 @@ def comp (f : FrameHom β γ) (g : FrameHom α β) : FrameHom α γ :=
#align frame_hom.comp FrameHom.comp
-/
-/- warning: frame_hom.coe_comp -> FrameHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : FrameHom.{u2, u3} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : FrameHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (FrameHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g))
-Case conversion may be inaccurate. Consider using '#align frame_hom.coe_comp FrameHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : FrameHom β γ) (g : FrameHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align frame_hom.coe_comp FrameHom.coe_comp
-/- warning: frame_hom.comp_apply -> FrameHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : FrameHom.{u2, u3} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : FrameHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (FrameHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g a))
-Case conversion may be inaccurate. Consider using '#align frame_hom.comp_apply FrameHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : FrameHom β γ) (g : FrameHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
#align frame_hom.comp_apply FrameHom.comp_apply
-/- warning: frame_hom.comp_assoc -> FrameHom.comp_assoc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] [_inst_4 : CompleteLattice.{u4} δ] (f : FrameHom.{u3, u4} γ δ _inst_3 _inst_4) (g : FrameHom.{u2, u3} β γ _inst_2 _inst_3) (h : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (FrameHom.{u1, u4} α δ _inst_1 _inst_4) (FrameHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (FrameHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (FrameHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u4} γ] [_inst_4 : CompleteLattice.{u3} δ] (f : FrameHom.{u4, u3} γ δ _inst_3 _inst_4) (g : FrameHom.{u2, u4} β γ _inst_2 _inst_3) (h : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α δ _inst_1 _inst_4) (FrameHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (FrameHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (FrameHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (FrameHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align frame_hom.comp_assoc FrameHom.comp_assocₓ'. -/
@[simp]
theorem comp_assoc (f : FrameHom γ δ) (g : FrameHom β γ) (h : FrameHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align frame_hom.comp_assoc FrameHom.comp_assoc
-/- warning: frame_hom.comp_id -> FrameHom.comp_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (FrameHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (FrameHom.id.{u1} α _inst_1)) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) (FrameHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (FrameHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align frame_hom.comp_id FrameHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : FrameHom α β) : f.comp (FrameHom.id α) = f :=
ext fun a => rfl
#align frame_hom.comp_id FrameHom.comp_id
-/- warning: frame_hom.id_comp -> FrameHom.id_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (FrameHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (FrameHom.id.{u2} β _inst_2) f) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) (FrameHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (FrameHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align frame_hom.id_comp FrameHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
ext fun a => rfl
#align frame_hom.id_comp FrameHom.id_comp
-/- warning: frame_hom.cancel_right -> FrameHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g₁ : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {f : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align frame_hom.cancel_right FrameHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align frame_hom.cancel_right FrameHom.cancel_right
-/- warning: frame_hom.cancel_left -> FrameHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : FrameHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : FrameHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align frame_hom.cancel_left FrameHom.cancel_leftₓ'. -/
theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -1008,12 +673,6 @@ instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β
map_sSup f := f.map_Sup'
map_sInf f := f.map_Inf'
-/- warning: complete_lattice_hom.to_Sup_hom -> CompleteLatticeHom.tosSupHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} α β (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2)))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.tosSupHomₓ'. -/
/-- Reinterpret a `complete_lattice_hom` as a `Sup_hom`. -/
def tosSupHom (f : CompleteLatticeHom α β) : sSupHom α β :=
f
@@ -1031,34 +690,16 @@ directly. -/
instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: complete_lattice_hom.to_fun_eq_coe -> CompleteLatticeHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sInfHom.toFun.{u1, u2} α β (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2)) (CompleteLatticeHom.toInfHom.{u1, u2} α β _inst_1 _inst_2 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sInfHom.toFun.{u2, u1} α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHom.tosInfHom.{u2, u1} α β _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β) :=
rfl
#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coe
-/- warning: complete_lattice_hom.ext -> CompleteLatticeHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.ext CompleteLatticeHom.extₓ'. -/
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align complete_lattice_hom.ext CompleteLatticeHom.ext
-/- warning: complete_lattice_hom.copy -> CompleteLatticeHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy CompleteLatticeHom.copyₓ'. -/
/-- Copy of a `complete_lattice_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
@@ -1066,23 +707,11 @@ protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f)
{ f.tosSupHom.copy f' h with toInfHom := f.toInfHom.copy f' h }
#align complete_lattice_hom.copy CompleteLatticeHom.copy
-/- warning: complete_lattice_hom.coe_copy -> CompleteLatticeHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copy
-/- warning: complete_lattice_hom.copy_eq -> CompleteLatticeHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eqₓ'. -/
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eq
@@ -1099,12 +728,6 @@ protected def id : CompleteLatticeHom α α :=
instance : Inhabited (CompleteLatticeHom α α) :=
⟨CompleteLatticeHom.id α⟩
-/- warning: complete_lattice_hom.coe_id -> CompleteLatticeHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.tosInfHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_id CompleteLatticeHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(CompleteLatticeHom.id α) = id :=
rfl
@@ -1112,12 +735,6 @@ theorem coe_id : ⇑(CompleteLatticeHom.id α) = id :=
variable {α}
-/- warning: complete_lattice_hom.id_apply -> CompleteLatticeHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.tosInfHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.id_apply CompleteLatticeHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
rfl
@@ -1130,80 +747,38 @@ def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : Complet
#align complete_lattice_hom.comp CompleteLatticeHom.comp
-/
-/- warning: complete_lattice_hom.coe_comp -> CompleteLatticeHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_comp CompleteLatticeHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align complete_lattice_hom.coe_comp CompleteLatticeHom.coe_comp
-/- warning: complete_lattice_hom.comp_apply -> CompleteLatticeHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g a))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.comp_apply CompleteLatticeHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) (a : α) :
(f.comp g) a = f (g a) :=
rfl
#align complete_lattice_hom.comp_apply CompleteLatticeHom.comp_apply
-/- warning: complete_lattice_hom.comp_assoc -> CompleteLatticeHom.comp_assoc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] [_inst_4 : CompleteLattice.{u4} δ] (f : CompleteLatticeHom.{u3, u4} γ δ _inst_3 _inst_4) (g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (h : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (CompleteLatticeHom.{u1, u4} α δ _inst_1 _inst_4) (CompleteLatticeHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (CompleteLatticeHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (CompleteLatticeHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u4} γ] [_inst_4 : CompleteLattice.{u3} δ] (f : CompleteLatticeHom.{u4, u3} γ δ _inst_3 _inst_4) (g : CompleteLatticeHom.{u2, u4} β γ _inst_2 _inst_3) (h : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α δ _inst_1 _inst_4) (CompleteLatticeHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (CompleteLatticeHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (CompleteLatticeHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (CompleteLatticeHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.comp_assoc CompleteLatticeHom.comp_assocₓ'. -/
@[simp]
theorem comp_assoc (f : CompleteLatticeHom γ δ) (g : CompleteLatticeHom β γ)
(h : CompleteLatticeHom α β) : (f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align complete_lattice_hom.comp_assoc CompleteLatticeHom.comp_assoc
-/- warning: complete_lattice_hom.comp_id -> CompleteLatticeHom.comp_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (CompleteLatticeHom.id.{u1} α _inst_1)) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (CompleteLatticeHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.comp_id CompleteLatticeHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : CompleteLatticeHom α β) : f.comp (CompleteLatticeHom.id α) = f :=
ext fun a => rfl
#align complete_lattice_hom.comp_id CompleteLatticeHom.comp_id
-/- warning: complete_lattice_hom.id_comp -> CompleteLatticeHom.id_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (CompleteLatticeHom.id.{u2} β _inst_2) f) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (CompleteLatticeHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.id_comp CompleteLatticeHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp f = f :=
ext fun a => rfl
#align complete_lattice_hom.id_comp CompleteLatticeHom.id_comp
-/- warning: complete_lattice_hom.cancel_right -> CompleteLatticeHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g₁ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_right
-/- warning: complete_lattice_hom.cancel_left -> CompleteLatticeHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_left CompleteLatticeHom.cancel_leftₓ'. -/
theorem cancel_left {g : CompleteLatticeHom β γ} {f₁ f₂ : CompleteLatticeHom α β}
(hg : Injective g) : g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -1218,12 +793,6 @@ namespace sSupHom
variable [SupSet α] [SupSet β] [SupSet γ]
-/- warning: Sup_hom.dual -> sSupHom.dual is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual sSupHom.dualₓ'. -/
/-- Reinterpret a `⨆`-homomorphism as an `⨅`-homomorphism between the dual orders. -/
@[simps]
protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
@@ -1234,23 +803,11 @@ protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
right_inv f := sInfHom.ext fun a => rfl
#align Sup_hom.dual sSupHom.dual
-/- warning: Sup_hom.dual_id -> sSupHom.dual_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) => (sSupHom.{u1, u1} α α _inst_1 _inst_1) -> (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (sSupHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_id sSupHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (sSupHom.id α).dual = sInfHom.id _ :=
rfl
#align Sup_hom.dual_id sSupHom.dual_id
-/- warning: Sup_hom.dual_comp -> sSupHom.dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u1, u3} α γ _inst_1 _inst_3) -> (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u2, u3} β γ _inst_2 _inst_3) -> (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) => (sSupHom.{u1, u2} α β _inst_1 _inst_2) -> (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u3} α β _inst_1 _inst_2) => sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_comp sSupHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : sSupHom β γ) (f : sSupHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
@@ -1263,12 +820,6 @@ theorem symm_dual_id : sSupHom.dual.symm (sInfHom.id _) = sSupHom.id α :=
#align Sup_hom.symm_dual_id sSupHom.symm_dual_id
-/
-/- warning: Sup_hom.symm_dual_comp -> sSupHom.symm_dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (f : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) => (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) g f)) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) => (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) => (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => sSupHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.symm_dual_comp sSupHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : sInfHom βᵒᵈ γᵒᵈ) (f : sInfHom αᵒᵈ βᵒᵈ) :
sSupHom.dual.symm (g.comp f) = (sSupHom.dual.symm g).comp (sSupHom.dual.symm f) :=
@@ -1281,12 +832,6 @@ namespace sInfHom
variable [InfSet α] [InfSet β] [InfSet γ]
-/- warning: Inf_hom.dual -> sInfHom.dual is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual sInfHom.dualₓ'. -/
/-- Reinterpret an `⨅`-homomorphism as a `⨆`-homomorphism between the dual orders. -/
@[simps]
protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
@@ -1301,23 +846,11 @@ protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
right_inv f := sSupHom.ext fun a => rfl
#align Inf_hom.dual sInfHom.dual
-/- warning: Inf_hom.dual_id -> sInfHom.dual_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) => (sInfHom.{u1, u1} α α _inst_1 _inst_1) -> (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (sInfHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_id sInfHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (sInfHom.id α).dual = sSupHom.id _ :=
rfl
#align Inf_hom.dual_id sInfHom.dual_id
-/- warning: Inf_hom.dual_comp -> sInfHom.dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u1, u3} α γ _inst_1 _inst_3) -> (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u2, u3} β γ _inst_2 _inst_3) -> (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) => (sInfHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u3} α β _inst_1 _inst_2) => sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_comp sInfHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : sInfHom β γ) (f : sInfHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
@@ -1330,12 +863,6 @@ theorem symm_dual_id : sInfHom.dual.symm (sSupHom.id _) = sInfHom.id α :=
#align Inf_hom.symm_dual_id sInfHom.symm_dual_id
-/
-/- warning: Inf_hom.symm_dual_comp -> sInfHom.symm_dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (f : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) => (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) g f)) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) => (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) => (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => sInfHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.symm_dual_comp sInfHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : sSupHom βᵒᵈ γᵒᵈ) (f : sSupHom αᵒᵈ βᵒᵈ) :
sInfHom.dual.symm (g.comp f) = (sInfHom.dual.symm g).comp (sInfHom.dual.symm f) :=
@@ -1368,12 +895,6 @@ theorem dual_id : (CompleteLatticeHom.id α).dual = CompleteLatticeHom.id _ :=
#align complete_lattice_hom.dual_id CompleteLatticeHom.dual_id
-/
-/- warning: complete_lattice_hom.dual_comp -> CompleteLatticeHom.dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) -> (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) -> (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) => (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.dual_comp CompleteLatticeHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : CompleteLatticeHom β γ) (f : CompleteLatticeHom α β) :
(g.comp f).dual = g.dual.comp f.dual :=
@@ -1388,9 +909,6 @@ theorem symm_dual_id :
#align complete_lattice_hom.symm_dual_id CompleteLatticeHom.symm_dual_id
-/
-/- warning: complete_lattice_hom.symm_dual_comp -> CompleteLatticeHom.symm_dual_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.symm_dual_comp CompleteLatticeHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : CompleteLatticeHom βᵒᵈ γᵒᵈ) (f : CompleteLatticeHom αᵒᵈ βᵒᵈ) :
CompleteLatticeHom.dual.symm (g.comp f) =
@@ -1405,12 +923,6 @@ end CompleteLatticeHom
namespace CompleteLatticeHom
-/- warning: complete_lattice_hom.set_preimage -> CompleteLatticeHom.setPreimage is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage CompleteLatticeHom.setPreimageₓ'. -/
/-- `set.preimage` as a complete lattice homomorphism.
See also `Sup_hom.set_image`. -/
@@ -1421,45 +933,21 @@ def setPreimage (f : α → β) : CompleteLatticeHom (Set β) (Set α)
map_Inf' s := preimage_sInter.trans <| by simp only [Set.sInf_eq_sInter, Set.sInter_image]
#align complete_lattice_hom.set_preimage CompleteLatticeHom.setPreimage
-/- warning: complete_lattice_hom.coe_set_preimage -> CompleteLatticeHom.coe_setPreimage is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β), Eq.{max (succ u2) (succ u1)} ((Set.{u2} β) -> (Set.{u1} α)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f)) (Set.preimage.{u1, u2} α β f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : Set.{u1} β), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (fun (_x : Set.{u1} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) _x) (sInfHomClass.toFunLike.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (CompleteLattice.toInfSet.{u1} (Set.{u1} β) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β))))) (CompleteLattice.toInfSet.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (CompleteLatticeHom.setPreimage.{u2, u1} α β f)) (Set.preimage.{u2, u1} α β f)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_set_preimage CompleteLatticeHom.coe_setPreimageₓ'. -/
@[simp]
theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
rfl
#align complete_lattice_hom.coe_set_preimage CompleteLatticeHom.coe_setPreimage
-/- warning: complete_lattice_hom.set_preimage_apply -> CompleteLatticeHom.setPreimage_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (fun (_x : Set.{u2} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) _x) (sInfHomClass.toFunLike.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (CompleteLattice.toInfSet.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β))))) (CompleteLattice.toInfSet.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage_apply CompleteLatticeHom.setPreimage_applyₓ'. -/
@[simp]
theorem setPreimage_apply (f : α → β) (s : Set β) : setPreimage f s = s.Preimage f :=
rfl
#align complete_lattice_hom.set_preimage_apply CompleteLatticeHom.setPreimage_apply
-/- warning: complete_lattice_hom.set_preimage_id -> CompleteLatticeHom.setPreimage_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}}, Eq.{succ u1} (CompleteLatticeHom.{u1, u1} (Set.{u1} α) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u1} α α (id.{succ u1} α)) (CompleteLatticeHom.id.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))
-but is expected to have type
- forall {α : Type.{u1}}, Eq.{succ u1} (CompleteLatticeHom.{u1, u1} (Set.{u1} α) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u1} α α (id.{succ u1} α)) (CompleteLatticeHom.id.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage_id CompleteLatticeHom.setPreimage_idₓ'. -/
@[simp]
theorem setPreimage_id : setPreimage (id : α → α) = CompleteLatticeHom.id _ :=
rfl
#align complete_lattice_hom.set_preimage_id CompleteLatticeHom.setPreimage_id
-/- warning: complete_lattice_hom.set_preimage_comp -> CompleteLatticeHom.setPreimage_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} (g : β -> γ) (f : α -> β), Eq.{max (succ u3) (succ u1)} (CompleteLatticeHom.{u3, u1} (Set.{u3} γ) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} γ) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} γ) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} γ) (Set.completeBooleanAlgebra.{u3} γ)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u3} α γ (Function.comp.{succ u1, succ u2, succ u3} α β γ g f)) (CompleteLatticeHom.comp.{u3, u2, u1} (Set.{u3} γ) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} γ) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} γ) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} γ) (Set.completeBooleanAlgebra.{u3} γ)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) (CompleteLatticeHom.setPreimage.{u2, u3} β γ g))
-but is expected to have type
- forall {α : Type.{u3}} {β : Type.{u1}} {γ : Type.{u2}} (g : β -> γ) (f : α -> β), Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u2, u3} (Set.{u2} γ) (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} γ) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} γ) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} γ) (Set.instCompleteBooleanAlgebraSet.{u2} γ)))) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α))))) (CompleteLatticeHom.setPreimage.{u3, u2} α γ (Function.comp.{succ u3, succ u1, succ u2} α β γ g f)) (CompleteLatticeHom.comp.{u2, u1, u3} (Set.{u2} γ) (Set.{u1} β) (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} γ) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} γ) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} γ) (Set.instCompleteBooleanAlgebraSet.{u2} γ)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))) (CompleteLatticeHom.setPreimage.{u3, u1} α β f) (CompleteLatticeHom.setPreimage.{u1, u2} β γ g))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage_comp CompleteLatticeHom.setPreimage_compₓ'. -/
-- This lemma can't be `simp` because `g ∘ f` matches anything (`id ∘ f = f` synctatically)
theorem setPreimage_comp (g : β → γ) (f : α → β) :
setPreimage (g ∘ f) = (setPreimage f).comp (setPreimage g) :=
@@ -1468,12 +956,6 @@ theorem setPreimage_comp (g : β → γ) (f : α → β) :
end CompleteLatticeHom
-/- warning: set.image_Sup -> Set.image_sSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} (s : Set.{u1} (Set.{u1} α)), Eq.{succ u2} (Set.{u2} β) (Set.image.{u1, u2} α β f (SupSet.sSup.{u1} (Set.{u1} α) (Set.hasSup.{u1} α) s)) (SupSet.sSup.{u2} (Set.{u2} β) (Set.hasSup.{u2} β) (Set.image.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.image.{u1, u2} α β f) s))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} (s : Set.{u2} (Set.{u2} α)), Eq.{succ u1} (Set.{u1} β) (Set.image.{u2, u1} α β f (SupSet.sSup.{u2} (Set.{u2} α) (Set.instSupSetSet.{u2} α) s)) (SupSet.sSup.{u1} (Set.{u1} β) (Set.instSupSetSet.{u1} β) (Set.image.{u2, u1} (Set.{u2} α) (Set.{u1} β) (Set.image.{u2, u1} α β f) s))
-Case conversion may be inaccurate. Consider using '#align set.image_Sup Set.image_sSupₓ'. -/
theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) :=
by
ext b
@@ -1483,12 +965,6 @@ theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (
· rintro ⟨t, ht₁, a, ht₂, rfl⟩; exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
#align set.image_Sup Set.image_sSup
-/- warning: Sup_hom.set_image -> sSupHom.setImage is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (sSupHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.hasSup.{u1} α) (Set.hasSup.{u2} β))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (sSupHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.instSupSetSet.{u1} α) (Set.instSupSetSet.{u2} β))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.set_image sSupHom.setImageₓ'. -/
/-- Using `set.image`, a function between types yields a `Sup_hom` between their lattices of
subsets.
@@ -1516,47 +992,23 @@ def Equiv.toOrderIsoSet (e : α ≃ β) : Set α ≃o Set β
variable [CompleteLattice α] (x : α × α)
-/- warning: sup_Sup_hom -> supsSupHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align sup_Sup_hom supsSupHomₓ'. -/
/-- The map `(a, b) ↦ a ⊔ b` as a `Sup_hom`. -/
def supsSupHom : sSupHom (α × α) α where
toFun x := x.1 ⊔ x.2
map_Sup' s := by simp_rw [Prod.fst_sSup, Prod.snd_sSup, sSup_image, iSup_sup_eq]
#align sup_Sup_hom supsSupHom
-/- warning: inf_Inf_hom -> infsInfHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align inf_Inf_hom infsInfHomₓ'. -/
/-- The map `(a, b) ↦ a ⊓ b` as an `Inf_hom`. -/
def infsInfHom : sInfHom (α × α) α where
toFun x := x.1 ⊓ x.2
map_Inf' s := by simp_rw [Prod.fst_sInf, Prod.snd_sInf, sInf_image, iInf_inf_eq]
#align inf_Inf_hom infsInfHom
-/- warning: sup_Sup_hom_apply -> supsSupHom_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (fun (_x : sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (sSupHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (supsSupHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1) (sSupHom.instSSupHomClassSSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1))) (supsSupHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-Case conversion may be inaccurate. Consider using '#align sup_Sup_hom_apply supsSupHom_applyₓ'. -/
@[simp, norm_cast]
theorem supsSupHom_apply : supsSupHom x = x.1 ⊔ x.2 :=
rfl
#align sup_Sup_hom_apply supsSupHom_apply
-/- warning: inf_Inf_hom_apply -> infsInfHom_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (sInfHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infsInfHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (sInfHom.instSInfHomClassSInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infsInfHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-Case conversion may be inaccurate. Consider using '#align inf_Inf_hom_apply infsInfHom_applyₓ'. -/
@[simp, norm_cast]
theorem infsInfHom_apply : infsInfHom x = x.1 ⊓ x.2 :=
rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -796,10 +796,7 @@ variable [CompleteLattice α] [CompleteLattice β] [CompleteLattice γ] [Complet
instance : FrameHomClass (FrameHom α β) α β
where
coe f := f.toFun
- coe_injective' f g h := by
- obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f
- obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g
- congr
+ coe_injective' f g h := by obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f; obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g; congr
map_sSup f := f.map_Sup'
map_inf f := f.map_inf'
map_top f := f.map_top'
@@ -1482,10 +1479,8 @@ theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (
ext b
simp only [Sup_eq_sUnion, mem_image, mem_sUnion, exists_prop, sUnion_image, mem_Union]
constructor
- · rintro ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
- exact ⟨t, ht₁, a, ht₂, rfl⟩
- · rintro ⟨t, ht₁, a, ht₂, rfl⟩
- exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
+ · rintro ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩; exact ⟨t, ht₁, a, ht₂, rfl⟩
+ · rintro ⟨t, ht₁, a, ht₂, rfl⟩; exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
#align set.image_Sup Set.image_sSup
/- warning: Sup_hom.set_image -> sSupHom.setImage is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -1392,10 +1392,7 @@ theorem symm_dual_id :
-/
/- warning: complete_lattice_hom.symm_dual_comp -> CompleteLatticeHom.symm_dual_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (f : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) => (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) => (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) => (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (f : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (fun (_x : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.symm_dual_comp CompleteLatticeHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : CompleteLatticeHom βᵒᵈ γᵒᵈ) (f : CompleteLatticeHom αᵒᵈ βᵒᵈ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -1241,7 +1241,7 @@ protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) => (sSupHom.{u1, u1} α α _inst_1 _inst_1) -> (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (sSupHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (sSupHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_id sSupHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (sSupHom.id α).dual = sInfHom.id _ :=
@@ -1252,7 +1252,7 @@ theorem dual_id : (sSupHom.id α).dual = sInfHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u1, u3} α γ _inst_1 _inst_3) -> (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u2, u3} β γ _inst_2 _inst_3) -> (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) => (sSupHom.{u1, u2} α β _inst_1 _inst_2) -> (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u3} α β _inst_1 _inst_2) => sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u3} α β _inst_1 _inst_2) => sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_comp sSupHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : sSupHom β γ) (f : sSupHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
@@ -1270,7 +1270,7 @@ theorem symm_dual_id : sSupHom.dual.symm (sInfHom.id _) = sSupHom.id α :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (f : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) => (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) g f)) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) => (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) => (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => sSupHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => sSupHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align Sup_hom.symm_dual_comp sSupHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : sInfHom βᵒᵈ γᵒᵈ) (f : sInfHom αᵒᵈ βᵒᵈ) :
@@ -1308,7 +1308,7 @@ protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) => (sInfHom.{u1, u1} α α _inst_1 _inst_1) -> (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (sInfHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (sInfHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_id sInfHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (sInfHom.id α).dual = sSupHom.id _ :=
@@ -1319,7 +1319,7 @@ theorem dual_id : (sInfHom.id α).dual = sSupHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u1, u3} α γ _inst_1 _inst_3) -> (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u2, u3} β γ _inst_2 _inst_3) -> (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) => (sInfHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u3} α β _inst_1 _inst_2) => sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sInfHom.{u1, u3} α β _inst_1 _inst_2) => sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_comp sInfHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : sInfHom β γ) (f : sInfHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
@@ -1337,7 +1337,7 @@ theorem symm_dual_id : sInfHom.dual.symm (sSupHom.id _) = sInfHom.id α :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (f : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) => (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) g f)) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) => (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) => (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => sInfHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => sInfHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align Inf_hom.symm_dual_comp sInfHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : sSupHom βᵒᵈ γᵒᵈ) (f : sSupHom αᵒᵈ βᵒᵈ) :
@@ -1375,7 +1375,7 @@ theorem dual_id : (CompleteLatticeHom.id α).dual = CompleteLatticeHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) -> (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) -> (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) => (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.dual_comp CompleteLatticeHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : CompleteLatticeHom β γ) (f : CompleteLatticeHom α β) :
@@ -1395,7 +1395,7 @@ theorem symm_dual_id :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (f : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) => (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) => (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) => (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (f : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (fun (_x : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (f : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (fun (_x : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.symm_dual_comp CompleteLatticeHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : CompleteLatticeHom βᵒᵈ γᵒᵈ) (f : CompleteLatticeHom αᵒᵈ βᵒᵈ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -248,7 +248,7 @@ instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [Com
/- warning: order_iso_class.to_Sup_hom_class -> OrderIsoClass.tosSupHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
but is expected to have type
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClassₓ'. -/
@@ -263,7 +263,7 @@ instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [Co
/- warning: order_iso_class.to_Inf_hom_class -> OrderIsoClass.tosInfHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
but is expected to have type
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClassₓ'. -/
@@ -276,14 +276,18 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [Co
simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
-#print OrderIsoClass.toCompleteLatticeHomClass /-
+/- warning: order_iso_class.to_complete_lattice_hom_class -> OrderIsoClass.toCompleteLatticeHomClass is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], CompleteLatticeHomClass.{u1, u2, u3} F α β _inst_1 _inst_2
+but is expected to have type
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], CompleteLatticeHomClass.{u1, u2, u3} F α β _inst_1 _inst_2
+Case conversion may be inaccurate. Consider using '#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
{ OrderIsoClass.tosSupHomClass, OrderIsoClass.toLatticeHomClass,
show sInfHomClass F α β from inferInstance with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
--/
instance [SupSet α] [SupSet β] [sSupHomClass F α β] : CoeTC F (sSupHom α β) :=
⟨fun f => ⟨f, map_sSup f⟩⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -50,20 +50,20 @@ open Function OrderDual Set
variable {F α β γ δ : Type _} {ι : Sort _} {κ : ι → Sort _}
-#print SupₛHom /-
+#print sSupHom /-
/-- The type of `⨆`-preserving functions from `α` to `β`. -/
-structure SupₛHom (α β : Type _) [SupSet α] [SupSet β] where
+structure sSupHom (α β : Type _) [SupSet α] [SupSet β] where
toFun : α → β
- map_Sup' (s : Set α) : to_fun (supₛ s) = supₛ (to_fun '' s)
-#align Sup_hom SupₛHom
+ map_Sup' (s : Set α) : to_fun (sSup s) = sSup (to_fun '' s)
+#align Sup_hom sSupHom
-/
-#print InfₛHom /-
+#print sInfHom /-
/-- The type of `⨅`-preserving functions from `α` to `β`. -/
-structure InfₛHom (α β : Type _) [InfSet α] [InfSet β] where
+structure sInfHom (α β : Type _) [InfSet α] [InfSet β] where
toFun : α → β
- map_Inf' (s : Set α) : to_fun (infₛ s) = infₛ (to_fun '' s)
-#align Inf_hom InfₛHom
+ map_Inf' (s : Set α) : to_fun (sInf s) = sInf (to_fun '' s)
+#align Inf_hom sInfHom
-/
#print FrameHom /-
@@ -71,38 +71,38 @@ structure InfₛHom (α β : Type _) [InfSet α] [InfSet β] where
-/
structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
InfTopHom α β where
- map_Sup' (s : Set α) : to_fun (supₛ s) = supₛ (to_fun '' s)
+ map_Sup' (s : Set α) : to_fun (sSup s) = sSup (to_fun '' s)
#align frame_hom FrameHom
-/
#print CompleteLatticeHom /-
/-- The type of complete lattice homomorphisms from `α` to `β`. -/
structure CompleteLatticeHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
- InfₛHom α β where
- map_Sup' (s : Set α) : to_fun (supₛ s) = supₛ (to_fun '' s)
+ sInfHom α β where
+ map_Sup' (s : Set α) : to_fun (sSup s) = sSup (to_fun '' s)
#align complete_lattice_hom CompleteLatticeHom
-/
section
-#print SupₛHomClass /-
+#print sSupHomClass /-
/-- `Sup_hom_class F α β` states that `F` is a type of `⨆`-preserving morphisms.
You should extend this class when you extend `Sup_hom`. -/
-class SupₛHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
+class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
FunLike F α fun _ => β where
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
-#align Sup_hom_class SupₛHomClass
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
+#align Sup_hom_class sSupHomClass
-/
-#print InfₛHomClass /-
+#print sInfHomClass /-
/-- `Inf_hom_class F α β` states that `F` is a type of `⨅`-preserving morphisms.
You should extend this class when you extend `Inf_hom`. -/
-class InfₛHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
+class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
FunLike F α fun _ => β where
- map_infₛ (f : F) (s : Set α) : f (infₛ s) = infₛ (f '' s)
-#align Inf_hom_class InfₛHomClass
+ map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
+#align Inf_hom_class sInfHomClass
-/
#print FrameHomClass /-
@@ -111,7 +111,7 @@ class InfₛHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfS
You should extend this class when you extend `frame_hom`. -/
class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
[CompleteLattice β] extends InfTopHomClass F α β where
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align frame_hom_class FrameHomClass
-/
@@ -120,113 +120,113 @@ class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice
You should extend this class when you extend `complete_lattice_hom`. -/
class CompleteLatticeHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
- [CompleteLattice β] extends InfₛHomClass F α β where
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
+ [CompleteLattice β] extends sInfHomClass F α β where
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align complete_lattice_hom_class CompleteLatticeHomClass
-/
end
-export SupₛHomClass (map_supₛ)
+export sSupHomClass (map_sSup)
-export InfₛHomClass (map_infₛ)
+export sInfHomClass (map_sInf)
attribute [simp] map_Sup map_Inf
-/- warning: map_supr -> map_supᵢ is a dubious translation:
+/- warning: map_supr -> map_iSup is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SupₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (supᵢ.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (supᵢ.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SupₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iSup.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (iSup.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
but is expected to have type
- forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : SupSet.{u4} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupₛHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (supᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (supᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (supᵢ.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
-Case conversion may be inaccurate. Consider using '#align map_supr map_supᵢₓ'. -/
-theorem map_supᵢ [SupSet α] [SupSet β] [SupₛHomClass F α β] (f : F) (g : ι → α) :
- f (⨆ i, g i) = ⨆ i, f (g i) := by rw [supᵢ, supᵢ, map_Sup, Set.range_comp]
-#align map_supr map_supᵢ
+ forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : SupSet.{u4} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (iSup.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (iSup.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (iSup.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
+Case conversion may be inaccurate. Consider using '#align map_supr map_iSupₓ'. -/
+theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
+ f (⨆ i, g i) = ⨆ i, f (g i) := by rw [iSup, iSup, map_Sup, Set.range_comp]
+#align map_supr map_iSup
-/- warning: map_supr₂ -> map_supᵢ₂ is a dubious translation:
+/- warning: map_supr₂ -> map_iSup₂ is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} {κ : ι -> Sort.{u5}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SupₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (supᵢ.{u2, u4} α _inst_1 ι (fun (i : ι) => supᵢ.{u2, u5} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (supᵢ.{u3, u4} β _inst_2 ι (fun (i : ι) => supᵢ.{u3, u5} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SupₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} {κ : ι -> Sort.{u5}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iSup.{u2, u4} α _inst_1 ι (fun (i : ι) => iSup.{u2, u5} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iSup.{u3, u4} β _inst_2 ι (fun (i : ι) => iSup.{u3, u5} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sSupHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
but is expected to have type
- forall {F : Type.{u3}} {α : Type.{u5}} {β : Type.{u4}} {ι : Sort.{u2}} {κ : ι -> Sort.{u1}} [_inst_1 : SupSet.{u5} α] [_inst_2 : SupSet.{u4} β] [_inst_3 : SupₛHomClass.{u3, u5, u4} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u4} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (supᵢ.{u5, u2} α _inst_1 ι (fun (i : ι) => supᵢ.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (supᵢ.{u5, u2} α _inst_1 ι (fun (i : ι) => supᵢ.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (supᵢ.{u4, u2} β _inst_2 ι (fun (i : ι) => supᵢ.{u4, u1} β _inst_2 (κ i) (fun (j : κ i) => FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (g i j))))
-Case conversion may be inaccurate. Consider using '#align map_supr₂ map_supᵢ₂ₓ'. -/
+ forall {F : Type.{u3}} {α : Type.{u5}} {β : Type.{u4}} {ι : Sort.{u2}} {κ : ι -> Sort.{u1}} [_inst_1 : SupSet.{u5} α] [_inst_2 : SupSet.{u4} β] [_inst_3 : sSupHomClass.{u3, u5, u4} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u4} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) (iSup.{u5, u2} α _inst_1 ι (fun (i : ι) => iSup.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (iSup.{u5, u2} α _inst_1 ι (fun (i : ι) => iSup.{u5, u1} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iSup.{u4, u2} β _inst_2 ι (fun (i : ι) => iSup.{u4, u1} β _inst_2 (κ i) (fun (j : κ i) => FunLike.coe.{succ u3, succ u5, succ u4} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{u3, u5, u4} F α β _inst_1 _inst_2 _inst_3) f (g i j))))
+Case conversion may be inaccurate. Consider using '#align map_supr₂ map_iSup₂ₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem map_supᵢ₂ [SupSet α] [SupSet β] [SupₛHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
- f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_supᵢ]
-#align map_supr₂ map_supᵢ₂
+theorem map_iSup₂ [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
+ f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_iSup]
+#align map_supr₂ map_iSup₂
-/- warning: map_infi -> map_infᵢ is a dubious translation:
+/- warning: map_infi -> map_iInf is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (infᵢ.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (infᵢ.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (iInf.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (iInf.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
but is expected to have type
- forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : InfSet.{u4} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfₛHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (infᵢ.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
-Case conversion may be inaccurate. Consider using '#align map_infi map_infᵢₓ'. -/
-theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g : ι → α) :
- f (⨅ i, g i) = ⨅ i, f (g i) := by rw [infᵢ, infᵢ, map_Inf, Set.range_comp]
-#align map_infi map_infᵢ
+ forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : InfSet.{u4} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : sInfHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (iInf.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (iInf.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (iInf.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
+Case conversion may be inaccurate. Consider using '#align map_infi map_iInfₓ'. -/
+theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
+ f (⨅ i, g i) = ⨅ i, f (g i) := by rw [iInf, iInf, map_Inf, Set.range_comp]
+#align map_infi map_iInf
-/- warning: map_infi₂ clashes with map_infi -> map_infᵢ
-warning: map_infi₂ -> map_infᵢ is a dubious translation:
+/- warning: map_infi₂ clashes with map_infi -> map_iInf
+warning: map_infi₂ -> map_iInf is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u_1}} {α : Type.{u_2}} {β : Type.{u_3}} {ι : Sort.{u_6}} {κ : ι -> Sort.{u_7}} [_inst_1 : InfSet.{u_2} α] [_inst_2 : InfSet.{u_3} β] [_inst_3 : InfₛHomClass.{u_1, u_2, u_3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u_3} β (coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (infᵢ.{u_2, u_6} α _inst_1 ι (fun (i : ι) => infᵢ.{u_2, u_7} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (infᵢ.{u_3, u_6} β _inst_2 ι (fun (i : ι) => infᵢ.{u_3, u_7} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
+ forall {F : Type.{u_1}} {α : Type.{u_2}} {β : Type.{u_3}} {ι : Sort.{u_6}} {κ : ι -> Sort.{u_7}} [_inst_1 : InfSet.{u_2} α] [_inst_2 : InfSet.{u_3} β] [_inst_3 : sInfHomClass.{u_1, u_2, u_3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u_3} β (coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (iInf.{u_2, u_6} α _inst_1 ι (fun (i : ι) => iInf.{u_2, u_7} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (iInf.{u_3, u_6} β _inst_2 ι (fun (i : ι) => iInf.{u_3, u_7} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (sInfHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
but is expected to have type
- forall {F : Type.{u_3}} {α : Type.{u_1}} {β : Type.{u_2}} {ι : Sort.{u_4}} [κ : InfSet.{u_1} α] [_inst_1 : InfSet.{u_2} β] [_inst_2 : InfₛHomClass.{u_3, u_1, u_2} F α β κ _inst_1] (_inst_3 : F) (f : ι -> α), Eq.{succ u_2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (infᵢ.{u_2, u_4} β _inst_1 ι (fun (i : ι) => FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (f i)))
-Case conversion may be inaccurate. Consider using '#align map_infi₂ map_infᵢₓ'. -/
+ forall {F : Type.{u_3}} {α : Type.{u_1}} {β : Type.{u_2}} {ι : Sort.{u_4}} [κ : InfSet.{u_1} α] [_inst_1 : InfSet.{u_2} β] [_inst_2 : sInfHomClass.{u_3, u_1, u_2} F α β κ _inst_1] (_inst_3 : F) (f : ι -> α), Eq.{succ u_2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (iInf.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (sInfHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (iInf.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (iInf.{u_2, u_4} β _inst_1 ι (fun (i : ι) => FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (sInfHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (f i)))
+Case conversion may be inaccurate. Consider using '#align map_infi₂ map_iInfₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
- f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_infᵢ]
-#align map_infi₂ map_infᵢ
+theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
+ f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_iInf]
+#align map_infi₂ map_iInf
-/- warning: Sup_hom_class.to_sup_bot_hom_class -> SupₛHomClass.toSupBotHomClass is a dubious translation:
+/- warning: Sup_hom_class.to_sup_bot_hom_class -> sSupHomClass.toSupBotHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasBot.{u2} α _inst_1) (CompleteLattice.toHasBot.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasBot.{u2} α _inst_1) (CompleteLattice.toHasBot.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClassₓ'. -/
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClassₓ'. -/
-- See note [lower instance priority]
-instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
- [SupₛHomClass F α β] : SupBotHomClass F α β :=
+instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
+ [sSupHomClass F α β] : SupBotHomClass F α β :=
{
- ‹SupₛHomClass F α
+ ‹sSupHomClass F α
β› with
- map_sup := fun f a b => by rw [← supₛ_pair, map_Sup, Set.image_pair, supₛ_pair]
- map_bot := fun f => by rw [← supₛ_empty, map_Sup, Set.image_empty, supₛ_empty] }
-#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClass
+ map_sup := fun f a b => by rw [← sSup_pair, map_Sup, Set.image_pair, sSup_pair]
+ map_bot := fun f => by rw [← sSup_empty, map_Sup, Set.image_empty, sSup_empty] }
+#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
-/- warning: Inf_hom_class.to_inf_top_hom_class -> InfₛHomClass.toInfTopHomClass is a dubious translation:
+/- warning: Inf_hom_class.to_inf_top_hom_class -> sInfHomClass.toInfTopHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))], InfTopHomClass.{u1, u2, u3} F α β (SemilatticeInf.toHasInf.{u2} α (Lattice.toSemilatticeInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasTop.{u2} α _inst_1) (CompleteLattice.toHasTop.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))], InfTopHomClass.{u1, u2, u3} F α β (SemilatticeInf.toHasInf.{u2} α (Lattice.toSemilatticeInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasTop.{u2} α _inst_1) (CompleteLattice.toHasTop.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClassₓ'. -/
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : sInfHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClassₓ'. -/
-- See note [lower instance priority]
-instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
- [InfₛHomClass F α β] : InfTopHomClass F α β :=
+instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
+ [sInfHomClass F α β] : InfTopHomClass F α β :=
{
- ‹InfₛHomClass F α
+ ‹sInfHomClass F α
β› with
- map_inf := fun f a b => by rw [← infₛ_pair, map_Inf, Set.image_pair, infₛ_pair]
- map_top := fun f => by rw [← infₛ_empty, map_Inf, Set.image_empty, infₛ_empty] }
-#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClass
+ map_inf := fun f a b => by rw [← sInf_pair, map_Inf, Set.image_pair, sInf_pair]
+ map_top := fun f => by rw [← sInf_empty, map_Inf, Set.image_empty, sInf_empty] }
+#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
-/- warning: frame_hom_class.to_Sup_hom_class -> FrameHomClass.toSupₛHomClass is a dubious translation:
+/- warning: frame_hom_class.to_Sup_hom_class -> FrameHomClass.tosSupHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align frame_hom_class.to_Sup_hom_class FrameHomClass.toSupₛHomClassₓ'. -/
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align frame_hom_class.to_Sup_hom_class FrameHomClass.tosSupHomClassₓ'. -/
-- See note [lower instance priority]
-instance (priority := 100) FrameHomClass.toSupₛHomClass [CompleteLattice α] [CompleteLattice β]
- [FrameHomClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) FrameHomClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
+ [FrameHomClass F α β] : sSupHomClass F α β :=
{ ‹FrameHomClass F α β› with }
-#align frame_hom_class.to_Sup_hom_class FrameHomClass.toSupₛHomClass
+#align frame_hom_class.to_Sup_hom_class FrameHomClass.tosSupHomClass
#print FrameHomClass.toBoundedLatticeHomClass /-
-- See note [lower instance priority]
instance (priority := 100) FrameHomClass.toBoundedLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [FrameHomClass F α β] : BoundedLatticeHomClass F α β :=
- { ‹FrameHomClass F α β›, SupₛHomClass.toSupBotHomClass with }
+ { ‹FrameHomClass F α β›, sSupHomClass.toSupBotHomClass with }
#align frame_hom_class.to_bounded_lattice_hom_class FrameHomClass.toBoundedLatticeHomClass
-/
@@ -234,7 +234,7 @@ instance (priority := 100) FrameHomClass.toBoundedLatticeHomClass [CompleteLatti
-- See note [lower instance priority]
instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLattice α]
[CompleteLattice β] [CompleteLatticeHomClass F α β] : FrameHomClass F α β :=
- { ‹CompleteLatticeHomClass F α β›, InfₛHomClass.toInfTopHomClass with }
+ { ‹CompleteLatticeHomClass F α β›, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_frame_hom_class CompleteLatticeHomClass.toFrameHomClass
-/
@@ -242,66 +242,66 @@ instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLatt
-- See note [lower instance priority]
instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
- { SupₛHomClass.toSupBotHomClass, InfₛHomClass.toInfTopHomClass with }
+ { sSupHomClass.toSupBotHomClass, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
-/
-/- warning: order_iso_class.to_Sup_hom_class -> OrderIsoClass.toSupₛHomClass is a dubious translation:
+/- warning: order_iso_class.to_Sup_hom_class -> OrderIsoClass.tosSupHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Sup_hom_class OrderIsoClass.toSupₛHomClassₓ'. -/
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sSupHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClassₓ'. -/
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α] [CompleteLattice β]
- [OrderIsoClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α] [CompleteLattice β]
+ [OrderIsoClass F α β] : sSupHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
- map_supₛ := fun f s =>
+ map_sSup := fun f s =>
eq_of_forall_ge_iff fun c => by
- simp only [← le_map_inv_iff, supₛ_le_iff, Set.ball_image_iff] }
-#align order_iso_class.to_Sup_hom_class OrderIsoClass.toSupₛHomClass
+ simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
+#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
-/- warning: order_iso_class.to_Inf_hom_class -> OrderIsoClass.toInfₛHomClass is a dubious translation:
+/- warning: order_iso_class.to_Inf_hom_class -> OrderIsoClass.tosInfHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], InfₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Inf_hom_class OrderIsoClass.toInfₛHomClassₓ'. -/
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], sInfHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClassₓ'. -/
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toInfₛHomClass [CompleteLattice α] [CompleteLattice β]
- [OrderIsoClass F α β] : InfₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α] [CompleteLattice β]
+ [OrderIsoClass F α β] : sInfHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
- map_infₛ := fun f s =>
+ map_sInf := fun f s =>
eq_of_forall_le_iff fun c => by
- simp only [← map_inv_le_iff, le_infₛ_iff, Set.ball_image_iff] }
-#align order_iso_class.to_Inf_hom_class OrderIsoClass.toInfₛHomClass
+ simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
+#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
#print OrderIsoClass.toCompleteLatticeHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
- { OrderIsoClass.toSupₛHomClass, OrderIsoClass.toLatticeHomClass,
- show InfₛHomClass F α β from inferInstance with }
+ { OrderIsoClass.tosSupHomClass, OrderIsoClass.toLatticeHomClass,
+ show sInfHomClass F α β from inferInstance with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
-/
-instance [SupSet α] [SupSet β] [SupₛHomClass F α β] : CoeTC F (SupₛHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+instance [SupSet α] [SupSet β] [sSupHomClass F α β] : CoeTC F (sSupHom α β) :=
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
-instance [InfSet α] [InfSet β] [InfₛHomClass F α β] : CoeTC F (InfₛHom α β) :=
- ⟨fun f => ⟨f, map_infₛ f⟩⟩
+instance [InfSet α] [InfSet β] [sInfHomClass F α β] : CoeTC F (sInfHom α β) :=
+ ⟨fun f => ⟨f, map_sInf f⟩⟩
instance [CompleteLattice α] [CompleteLattice β] [FrameHomClass F α β] : CoeTC F (FrameHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
instance [CompleteLattice α] [CompleteLattice β] [CompleteLatticeHomClass F α β] :
CoeTC F (CompleteLatticeHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
/-! ### Supremum homomorphisms -/
-namespace SupₛHom
+namespace sSupHom
variable [SupSet α]
@@ -309,241 +309,241 @@ section SupSet
variable [SupSet β] [SupSet γ] [SupSet δ]
-instance : SupₛHomClass (SupₛHom α β) α β
+instance : sSupHomClass (sSupHom α β) α β
where
- coe := SupₛHom.toFun
+ coe := sSupHom.toFun
coe_injective' f g h := by cases f <;> cases g <;> congr
- map_supₛ := SupₛHom.map_Sup'
+ map_sSup := sSupHom.map_Sup'
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
-instance : CoeFun (SupₛHom α β) fun _ => α → β :=
+instance : CoeFun (sSupHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: Sup_hom.to_fun_eq_coe -> SupₛHom.toFun_eq_coe is a dubious translation:
+/- warning: Sup_hom.to_fun_eq_coe -> sSupHom.toFun_eq_coe is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : SupₛHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (SupₛHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : sSupHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sSupHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : SupₛHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (SupₛHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) f)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.to_fun_eq_coe SupₛHom.toFun_eq_coeₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : sSupHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sSupHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)
+Case conversion may be inaccurate. Consider using '#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coeₓ'. -/
@[simp]
-theorem toFun_eq_coe {f : SupₛHom α β} : f.toFun = (f : α → β) :=
+theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = (f : α → β) :=
rfl
-#align Sup_hom.to_fun_eq_coe SupₛHom.toFun_eq_coe
+#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
-/- warning: Sup_hom.ext -> SupₛHom.ext is a dubious translation:
+/- warning: Sup_hom.ext -> sSupHom.ext is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : SupₛHom.{u1, u2} α β _inst_1 _inst_2} {g : SupₛHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] {f : sSupHom.{u1, u2} α β _inst_1 _inst_2} {g : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : SupₛHom.{u2, u1} α β _inst_1 _inst_2} {g : SupₛHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.ext SupₛHom.extₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] {f : sSupHom.{u2, u1} α β _inst_1 _inst_2} {g : sSupHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) f g)
+Case conversion may be inaccurate. Consider using '#align Sup_hom.ext sSupHom.extₓ'. -/
@[ext]
-theorem ext {f g : SupₛHom α β} (h : ∀ a, f a = g a) : f = g :=
+theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
-#align Sup_hom.ext SupₛHom.ext
+#align Sup_hom.ext sSupHom.ext
-/- warning: Sup_hom.copy -> SupₛHom.copy is a dubious translation:
+/- warning: Sup_hom.copy -> sSupHom.copy is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (SupₛHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (SupₛHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.copy SupₛHom.copyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align Sup_hom.copy sSupHom.copyₓ'. -/
/-- Copy of a `Sup_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
-protected def copy (f : SupₛHom α β) (f' : α → β) (h : f' = f) : SupₛHom α β
+protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom α β
where
toFun := f'
map_Sup' := h.symm ▸ f.map_Sup'
-#align Sup_hom.copy SupₛHom.copy
+#align Sup_hom.copy sSupHom.copy
-/- warning: Sup_hom.coe_copy -> SupₛHom.coe_copy is a dubious translation:
+/- warning: Sup_hom.coe_copy -> sSupHom.coe_copy is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (sSupHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : SupₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) (SupₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_copy SupₛHom.coe_copyₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) (sSupHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_copy sSupHom.coe_copyₓ'. -/
@[simp]
-theorem coe_copy (f : SupₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
+theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
-#align Sup_hom.coe_copy SupₛHom.coe_copy
+#align Sup_hom.coe_copy sSupHom.coe_copy
-/- warning: Sup_hom.copy_eq -> SupₛHom.copy_eq is a dubious translation:
+/- warning: Sup_hom.copy_eq -> sSupHom.copy_eq is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : SupₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) (SupₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.copy_eq SupₛHom.copy_eqₓ'. -/
-theorem copy_eq (f : SupₛHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+Case conversion may be inaccurate. Consider using '#align Sup_hom.copy_eq sSupHom.copy_eqₓ'. -/
+theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
-#align Sup_hom.copy_eq SupₛHom.copy_eq
+#align Sup_hom.copy_eq sSupHom.copy_eq
variable (α)
-#print SupₛHom.id /-
+#print sSupHom.id /-
/-- `id` as a `Sup_hom`. -/
-protected def id : SupₛHom α α :=
+protected def id : sSupHom α α :=
⟨id, fun s => by rw [id, Set.image_id]⟩
-#align Sup_hom.id SupₛHom.id
+#align Sup_hom.id sSupHom.id
-/
-instance : Inhabited (SupₛHom α α) :=
- ⟨SupₛHom.id α⟩
+instance : Inhabited (sSupHom α α) :=
+ ⟨sSupHom.id α⟩
-/- warning: Sup_hom.coe_id -> SupₛHom.coe_id is a dubious translation:
+/- warning: Sup_hom.coe_id -> sSupHom.coe_id is a dubious translation:
lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (SupₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sSupHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u1} α α _inst_1 _inst_1)) (SupₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_id SupₛHom.coe_idₓ'. -/
+ forall (α : Type.{u1}) [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sSupHom.instSSupHomClassSSupHom.{u1, u1} α α _inst_1 _inst_1)) (sSupHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_id sSupHom.coe_idₓ'. -/
@[simp]
-theorem coe_id : ⇑(SupₛHom.id α) = id :=
+theorem coe_id : ⇑(sSupHom.id α) = id :=
rfl
-#align Sup_hom.coe_id SupₛHom.coe_id
+#align Sup_hom.coe_id sSupHom.coe_id
variable {α}
-/- warning: Sup_hom.id_apply -> SupₛHom.id_apply is a dubious translation:
+/- warning: Sup_hom.id_apply -> sSupHom.id_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (SupₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sSupHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u1} α α _inst_1 _inst_1)) (SupₛHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align Sup_hom.id_apply SupₛHom.id_applyₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sSupHom.instSSupHomClassSSupHom.{u1, u1} α α _inst_1 _inst_1)) (sSupHom.id.{u1} α _inst_1) a) a
+Case conversion may be inaccurate. Consider using '#align Sup_hom.id_apply sSupHom.id_applyₓ'. -/
@[simp]
-theorem id_apply (a : α) : SupₛHom.id α a = a :=
+theorem id_apply (a : α) : sSupHom.id α a = a :=
rfl
-#align Sup_hom.id_apply SupₛHom.id_apply
+#align Sup_hom.id_apply sSupHom.id_apply
-#print SupₛHom.comp /-
+#print sSupHom.comp /-
/-- Composition of `Sup_hom`s as a `Sup_hom`. -/
-def comp (f : SupₛHom β γ) (g : SupₛHom α β) : SupₛHom α γ
+def comp (f : sSupHom β γ) (g : sSupHom α β) : sSupHom α γ
where
toFun := f ∘ g
map_Sup' s := by rw [comp_apply, map_Sup, map_Sup, Set.image_image]
-#align Sup_hom.comp SupₛHom.comp
+#align Sup_hom.comp sSupHom.comp
-/
-/- warning: Sup_hom.coe_comp -> SupₛHom.coe_comp is a dubious translation:
+/- warning: Sup_hom.coe_comp -> sSupHom.coe_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : SupₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (SupₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (SupₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sSupHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : SupₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (SupₛHom.instSupₛHomClassSupₛHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u3} α β _inst_1 _inst_2)) g))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_comp SupₛHom.coe_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) g))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_comp sSupHom.coe_compₓ'. -/
@[simp]
-theorem coe_comp (f : SupₛHom β γ) (g : SupₛHom α β) : ⇑(f.comp g) = f ∘ g :=
+theorem coe_comp (f : sSupHom β γ) (g : sSupHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
-#align Sup_hom.coe_comp SupₛHom.coe_comp
+#align Sup_hom.coe_comp sSupHom.coe_comp
-/- warning: Sup_hom.comp_apply -> SupₛHom.comp_apply is a dubious translation:
+/- warning: Sup_hom.comp_apply -> sSupHom.comp_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : SupₛHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : SupₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (SupₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (SupₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (f : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sSupHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : SupₛHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (SupₛHom.instSupₛHomClassSupₛHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u3} α β _inst_1 _inst_2)) g a))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_apply SupₛHom.comp_applyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (f : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (g : sSupHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) g a))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_apply sSupHom.comp_applyₓ'. -/
@[simp]
-theorem comp_apply (f : SupₛHom β γ) (g : SupₛHom α β) (a : α) : (f.comp g) a = f (g a) :=
+theorem comp_apply (f : sSupHom β γ) (g : sSupHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
-#align Sup_hom.comp_apply SupₛHom.comp_apply
+#align Sup_hom.comp_apply sSupHom.comp_apply
-/- warning: Sup_hom.comp_assoc -> SupₛHom.comp_assoc is a dubious translation:
+/- warning: Sup_hom.comp_assoc -> sSupHom.comp_assoc is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] [_inst_4 : SupSet.{u4} δ] (f : SupₛHom.{u3, u4} γ δ _inst_3 _inst_4) (g : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (h : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (SupₛHom.{u1, u4} α δ _inst_1 _inst_4) (SupₛHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (SupₛHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (SupₛHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] [_inst_4 : SupSet.{u4} δ] (f : sSupHom.{u3, u4} γ δ _inst_3 _inst_4) (g : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (h : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (sSupHom.{u1, u4} α δ _inst_1 _inst_4) (sSupHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (sSupHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sSupHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u4} γ] [_inst_4 : SupSet.{u3} δ] (f : SupₛHom.{u4, u3} γ δ _inst_3 _inst_4) (g : SupₛHom.{u2, u4} β γ _inst_2 _inst_3) (h : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α δ _inst_1 _inst_4) (SupₛHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (SupₛHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (SupₛHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (SupₛHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_assoc SupₛHom.comp_assocₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u4} γ] [_inst_4 : SupSet.{u3} δ] (f : sSupHom.{u4, u3} γ δ _inst_3 _inst_4) (g : sSupHom.{u2, u4} β γ _inst_2 _inst_3) (h : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α δ _inst_1 _inst_4) (sSupHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (sSupHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sSupHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (sSupHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_assoc sSupHom.comp_assocₓ'. -/
@[simp]
-theorem comp_assoc (f : SupₛHom γ δ) (g : SupₛHom β γ) (h : SupₛHom α β) :
+theorem comp_assoc (f : sSupHom γ δ) (g : sSupHom β γ) (h : sSupHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
-#align Sup_hom.comp_assoc SupₛHom.comp_assoc
+#align Sup_hom.comp_assoc sSupHom.comp_assoc
-/- warning: Sup_hom.comp_id -> SupₛHom.comp_id is a dubious translation:
+/- warning: Sup_hom.comp_id -> sSupHom.comp_id is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (SupₛHom.id.{u1} α _inst_1)) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (sSupHom.id.{u1} α _inst_1)) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : SupₛHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) (SupₛHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (SupₛHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_id SupₛHom.comp_idₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (sSupHom.id.{u2} α _inst_1)) f
+Case conversion may be inaccurate. Consider using '#align Sup_hom.comp_id sSupHom.comp_idₓ'. -/
@[simp]
-theorem comp_id (f : SupₛHom α β) : f.comp (SupₛHom.id α) = f :=
+theorem comp_id (f : sSupHom α β) : f.comp (sSupHom.id α) = f :=
ext fun a => rfl
-#align Sup_hom.comp_id SupₛHom.comp_id
+#align Sup_hom.comp_id sSupHom.comp_id
-/- warning: Sup_hom.id_comp -> SupₛHom.id_comp is a dubious translation:
+/- warning: Sup_hom.id_comp -> sSupHom.id_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (SupₛHom.id.{u2} β _inst_2) f) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (sSupHom.id.{u2} β _inst_2) f) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : SupₛHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (SupₛHom.{u2, u1} α β _inst_1 _inst_2) (SupₛHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (SupₛHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align Sup_hom.id_comp SupₛHom.id_compₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] [_inst_2 : SupSet.{u1} β] (f : sSupHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sSupHom.{u2, u1} α β _inst_1 _inst_2) (sSupHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (sSupHom.id.{u1} β _inst_2) f) f
+Case conversion may be inaccurate. Consider using '#align Sup_hom.id_comp sSupHom.id_compₓ'. -/
@[simp]
-theorem id_comp (f : SupₛHom α β) : (SupₛHom.id β).comp f = f :=
+theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
ext fun a => rfl
-#align Sup_hom.id_comp SupₛHom.id_comp
+#align Sup_hom.id_comp sSupHom.id_comp
-/- warning: Sup_hom.cancel_right -> SupₛHom.cancel_right is a dubious translation:
+/- warning: Sup_hom.cancel_right -> sSupHom.cancel_right is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g₁ : SupₛHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : SupₛHom.{u2, u3} β γ _inst_2 _inst_3} {f : SupₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g₁ : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {f : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g₁ : SupₛHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : SupₛHom.{u3, u2} β γ _inst_2 _inst_3} {f : SupₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (SupₛHom.instSupₛHomClassSupₛHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_right SupₛHom.cancel_rightₓ'. -/
-theorem cancel_right {g₁ g₂ : SupₛHom β γ} {f : SupₛHom α β} (hf : Surjective f) :
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g₁ : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {f : sSupHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (sSupHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sSupHom.instSSupHomClassSSupHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_right sSupHom.cancel_rightₓ'. -/
+theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
-#align Sup_hom.cancel_right SupₛHom.cancel_right
+#align Sup_hom.cancel_right sSupHom.cancel_right
-/- warning: Sup_hom.cancel_left -> SupₛHom.cancel_left is a dubious translation:
+/- warning: Sup_hom.cancel_left -> sSupHom.cancel_left is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g : SupₛHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : SupₛHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : SupₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (SupₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] {g : sSupHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : sSupHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : sSupHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sSupHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g : SupₛHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : SupₛHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : SupₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (SupₛHom.instSupₛHomClassSupₛHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_left SupₛHom.cancel_leftₓ'. -/
-theorem cancel_left {g : SupₛHom β γ} {f₁ f₂ : SupₛHom α β} (hg : Injective g) :
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] {g : sSupHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : sSupHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : sSupHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sSupHom.instSSupHomClassSSupHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.cancel_left sSupHom.cancel_leftₓ'. -/
+theorem cancel_left {g : sSupHom β γ} {f₁ f₂ : sSupHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
-#align Sup_hom.cancel_left SupₛHom.cancel_left
+#align Sup_hom.cancel_left sSupHom.cancel_left
end SupSet
variable [CompleteLattice β]
-instance : PartialOrder (SupₛHom α β) :=
+instance : PartialOrder (sSupHom α β) :=
PartialOrder.lift _ FunLike.coe_injective
-instance : Bot (SupₛHom α β) :=
+instance : Bot (sSupHom α β) :=
⟨⟨fun _ => ⊥, fun s => by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [Set.image_empty, supₛ_empty]
- · rw [hs.image_const, supₛ_singleton]⟩⟩
+ · rw [Set.image_empty, sSup_empty]
+ · rw [hs.image_const, sSup_singleton]⟩⟩
-instance : OrderBot (SupₛHom α β) :=
+instance : OrderBot (sSupHom α β) :=
⟨⊥, fun f a => bot_le⟩
-/- warning: Sup_hom.coe_bot -> SupₛHom.coe_bot is a dubious translation:
+/- warning: Sup_hom.coe_bot -> sSupHom.coe_bot is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (SupₛHom.hasBot.{u1, u2} α β _inst_1 _inst_2))) (Bot.bot.{max u1 u2} (α -> β) (Pi.hasBot.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasBot.{u2} β _inst_2)))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (sSupHom.hasBot.{u1, u2} α β _inst_1 _inst_2))) (Bot.bot.{max u1 u2} (α -> β) (Pi.hasBot.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasBot.{u2} β _inst_2)))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] {_inst_2 : CompleteLattice.{u1} β}, Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (SupₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (SupₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2) (SupₛHom.instSupₛHomClassSupₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2))) (Bot.bot.{max u2 u1} (SupₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) (SupₛHom.instBotSupₛHomToSupSet.{u2, u1} α β _inst_1 _inst_2))) (Bot.bot.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (Pi.instBotForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toBot.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) i) _inst_2)))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_bot SupₛHom.coe_botₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : SupSet.{u2} α] {_inst_2 : CompleteLattice.{u1} β}, Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2) (sSupHom.instSSupHomClassSSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2))) (Bot.bot.{max u2 u1} (sSupHom.{u2, u1} α β _inst_1 (CompleteLattice.toSupSet.{u1} β _inst_2)) (sSupHom.instBotSSupHomToSupSet.{u2, u1} α β _inst_1 _inst_2))) (Bot.bot.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (Pi.instBotForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toBot.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) i) _inst_2)))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.coe_bot sSupHom.coe_botₓ'. -/
@[simp]
-theorem coe_bot : ⇑(⊥ : SupₛHom α β) = ⊥ :=
+theorem coe_bot : ⇑(⊥ : sSupHom α β) = ⊥ :=
rfl
-#align Sup_hom.coe_bot SupₛHom.coe_bot
+#align Sup_hom.coe_bot sSupHom.coe_bot
-/- warning: Sup_hom.bot_apply -> SupₛHom.bot_apply is a dubious translation:
+/- warning: Sup_hom.bot_apply -> sSupHom.bot_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (SupₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (SupₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (SupₛHom.hasBot.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} β (CompleteLattice.toHasBot.{u2} β _inst_2))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (fun (_x : sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) => α -> β) (sSupHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2))) (sSupHom.hasBot.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} β (CompleteLattice.toHasBot.{u2} β _inst_2))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] {_inst_2 : CompleteLattice.{u2} β} (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (SupₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (SupₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2) (SupₛHom.instSupₛHomClassSupₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (SupₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) (SupₛHom.instBotSupₛHomToSupSet.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (CompleteLattice.toBot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) _inst_2))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.bot_apply SupₛHom.bot_applyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] {_inst_2 : CompleteLattice.{u2} β} (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2) (sSupHom.instSSupHomClassSSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2))) (Bot.bot.{max u1 u2} (sSupHom.{u1, u2} α β _inst_1 (CompleteLattice.toSupSet.{u2} β _inst_2)) (sSupHom.instBotSSupHomToSupSet.{u1, u2} α β _inst_1 _inst_2)) a) (Bot.bot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (CompleteLattice.toBot.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) _inst_2))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.bot_apply sSupHom.bot_applyₓ'. -/
@[simp]
-theorem bot_apply (a : α) : (⊥ : SupₛHom α β) a = ⊥ :=
+theorem bot_apply (a : α) : (⊥ : sSupHom α β) a = ⊥ :=
rfl
-#align Sup_hom.bot_apply SupₛHom.bot_apply
+#align Sup_hom.bot_apply sSupHom.bot_apply
-end SupₛHom
+end sSupHom
/-! ### Infimum homomorphisms -/
-namespace InfₛHom
+namespace sInfHom
variable [InfSet α]
@@ -551,236 +551,236 @@ section InfSet
variable [InfSet β] [InfSet γ] [InfSet δ]
-instance : InfₛHomClass (InfₛHom α β) α β
+instance : sInfHomClass (sInfHom α β) α β
where
- coe := InfₛHom.toFun
+ coe := sInfHom.toFun
coe_injective' f g h := by cases f <;> cases g <;> congr
- map_infₛ := InfₛHom.map_Inf'
+ map_sInf := sInfHom.map_Inf'
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
-instance : CoeFun (InfₛHom α β) fun _ => α → β :=
+instance : CoeFun (sInfHom α β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: Inf_hom.to_fun_eq_coe -> InfₛHom.toFun_eq_coe is a dubious translation:
+/- warning: Inf_hom.to_fun_eq_coe -> sInfHom.toFun_eq_coe is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfₛHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : sInfHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sInfHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.to_fun_eq_coe InfₛHom.toFun_eq_coeₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : sInfHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sInfHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)
+Case conversion may be inaccurate. Consider using '#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coeₓ'. -/
@[simp]
-theorem toFun_eq_coe {f : InfₛHom α β} : f.toFun = (f : α → β) :=
+theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = (f : α → β) :=
rfl
-#align Inf_hom.to_fun_eq_coe InfₛHom.toFun_eq_coe
+#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
-/- warning: Inf_hom.ext -> InfₛHom.ext is a dubious translation:
+/- warning: Inf_hom.ext -> sInfHom.ext is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2} {g : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : sInfHom.{u1, u2} α β _inst_1 _inst_2} {g : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2} {g : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) f g)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.ext InfₛHom.extₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : sInfHom.{u2, u1} α β _inst_1 _inst_2} {g : sInfHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) f g)
+Case conversion may be inaccurate. Consider using '#align Inf_hom.ext sInfHom.extₓ'. -/
@[ext]
-theorem ext {f g : InfₛHom α β} (h : ∀ a, f a = g a) : f = g :=
+theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
-#align Inf_hom.ext InfₛHom.ext
+#align Inf_hom.ext sInfHom.ext
-/- warning: Inf_hom.copy -> InfₛHom.copy is a dubious translation:
+/- warning: Inf_hom.copy -> sInfHom.copy is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.copy InfₛHom.copyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align Inf_hom.copy sInfHom.copyₓ'. -/
/-- Copy of a `Inf_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
-protected def copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : InfₛHom α β
+protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom α β
where
toFun := f'
map_Inf' := h.symm ▸ f.map_Inf'
-#align Inf_hom.copy InfₛHom.copy
+#align Inf_hom.copy sInfHom.copy
-/- warning: Inf_hom.coe_copy -> InfₛHom.coe_copy is a dubious translation:
+/- warning: Inf_hom.coe_copy -> sInfHom.coe_copy is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (sInfHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_copy InfₛHom.coe_copyₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) (sInfHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_copy sInfHom.coe_copyₓ'. -/
@[simp]
-theorem coe_copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
+theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
-#align Inf_hom.coe_copy InfₛHom.coe_copy
+#align Inf_hom.coe_copy sInfHom.coe_copy
-/- warning: Inf_hom.copy_eq -> InfₛHom.copy_eq is a dubious translation:
+/- warning: Inf_hom.copy_eq -> sInfHom.copy_eq is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.copy_eq InfₛHom.copy_eqₓ'. -/
-theorem copy_eq (f : InfₛHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+Case conversion may be inaccurate. Consider using '#align Inf_hom.copy_eq sInfHom.copy_eqₓ'. -/
+theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
-#align Inf_hom.copy_eq InfₛHom.copy_eq
+#align Inf_hom.copy_eq sInfHom.copy_eq
variable (α)
-#print InfₛHom.id /-
+#print sInfHom.id /-
/-- `id` as an `Inf_hom`. -/
-protected def id : InfₛHom α α :=
+protected def id : sInfHom α α :=
⟨id, fun s => by rw [id, Set.image_id]⟩
-#align Inf_hom.id InfₛHom.id
+#align Inf_hom.id sInfHom.id
-/
-instance : Inhabited (InfₛHom α α) :=
- ⟨InfₛHom.id α⟩
+instance : Inhabited (sInfHom α α) :=
+ ⟨sInfHom.id α⟩
-/- warning: Inf_hom.coe_id -> InfₛHom.coe_id is a dubious translation:
+/- warning: Inf_hom.coe_id -> sInfHom.coe_id is a dubious translation:
lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (InfₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sInfHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_id InfₛHom.coe_idₓ'. -/
+ forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sInfHom.instSInfHomClassSInfHom.{u1, u1} α α _inst_1 _inst_1)) (sInfHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_id sInfHom.coe_idₓ'. -/
@[simp]
-theorem coe_id : ⇑(InfₛHom.id α) = id :=
+theorem coe_id : ⇑(sInfHom.id α) = id :=
rfl
-#align Inf_hom.coe_id InfₛHom.coe_id
+#align Inf_hom.coe_id sInfHom.coe_id
variable {α}
-/- warning: Inf_hom.id_apply -> InfₛHom.id_apply is a dubious translation:
+/- warning: Inf_hom.id_apply -> sInfHom.id_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (InfₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (sInfHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align Inf_hom.id_apply InfₛHom.id_applyₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (sInfHom.instSInfHomClassSInfHom.{u1, u1} α α _inst_1 _inst_1)) (sInfHom.id.{u1} α _inst_1) a) a
+Case conversion may be inaccurate. Consider using '#align Inf_hom.id_apply sInfHom.id_applyₓ'. -/
@[simp]
-theorem id_apply (a : α) : InfₛHom.id α a = a :=
+theorem id_apply (a : α) : sInfHom.id α a = a :=
rfl
-#align Inf_hom.id_apply InfₛHom.id_apply
+#align Inf_hom.id_apply sInfHom.id_apply
-#print InfₛHom.comp /-
+#print sInfHom.comp /-
/-- Composition of `Inf_hom`s as a `Inf_hom`. -/
-def comp (f : InfₛHom β γ) (g : InfₛHom α β) : InfₛHom α γ
+def comp (f : sInfHom β γ) (g : sInfHom α β) : sInfHom α γ
where
toFun := f ∘ g
map_Inf' s := by rw [comp_apply, map_Inf, map_Inf, Set.image_image]
-#align Inf_hom.comp InfₛHom.comp
+#align Inf_hom.comp sInfHom.comp
-/
-/- warning: Inf_hom.coe_comp -> InfₛHom.coe_comp is a dubious translation:
+/- warning: Inf_hom.coe_comp -> sInfHom.coe_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (InfₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sInfHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_comp InfₛHom.coe_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) g))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_comp sInfHom.coe_compₓ'. -/
@[simp]
-theorem coe_comp (f : InfₛHom β γ) (g : InfₛHom α β) : ⇑(f.comp g) = f ∘ g :=
+theorem coe_comp (f : sInfHom β γ) (g : sInfHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
-#align Inf_hom.coe_comp InfₛHom.coe_comp
+#align Inf_hom.coe_comp sInfHom.coe_comp
-/- warning: Inf_hom.comp_apply -> InfₛHom.comp_apply is a dubious translation:
+/- warning: Inf_hom.comp_apply -> sInfHom.comp_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (InfₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (sInfHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g a))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_apply InfₛHom.comp_applyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (g : sInfHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) g a))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_apply sInfHom.comp_applyₓ'. -/
@[simp]
-theorem comp_apply (f : InfₛHom β γ) (g : InfₛHom α β) (a : α) : (f.comp g) a = f (g a) :=
+theorem comp_apply (f : sInfHom β γ) (g : sInfHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
-#align Inf_hom.comp_apply InfₛHom.comp_apply
+#align Inf_hom.comp_apply sInfHom.comp_apply
-/- warning: Inf_hom.comp_assoc -> InfₛHom.comp_assoc is a dubious translation:
+/- warning: Inf_hom.comp_assoc -> sInfHom.comp_assoc is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] [_inst_4 : InfSet.{u4} δ] (f : InfₛHom.{u3, u4} γ δ _inst_3 _inst_4) (g : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (h : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (InfₛHom.{u1, u4} α δ _inst_1 _inst_4) (InfₛHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (InfₛHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (InfₛHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] [_inst_4 : InfSet.{u4} δ] (f : sInfHom.{u3, u4} γ δ _inst_3 _inst_4) (g : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (h : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u4)} (sInfHom.{u1, u4} α δ _inst_1 _inst_4) (sInfHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 (sInfHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sInfHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 f (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g h))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u4} γ] [_inst_4 : InfSet.{u3} δ] (f : InfₛHom.{u4, u3} γ δ _inst_3 _inst_4) (g : InfₛHom.{u2, u4} β γ _inst_2 _inst_3) (h : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α δ _inst_1 _inst_4) (InfₛHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (InfₛHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (InfₛHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (InfₛHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_assoc InfₛHom.comp_assocₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u4} γ] [_inst_4 : InfSet.{u3} δ] (f : sInfHom.{u4, u3} γ δ _inst_3 _inst_4) (g : sInfHom.{u2, u4} β γ _inst_2 _inst_3) (h : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α δ _inst_1 _inst_4) (sInfHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 (sInfHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 f g) h) (sInfHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 f (sInfHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 g h))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_assoc sInfHom.comp_assocₓ'. -/
@[simp]
-theorem comp_assoc (f : InfₛHom γ δ) (g : InfₛHom β γ) (h : InfₛHom α β) :
+theorem comp_assoc (f : sInfHom γ δ) (g : sInfHom β γ) (h : sInfHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
-#align Inf_hom.comp_assoc InfₛHom.comp_assoc
+#align Inf_hom.comp_assoc sInfHom.comp_assoc
-/- warning: Inf_hom.comp_id -> InfₛHom.comp_id is a dubious translation:
+/- warning: Inf_hom.comp_id -> sInfHom.comp_id is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (InfₛHom.id.{u1} α _inst_1)) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 f (sInfHom.id.{u1} α _inst_1)) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) (InfₛHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (InfₛHom.id.{u2} α _inst_1)) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_id InfₛHom.comp_idₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 f (sInfHom.id.{u2} α _inst_1)) f
+Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_id sInfHom.comp_idₓ'. -/
@[simp]
-theorem comp_id (f : InfₛHom α β) : f.comp (InfₛHom.id α) = f :=
+theorem comp_id (f : sInfHom α β) : f.comp (sInfHom.id α) = f :=
ext fun a => rfl
-#align Inf_hom.comp_id InfₛHom.comp_id
+#align Inf_hom.comp_id sInfHom.comp_id
-/- warning: Inf_hom.id_comp -> InfₛHom.id_comp is a dubious translation:
+/- warning: Inf_hom.id_comp -> sInfHom.id_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (InfₛHom.id.{u2} β _inst_2) f) f
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 (sInfHom.id.{u2} β _inst_2) f) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) (InfₛHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (InfₛHom.id.{u1} β _inst_2) f) f
-Case conversion may be inaccurate. Consider using '#align Inf_hom.id_comp InfₛHom.id_compₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : sInfHom.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (sInfHom.{u2, u1} α β _inst_1 _inst_2) (sInfHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 (sInfHom.id.{u1} β _inst_2) f) f
+Case conversion may be inaccurate. Consider using '#align Inf_hom.id_comp sInfHom.id_compₓ'. -/
@[simp]
-theorem id_comp (f : InfₛHom α β) : (InfₛHom.id β).comp f = f :=
+theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
ext fun a => rfl
-#align Inf_hom.id_comp InfₛHom.id_comp
+#align Inf_hom.id_comp sInfHom.id_comp
-/- warning: Inf_hom.cancel_right -> InfₛHom.cancel_right is a dubious translation:
+/- warning: Inf_hom.cancel_right -> sInfHom.cancel_right is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g₁ : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g₁ : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {f : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g₁ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_right InfₛHom.cancel_rightₓ'. -/
-theorem cancel_right {g₁ g₂ : InfₛHom β γ} {f : InfₛHom α β} (hf : Surjective f) :
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g₁ : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {f : sInfHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (sInfHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (sInfHom.instSInfHomClassSInfHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_right sInfHom.cancel_rightₓ'. -/
+theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
-#align Inf_hom.cancel_right InfₛHom.cancel_right
+#align Inf_hom.cancel_right sInfHom.cancel_right
-/- warning: Inf_hom.cancel_left -> InfₛHom.cancel_left is a dubious translation:
+/- warning: Inf_hom.cancel_left -> sInfHom.cancel_left is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : InfₛHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g : sInfHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : sInfHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : sInfHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (sInfHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : InfₛHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_left InfₛHom.cancel_leftₓ'. -/
-theorem cancel_left {g : InfₛHom β γ} {f₁ f₂ : InfₛHom α β} (hg : Injective g) :
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g : sInfHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : sInfHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : sInfHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (sInfHom.instSInfHomClassSInfHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_left sInfHom.cancel_leftₓ'. -/
+theorem cancel_left {g : sInfHom β γ} {f₁ f₂ : sInfHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
-#align Inf_hom.cancel_left InfₛHom.cancel_left
+#align Inf_hom.cancel_left sInfHom.cancel_left
end InfSet
variable [CompleteLattice β]
-instance : PartialOrder (InfₛHom α β) :=
+instance : PartialOrder (sInfHom α β) :=
PartialOrder.lift _ FunLike.coe_injective
-instance : Top (InfₛHom α β) :=
+instance : Top (sInfHom α β) :=
⟨⟨fun _ => ⊤, fun s => by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [Set.image_empty, infₛ_empty]
- · rw [hs.image_const, infₛ_singleton]⟩⟩
+ · rw [Set.image_empty, sInf_empty]
+ · rw [hs.image_const, sInf_singleton]⟩⟩
-instance : OrderTop (InfₛHom α β) :=
+instance : OrderTop (sInfHom α β) :=
⟨⊤, fun f a => le_top⟩
-/- warning: Inf_hom.coe_top -> InfₛHom.coe_top is a dubious translation:
+/- warning: Inf_hom.coe_top -> sInfHom.coe_top is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (InfₛHom.hasTop.{u1, u2} α β _inst_1 _inst_2))) (Top.top.{max u1 u2} (α -> β) (Pi.hasTop.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasTop.{u2} β _inst_2)))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (sInfHom.hasTop.{u1, u2} α β _inst_1 _inst_2))) (Top.top.{max u1 u2} (α -> β) (Pi.hasTop.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasTop.{u2} β _inst_2)))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : CompleteLattice.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2))) (Top.top.{max u2 u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u2, u1} α β _inst_1 _inst_2))) (Top.top.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (Pi.instTopForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toTop.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) i) _inst_2)))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_top InfₛHom.coe_topₓ'. -/
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : CompleteLattice.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2) (sInfHom.instSInfHomClassSInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2))) (Top.top.{max u2 u1} (sInfHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) (sInfHom.instTopSInfHomToInfSet.{u2, u1} α β _inst_1 _inst_2))) (Top.top.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (Pi.instTopForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toTop.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) i) _inst_2)))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_top sInfHom.coe_topₓ'. -/
@[simp]
-theorem coe_top : ⇑(⊤ : InfₛHom α β) = ⊤ :=
+theorem coe_top : ⇑(⊤ : sInfHom α β) = ⊤ :=
rfl
-#align Inf_hom.coe_top InfₛHom.coe_top
+#align Inf_hom.coe_top sInfHom.coe_top
-/- warning: Inf_hom.top_apply -> InfₛHom.top_apply is a dubious translation:
+/- warning: Inf_hom.top_apply -> sInfHom.top_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (InfₛHom.hasTop.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} β (CompleteLattice.toHasTop.{u2} β _inst_2))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (sInfHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (sInfHom.hasTop.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} β (CompleteLattice.toHasTop.{u2} β _inst_2))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (CompleteLattice.toTop.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) _inst_2))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.top_apply InfₛHom.top_applyₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2) (sInfHom.instSInfHomClassSInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2))) (Top.top.{max u1 u2} (sInfHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) (sInfHom.instTopSInfHomToInfSet.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (CompleteLattice.toTop.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) _inst_2))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.top_apply sInfHom.top_applyₓ'. -/
@[simp]
-theorem top_apply (a : α) : (⊤ : InfₛHom α β) a = ⊤ :=
+theorem top_apply (a : α) : (⊤ : sInfHom α β) a = ⊤ :=
rfl
-#align Inf_hom.top_apply InfₛHom.top_apply
+#align Inf_hom.top_apply sInfHom.top_apply
-end InfₛHom
+end sInfHom
/-! ### Frame homomorphisms -/
@@ -796,7 +796,7 @@ instance : FrameHomClass (FrameHom α β) α β
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g
congr
- map_supₛ f := f.map_Sup'
+ map_sSup f := f.map_Sup'
map_inf f := f.map_inf'
map_top f := f.map_top'
@@ -816,7 +816,7 @@ def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : FrameHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfHom.toFun.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (InfTopHom.toInfHom.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (CompleteLattice.toHasTop.{u1} α _inst_1) (CompleteLattice.toHasTop.{u2} β _inst_2) (FrameHom.toInfTopHom.{u1, u2} α β _inst_1 _inst_2 f))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfHom.toFun.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (InfTopHom.toInfHom.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u1} β _inst_2) (FrameHom.toInfTopHom.{u2, u1} α β _inst_1 _inst_2 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfHom.toFun.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (InfTopHom.toInfHom.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u1} β _inst_2) (FrameHom.toInfTopHom.{u2, u1} α β _inst_1 _inst_2 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)
Case conversion may be inaccurate. Consider using '#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
@@ -827,7 +827,7 @@ theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : FrameHom.{u1, u2} α β _inst_1 _inst_2} {g : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2} {g : FrameHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2} {g : FrameHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) f g)
Case conversion may be inaccurate. Consider using '#align frame_hom.ext FrameHom.extₓ'. -/
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -838,19 +838,19 @@ theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (FrameHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (FrameHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (FrameHom.{u1, u2} α β _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align frame_hom.copy FrameHom.copyₓ'. -/
/-- Copy of a `frame_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : FrameHom α β :=
- { (f : SupₛHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
+ { (f : sSupHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
#align frame_hom.copy FrameHom.copy
/- warning: frame_hom.coe_copy -> FrameHom.coe_copy is a dubious translation:
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (FrameHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align frame_hom.coe_copy FrameHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -861,7 +861,7 @@ theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : FrameHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (FrameHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : FrameHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.tosSupHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (FrameHom.{u2, u1} α β _inst_1 _inst_2) (FrameHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
Case conversion may be inaccurate. Consider using '#align frame_hom.copy_eq FrameHom.copy_eqₓ'. -/
theorem copy_eq (f : FrameHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -872,7 +872,7 @@ variable (α)
#print FrameHom.id /-
/-- `id` as a `frame_hom`. -/
protected def id : FrameHom α α :=
- { SupₛHom.id α with toInfTopHom := InfTopHom.id α }
+ { sSupHom.id α with toInfTopHom := InfTopHom.id α }
#align frame_hom.id FrameHom.id
-/
@@ -883,7 +883,7 @@ instance : Inhabited (FrameHom α α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : FrameHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (FrameHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (FrameHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.toSupₛHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.tosSupHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align frame_hom.coe_id FrameHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(FrameHom.id α) = id :=
@@ -896,7 +896,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : FrameHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (FrameHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (FrameHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.toSupₛHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1) (FrameHomClass.tosSupHomClass.{u1, u1, u1} (FrameHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (FrameHom.instFrameHomClassFrameHom.{u1, u1} α α _inst_1 _inst_1))) (FrameHom.id.{u1} α _inst_1) a) a
Case conversion may be inaccurate. Consider using '#align frame_hom.id_apply FrameHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : FrameHom.id α a = a :=
@@ -906,7 +906,7 @@ theorem id_apply (a : α) : FrameHom.id α a = a :=
#print FrameHom.comp /-
/-- Composition of `frame_hom`s as a `frame_hom`. -/
def comp (f : FrameHom β γ) (g : FrameHom α β) : FrameHom α γ :=
- { (f : SupₛHom β γ).comp (g : SupₛHom α β) with toInfTopHom := f.toInfTopHom.comp g.toInfTopHom }
+ { (f : sSupHom β γ).comp (g : sSupHom α β) with toInfTopHom := f.toInfTopHom.comp g.toInfTopHom }
#align frame_hom.comp FrameHom.comp
-/
@@ -914,7 +914,7 @@ def comp (f : FrameHom β γ) (g : FrameHom α β) : FrameHom α γ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : FrameHom.{u2, u3} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : FrameHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (FrameHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.toSupₛHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.toSupₛHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g))
Case conversion may be inaccurate. Consider using '#align frame_hom.coe_comp FrameHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : FrameHom β γ) (g : FrameHom α β) : ⇑(f.comp g) = f ∘ g :=
@@ -925,7 +925,7 @@ theorem coe_comp (f : FrameHom β γ) (g : FrameHom α β) : ⇑(f.comp g) = f
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : FrameHom.{u2, u3} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : FrameHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (FrameHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (SupₛHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.toSupₛHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.toSupₛHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g a))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : FrameHom.{u3, u2} β γ _inst_2 _inst_3) (g : FrameHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => γ) _x) (sSupHomClass.toFunLike.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u1 u2, u1, u2} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u1, u2} α γ _inst_1 _inst_3))) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) g a))
Case conversion may be inaccurate. Consider using '#align frame_hom.comp_apply FrameHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : FrameHom β γ) (g : FrameHom α β) (a : α) : (f.comp g) a = f (g a) :=
@@ -970,7 +970,7 @@ theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g₁ : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {f : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (sSupHomClass.toFunLike.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2) (FrameHomClass.tosSupHomClass.{max u1 u3, u1, u3} (FrameHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align frame_hom.cancel_right FrameHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -981,7 +981,7 @@ theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Sur
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g : FrameHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : FrameHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : FrameHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (FrameHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : FrameHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (FrameHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (FrameHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : FrameHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (SupₛHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.toSupₛHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : FrameHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : FrameHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : FrameHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : β) => γ) _x) (sSupHomClass.toFunLike.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toSupSet.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} γ _inst_3) (FrameHomClass.tosSupHomClass.{max u3 u2, u3, u2} (FrameHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (FrameHom.instFrameHomClassFrameHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (FrameHom.{u1, u2} α γ _inst_1 _inst_3) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (FrameHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (FrameHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align frame_hom.cancel_left FrameHom.cancel_leftₓ'. -/
theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -1004,19 +1004,19 @@ instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β
where
coe f := f.toFun
coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f <;> obtain ⟨⟨_, _⟩, _⟩ := g <;> congr
- map_supₛ f := f.map_Sup'
- map_infₛ f := f.map_Inf'
+ map_sSup f := f.map_Sup'
+ map_sInf f := f.map_Inf'
-/- warning: complete_lattice_hom.to_Sup_hom -> CompleteLatticeHom.toSupₛHom is a dubious translation:
+/- warning: complete_lattice_hom.to_Sup_hom -> CompleteLatticeHom.tosSupHom is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (SupₛHom.{u1, u2} α β (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2)))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} α β (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u2} β (CompleteLattice.toCompleteSemilatticeSup.{u2} β _inst_2)))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (SupₛHom.{u1, u2} α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.toSupₛHomₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β], (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} α β (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} β _inst_2))
+Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.tosSupHomₓ'. -/
/-- Reinterpret a `complete_lattice_hom` as a `Sup_hom`. -/
-def toSupₛHom (f : CompleteLatticeHom α β) : SupₛHom α β :=
+def tosSupHom (f : CompleteLatticeHom α β) : sSupHom α β :=
f
-#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.toSupₛHom
+#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.tosSupHom
#print CompleteLatticeHom.toBoundedLatticeHom /-
/-- Reinterpret a `complete_lattice_hom` as a `bounded_lattice_hom`. -/
@@ -1032,9 +1032,9 @@ instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
/- warning: complete_lattice_hom.to_fun_eq_coe -> CompleteLatticeHom.toFun_eq_coe is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfₛHom.toFun.{u1, u2} α β (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2)) (CompleteLatticeHom.toInfHom.{u1, u2} α β _inst_1 _inst_2 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (sInfHom.toFun.{u1, u2} α β (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2)) (CompleteLatticeHom.toInfHom.{u1, u2} α β _inst_1 _inst_2 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHom.toInfₛHom.{u2, u1} α β _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (sInfHom.toFun.{u2, u1} α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHom.tosInfHom.{u2, u1} α β _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β) :=
@@ -1045,7 +1045,7 @@ theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β)
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) f g)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.ext CompleteLatticeHom.extₓ'. -/
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -1056,20 +1056,20 @@ theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy CompleteLatticeHom.copyₓ'. -/
/-- Copy of a `complete_lattice_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
CompleteLatticeHom α β :=
- { f.toSupₛHom.copy f' h with toInfHom := f.toInfHom.copy f' h }
+ { f.tosSupHom.copy f' h with toInfHom := f.toInfHom.copy f' h }
#align complete_lattice_hom.copy CompleteLatticeHom.copy
/- warning: complete_lattice_hom.coe_copy -> CompleteLatticeHom.coe_copy is a dubious translation:
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -1080,7 +1080,7 @@ theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eqₓ'. -/
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -1091,7 +1091,7 @@ variable (α)
#print CompleteLatticeHom.id /-
/-- `id` as a `complete_lattice_hom`. -/
protected def id : CompleteLatticeHom α α :=
- { SupₛHom.id α, InfₛHom.id α with toFun := id }
+ { sSupHom.id α, sInfHom.id α with toFun := id }
#align complete_lattice_hom.id CompleteLatticeHom.id
-/
@@ -1102,7 +1102,7 @@ instance : Inhabited (CompleteLatticeHom α α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.tosInfHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_id CompleteLatticeHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(CompleteLatticeHom.id α) = id :=
@@ -1115,7 +1115,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.tosInfHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.id_apply CompleteLatticeHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
@@ -1125,7 +1125,7 @@ theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
#print CompleteLatticeHom.comp /-
/-- Composition of `complete_lattice_hom`s as a `complete_lattice_hom`. -/
def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : CompleteLatticeHom α γ :=
- { f.toSupₛHom.comp g.toSupₛHom with toInfHom := f.toInfHom.comp g.toInfHom }
+ { f.tosSupHom.comp g.tosSupHom with toInfHom := f.toInfHom.comp g.toInfHom }
#align complete_lattice_hom.comp CompleteLatticeHom.comp
-/
@@ -1133,7 +1133,7 @@ def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : Complet
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_comp CompleteLatticeHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : ⇑(f.comp g) = f ∘ g :=
@@ -1144,7 +1144,7 @@ theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g a))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (sInfHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g a))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.comp_apply CompleteLatticeHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) (a : α) :
@@ -1190,7 +1190,7 @@ theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g₁ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (sInfHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -1201,7 +1201,7 @@ theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLattice
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (sInfHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.tosInfHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_left CompleteLatticeHom.cancel_leftₓ'. -/
theorem cancel_left {g : CompleteLatticeHom β γ} {f₁ f₂ : CompleteLatticeHom α β}
(hg : Injective g) : g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -1213,135 +1213,135 @@ end CompleteLatticeHom
/-! ### Dual homs -/
-namespace SupₛHom
+namespace sSupHom
variable [SupSet α] [SupSet β] [SupSet γ]
-/- warning: Sup_hom.dual -> SupₛHom.dual is a dubious translation:
+/- warning: Sup_hom.dual -> sSupHom.dual is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual SupₛHom.dualₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} β _inst_2))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.dual sSupHom.dualₓ'. -/
/-- Reinterpret a `⨆`-homomorphism as an `⨅`-homomorphism between the dual orders. -/
@[simps]
-protected def dual : SupₛHom α β ≃ InfₛHom αᵒᵈ βᵒᵈ
+protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
where
toFun f := ⟨toDual ∘ f ∘ ofDual, f.map_Sup'⟩
invFun f := ⟨ofDual ∘ f ∘ toDual, f.map_Inf'⟩
- left_inv f := SupₛHom.ext fun a => rfl
- right_inv f := InfₛHom.ext fun a => rfl
-#align Sup_hom.dual SupₛHom.dual
+ left_inv f := sSupHom.ext fun a => rfl
+ right_inv f := sInfHom.ext fun a => rfl
+#align Sup_hom.dual sSupHom.dual
-/- warning: Sup_hom.dual_id -> SupₛHom.dual_id is a dubious translation:
+/- warning: Sup_hom.dual_id -> sSupHom.dual_id is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) => (SupₛHom.{u1, u1} α α _inst_1 _inst_1) -> (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (SupₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (InfₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) => (sSupHom.{u1, u1} α α _inst_1 _inst_1) -> (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (SupₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (InfₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_id SupₛHom.dual_idₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (sSupHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sSupHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u1} α α _inst_1 _inst_1) => sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sSupHom.{u1, u1} α α _inst_1 _inst_1) (sInfHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (sSupHom.dual.{u1, u1} α α _inst_1 _inst_1) (sSupHom.id.{u1} α _inst_1)) (sInfHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_id sSupHom.dual_idₓ'. -/
@[simp]
-theorem dual_id : (SupₛHom.id α).dual = InfₛHom.id _ :=
+theorem dual_id : (sSupHom.id α).dual = sInfHom.id _ :=
rfl
-#align Sup_hom.dual_id SupₛHom.dual_id
+#align Sup_hom.dual_id sSupHom.dual_id
-/- warning: Sup_hom.dual_comp -> SupₛHom.dual_comp is a dubious translation:
+/- warning: Sup_hom.dual_comp -> sSupHom.dual_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) => (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) -> (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (SupₛHom.dual.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (InfₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) => (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) -> (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (SupₛHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) => (SupₛHom.{u1, u2} α β _inst_1 _inst_2) -> (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (SupₛHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sSupHom.{u2, u3} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u1, u3} α γ _inst_1 _inst_3) -> (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) => (sSupHom.{u2, u3} β γ _inst_2 _inst_3) -> (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) => (sSupHom.{u1, u2} α β _inst_1 _inst_2) -> (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : SupₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_comp SupₛHom.dual_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sSupHom.{u3, u2} β γ _inst_2 _inst_3) (f : sSupHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} α γ _inst_1 _inst_3) => sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u3, u2} β γ _inst_2 _inst_3) => sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sSupHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u3} α β _inst_1 _inst_2) => sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_comp sSupHom.dual_compₓ'. -/
@[simp]
-theorem dual_comp (g : SupₛHom β γ) (f : SupₛHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
+theorem dual_comp (g : sSupHom β γ) (f : sSupHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
-#align Sup_hom.dual_comp SupₛHom.dual_comp
+#align Sup_hom.dual_comp sSupHom.dual_comp
-#print SupₛHom.symm_dual_id /-
+#print sSupHom.symm_dual_id /-
@[simp]
-theorem symm_dual_id : SupₛHom.dual.symm (InfₛHom.id _) = SupₛHom.id α :=
+theorem symm_dual_id : sSupHom.dual.symm (sInfHom.id _) = sSupHom.id α :=
rfl
-#align Sup_hom.symm_dual_id SupₛHom.symm_dual_id
+#align Sup_hom.symm_dual_id sSupHom.symm_dual_id
-/
-/- warning: Sup_hom.symm_dual_comp -> SupₛHom.symm_dual_comp is a dubious translation:
+/- warning: Sup_hom.symm_dual_comp -> sSupHom.symm_dual_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (f : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) => (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) -> (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) g f)) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) => (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) -> (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) => (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) -> (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (f : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) => (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) g f)) (sSupHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) => (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) -> (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} β γ _inst_2 _inst_3) (sInfHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (sSupHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) => (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) -> (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} α β _inst_1 _inst_2) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (sSupHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => SupₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.symm_dual_comp SupₛHom.symm_dual_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sInfHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (sSupHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => sSupHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} β γ _inst_2 _inst_3) (sInfHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (sSupHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => sSupHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} α β _inst_1 _inst_2) (sInfHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (sSupHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.symm_dual_comp sSupHom.symm_dual_compₓ'. -/
@[simp]
-theorem symm_dual_comp (g : InfₛHom βᵒᵈ γᵒᵈ) (f : InfₛHom αᵒᵈ βᵒᵈ) :
- SupₛHom.dual.symm (g.comp f) = (SupₛHom.dual.symm g).comp (SupₛHom.dual.symm f) :=
+theorem symm_dual_comp (g : sInfHom βᵒᵈ γᵒᵈ) (f : sInfHom αᵒᵈ βᵒᵈ) :
+ sSupHom.dual.symm (g.comp f) = (sSupHom.dual.symm g).comp (sSupHom.dual.symm f) :=
rfl
-#align Sup_hom.symm_dual_comp SupₛHom.symm_dual_comp
+#align Sup_hom.symm_dual_comp sSupHom.symm_dual_comp
-end SupₛHom
+end sSupHom
-namespace InfₛHom
+namespace sInfHom
variable [InfSet α] [InfSet β] [InfSet γ]
-/- warning: Inf_hom.dual -> InfₛHom.dual is a dubious translation:
+/- warning: Inf_hom.dual -> sInfHom.dual is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} β _inst_2))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual InfₛHom.dualₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β], Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} β _inst_2))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.dual sInfHom.dualₓ'. -/
/-- Reinterpret an `⨅`-homomorphism as a `⨆`-homomorphism between the dual orders. -/
@[simps]
-protected def dual : InfₛHom α β ≃ SupₛHom αᵒᵈ βᵒᵈ
+protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
where
toFun f :=
{ toFun := toDual ∘ f ∘ ofDual
- map_Sup' := fun _ => congr_arg toDual (map_infₛ f _) }
+ map_Sup' := fun _ => congr_arg toDual (map_sInf f _) }
invFun f :=
{ toFun := ofDual ∘ f ∘ toDual
- map_Inf' := fun _ => congr_arg ofDual (map_supₛ f _) }
- left_inv f := InfₛHom.ext fun a => rfl
- right_inv f := SupₛHom.ext fun a => rfl
-#align Inf_hom.dual InfₛHom.dual
+ map_Inf' := fun _ => congr_arg ofDual (map_sSup f _) }
+ left_inv f := sInfHom.ext fun a => rfl
+ right_inv f := sSupHom.ext fun a => rfl
+#align Inf_hom.dual sInfHom.dual
-/- warning: Inf_hom.dual_id -> InfₛHom.dual_id is a dubious translation:
+/- warning: Inf_hom.dual_id -> sInfHom.dual_id is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) => (InfₛHom.{u1, u1} α α _inst_1 _inst_1) -> (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (InfₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (SupₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) => (sInfHom.{u1, u1} α α _inst_1 _inst_1) -> (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (SupₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_id InfₛHom.dual_idₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (sInfHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : sInfHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u1} α α _inst_1 _inst_1) => sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (sInfHom.{u1, u1} α α _inst_1 _inst_1) (sSupHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (sInfHom.dual.{u1, u1} α α _inst_1 _inst_1) (sInfHom.id.{u1} α _inst_1)) (sSupHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_id sInfHom.dual_idₓ'. -/
@[simp]
-theorem dual_id : (InfₛHom.id α).dual = SupₛHom.id _ :=
+theorem dual_id : (sInfHom.id α).dual = sSupHom.id _ :=
rfl
-#align Inf_hom.dual_id InfₛHom.dual_id
+#align Inf_hom.dual_id sInfHom.dual_id
-/- warning: Inf_hom.dual_comp -> InfₛHom.dual_comp is a dubious translation:
+/- warning: Inf_hom.dual_comp -> sInfHom.dual_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) => (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) -> (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (InfₛHom.dual.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (SupₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) => (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) -> (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (InfₛHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) => (InfₛHom.{u1, u2} α β _inst_1 _inst_2) -> (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (InfₛHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sInfHom.{u2, u3} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u1, u3} α γ _inst_1 _inst_3) -> (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) => (sInfHom.{u2, u3} β γ _inst_2 _inst_3) -> (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) => (sInfHom.{u1, u2} α β _inst_1 _inst_2) -> (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_comp InfₛHom.dual_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sInfHom.{u3, u2} β γ _inst_2 _inst_3) (f : sInfHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u2} α γ _inst_1 _inst_3) => sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u3, u2} β γ _inst_2 _inst_3) => sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : sInfHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sInfHom.{u1, u3} α β _inst_1 _inst_2) => sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_comp sInfHom.dual_compₓ'. -/
@[simp]
-theorem dual_comp (g : InfₛHom β γ) (f : InfₛHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
+theorem dual_comp (g : sInfHom β γ) (f : sInfHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
rfl
-#align Inf_hom.dual_comp InfₛHom.dual_comp
+#align Inf_hom.dual_comp sInfHom.dual_comp
-#print InfₛHom.symm_dual_id /-
+#print sInfHom.symm_dual_id /-
@[simp]
-theorem symm_dual_id : InfₛHom.dual.symm (SupₛHom.id _) = InfₛHom.id α :=
+theorem symm_dual_id : sInfHom.dual.symm (sSupHom.id _) = sInfHom.id α :=
rfl
-#align Inf_hom.symm_dual_id InfₛHom.symm_dual_id
+#align Inf_hom.symm_dual_id sInfHom.symm_dual_id
-/
-/- warning: Inf_hom.symm_dual_comp -> InfₛHom.symm_dual_comp is a dubious translation:
+/- warning: Inf_hom.symm_dual_comp -> sInfHom.symm_dual_comp is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (f : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) => (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) -> (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) g f)) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) => (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) -> (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) => (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (f : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) => (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (sInfHom.{u1, u3} α γ _inst_1 _inst_3) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) g f)) (sInfHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) => (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) -> (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u2, u3} β γ _inst_2 _inst_3) (sSupHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (sInfHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) => (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) -> (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (sInfHom.{u1, u2} α β _inst_1 _inst_2) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (sInfHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => InfₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
-Case conversion may be inaccurate. Consider using '#align Inf_hom.symm_dual_comp InfₛHom.symm_dual_compₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (sInfHom.{u1, u2} α γ _inst_1 _inst_3) (sSupHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (sSupHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (sInfHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => sInfHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (sInfHom.{u3, u2} β γ _inst_2 _inst_3) (sSupHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (sInfHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => sInfHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (sInfHom.{u1, u3} α β _inst_1 _inst_2) (sSupHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (sInfHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+Case conversion may be inaccurate. Consider using '#align Inf_hom.symm_dual_comp sInfHom.symm_dual_compₓ'. -/
@[simp]
-theorem symm_dual_comp (g : SupₛHom βᵒᵈ γᵒᵈ) (f : SupₛHom αᵒᵈ βᵒᵈ) :
- InfₛHom.dual.symm (g.comp f) = (InfₛHom.dual.symm g).comp (InfₛHom.dual.symm f) :=
+theorem symm_dual_comp (g : sSupHom βᵒᵈ γᵒᵈ) (f : sSupHom αᵒᵈ βᵒᵈ) :
+ sInfHom.dual.symm (g.comp f) = (sInfHom.dual.symm g).comp (sInfHom.dual.symm f) :=
rfl
-#align Inf_hom.symm_dual_comp InfₛHom.symm_dual_comp
+#align Inf_hom.symm_dual_comp sInfHom.symm_dual_comp
-end InfₛHom
+end sInfHom
namespace CompleteLatticeHom
@@ -1353,8 +1353,8 @@ lattices. -/
@[simps]
protected def dual : CompleteLatticeHom α β ≃ CompleteLatticeHom αᵒᵈ βᵒᵈ
where
- toFun f := ⟨f.toSupₛHom.dual, f.map_Inf'⟩
- invFun f := ⟨f.toSupₛHom.dual, f.map_Inf'⟩
+ toFun f := ⟨f.tosSupHom.dual, f.map_Inf'⟩
+ invFun f := ⟨f.tosSupHom.dual, f.map_Inf'⟩
left_inv f := ext fun a => rfl
right_inv f := ext fun a => rfl
#align complete_lattice_hom.dual CompleteLatticeHom.dual
@@ -1419,15 +1419,15 @@ See also `Sup_hom.set_image`. -/
def setPreimage (f : α → β) : CompleteLatticeHom (Set β) (Set α)
where
toFun := preimage f
- map_Sup' s := preimage_unionₛ.trans <| by simp only [Set.supₛ_eq_unionₛ, Set.unionₛ_image]
- map_Inf' s := preimage_interₛ.trans <| by simp only [Set.infₛ_eq_interₛ, Set.interₛ_image]
+ map_Sup' s := preimage_sUnion.trans <| by simp only [Set.sSup_eq_sUnion, Set.sUnion_image]
+ map_Inf' s := preimage_sInter.trans <| by simp only [Set.sInf_eq_sInter, Set.sInter_image]
#align complete_lattice_hom.set_preimage CompleteLatticeHom.setPreimage
/- warning: complete_lattice_hom.coe_set_preimage -> CompleteLatticeHom.coe_setPreimage is a dubious translation:
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β), Eq.{max (succ u2) (succ u1)} ((Set.{u2} β) -> (Set.{u1} α)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f)) (Set.preimage.{u1, u2} α β f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : Set.{u1} β), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (fun (_x : Set.{u1} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) _x) (InfₛHomClass.toFunLike.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (CompleteLattice.toInfSet.{u1} (Set.{u1} β) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β))))) (CompleteLattice.toInfSet.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (CompleteLatticeHom.setPreimage.{u2, u1} α β f)) (Set.preimage.{u2, u1} α β f)
+ forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : Set.{u1} β), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (fun (_x : Set.{u1} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) _x) (sInfHomClass.toFunLike.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (CompleteLattice.toInfSet.{u1} (Set.{u1} β) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β))))) (CompleteLattice.toInfSet.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (CompleteLatticeHomClass.tosInfHomClass.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (CompleteLatticeHom.setPreimage.{u2, u1} α β f)) (Set.preimage.{u2, u1} α β f)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_set_preimage CompleteLatticeHom.coe_setPreimageₓ'. -/
@[simp]
theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
@@ -1438,7 +1438,7 @@ theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (fun (_x : Set.{u2} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) _x) (InfₛHomClass.toFunLike.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (CompleteLattice.toInfSet.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β))))) (CompleteLattice.toInfSet.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
+ forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (fun (_x : Set.{u2} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) _x) (sInfHomClass.toFunLike.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (CompleteLattice.toInfSet.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β))))) (CompleteLattice.toInfSet.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHomClass.tosInfHomClass.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage_apply CompleteLatticeHom.setPreimage_applyₓ'. -/
@[simp]
theorem setPreimage_apply (f : α → β) (s : Set β) : setPreimage f s = s.Preimage f :=
@@ -1470,13 +1470,13 @@ theorem setPreimage_comp (g : β → γ) (f : α → β) :
end CompleteLatticeHom
-/- warning: set.image_Sup -> Set.image_supₛ is a dubious translation:
+/- warning: set.image_Sup -> Set.image_sSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} (s : Set.{u1} (Set.{u1} α)), Eq.{succ u2} (Set.{u2} β) (Set.image.{u1, u2} α β f (SupSet.supₛ.{u1} (Set.{u1} α) (Set.hasSup.{u1} α) s)) (SupSet.supₛ.{u2} (Set.{u2} β) (Set.hasSup.{u2} β) (Set.image.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.image.{u1, u2} α β f) s))
+ forall {α : Type.{u1}} {β : Type.{u2}} {f : α -> β} (s : Set.{u1} (Set.{u1} α)), Eq.{succ u2} (Set.{u2} β) (Set.image.{u1, u2} α β f (SupSet.sSup.{u1} (Set.{u1} α) (Set.hasSup.{u1} α) s)) (SupSet.sSup.{u2} (Set.{u2} β) (Set.hasSup.{u2} β) (Set.image.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.image.{u1, u2} α β f) s))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} (s : Set.{u2} (Set.{u2} α)), Eq.{succ u1} (Set.{u1} β) (Set.image.{u2, u1} α β f (SupSet.supₛ.{u2} (Set.{u2} α) (Set.instSupSetSet.{u2} α) s)) (SupSet.supₛ.{u1} (Set.{u1} β) (Set.instSupSetSet.{u1} β) (Set.image.{u2, u1} (Set.{u2} α) (Set.{u1} β) (Set.image.{u2, u1} α β f) s))
-Case conversion may be inaccurate. Consider using '#align set.image_Sup Set.image_supₛₓ'. -/
-theorem Set.image_supₛ {f : α → β} (s : Set (Set α)) : f '' supₛ s = supₛ (image f '' s) :=
+ forall {α : Type.{u2}} {β : Type.{u1}} {f : α -> β} (s : Set.{u2} (Set.{u2} α)), Eq.{succ u1} (Set.{u1} β) (Set.image.{u2, u1} α β f (SupSet.sSup.{u2} (Set.{u2} α) (Set.instSupSetSet.{u2} α) s)) (SupSet.sSup.{u1} (Set.{u1} β) (Set.instSupSetSet.{u1} β) (Set.image.{u2, u1} (Set.{u2} α) (Set.{u1} β) (Set.image.{u2, u1} α β f) s))
+Case conversion may be inaccurate. Consider using '#align set.image_Sup Set.image_sSupₓ'. -/
+theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) :=
by
ext b
simp only [Sup_eq_sUnion, mem_image, mem_sUnion, exists_prop, sUnion_image, mem_Union]
@@ -1485,24 +1485,24 @@ theorem Set.image_supₛ {f : α → β} (s : Set (Set α)) : f '' supₛ s = su
exact ⟨t, ht₁, a, ht₂, rfl⟩
· rintro ⟨t, ht₁, a, ht₂, rfl⟩
exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
-#align set.image_Sup Set.image_supₛ
+#align set.image_Sup Set.image_sSup
-/- warning: Sup_hom.set_image -> SupₛHom.setImage is a dubious translation:
+/- warning: Sup_hom.set_image -> sSupHom.setImage is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (SupₛHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.hasSup.{u1} α) (Set.hasSup.{u2} β))
+ forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (sSupHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.hasSup.{u1} α) (Set.hasSup.{u2} β))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (SupₛHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.instSupSetSet.{u1} α) (Set.instSupSetSet.{u2} β))
-Case conversion may be inaccurate. Consider using '#align Sup_hom.set_image SupₛHom.setImageₓ'. -/
+ forall {α : Type.{u1}} {β : Type.{u2}}, (α -> β) -> (sSupHom.{u1, u2} (Set.{u1} α) (Set.{u2} β) (Set.instSupSetSet.{u1} α) (Set.instSupSetSet.{u2} β))
+Case conversion may be inaccurate. Consider using '#align Sup_hom.set_image sSupHom.setImageₓ'. -/
/-- Using `set.image`, a function between types yields a `Sup_hom` between their lattices of
subsets.
See also `complete_lattice_hom.set_preimage`. -/
@[simps]
-def SupₛHom.setImage (f : α → β) : SupₛHom (Set α) (Set β)
+def sSupHom.setImage (f : α → β) : sSupHom (Set α) (Set β)
where
toFun := image f
- map_Sup' := Set.image_supₛ
-#align Sup_hom.set_image SupₛHom.setImage
+ map_Sup' := Set.image_sSup
+#align Sup_hom.set_image sSupHom.setImage
#print Equiv.toOrderIsoSet /-
/-- An equivalence of types yields an order isomorphism between their lattices of subsets. -/
@@ -1520,49 +1520,49 @@ def Equiv.toOrderIsoSet (e : α ≃ β) : Set α ≃o Set β
variable [CompleteLattice α] (x : α × α)
-/- warning: sup_Sup_hom -> supSupₛHom is a dubious translation:
+/- warning: sup_Sup_hom -> supsSupHom is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align sup_Sup_hom supSupₛHomₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)
+Case conversion may be inaccurate. Consider using '#align sup_Sup_hom supsSupHomₓ'. -/
/-- The map `(a, b) ↦ a ⊔ b` as a `Sup_hom`. -/
-def supSupₛHom : SupₛHom (α × α) α where
+def supsSupHom : sSupHom (α × α) α where
toFun x := x.1 ⊔ x.2
- map_Sup' s := by simp_rw [Prod.fst_supₛ, Prod.snd_supₛ, supₛ_image, supᵢ_sup_eq]
-#align sup_Sup_hom supSupₛHom
+ map_Sup' s := by simp_rw [Prod.fst_sSup, Prod.snd_sSup, sSup_image, iSup_sup_eq]
+#align sup_Sup_hom supsSupHom
-/- warning: inf_Inf_hom -> infInfₛHom is a dubious translation:
+/- warning: inf_Inf_hom -> infsInfHom is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align inf_Inf_hom infInfₛHomₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α], sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)
+Case conversion may be inaccurate. Consider using '#align inf_Inf_hom infsInfHomₓ'. -/
/-- The map `(a, b) ↦ a ⊓ b` as an `Inf_hom`. -/
-def infInfₛHom : InfₛHom (α × α) α where
+def infsInfHom : sInfHom (α × α) α where
toFun x := x.1 ⊓ x.2
- map_Inf' s := by simp_rw [Prod.fst_infₛ, Prod.snd_infₛ, infₛ_image, infᵢ_inf_eq]
-#align inf_Inf_hom infInfₛHom
+ map_Inf' s := by simp_rw [Prod.fst_sInf, Prod.snd_sInf, sInf_image, iInf_inf_eq]
+#align inf_Inf_hom infsInfHom
-/- warning: sup_Sup_hom_apply -> supSupₛHom_apply is a dubious translation:
+/- warning: sup_Sup_hom_apply -> supsSupHom_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (fun (_x : SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (SupₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (fun (_x : sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (sSupHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (supsSupHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1) (SupₛHom.instSupₛHomClassSupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-Case conversion may be inaccurate. Consider using '#align sup_Sup_hom_apply supSupₛHom_applyₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) _x) (sSupHomClass.toFunLike.{u1, u1, u1} (sSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1) (sSupHom.instSSupHomClassSSupHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1))) (supsSupHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+Case conversion may be inaccurate. Consider using '#align sup_Sup_hom_apply supsSupHom_applyₓ'. -/
@[simp, norm_cast]
-theorem supSupₛHom_apply : supSupₛHom x = x.1 ⊔ x.2 :=
+theorem supsSupHom_apply : supsSupHom x = x.1 ⊔ x.2 :=
rfl
-#align sup_Sup_hom_apply supSupₛHom_apply
+#align sup_Sup_hom_apply supsSupHom_apply
-/- warning: inf_Inf_hom_apply -> infInfₛHom_apply is a dubious translation:
+/- warning: inf_Inf_hom_apply -> infsInfHom_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (InfₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (sInfHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infsInfHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
-Case conversion may be inaccurate. Consider using '#align inf_Inf_hom_apply infInfₛHom_applyₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) _x) (sInfHomClass.toFunLike.{u1, u1, u1} (sInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (sInfHom.instSInfHomClassSInfHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infsInfHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+Case conversion may be inaccurate. Consider using '#align inf_Inf_hom_apply infsInfHom_applyₓ'. -/
@[simp, norm_cast]
-theorem infInfₛHom_apply : infInfₛHom x = x.1 ⊓ x.2 :=
+theorem infsInfHom_apply : infsInfHom x = x.1 ⊓ x.2 :=
rfl
-#align inf_Inf_hom_apply infInfₛHom_apply
+#align inf_Inf_hom_apply infsInfHom_apply
mathlib commit https://github.com/leanprover-community/mathlib/commit/8b8ba04e2f326f3f7cf24ad129beda58531ada61
@@ -4,11 +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.hom.complete_lattice
-! leanprover-community/mathlib commit 71b36b6f3bbe3b44e6538673819324d3ee9fcc96
+! leanprover-community/mathlib commit 9d684a893c52e1d6692a504a118bfccbae04feeb
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
-import Mathbin.Order.CompleteLattice
+import Mathbin.Data.Set.Lattice
import Mathbin.Order.Hom.Lattice
/-!
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -182,7 +182,7 @@ theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g :
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasBot.{u2} α _inst_1) (CompleteLattice.toHasBot.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
@@ -198,7 +198,7 @@ instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α]
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))], InfTopHomClass.{u1, u2, u3} F α β (SemilatticeInf.toHasInf.{u2} α (Lattice.toSemilatticeInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasTop.{u2} α _inst_1) (CompleteLattice.toHasTop.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
@@ -214,7 +214,7 @@ instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α]
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : FrameHomClass.{u1, u2, u3} F α β _inst_1 _inst_2], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align frame_hom_class.to_Sup_hom_class FrameHomClass.toSupₛHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) FrameHomClass.toSupₛHomClass [CompleteLattice α] [CompleteLattice β]
@@ -250,7 +250,7 @@ instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [Com
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Sup_hom_class OrderIsoClass.toSupₛHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α] [CompleteLattice β]
@@ -265,7 +265,7 @@ instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α] [
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], InfₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : OrderIsoClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (CompleteSemilatticeInf.toPartialOrder.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (CompleteSemilatticeInf.toPartialOrder.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))))], InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align order_iso_class.to_Inf_hom_class OrderIsoClass.toInfₛHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toInfₛHomClass [CompleteLattice α] [CompleteLattice β]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce11c3c2a285bbe6937e26d9792fda4e51f3fe1a
@@ -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.hom.complete_lattice
-! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
+! leanprover-community/mathlib commit 71b36b6f3bbe3b44e6538673819324d3ee9fcc96
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -26,7 +26,7 @@ be satisfied by itself and all stricter types.
* `Sup_hom`: Maps which preserve `⨆`.
* `Inf_hom`: Maps which preserve `⨅`.
-* `frame_hom`: Frm homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
+* `frame_hom`: Frame homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
* `complete_lattice_hom`: Complete lattice homomorphisms. Maps which preserve `⨆` and `⨅`.
## Typeclasses
@@ -42,7 +42,7 @@ be satisfied by itself and all stricter types.
## TODO
-Frm homs are Heyting homs.
+Frame homs are Heyting homs.
-/
@@ -782,7 +782,7 @@ theorem top_apply (a : α) : (⊤ : InfₛHom α β) a = ⊤ :=
end InfₛHom
-/-! ### Frm homomorphisms -/
+/-! ### Frame homomorphisms -/
namespace FrameHom
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
@@ -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.hom.complete_lattice
-! leanprover-community/mathlib commit 50832daea47b195a48b5b33b1c8b2162c48c3afc
+! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -26,7 +26,7 @@ be satisfied by itself and all stricter types.
* `Sup_hom`: Maps which preserve `⨆`.
* `Inf_hom`: Maps which preserve `⨅`.
-* `frame_hom`: Frame homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
+* `frame_hom`: Frm homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
* `complete_lattice_hom`: Complete lattice homomorphisms. Maps which preserve `⨆` and `⨅`.
## Typeclasses
@@ -42,7 +42,7 @@ be satisfied by itself and all stricter types.
## TODO
-Frame homs are Heyting homs.
+Frm homs are Heyting homs.
-/
@@ -782,7 +782,7 @@ theorem top_apply (a : α) : (⊤ : InfₛHom α β) a = ⊤ :=
end InfₛHom
-/-! ### Frame homomorphisms -/
+/-! ### Frm homomorphisms -/
namespace FrameHom
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -159,7 +159,7 @@ theorem map_supᵢ₂ [SupSet α] [SupSet β] [SupₛHomClass F α β] (f : F) (
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {ι : Sort.{u4}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (infᵢ.{u2, u4} α _inst_1 ι (fun (i : ι) => g i))) (infᵢ.{u3, u4} β _inst_2 ι (fun (i : ι) => coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (g i)))
but is expected to have type
- forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : InfSet.{u4} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfₛHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (infᵢ.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
+ forall {F : Type.{u2}} {α : Type.{u4}} {β : Type.{u3}} {ι : Sort.{u1}} [_inst_1 : InfSet.{u4} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfₛHomClass.{u2, u4, u3} F α β _inst_1 _inst_2] (f : F) (g : ι -> α), Eq.{succ u3} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (infᵢ.{u4, u1} α _inst_1 ι (fun (i : ι) => g i))) (infᵢ.{u3, u1} β _inst_2 ι (fun (i : ι) => FunLike.coe.{succ u2, succ u4, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{u2, u4, u3} F α β _inst_1 _inst_2 _inst_3) f (g i)))
Case conversion may be inaccurate. Consider using '#align map_infi map_infᵢₓ'. -/
theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g : ι → α) :
f (⨅ i, g i) = ⨅ i, f (g i) := by rw [infᵢ, infᵢ, map_Inf, Set.range_comp]
@@ -170,7 +170,7 @@ warning: map_infi₂ -> map_infᵢ is a dubious translation:
lean 3 declaration is
forall {F : Type.{u_1}} {α : Type.{u_2}} {β : Type.{u_3}} {ι : Sort.{u_6}} {κ : ι -> Sort.{u_7}} [_inst_1 : InfSet.{u_2} α] [_inst_2 : InfSet.{u_3} β] [_inst_3 : InfₛHomClass.{u_1, u_2, u_3} F α β _inst_1 _inst_2] (f : F) (g : forall (i : ι), (κ i) -> α), Eq.{succ u_3} β (coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (infᵢ.{u_2, u_6} α _inst_1 ι (fun (i : ι) => infᵢ.{u_2, u_7} α _inst_1 (κ i) (fun (j : κ i) => g i j)))) (infᵢ.{u_3, u_6} β _inst_2 ι (fun (i : ι) => infᵢ.{u_3, u_7} β _inst_2 (κ i) (fun (j : κ i) => coeFn.{succ u_1, max (succ u_2) (succ u_3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u_1, succ u_2, succ u_3} F α (fun (_x : α) => β) (InfₛHomClass.toFunLike.{u_1, u_2, u_3} F α β _inst_1 _inst_2 _inst_3)) f (g i j))))
but is expected to have type
- forall {F : Type.{u_3}} {α : Type.{u_1}} {β : Type.{u_2}} {ι : Sort.{u_4}} [κ : InfSet.{u_1} α] [_inst_1 : InfSet.{u_2} β] [_inst_2 : InfₛHomClass.{u_3, u_1, u_2} F α β κ _inst_1] (_inst_3 : F) (f : ι -> α), Eq.{succ u_2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (infᵢ.{u_2, u_4} β _inst_1 ι (fun (i : ι) => FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (f i)))
+ forall {F : Type.{u_3}} {α : Type.{u_1}} {β : Type.{u_2}} {ι : Sort.{u_4}} [κ : InfSet.{u_1} α] [_inst_1 : InfSet.{u_2} β] [_inst_2 : InfₛHomClass.{u_3, u_1, u_2} F α β κ _inst_1] (_inst_3 : F) (f : ι -> α), Eq.{succ u_2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (infᵢ.{u_1, u_4} α κ ι (fun (i : ι) => f i))) (infᵢ.{u_2, u_4} β _inst_1 ι (fun (i : ι) => FunLike.coe.{succ u_3, succ u_1, succ u_2} F α (fun (a : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (InfₛHomClass.toFunLike.{u_3, u_1, u_2} F α β κ _inst_1 _inst_2) _inst_3 (f i)))
Case conversion may be inaccurate. Consider using '#align map_infi₂ map_infᵢₓ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
@@ -566,7 +566,7 @@ instance : CoeFun (InfₛHom α β) fun _ => α → β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfₛHom.toFun.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)
Case conversion may be inaccurate. Consider using '#align Inf_hom.to_fun_eq_coe InfₛHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : InfₛHom α β} : f.toFun = (f : α → β) :=
@@ -577,7 +577,7 @@ theorem toFun_eq_coe {f : InfₛHom α β} : f.toFun = (f : α → β) :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2} {g : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2} {g : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] {f : InfₛHom.{u2, u1} α β _inst_1 _inst_2} {g : InfₛHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) g a)) -> (Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) f g)
Case conversion may be inaccurate. Consider using '#align Inf_hom.ext InfₛHom.extₓ'. -/
@[ext]
theorem ext {f g : InfₛHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -588,7 +588,7 @@ theorem ext {f g : InfₛHom α β} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 _inst_2)) f)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align Inf_hom.copy InfₛHom.copyₓ'. -/
/-- Copy of a `Inf_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -602,7 +602,7 @@ protected def copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : InfₛH
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_copy InfₛHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -613,7 +613,7 @@ theorem coe_copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.cop
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : InfSet.{u1} β] (f : InfₛHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 _inst_2)) f)), Eq.{max (succ u2) (succ u1)} (InfₛHom.{u2, u1} α β _inst_1 _inst_2) (InfₛHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
Case conversion may be inaccurate. Consider using '#align Inf_hom.copy_eq InfₛHom.copy_eqₓ'. -/
theorem copy_eq (f : InfₛHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -635,7 +635,7 @@ instance : Inhabited (InfₛHom α α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (InfₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_id InfₛHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(InfₛHom.id α) = id :=
@@ -648,7 +648,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (InfₛHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} α α _inst_1 _inst_1)) (InfₛHom.id.{u1} α _inst_1) a) a
Case conversion may be inaccurate. Consider using '#align Inf_hom.id_apply InfₛHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : InfₛHom.id α a = a :=
@@ -668,7 +668,7 @@ def comp (f : InfₛHom β γ) (g : InfₛHom α β) : InfₛHom α γ
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (InfₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g))
Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_comp InfₛHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : InfₛHom β γ) (g : InfₛHom α β) : ⇑(f.comp g) = f ∘ g :=
@@ -679,7 +679,7 @@ theorem coe_comp (f : InfₛHom β γ) (g : InfₛHom α β) : ⇑(f.comp g) = f
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (f : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (InfₛHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g a))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (f : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (g : InfₛHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) g a))
Case conversion may be inaccurate. Consider using '#align Inf_hom.comp_apply InfₛHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : InfₛHom β γ) (g : InfₛHom α β) (a : α) : (f.comp g) a = f (g a) :=
@@ -724,7 +724,7 @@ theorem id_comp (f : InfₛHom α β) : (InfₛHom.id β).comp f = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g₁ : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {f : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g₁ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g₁ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (InfₛHom.instInfₛHomClassInfₛHom.{u1, u3} α β _inst_1 _inst_2)) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_right InfₛHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : InfₛHom β γ} {f : InfₛHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -735,7 +735,7 @@ theorem cancel_right {g₁ g₂ : InfₛHom β γ} {f : InfₛHom α β} (hf : S
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] {g : InfₛHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : InfₛHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : InfₛHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (InfₛHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : InfₛHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] {g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : InfₛHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : InfₛHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (InfₛHom.instInfₛHomClassInfₛHom.{u3, u2} β γ _inst_2 _inst_3)) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align Inf_hom.cancel_left InfₛHom.cancel_leftₓ'. -/
theorem cancel_left {g : InfₛHom β γ} {f₁ f₂ : InfₛHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -762,7 +762,7 @@ instance : OrderTop (InfₛHom α β) :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (InfₛHom.hasTop.{u1, u2} α β _inst_1 _inst_2))) (Top.top.{max u1 u2} (α -> β) (Pi.hasTop.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => CompleteLattice.toHasTop.{u2} β _inst_2)))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : CompleteLattice.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2))) (Top.top.{max u2 u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u2, u1} α β _inst_1 _inst_2))) (Top.top.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) ᾰ) (Pi.instTopForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toTop.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) i) _inst_2)))
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : InfSet.{u2} α] [_inst_2 : CompleteLattice.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2))) (Top.top.{max u2 u1} (InfₛHom.{u2, u1} α β _inst_1 (CompleteLattice.toInfSet.{u1} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u2, u1} α β _inst_1 _inst_2))) (Top.top.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (Pi.instTopForAll.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (fun (i : α) => CompleteLattice.toTop.{u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) i) _inst_2)))
Case conversion may be inaccurate. Consider using '#align Inf_hom.coe_top InfₛHom.coe_topₓ'. -/
@[simp]
theorem coe_top : ⇑(⊤ : InfₛHom α β) = ⊤ :=
@@ -773,7 +773,7 @@ theorem coe_top : ⇑(⊤ : InfₛHom α β) = ⊤ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (fun (_x : InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) => α -> β) (InfₛHom.hasCoeToFun.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2))) (InfₛHom.hasTop.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} β (CompleteLattice.toHasTop.{u2} β _inst_2))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (CompleteLattice.toTop.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) _inst_2))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2))) (Top.top.{max u1 u2} (InfₛHom.{u1, u2} α β _inst_1 (CompleteLattice.toInfSet.{u2} β _inst_2)) (InfₛHom.instTopInfₛHomToInfSet.{u1, u2} α β _inst_1 _inst_2)) a) (Top.top.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (CompleteLattice.toTop.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) _inst_2))
Case conversion may be inaccurate. Consider using '#align Inf_hom.top_apply InfₛHom.top_applyₓ'. -/
@[simp]
theorem top_apply (a : α) : (⊤ : InfₛHom α β) a = ⊤ :=
@@ -1034,7 +1034,7 @@ instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfₛHom.toFun.{u1, u2} α β (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u2} β (CompleteLattice.toCompleteSemilatticeInf.{u2} β _inst_2)) (CompleteLatticeHom.toInfHom.{u1, u2} α β _inst_1 _inst_2 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHom.toInfₛHom.{u2, u1} α β _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfₛHom.toFun.{u2, u1} α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHom.toInfₛHom.{u2, u1} α β _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β) :=
@@ -1045,7 +1045,7 @@ theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = (f : α → β)
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a)) -> (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2} {g : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) g a)) -> (Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) f g)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.ext CompleteLatticeHom.extₓ'. -/
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -1056,7 +1056,7 @@ theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2))) f)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy CompleteLatticeHom.copyₓ'. -/
/-- Copy of a `complete_lattice_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
@@ -1069,7 +1069,7 @@ protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f)
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -1080,7 +1080,7 @@ theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)), Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u1, u2} α β _inst_1 _inst_2 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] (f : CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u1} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u2, u1} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2))) f)), Eq.{max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} α β _inst_1 _inst_2) (CompleteLatticeHom.copy.{u2, u1} α β _inst_1 _inst_2 f f' h) f
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eqₓ'. -/
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -1102,7 +1102,7 @@ instance : Inhabited (CompleteLatticeHom α α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : CompleteLattice.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_id CompleteLatticeHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(CompleteLatticeHom.id α) = id :=
@@ -1115,7 +1115,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) => α -> α) (CompleteLatticeHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLatticeHomClass.toInfₛHomClass.{u1, u1, u1} (CompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1) α α _inst_1 _inst_1 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u1} α α _inst_1 _inst_1))) (CompleteLatticeHom.id.{u1} α _inst_1) a) a
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.id_apply CompleteLatticeHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
@@ -1133,7 +1133,7 @@ def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : Complet
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_comp CompleteLatticeHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : ⇑(f.comp g) = f ∘ g :=
@@ -1144,7 +1144,7 @@ theorem coe_comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (f : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) => α -> γ) (CompleteLatticeHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g a))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (f : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (g : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => γ) _x) (InfₛHomClass.toFunLike.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u1, u2} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) α γ _inst_1 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3))) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) g a))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.comp_apply CompleteLatticeHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) (a : α) :
@@ -1190,7 +1190,7 @@ theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g₁ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (CompleteLatticeHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g₁ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {g₂ : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : α) => β) _x) (InfₛHomClass.toFunLike.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u3, u1, u3} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₁ f) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g₂ f)) (Eq.{max (succ u3) (succ u2)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -1201,7 +1201,7 @@ theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLattice
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] {g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (CompleteLatticeHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] {g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3} {f₁ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2} {f₂ : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : β) => γ) _x) (InfₛHomClass.toFunLike.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ (CompleteLattice.toInfSet.{u3} β _inst_2) (CompleteLattice.toInfSet.{u2} γ _inst_3) (CompleteLatticeHomClass.toInfₛHomClass.{max u3 u2, u3, u2} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₁) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f₂)) (Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.cancel_left CompleteLatticeHom.cancel_leftₓ'. -/
theorem cancel_left {g : CompleteLatticeHom β γ} {f₁ f₂ : CompleteLatticeHom α β}
(hg : Injective g) : g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -1237,7 +1237,7 @@ protected def dual : SupₛHom α β ≃ InfₛHom αᵒᵈ βᵒᵈ
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) => (SupₛHom.{u1, u1} α α _inst_1 _inst_1) -> (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u1} α _inst_1))) (SupₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (InfₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasInf.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (SupₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (InfₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : SupSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) (SupₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u1} α α _inst_1 _inst_1) => InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (SupₛHom.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u1} α _inst_1))) (SupₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.id.{u1} α _inst_1)) (InfₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.infSet.{u1} α _inst_1))
Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_id SupₛHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (SupₛHom.id α).dual = InfₛHom.id _ :=
@@ -1248,7 +1248,7 @@ theorem dual_id : (SupₛHom.id α).dual = InfₛHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (f : SupₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) => (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) -> (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3))) (SupₛHom.dual.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (InfₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) => (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) -> (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3))) (SupₛHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) => (SupₛHom.{u1, u2} α β _inst_1 _inst_2) -> (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2))) (SupₛHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : SupₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : SupₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} α γ _inst_1 _inst_3) => InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u3, u2} β γ _inst_2 _inst_3) => InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3))) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u3} α β _inst_1 _inst_2) => InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2))) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align Sup_hom.dual_comp SupₛHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : SupₛHom β γ) (f : SupₛHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
@@ -1266,7 +1266,7 @@ theorem symm_dual_id : SupₛHom.dual.symm (InfₛHom.id _) = SupₛHom.id α :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u2} β] [_inst_3 : SupSet.{u3} γ] (g : InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (f : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) => (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) -> (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3) g f)) (SupₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) => (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) -> (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} β γ _inst_2 _inst_3) (InfₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasInf.{u2} β _inst_2) (OrderDual.hasInf.{u3} γ _inst_3)) (SupₛHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) => (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) -> (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} α β _inst_1 _inst_2) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasInf.{u1} α _inst_1) (OrderDual.hasInf.{u2} β _inst_2)) (SupₛHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => SupₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : SupSet.{u1} α] [_inst_2 : SupSet.{u3} β] [_inst_3 : SupSet.{u2} γ] (g : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (f : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (InfₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3) g f)) (SupₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (fun (_x : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) => SupₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} β γ _inst_2 _inst_3) (InfₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.infSet.{u3} β _inst_2) (OrderDual.infSet.{u2} γ _inst_3)) (SupₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (fun (_x : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) => SupₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} α β _inst_1 _inst_2) (InfₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.infSet.{u1} α _inst_1) (OrderDual.infSet.{u3} β _inst_2)) (SupₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align Sup_hom.symm_dual_comp SupₛHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : InfₛHom βᵒᵈ γᵒᵈ) (f : InfₛHom αᵒᵈ βᵒᵈ) :
@@ -1304,7 +1304,7 @@ protected def dual : InfₛHom α β ≃ SupₛHom αᵒᵈ βᵒᵈ
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (fun (_x : Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) => (InfₛHom.{u1, u1} α α _inst_1 _inst_1) -> (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (Equiv.hasCoeToFun.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u1} α _inst_1))) (InfₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (SupₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.hasSup.{u1} α _inst_1))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (SupₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
+ forall {α : Type.{u1}} [_inst_1 : InfSet.{u1} α], Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) (InfₛHom.id.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (fun (_x : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u1} α α _inst_1 _inst_1) => SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (InfₛHom.{u1, u1} α α _inst_1 _inst_1) (SupₛHom.{u1, u1} (OrderDual.{u1} α) (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u1} α _inst_1))) (InfₛHom.dual.{u1, u1} α α _inst_1 _inst_1) (InfₛHom.id.{u1} α _inst_1)) (SupₛHom.id.{u1} (OrderDual.{u1} α) (OrderDual.supSet.{u1} α _inst_1))
Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_id InfₛHom.dual_idₓ'. -/
@[simp]
theorem dual_id : (InfₛHom.id α).dual = SupₛHom.id _ :=
@@ -1315,7 +1315,7 @@ theorem dual_id : (InfₛHom.id α).dual = SupₛHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (f : InfₛHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) => (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) -> (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3))) (InfₛHom.dual.{u1, u3} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (SupₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) => (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) -> (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3))) (InfₛHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) => (InfₛHom.{u1, u2} α β _inst_1 _inst_2) -> (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2))) (InfₛHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (f : InfₛHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u2} α γ _inst_1 _inst_3) => SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u3, u2} β γ _inst_2 _inst_3) => SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3))) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : InfₛHom.{u1, u3} α β _inst_1 _inst_2) => SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2))) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align Inf_hom.dual_comp InfₛHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : InfₛHom β γ) (f : InfₛHom α β) : (g.comp f).dual = g.dual.comp f.dual :=
@@ -1333,7 +1333,7 @@ theorem symm_dual_id : InfₛHom.dual.symm (SupₛHom.id _) = InfₛHom.id α :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u2} β] [_inst_3 : InfSet.{u3} γ] (g : SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (f : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) => (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) -> (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (InfₛHom.{u1, u3} α γ _inst_1 _inst_3) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3) g f)) (InfₛHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) => (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) -> (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u2, u3} β γ _inst_2 _inst_3) (SupₛHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.hasSup.{u2} β _inst_2) (OrderDual.hasSup.{u3} γ _inst_3)) (InfₛHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) => (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) -> (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (InfₛHom.{u1, u2} α β _inst_1 _inst_2) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.hasSup.{u1} α _inst_1) (OrderDual.hasSup.{u2} β _inst_2)) (InfₛHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => InfₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : InfSet.{u1} α] [_inst_2 : InfSet.{u3} β] [_inst_3 : InfSet.{u2} γ] (g : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (f : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (InfₛHom.{u1, u2} α γ _inst_1 _inst_3) (SupₛHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (SupₛHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3) g f)) (InfₛHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (fun (_x : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) => InfₛHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (InfₛHom.{u3, u2} β γ _inst_2 _inst_3) (SupₛHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.supSet.{u3} β _inst_2) (OrderDual.supSet.{u2} γ _inst_3)) (InfₛHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (fun (_x : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) => InfₛHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (InfₛHom.{u1, u3} α β _inst_1 _inst_2) (SupₛHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.supSet.{u1} α _inst_1) (OrderDual.supSet.{u3} β _inst_2)) (InfₛHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align Inf_hom.symm_dual_comp InfₛHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : SupₛHom βᵒᵈ γᵒᵈ) (f : SupₛHom αᵒᵈ βᵒᵈ) :
@@ -1371,7 +1371,7 @@ theorem dual_id : (CompleteLatticeHom.id α).dual = CompleteLatticeHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) -> (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) => (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) -> (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3))) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) => (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) -> (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2))) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (f : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (fun (_x : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) => CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (fun (_x : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) => CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3))) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (fun (_x : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) => CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2))) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2) f))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.dual_comp CompleteLatticeHom.dual_compₓ'. -/
@[simp]
theorem dual_comp (g : CompleteLatticeHom β γ) (f : CompleteLatticeHom α β) :
@@ -1391,7 +1391,7 @@ theorem symm_dual_id :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] [_inst_3 : CompleteLattice.{u3} γ] (g : CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (f : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)), Eq.{max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (fun (_x : Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) => (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.hasCoeToFun.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (CompleteLatticeHom.{u1, u3} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u3} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u2, u3} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (coeFn.{max 1 (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) => (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) -> (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.hasCoeToFun.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u2, u3} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u2, u3} (OrderDual.{u2} β) (OrderDual.{u3} γ) (OrderDual.completeLattice.{u2} β _inst_2) (OrderDual.completeLattice.{u3} γ _inst_3)) (CompleteLatticeHom.dual.{u2, u3} β γ _inst_2 _inst_3)) g) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) => (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) -> (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (CompleteLatticeHom.{u1, u2} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} β _inst_2)) (CompleteLatticeHom.dual.{u1, u2} α β _inst_1 _inst_2)) f))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (f : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (fun (_x : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : CompleteLattice.{u2} γ] (g : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (f : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u1, u2} α γ _inst_1 _inst_3) (CompleteLatticeHom.{u1, u2} (OrderDual.{u1} α) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u1, u2} α γ _inst_1 _inst_3)) (CompleteLatticeHom.comp.{u1, u3, u2} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3) g f)) (CompleteLatticeHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (Equiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (fun (_x : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) => CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3)) (Equiv.symm.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (CompleteLatticeHom.{u3, u2} β γ _inst_2 _inst_3) (CompleteLatticeHom.{u3, u2} (OrderDual.{u3} β) (OrderDual.{u2} γ) (OrderDual.completeLattice.{u3} β _inst_2) (OrderDual.completeLattice.{u2} γ _inst_3)) (CompleteLatticeHom.dual.{u3, u2} β γ _inst_2 _inst_3)) g) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (Equiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (fun (_x : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) => CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2)) (Equiv.symm.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (CompleteLatticeHom.{u1, u3} α β _inst_1 _inst_2) (CompleteLatticeHom.{u1, u3} (OrderDual.{u1} α) (OrderDual.{u3} β) (OrderDual.completeLattice.{u1} α _inst_1) (OrderDual.completeLattice.{u3} β _inst_2)) (CompleteLatticeHom.dual.{u1, u3} α β _inst_1 _inst_2)) f))
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.symm_dual_comp CompleteLatticeHom.symm_dual_compₓ'. -/
@[simp]
theorem symm_dual_comp (g : CompleteLatticeHom βᵒᵈ γᵒᵈ) (f : CompleteLatticeHom αᵒᵈ βᵒᵈ) :
@@ -1427,7 +1427,7 @@ def setPreimage (f : α → β) : CompleteLatticeHom (Set β) (Set α)
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β), Eq.{max (succ u2) (succ u1)} ((Set.{u2} β) -> (Set.{u1} α)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f)) (Set.preimage.{u1, u2} α β f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : Set.{u1} β), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Set.{u1} β) => Set.{u2} α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (fun (_x : Set.{u1} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Set.{u1} β) => Set.{u2} α) _x) (InfₛHomClass.toFunLike.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (CompleteLattice.toInfSet.{u1} (Set.{u1} β) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β))))) (CompleteLattice.toInfSet.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (CompleteLatticeHom.setPreimage.{u2, u1} α β f)) (Set.preimage.{u2, u1} α β f)
+ forall {α : Type.{u2}} {β : Type.{u1}} (f : α -> β), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : Set.{u1} β), (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (fun (_x : Set.{u1} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u1} β) => Set.{u2} α) _x) (InfₛHomClass.toFunLike.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (CompleteLattice.toInfSet.{u1} (Set.{u1} β) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β))))) (CompleteLattice.toInfSet.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u2 u1, u1, u2} (CompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))) (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u1, u2} (Set.{u1} β) (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} β) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} β) (Set.instCompleteBooleanAlgebraSet.{u1} β)))) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (CompleteLatticeHom.setPreimage.{u2, u1} α β f)) (Set.preimage.{u2, u1} α β f)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.coe_set_preimage CompleteLatticeHom.coe_setPreimageₓ'. -/
@[simp]
theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
@@ -1438,7 +1438,7 @@ theorem coe_setPreimage (f : α → β) : ⇑(setPreimage f) = preimage f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} (Set.{u1} α) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (fun (_x : CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) => (Set.{u2} β) -> (Set.{u1} α)) (CompleteLatticeHom.hasCoeToFun.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.completeBooleanAlgebra.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Set.{u2} β) => Set.{u1} α) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (fun (_x : Set.{u2} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Set.{u2} β) => Set.{u1} α) _x) (InfₛHomClass.toFunLike.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (CompleteLattice.toInfSet.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β))))) (CompleteLattice.toInfSet.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
+ forall {α : Type.{u1}} {β : Type.{u2}} (f : α -> β) (s : Set.{u2} β), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (fun (_x : Set.{u2} β) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Set.{u2} β) => Set.{u1} α) _x) (InfₛHomClass.toFunLike.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (CompleteLattice.toInfSet.{u2} (Set.{u2} β) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β))))) (CompleteLattice.toInfSet.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (CompleteLatticeHomClass.toInfₛHomClass.{max u1 u2, u2, u1} (CompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))) (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α)))) (CompleteLatticeHom.instCompleteLatticeHomClassCompleteLatticeHom.{u2, u1} (Set.{u2} β) (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} β) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} β) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} β) (Set.instCompleteBooleanAlgebraSet.{u2} β)))) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (CompleteLatticeHom.setPreimage.{u1, u2} α β f) s) (Set.preimage.{u1, u2} α β f s)
Case conversion may be inaccurate. Consider using '#align complete_lattice_hom.set_preimage_apply CompleteLatticeHom.setPreimage_applyₓ'. -/
@[simp]
theorem setPreimage_apply (f : α → β) (s : Set β) : setPreimage f s = s.Preimage f :=
@@ -1559,7 +1559,7 @@ theorem supSupₛHom_apply : supSupₛHom x = x.1 ⊔ x.2 :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (InfₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.374 : Prod.{u1, u1} α α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
Case conversion may be inaccurate. Consider using '#align inf_Inf_hom_apply infInfₛHom_applyₓ'. -/
@[simp, norm_cast]
theorem infInfₛHom_apply : infInfₛHom x = x.1 ⊓ x.2 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -182,7 +182,7 @@ theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g :
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeSup.toHasSup.{u2} α (CompleteLattice.toCompleteSemilatticeSup.{u2} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u3} β (CompleteLattice.toCompleteSemilatticeSup.{u3} β _inst_2))], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasBot.{u2} α _inst_1) (CompleteLattice.toHasBot.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toHasSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : SupₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u3} β _inst_2)], SupBotHomClass.{u1, u2, u3} F α β (SemilatticeSup.toSup.{u2} α (Lattice.toSemilatticeSup.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeSup.toSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toBot.{u2} α _inst_1) (CompleteLattice.toBot.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α] [CompleteLattice β]
@@ -198,7 +198,7 @@ instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α]
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u3} β] [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteSemilatticeInf.toHasInf.{u2} α (CompleteLattice.toCompleteSemilatticeInf.{u2} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u3} β (CompleteLattice.toCompleteSemilatticeInf.{u3} β _inst_2))], InfTopHomClass.{u1, u2, u3} F α β (SemilatticeInf.toHasInf.{u2} α (Lattice.toSemilatticeInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1))) (SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2))) (CompleteLattice.toHasTop.{u2} α _inst_1) (CompleteLattice.toHasTop.{u3} β _inst_2)
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toHasInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toHasInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : CompleteLattice.{u2} α} {_inst_2 : CompleteLattice.{u3} β} [_inst_3 : InfₛHomClass.{u1, u2, u3} F α β (CompleteLattice.toInfSet.{u2} α _inst_1) (CompleteLattice.toInfSet.{u3} β _inst_2)], InfTopHomClass.{u1, u2, u3} F α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u3} β (CompleteLattice.toLattice.{u3} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u3} β _inst_2)
Case conversion may be inaccurate. Consider using '#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α] [CompleteLattice β]
@@ -816,7 +816,7 @@ def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : CompleteLattice.{u1} α] [_inst_2 : CompleteLattice.{u2} β] {f : FrameHom.{u1, u2} α β _inst_1 _inst_2}, Eq.{max (succ u1) (succ u2)} (α -> β) (InfHom.toFun.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (InfTopHom.toInfHom.{u1, u2} α β (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (SemilatticeInf.toHasInf.{u2} β (Lattice.toSemilatticeInf.{u2} β (CompleteLattice.toLattice.{u2} β _inst_2))) (CompleteLattice.toHasTop.{u1} α _inst_1) (CompleteLattice.toHasTop.{u2} β _inst_2) (FrameHom.toInfTopHom.{u1, u2} α β _inst_1 _inst_2 f))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (FrameHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : FrameHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (FrameHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfHom.toFun.{u2, u1} α β (Lattice.toHasInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toHasInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (InfTopHom.toInfHom.{u2, u1} α β (Lattice.toHasInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toHasInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u1} β _inst_2) (FrameHom.toInfTopHom.{u2, u1} α β _inst_1 _inst_2 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : CompleteLattice.{u2} α] [_inst_2 : CompleteLattice.{u1} β] {f : FrameHom.{u2, u1} α β _inst_1 _inst_2}, Eq.{max (succ u2) (succ u1)} (α -> β) (InfHom.toFun.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (InfTopHom.toInfHom.{u2, u1} α β (Lattice.toInf.{u2} α (CompleteLattice.toLattice.{u2} α _inst_1)) (Lattice.toInf.{u1} β (CompleteLattice.toLattice.{u1} β _inst_2)) (CompleteLattice.toTop.{u2} α _inst_1) (CompleteLattice.toTop.{u1} β _inst_2) (FrameHom.toInfTopHom.{u2, u1} α β _inst_1 _inst_2 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : α) => β) _x) (SupₛHomClass.toFunLike.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β (CompleteLattice.toSupSet.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} β _inst_2) (FrameHomClass.toSupₛHomClass.{max u2 u1, u2, u1} (FrameHom.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (FrameHom.instFrameHomClassFrameHom.{u2, u1} α β _inst_1 _inst_2))) f)
Case conversion may be inaccurate. Consider using '#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = (f : α → β) :=
@@ -1546,9 +1546,9 @@ def infInfₛHom : InfₛHom (α × α) α where
/- warning: sup_Sup_hom_apply -> supSupₛHom_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (fun (_x : SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (SupₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (HasSup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (fun (_x : SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (SupₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasSup.{u1, u1} α α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1) (SupₛHom.instSupₛHomClassSupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (HasSup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : Prod.{u1, u1} α α) => α) _x) (SupₛHomClass.toFunLike.{u1, u1, u1} (SupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1) (SupₛHom.instSupₛHomClassSupₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.supSet.{u1, u1} α α (CompleteLattice.toSupSet.{u1} α _inst_1) (CompleteLattice.toSupSet.{u1} α _inst_1)) (CompleteLattice.toSupSet.{u1} α _inst_1))) (supSupₛHom.{u1} α _inst_1) x) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α (Lattice.toSemilatticeSup.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
Case conversion may be inaccurate. Consider using '#align sup_Sup_hom_apply supSupₛHom_applyₓ'. -/
@[simp, norm_cast]
theorem supSupₛHom_apply : supSupₛHom x = x.1 ⊔ x.2 :=
@@ -1557,9 +1557,9 @@ theorem supSupₛHom_apply : supSupₛHom x = x.1 ⊔ x.2 :=
/- warning: inf_Inf_hom_apply -> infInfₛHom_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (InfₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (HasInf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (fun (_x : InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) => (Prod.{u1, u1} α α) -> α) (InfₛHom.hasCoeToFun.{u1, u1} (Prod.{u1, u1} α α) α (Prod.hasInf.{u1, u1} α α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α (Lattice.toSemilatticeInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1))) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (HasInf.inf.{u1} α (Lattice.toHasInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] (x : Prod.{u1, u1} α α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) x) (FunLike.coe.{succ u1, succ u1, succ u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) (fun (_x : Prod.{u1, u1} α α) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.372 : Prod.{u1, u1} α α) => α) _x) (InfₛHomClass.toFunLike.{u1, u1, u1} (InfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1)) (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1) (InfₛHom.instInfₛHomClassInfₛHom.{u1, u1} (Prod.{u1, u1} α α) α (Prod.infSet.{u1, u1} α α (CompleteLattice.toInfSet.{u1} α _inst_1) (CompleteLattice.toInfSet.{u1} α _inst_1)) (CompleteLattice.toInfSet.{u1} α _inst_1))) (infInfₛHom.{u1} α _inst_1) x) (Inf.inf.{u1} α (Lattice.toInf.{u1} α (CompleteLattice.toLattice.{u1} α _inst_1)) (Prod.fst.{u1, u1} α α x) (Prod.snd.{u1, u1} α α x))
Case conversion may be inaccurate. Consider using '#align inf_Inf_hom_apply infInfₛHom_applyₓ'. -/
@[simp, norm_cast]
theorem infInfₛHom_apply : infInfₛHom x = x.1 ⊓ x.2 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -151,9 +151,7 @@ instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α]
rw [← sSup_pair, map_sSup]
simp only [Set.image_pair, sSup_insert, sSup_singleton]
map_bot := fun f => by
- rw [← sSup_empty, map_sSup, Set.image_empty]
- -- Porting note: rw [sSup_empty] does not work, but exact sSup_empty does?
- exact sSup_empty }
+ rw [← sSup_empty, map_sSup, Set.image_empty, sSup_empty] }
#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
-- See note [lower instance priority]
@@ -164,9 +162,7 @@ instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α]
rw [← sInf_pair, map_sInf, Set.image_pair]
simp only [Set.image_pair, sInf_insert, sInf_singleton]
map_top := fun f => by
- rw [← sInf_empty, map_sInf, Set.image_empty]
- -- Porting note: rw [sInf_empty] does not work, but exact sInf_empty does?
- exact sInf_empty }
+ rw [← sInf_empty, map_sInf, Set.image_empty, sInf_empty] }
#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
-- See note [lower instance priority]
@@ -967,8 +967,8 @@ def Equiv.toOrderIsoSet (e : α ≃ β) : Set α ≃o Set β
where
toFun s := e '' s
invFun s := e.symm '' s
- left_inv s := by simp only [← image_comp, Equiv.symm_comp_self, id.def, image_id']
- right_inv s := by simp only [← image_comp, Equiv.self_comp_symm, id.def, image_id']
+ left_inv s := by simp only [← image_comp, Equiv.symm_comp_self, id, image_id']
+ right_inv s := by simp only [← image_comp, Equiv.self_comp_symm, id, image_id']
map_rel_iff' :=
⟨fun h => by simpa using @monotone_image _ _ e.symm _ _ h, fun h => monotone_image h⟩
#align equiv.to_order_iso_set Equiv.toOrderIsoSet
This adds conjugation of order homomorphisms & closure operators by order isos, as well as two new extensionality lemmas for closure operators, a proof that the inf of a closed family is closed, and that the closure of an element is the GLB of all closed elements larger than it. There is also includes some minor refactoring, moving Set.image_sSup
from Mathlib/Order/Hom/CompleteLattice
to Mathlib/Data/Set/Lattice
and adding some common lemmas for EquivLike
-things to OrderIso
.
@@ -946,14 +946,8 @@ theorem setPreimage_comp (g : β → γ) (f : α → β) :
end CompleteLatticeHom
-theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) := by
- ext b
- simp only [sSup_eq_sUnion, mem_image, mem_sUnion, exists_prop, sUnion_image, mem_iUnion]
- constructor
- · rintro ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
- exact ⟨t, ht₁, a, ht₂, rfl⟩
- · rintro ⟨t, ht₁, a, ht₂, rfl⟩
- exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
+theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) :=
+ Set.image_sUnion
#align set.image_Sup Set.image_sSup
/-- Using `Set.image`, a function between types yields a `sSupHom` between their lattices of
ball
and bex
from lemma names (#10816)
ball
for "bounded forall" and bex
for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem
and exists_mem
in the few Set
lemma names that mention them.
Also deprecate ball_image_of_ball
, mem_image_elim
, mem_image_elim_on
since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image
semi-implicit), have obscure names and are completely unused.
@@ -205,7 +205,7 @@ instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α]
{ show OrderHomClass F α β from inferInstance with
map_sSup := fun f s =>
eq_of_forall_ge_iff fun c => by
- simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
+ simp only [← le_map_inv_iff, sSup_le_iff, Set.forall_mem_image] }
#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
-- See note [lower instance priority]
@@ -214,7 +214,7 @@ instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α]
{ show OrderHomClass F α β from inferInstance with
map_sInf := fun f s =>
eq_of_forall_le_iff fun c => by
- simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
+ simp only [← map_inv_le_iff, le_sInf_iff, Set.forall_mem_image] }
#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
-- See note [lower instance priority]
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -83,8 +83,7 @@ section
/-- `sSupHomClass F α β` states that `F` is a type of `⨆`-preserving morphisms.
You should extend this class when you extend `sSupHom`. -/
-class sSupHomClass (F : Type*) (α β : outParam <| Type*) [SupSet α] [SupSet β] extends
- DFunLike F α fun _ => β where
+class sSupHomClass (F α β : Type*) [SupSet α] [SupSet β] [FunLike F α β] : Prop where
/-- The proposition that members of `sSupHomClass`s commute with arbitrary suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align Sup_hom_class sSupHomClass
@@ -92,8 +91,7 @@ class sSupHomClass (F : Type*) (α β : outParam <| Type*) [SupSet α] [SupSet
/-- `sInfHomClass F α β` states that `F` is a type of `⨅`-preserving morphisms.
You should extend this class when you extend `sInfHom`. -/
-class sInfHomClass (F : Type*) (α β : outParam <| Type*) [InfSet α] [InfSet β] extends
- DFunLike F α fun _ => β where
+class sInfHomClass (F α β : Type*) [InfSet α] [InfSet β] [FunLike F α β] : Prop where
/-- The proposition that members of `sInfHomClass`s commute with arbitrary infima/meets. -/
map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
#align Inf_hom_class sInfHomClass
@@ -101,8 +99,8 @@ class sInfHomClass (F : Type*) (α β : outParam <| Type*) [InfSet α] [InfSet
/-- `FrameHomClass F α β` states that `F` is a type of frame morphisms. They preserve `⊓` and `⨆`.
You should extend this class when you extend `FrameHom`. -/
-class FrameHomClass (F : Type*) (α β : outParam <| Type*) [CompleteLattice α]
- [CompleteLattice β] extends InfTopHomClass F α β where
+class FrameHomClass (F α β : Type*) [CompleteLattice α] [CompleteLattice β] [FunLike F α β]
+ extends InfTopHomClass F α β : Prop where
/-- The proposition that members of `FrameHomClass` commute with arbitrary suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align frame_hom_class FrameHomClass
@@ -110,8 +108,8 @@ class FrameHomClass (F : Type*) (α β : outParam <| Type*) [CompleteLattice α]
/-- `CompleteLatticeHomClass F α β` states that `F` is a type of complete lattice morphisms.
You should extend this class when you extend `CompleteLatticeHom`. -/
-class CompleteLatticeHomClass (F : Type*) (α β : outParam <| Type*) [CompleteLattice α]
- [CompleteLattice β] extends sInfHomClass F α β where
+class CompleteLatticeHomClass (F α β : Type*) [CompleteLattice α] [CompleteLattice β]
+ [FunLike F α β] extends sInfHomClass F α β : Prop where
/-- The proposition that members of `CompleteLatticeHomClass` commute with arbitrary
suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
@@ -125,6 +123,10 @@ export sInfHomClass (map_sInf)
attribute [simp] map_sSup map_sInf
+section Hom
+
+variable [FunLike F α β]
+
@[simp] theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
f (⨆ i, g i) = ⨆ i, f (g i) := by simp [iSup, ← Set.range_comp, Function.comp]
#align map_supr map_iSup
@@ -191,6 +193,12 @@ instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [Com
{ sSupHomClass.toSupBotHomClass, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
+end Hom
+
+section Equiv
+
+variable [EquivLike F α β]
+
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : sSupHomClass F α β :=
@@ -218,6 +226,10 @@ instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLatt
{ OrderIsoClass.tosSupHomClass, OrderIsoClass.tosInfHomClass with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
+end Equiv
+
+variable [FunLike F α β]
+
/-- Reinterpret an order isomorphism as a morphism of complete lattices. -/
@[simps] def OrderIso.toCompleteLatticeHom [CompleteLattice α] [CompleteLattice β]
(f : OrderIso α β) : CompleteLatticeHom α β where
@@ -249,17 +261,12 @@ section SupSet
variable [SupSet β] [SupSet γ] [SupSet δ]
-instance : sSupHomClass (sSupHom α β) α β
- where
+instance : FunLike (sSupHom α β) α β where
coe := sSupHom.toFun
coe_injective' f g h := by cases f; cases g; congr
- map_sSup := sSupHom.map_sSup'
--- Porting note: We do not want CoeFun for this in lean 4
--- /-- Helper instance for when there's too many metavariables to apply `DFunLike.hasCoeToFun`
--- directly. -/
--- instance : CoeFun (sSupHom α β) fun _ => α → β :=
--- DFunLike.hasCoeToFun
+instance : sSupHomClass (sSupHom α β) α β where
+ map_sSup := sSupHom.map_sSup'
@[simp] lemma toFun_eq_coe (f : sSupHom α β) : f.toFun = f := rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
@@ -395,17 +402,12 @@ section InfSet
variable [InfSet β] [InfSet γ] [InfSet δ]
-instance : sInfHomClass (sInfHom α β) α β
- where
+instance : FunLike (sInfHom α β) α β where
coe := sInfHom.toFun
coe_injective' f g h := by cases f; cases g; congr
- map_sInf := sInfHom.map_sInf'
--- Porting note: Do not want these CoeFun instances in lean4
--- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
--- directly. -/
--- instance : CoeFun (sInfHom α β) fun _ => α → β :=
--- DFunLike.hasCoeToFun
+instance : sInfHomClass (sInfHom α β) α β where
+ map_sInf := sInfHom.map_sInf'
@[simp] lemma toFun_eq_coe (f : sInfHom α β) : f.toFun = f := rfl
#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
@@ -537,23 +539,20 @@ namespace FrameHom
variable [CompleteLattice α] [CompleteLattice β] [CompleteLattice γ] [CompleteLattice δ]
-instance : FrameHomClass (FrameHom α β) α β
+instance : FunLike (FrameHom α β) α β
where
coe f := f.toFun
coe_injective' f g h := by
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g
congr
+
+instance : FrameHomClass (FrameHom α β) α β
+ where
map_sSup f := f.map_sSup'
map_inf f := f.map_inf'
map_top f := f.map_top'
--- Porting note: We do not want CoeFun for this in lean 4
--- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
--- directly. -/
--- instance : CoeFun (FrameHom α β) fun _ => α → β :=
--- DFunLike.hasCoeToFun
-
/-- Reinterpret a `FrameHom` as a `LatticeHom`. -/
def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
f
@@ -659,15 +658,15 @@ end FrameHom
/-! ### Complete lattice homomorphisms -/
-
namespace CompleteLatticeHom
variable [CompleteLattice α] [CompleteLattice β] [CompleteLattice γ] [CompleteLattice δ]
-instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β
- where
+instance : FunLike (CompleteLatticeHom α β) α β where
coe f := f.toFun
coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
+
+instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β where
map_sSup f := f.map_sSup'
map_sInf f := f.map_sInf'
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>
@@ -13,7 +13,7 @@ import Mathlib.Order.Hom.Lattice
This file defines frame homomorphisms and complete lattice homomorphisms.
-We use the `FunLike` design, so each type of morphisms has a companion typeclass which is meant to
+We use the `DFunLike` design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
## Types of morphisms
@@ -84,7 +84,7 @@ section
You should extend this class when you extend `sSupHom`. -/
class sSupHomClass (F : Type*) (α β : outParam <| Type*) [SupSet α] [SupSet β] extends
- FunLike F α fun _ => β where
+ DFunLike F α fun _ => β where
/-- The proposition that members of `sSupHomClass`s commute with arbitrary suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align Sup_hom_class sSupHomClass
@@ -93,7 +93,7 @@ class sSupHomClass (F : Type*) (α β : outParam <| Type*) [SupSet α] [SupSet
You should extend this class when you extend `sInfHom`. -/
class sInfHomClass (F : Type*) (α β : outParam <| Type*) [InfSet α] [InfSet β] extends
- FunLike F α fun _ => β where
+ DFunLike F α fun _ => β where
/-- The proposition that members of `sInfHomClass`s commute with arbitrary infima/meets. -/
map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
#align Inf_hom_class sInfHomClass
@@ -256,10 +256,10 @@ instance : sSupHomClass (sSupHom α β) α β
map_sSup := sSupHom.map_sSup'
-- Porting note: We do not want CoeFun for this in lean 4
--- /-- Helper instance for when there's too many metavariables to apply `funLike.has_coe_toFun`
+-- /-- Helper instance for when there's too many metavariables to apply `DFunLike.hasCoeToFun`
-- directly. -/
-- instance : CoeFun (sSupHom α β) fun _ => α → β :=
--- FunLike.hasCoeToFun
+-- DFunLike.hasCoeToFun
@[simp] lemma toFun_eq_coe (f : sSupHom α β) : f.toFun = f := rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
@@ -268,7 +268,7 @@ instance : sSupHomClass (sSupHom α β) α β
@[ext]
theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align Sup_hom.ext sSupHom.ext
/-- Copy of a `sSupHom` with a new `toFun` equal to the old one. Useful to fix definitional
@@ -285,7 +285,7 @@ theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#align Sup_hom.coe_copy sSupHom.coe_copy
theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align Sup_hom.copy_eq sSupHom.copy_eq
variable (α)
@@ -346,7 +346,7 @@ theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
@[simp]
theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align Sup_hom.cancel_right sSupHom.cancel_right
@[simp]
@@ -360,7 +360,7 @@ end SupSet
variable { _ : CompleteLattice β}
instance : PartialOrder (sSupHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
instance : Bot (sSupHom α β) :=
⟨⟨fun _ => ⊥, fun s => by
@@ -405,7 +405,7 @@ instance : sInfHomClass (sInfHom α β) α β
-- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
-- directly. -/
-- instance : CoeFun (sInfHom α β) fun _ => α → β :=
--- FunLike.hasCoeToFun
+-- DFunLike.hasCoeToFun
@[simp] lemma toFun_eq_coe (f : sInfHom α β) : f.toFun = f := rfl
#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
@@ -414,7 +414,7 @@ instance : sInfHomClass (sInfHom α β) α β
@[ext]
theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align Inf_hom.ext sInfHom.ext
/-- Copy of a `sInfHom` with a new `toFun` equal to the old one. Useful to fix definitional
@@ -431,7 +431,7 @@ theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#align Inf_hom.coe_copy sInfHom.coe_copy
theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align Inf_hom.copy_eq sInfHom.copy_eq
variable (α)
@@ -492,7 +492,7 @@ theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
@[simp]
theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align Inf_hom.cancel_right sInfHom.cancel_right
@[simp]
@@ -506,7 +506,7 @@ end InfSet
variable [CompleteLattice β]
instance : PartialOrder (sInfHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
instance : Top (sInfHom α β) :=
⟨⟨fun _ => ⊤, fun s => by
@@ -552,7 +552,7 @@ instance : FrameHomClass (FrameHom α β) α β
-- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
-- directly. -/
-- instance : CoeFun (FrameHom α β) fun _ => α → β :=
--- FunLike.hasCoeToFun
+-- DFunLike.hasCoeToFun
/-- Reinterpret a `FrameHom` as a `LatticeHom`. -/
def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
@@ -568,7 +568,7 @@ lemma toFun_eq_coe (f : FrameHom α β) : f.toFun = f := rfl
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align frame_hom.ext FrameHom.ext
/-- Copy of a `FrameHom` with a new `toFun` equal to the old one. Useful to fix definitional
@@ -583,7 +583,7 @@ theorem coe_copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy
#align frame_hom.coe_copy FrameHom.coe_copy
theorem copy_eq (f : FrameHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align frame_hom.copy_eq FrameHom.copy_eq
variable (α)
@@ -643,7 +643,7 @@ theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
@[simp]
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align frame_hom.cancel_right FrameHom.cancel_right
@[simp]
@@ -653,7 +653,7 @@ theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Inje
#align frame_hom.cancel_left FrameHom.cancel_left
instance : PartialOrder (FrameHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
end FrameHom
@@ -685,7 +685,7 @@ def toBoundedLatticeHom (f : CompleteLatticeHom α β) : BoundedLatticeHom α β
-- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
-- directly. -/
-- instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
--- FunLike.hasCoeToFun
+-- DFunLike.hasCoeToFun
lemma toFun_eq_coe (f : CompleteLatticeHom α β) : f.toFun = f := rfl
#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coe
@@ -698,7 +698,7 @@ rfl
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align complete_lattice_hom.ext CompleteLatticeHom.ext
/-- Copy of a `CompleteLatticeHom` with a new `toFun` equal to the old one. Useful to fix
@@ -714,7 +714,7 @@ theorem coe_copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
#align complete_lattice_hom.coe_copy CompleteLatticeHom.coe_copy
theorem copy_eq (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align complete_lattice_hom.copy_eq CompleteLatticeHom.copy_eq
variable (α)
@@ -773,7 +773,7 @@ theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp
@[simp]
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_right
@[simp]
@@ -218,6 +218,13 @@ instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLatt
{ OrderIsoClass.tosSupHomClass, OrderIsoClass.tosInfHomClass with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
+/-- Reinterpret an order isomorphism as a morphism of complete lattices. -/
+@[simps] def OrderIso.toCompleteLatticeHom [CompleteLattice α] [CompleteLattice β]
+ (f : OrderIso α β) : CompleteLatticeHom α β where
+ toFun := f
+ map_sInf' := sInfHomClass.map_sInf f
+ map_sSup' := sSupHomClass.map_sSup f
+
instance [SupSet α] [SupSet β] [sSupHomClass F α β] : CoeTC F (sSupHom α β) :=
⟨fun f => ⟨f, map_sSup f⟩⟩
related lemmas for sInf etc are simp
@@ -125,7 +125,7 @@ export sInfHomClass (map_sInf)
attribute [simp] map_sSup map_sInf
-theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
+@[simp] theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
f (⨆ i, g i) = ⨆ i, f (g i) := by simp [iSup, ← Set.range_comp, Function.comp]
#align map_supr map_iSup
@@ -133,7 +133,7 @@ theorem map_iSup₂ [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g :
f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_iSup]
#align map_supr₂ map_iSup₂
-theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
+@[simp] theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
f (⨅ i, g i) = ⨅ i, f (g i) := by simp [iInf, ← Set.range_comp, Function.comp]
#align map_infi map_iInf
These are a number of small fixes of coercions of lattices and complete lattices, made by Yaël Dillies in the context of a larger refactor of the branch frametopadjunction
.
Co-authored by: Yaël Dillies
@@ -254,12 +254,11 @@ instance : sSupHomClass (sSupHom α β) α β
-- instance : CoeFun (sSupHom α β) fun _ => α → β :=
-- FunLike.hasCoeToFun
--- Porting note: times out
-@[simp]
-theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = ⇑f :=
- rfl
+@[simp] lemma toFun_eq_coe (f : sSupHom α β) : f.toFun = f := rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
+@[simp, norm_cast] lemma coe_mk (f : α → β) (hf) : ⇑(mk f hf) = f := rfl
+
@[ext]
theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
@@ -401,11 +400,11 @@ instance : sInfHomClass (sInfHom α β) α β
-- instance : CoeFun (sInfHom α β) fun _ => α → β :=
-- FunLike.hasCoeToFun
-@[simp]
-theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = ⇑f :=
- rfl
+@[simp] lemma toFun_eq_coe (f : sInfHom α β) : f.toFun = f := rfl
#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
+@[simp] lemma coe_mk (f : α → β) (hf) : ⇑(mk f hf) = f := rfl
+
@[ext]
theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
@@ -553,16 +552,12 @@ def toLatticeHom (f : FrameHom α β) : LatticeHom α β :=
f
#align frame_hom.to_lattice_hom FrameHom.toLatticeHom
-/- Porting note: SimpNF linter complains that lhs can be simplified,
-added _aux version with [simp] attribute -/
--- @[simp]
-theorem toFun_eq_coe {f : FrameHom α β} : f.toFun = ⇑f :=
- rfl
+lemma toFun_eq_coe (f : FrameHom α β) : f.toFun = f := rfl
#align frame_hom.to_fun_eq_coe FrameHom.toFun_eq_coe
-@[simp]
-theorem toFun_eq_coe_aux {f : FrameHom α β} : ↑f.toInfTopHom = ⇑f :=
- rfl
+@[simp] lemma coe_toInfTopHom (f : FrameHom α β) : ⇑f.toInfTopHom = f := rfl
+@[simp] lemma coe_toLatticeHom (f : FrameHom α β) : ⇑f.toLatticeHom = f := rfl
+@[simp] lemma coe_mk (f : InfTopHom α β) (hf) : ⇑(mk f hf) = f := rfl
@[ext]
theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -685,16 +680,14 @@ def toBoundedLatticeHom (f : CompleteLatticeHom α β) : BoundedLatticeHom α β
-- instance : CoeFun (CompleteLatticeHom α β) fun _ => α → β :=
-- FunLike.hasCoeToFun
-/- Porting note: SimpNF linter complains that lhs can be simplified,
-added _aux version with [simp] attribute -/
--- @[simp]
-theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = ⇑f :=
- rfl
+lemma toFun_eq_coe (f : CompleteLatticeHom α β) : f.toFun = f := rfl
#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coe
-@[simp]
-theorem toFun_eq_coe_aux {f : CompleteLatticeHom α β} : ↑f.tosInfHom = ⇑f :=
- rfl
+@[simp] lemma coe_tosInfHom (f : CompleteLatticeHom α β) : ⇑f.tosInfHom = f := rfl
+@[simp] lemma coe_tosSupHom (f : CompleteLatticeHom α β) : ⇑f.tosSupHom = f := rfl
+@[simp] lemma coe_toBoundedLatticeHom (f : CompleteLatticeHom α β) : ⇑f.toBoundedLatticeHom = f :=
+rfl
+@[simp] lemma coe_mk (f : sInfHom α β) (hf) : ⇑(mk f hf) = f := rfl
@[ext]
theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
@@ -256,7 +256,7 @@ instance : sSupHomClass (sSupHom α β) α β
-- Porting note: times out
@[simp]
-theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = ⇑f :=
+theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = ⇑f :=
rfl
#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
@@ -337,11 +337,13 @@ theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
ext fun _ => rfl
#align Sup_hom.id_comp sSupHom.id_comp
+@[simp]
theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align Sup_hom.cancel_right sSupHom.cancel_right
+@[simp]
theorem cancel_left {g : sSupHom β γ} {f₁ f₂ : sSupHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -481,11 +483,13 @@ theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
ext fun _ => rfl
#align Inf_hom.id_comp sInfHom.id_comp
+@[simp]
theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align Inf_hom.cancel_right sInfHom.cancel_right
+@[simp]
theorem cancel_left {g : sInfHom β γ} {f₁ f₂ : sInfHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -634,11 +638,13 @@ theorem id_comp (f : FrameHom α β) : (FrameHom.id β).comp f = f :=
ext fun _ => rfl
#align frame_hom.id_comp FrameHom.id_comp
+@[simp]
theorem cancel_right {g₁ g₂ : FrameHom β γ} {f : FrameHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align frame_hom.cancel_right FrameHom.cancel_right
+@[simp]
theorem cancel_left {g : FrameHom β γ} {f₁ f₂ : FrameHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -764,11 +770,13 @@ theorem id_comp (f : CompleteLatticeHom α β) : (CompleteLatticeHom.id β).comp
ext fun _ => rfl
#align complete_lattice_hom.id_comp CompleteLatticeHom.id_comp
+@[simp]
theorem cancel_right {g₁ g₂ : CompleteLatticeHom β γ} {f : CompleteLatticeHom α β}
(hf : Surjective f) : g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
#align complete_lattice_hom.cancel_right CompleteLatticeHom.cancel_right
+@[simp]
theorem cancel_left {g : CompleteLatticeHom β γ} {f₁ f₂ : CompleteLatticeHom α β}
(hg : Injective g) : g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -42,11 +42,11 @@ Frame homs are Heyting homs.
open Function OrderDual Set
-variable {F α β γ δ : Type _} {ι : Sort _} {κ : ι → Sort _}
+variable {F α β γ δ : Type*} {ι : Sort*} {κ : ι → Sort*}
-- Porting note: mathport made this & sInfHom into "SupHomCat" and "InfHomCat".
/-- The type of `⨆`-preserving functions from `α` to `β`. -/
-structure sSupHom (α β : Type _) [SupSet α] [SupSet β] where
+structure sSupHom (α β : Type*) [SupSet α] [SupSet β] where
/-- The underlying function of a sSupHom. -/
toFun : α → β
/-- The proposition that a `sSupHom` commutes with arbitrary suprema/joins. -/
@@ -54,7 +54,7 @@ structure sSupHom (α β : Type _) [SupSet α] [SupSet β] where
#align Sup_hom sSupHom
/-- The type of `⨅`-preserving functions from `α` to `β`. -/
-structure sInfHom (α β : Type _) [InfSet α] [InfSet β] where
+structure sInfHom (α β : Type*) [InfSet α] [InfSet β] where
/-- The underlying function of an `sInfHom`. -/
toFun : α → β
/-- The proposition that a `sInfHom` commutes with arbitrary infima/meets -/
@@ -63,7 +63,7 @@ structure sInfHom (α β : Type _) [InfSet α] [InfSet β] where
/-- The type of frame homomorphisms from `α` to `β`. They preserve finite meets and arbitrary joins.
-/
-structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
+structure FrameHom (α β : Type*) [CompleteLattice α] [CompleteLattice β] extends
InfTopHom α β where
/-- The proposition that frame homomorphisms commute with arbitrary suprema/joins. -/
map_sSup' (s : Set α) : toFun (sSup s) = sSup (toFun '' s)
@@ -71,7 +71,7 @@ structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] ex
/-- The type of complete lattice homomorphisms from `α` to `β`. -/
-structure CompleteLatticeHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
+structure CompleteLatticeHom (α β : Type*) [CompleteLattice α] [CompleteLattice β] extends
sInfHom α β where
/-- The proposition that complete lattice homomorphism commutes with arbitrary suprema/joins. -/
map_sSup' (s : Set α) : toFun (sSup s) = sSup (toFun '' s)
@@ -83,7 +83,7 @@ section
/-- `sSupHomClass F α β` states that `F` is a type of `⨆`-preserving morphisms.
You should extend this class when you extend `sSupHom`. -/
-class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
+class sSupHomClass (F : Type*) (α β : outParam <| Type*) [SupSet α] [SupSet β] extends
FunLike F α fun _ => β where
/-- The proposition that members of `sSupHomClass`s commute with arbitrary suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
@@ -92,7 +92,7 @@ class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet
/-- `sInfHomClass F α β` states that `F` is a type of `⨅`-preserving morphisms.
You should extend this class when you extend `sInfHom`. -/
-class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
+class sInfHomClass (F : Type*) (α β : outParam <| Type*) [InfSet α] [InfSet β] extends
FunLike F α fun _ => β where
/-- The proposition that members of `sInfHomClass`s commute with arbitrary infima/meets. -/
map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
@@ -101,7 +101,7 @@ class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet
/-- `FrameHomClass F α β` states that `F` is a type of frame morphisms. They preserve `⊓` and `⨆`.
You should extend this class when you extend `FrameHom`. -/
-class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
+class FrameHomClass (F : Type*) (α β : outParam <| Type*) [CompleteLattice α]
[CompleteLattice β] extends InfTopHomClass F α β where
/-- The proposition that members of `FrameHomClass` commute with arbitrary suprema/joins. -/
map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
@@ -110,7 +110,7 @@ class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice
/-- `CompleteLatticeHomClass F α β` states that `F` is a type of complete lattice morphisms.
You should extend this class when you extend `CompleteLatticeHom`. -/
-class CompleteLatticeHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
+class CompleteLatticeHomClass (F : Type*) (α β : outParam <| Type*) [CompleteLattice α]
[CompleteLattice β] extends sInfHomClass F α β where
/-- The proposition that members of `CompleteLatticeHomClass` commute with arbitrary
suprema/joins. -/
@@ -2,15 +2,12 @@
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.hom.complete_lattice
-! leanprover-community/mathlib commit 9d684a893c52e1d6692a504a118bfccbae04feeb
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Data.Set.Lattice
import Mathlib.Order.Hom.Lattice
+#align_import order.hom.complete_lattice from "leanprover-community/mathlib"@"9d684a893c52e1d6692a504a118bfccbae04feeb"
+
/-!
# Complete lattice homomorphisms
@@ -154,7 +154,7 @@ instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α]
map_bot := fun f => by
rw [← sSup_empty, map_sSup, Set.image_empty]
-- Porting note: rw [sSup_empty] does not work, but exact sSup_empty does?
- exact sSup_empty }
+ exact sSup_empty }
#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
-- See note [lower instance priority]
@@ -167,7 +167,7 @@ instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α]
map_top := fun f => by
rw [← sInf_empty, map_sInf, Set.image_empty]
-- Porting note: rw [sInf_empty] does not work, but exact sInf_empty does?
- exact sInf_empty }
+ exact sInf_empty }
#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
-- See note [lower instance priority]
@@ -190,7 +190,7 @@ instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLatt
-- See note [lower instance priority]
instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [CompleteLattice α]
- [CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
+ [CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
{ sSupHomClass.toSupBotHomClass, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
@@ -14,7 +14,7 @@ import Mathlib.Order.Hom.Lattice
/-!
# Complete lattice homomorphisms
-This file defines frame homorphisms and complete lattice homomorphisms.
+This file defines frame homomorphisms and complete lattice homomorphisms.
We use the `FunLike` design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
@@ -35,7 +35,7 @@ be satisfied by itself and all stricter types.
## Concrete homs
-* `Completelattice.setPreimage`: `Set.preimage` as a complete lattice homomorphism.
+* `CompleteLatticeHom.setPreimage`: `Set.preimage` as a complete lattice homomorphism.
## TODO
@@ -934,7 +934,7 @@ theorem setPreimage_id : setPreimage (id : α → α) = CompleteLatticeHom.id _
rfl
#align complete_lattice_hom.set_preimage_id CompleteLatticeHom.setPreimage_id
--- This lemma can't be `simp` because `g ∘ f` matches anything (`id ∘ f = f` synctatically)
+-- This lemma can't be `simp` because `g ∘ f` matches anything (`id ∘ f = f` syntactically)
theorem setPreimage_comp (g : β → γ) (f : α → β) :
setPreimage (g ∘ f) = (setPreimage f).comp (setPreimage g) :=
rfl
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -21,15 +21,15 @@ be satisfied by itself and all stricter types.
## Types of morphisms
-* `SupₛHom`: Maps which preserve `⨆`.
-* `InfₛHom`: Maps which preserve `⨅`.
+* `sSupHom`: Maps which preserve `⨆`.
+* `sInfHom`: Maps which preserve `⨅`.
* `FrameHom`: Frame homomorphisms. Maps which preserve `⨆`, `⊓` and `⊤`.
* `CompleteLatticeHom`: Complete lattice homomorphisms. Maps which preserve `⨆` and `⨅`.
## Typeclasses
-* `SupₛHomClass`
-* `InfₛHomClass`
+* `sSupHomClass`
+* `sInfHomClass`
* `FrameHomClass`
* `CompleteLatticeHomClass`
@@ -47,59 +47,59 @@ open Function OrderDual Set
variable {F α β γ δ : Type _} {ι : Sort _} {κ : ι → Sort _}
--- Porting note: mathport made this & InfₛHom into "SupHomCat" and "InfHomCat".
+-- Porting note: mathport made this & sInfHom into "SupHomCat" and "InfHomCat".
/-- The type of `⨆`-preserving functions from `α` to `β`. -/
-structure SupₛHom (α β : Type _) [SupSet α] [SupSet β] where
- /-- The underlying function of a SupₛHom. -/
+structure sSupHom (α β : Type _) [SupSet α] [SupSet β] where
+ /-- The underlying function of a sSupHom. -/
toFun : α → β
- /-- The proposition that a `SupₛHom` commutes with arbitrary suprema/joins. -/
- map_supₛ' (s : Set α) : toFun (supₛ s) = supₛ (toFun '' s)
-#align Sup_hom SupₛHom
+ /-- The proposition that a `sSupHom` commutes with arbitrary suprema/joins. -/
+ map_sSup' (s : Set α) : toFun (sSup s) = sSup (toFun '' s)
+#align Sup_hom sSupHom
/-- The type of `⨅`-preserving functions from `α` to `β`. -/
-structure InfₛHom (α β : Type _) [InfSet α] [InfSet β] where
- /-- The underlying function of an `InfₛHom`. -/
+structure sInfHom (α β : Type _) [InfSet α] [InfSet β] where
+ /-- The underlying function of an `sInfHom`. -/
toFun : α → β
- /-- The proposition that a `InfₛHom` commutes with arbitrary infima/meets -/
- map_infₛ' (s : Set α) : toFun (infₛ s) = infₛ (toFun '' s)
-#align Inf_hom InfₛHom
+ /-- The proposition that a `sInfHom` commutes with arbitrary infima/meets -/
+ map_sInf' (s : Set α) : toFun (sInf s) = sInf (toFun '' s)
+#align Inf_hom sInfHom
/-- The type of frame homomorphisms from `α` to `β`. They preserve finite meets and arbitrary joins.
-/
structure FrameHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
InfTopHom α β where
/-- The proposition that frame homomorphisms commute with arbitrary suprema/joins. -/
- map_supₛ' (s : Set α) : toFun (supₛ s) = supₛ (toFun '' s)
+ map_sSup' (s : Set α) : toFun (sSup s) = sSup (toFun '' s)
#align frame_hom FrameHom
/-- The type of complete lattice homomorphisms from `α` to `β`. -/
structure CompleteLatticeHom (α β : Type _) [CompleteLattice α] [CompleteLattice β] extends
- InfₛHom α β where
+ sInfHom α β where
/-- The proposition that complete lattice homomorphism commutes with arbitrary suprema/joins. -/
- map_supₛ' (s : Set α) : toFun (supₛ s) = supₛ (toFun '' s)
+ map_sSup' (s : Set α) : toFun (sSup s) = sSup (toFun '' s)
#align complete_lattice_hom CompleteLatticeHom
section
-- Porting note: mathport made this & InfHomClass into "SupHomClassCat" and "InfHomClassCat".
-/-- `SupₛHomClass F α β` states that `F` is a type of `⨆`-preserving morphisms.
+/-- `sSupHomClass F α β` states that `F` is a type of `⨆`-preserving morphisms.
-You should extend this class when you extend `SupₛHom`. -/
-class SupₛHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
+You should extend this class when you extend `sSupHom`. -/
+class sSupHomClass (F : Type _) (α β : outParam <| Type _) [SupSet α] [SupSet β] extends
FunLike F α fun _ => β where
- /-- The proposition that members of `SupₛHomClass`s commute with arbitrary suprema/joins. -/
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
-#align Sup_hom_class SupₛHomClass
+ /-- The proposition that members of `sSupHomClass`s commute with arbitrary suprema/joins. -/
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
+#align Sup_hom_class sSupHomClass
-/-- `InfₛHomClass F α β` states that `F` is a type of `⨅`-preserving morphisms.
+/-- `sInfHomClass F α β` states that `F` is a type of `⨅`-preserving morphisms.
-You should extend this class when you extend `InfₛHom`. -/
-class InfₛHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
+You should extend this class when you extend `sInfHom`. -/
+class sInfHomClass (F : Type _) (α β : outParam <| Type _) [InfSet α] [InfSet β] extends
FunLike F α fun _ => β where
- /-- The proposition that members of `InfₛHomClass`s commute with arbitrary infima/meets. -/
- map_infₛ (f : F) (s : Set α) : f (infₛ s) = infₛ (f '' s)
-#align Inf_hom_class InfₛHomClass
+ /-- The proposition that members of `sInfHomClass`s commute with arbitrary infima/meets. -/
+ map_sInf (f : F) (s : Set α) : f (sInf s) = sInf (f '' s)
+#align Inf_hom_class sInfHomClass
/-- `FrameHomClass F α β` states that `F` is a type of frame morphisms. They preserve `⊓` and `⨆`.
@@ -107,137 +107,137 @@ You should extend this class when you extend `FrameHom`. -/
class FrameHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
[CompleteLattice β] extends InfTopHomClass F α β where
/-- The proposition that members of `FrameHomClass` commute with arbitrary suprema/joins. -/
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align frame_hom_class FrameHomClass
/-- `CompleteLatticeHomClass F α β` states that `F` is a type of complete lattice morphisms.
You should extend this class when you extend `CompleteLatticeHom`. -/
class CompleteLatticeHomClass (F : Type _) (α β : outParam <| Type _) [CompleteLattice α]
- [CompleteLattice β] extends InfₛHomClass F α β where
+ [CompleteLattice β] extends sInfHomClass F α β where
/-- The proposition that members of `CompleteLatticeHomClass` commute with arbitrary
suprema/joins. -/
- map_supₛ (f : F) (s : Set α) : f (supₛ s) = supₛ (f '' s)
+ map_sSup (f : F) (s : Set α) : f (sSup s) = sSup (f '' s)
#align complete_lattice_hom_class CompleteLatticeHomClass
end
-export SupₛHomClass (map_supₛ)
+export sSupHomClass (map_sSup)
-export InfₛHomClass (map_infₛ)
+export sInfHomClass (map_sInf)
-attribute [simp] map_supₛ map_infₛ
+attribute [simp] map_sSup map_sInf
-theorem map_supᵢ [SupSet α] [SupSet β] [SupₛHomClass F α β] (f : F) (g : ι → α) :
- f (⨆ i, g i) = ⨆ i, f (g i) := by simp [supᵢ, ← Set.range_comp, Function.comp]
-#align map_supr map_supᵢ
+theorem map_iSup [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ι → α) :
+ f (⨆ i, g i) = ⨆ i, f (g i) := by simp [iSup, ← Set.range_comp, Function.comp]
+#align map_supr map_iSup
-theorem map_supᵢ₂ [SupSet α] [SupSet β] [SupₛHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
- f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_supᵢ]
-#align map_supr₂ map_supᵢ₂
+theorem map_iSup₂ [SupSet α] [SupSet β] [sSupHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
+ f (⨆ (i) (j), g i j) = ⨆ (i) (j), f (g i j) := by simp_rw [map_iSup]
+#align map_supr₂ map_iSup₂
-theorem map_infᵢ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g : ι → α) :
- f (⨅ i, g i) = ⨅ i, f (g i) := by simp [infᵢ, ← Set.range_comp, Function.comp]
-#align map_infi map_infᵢ
+theorem map_iInf [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ι → α) :
+ f (⨅ i, g i) = ⨅ i, f (g i) := by simp [iInf, ← Set.range_comp, Function.comp]
+#align map_infi map_iInf
-theorem map_infᵢ₂ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
- f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_infᵢ]
-#align map_infi₂ map_infᵢ
+theorem map_iInf₂ [InfSet α] [InfSet β] [sInfHomClass F α β] (f : F) (g : ∀ i, κ i → α) :
+ f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_iInf]
+#align map_infi₂ map_iInf
-- See note [lower instance priority]
-instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α]
- [CompleteLattice β] [SupₛHomClass F α β] : SupBotHomClass F α β :=
- { ‹SupₛHomClass F α β› with
+instance (priority := 100) sSupHomClass.toSupBotHomClass [CompleteLattice α]
+ [CompleteLattice β] [sSupHomClass F α β] : SupBotHomClass F α β :=
+ { ‹sSupHomClass F α β› with
map_sup := fun f a b => by
- rw [← supₛ_pair, map_supₛ]
- simp only [Set.image_pair, supₛ_insert, supₛ_singleton]
+ rw [← sSup_pair, map_sSup]
+ simp only [Set.image_pair, sSup_insert, sSup_singleton]
map_bot := fun f => by
- rw [← supₛ_empty, map_supₛ, Set.image_empty]
- -- Porting note: rw [supₛ_empty] does not work, but exact supₛ_empty does?
- exact supₛ_empty }
-#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClass
+ rw [← sSup_empty, map_sSup, Set.image_empty]
+ -- Porting note: rw [sSup_empty] does not work, but exact sSup_empty does?
+ exact sSup_empty }
+#align Sup_hom_class.to_sup_bot_hom_class sSupHomClass.toSupBotHomClass
-- See note [lower instance priority]
-instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α]
- [CompleteLattice β] [InfₛHomClass F α β] : InfTopHomClass F α β :=
- { ‹InfₛHomClass F α β› with
+instance (priority := 100) sInfHomClass.toInfTopHomClass [CompleteLattice α]
+ [CompleteLattice β] [sInfHomClass F α β] : InfTopHomClass F α β :=
+ { ‹sInfHomClass F α β› with
map_inf := fun f a b => by
- rw [← infₛ_pair, map_infₛ, Set.image_pair]
- simp only [Set.image_pair, infₛ_insert, infₛ_singleton]
+ rw [← sInf_pair, map_sInf, Set.image_pair]
+ simp only [Set.image_pair, sInf_insert, sInf_singleton]
map_top := fun f => by
- rw [← infₛ_empty, map_infₛ, Set.image_empty]
- -- Porting note: rw [infₛ_empty] does not work, but exact infₛ_empty does?
- exact infₛ_empty }
-#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClass
+ rw [← sInf_empty, map_sInf, Set.image_empty]
+ -- Porting note: rw [sInf_empty] does not work, but exact sInf_empty does?
+ exact sInf_empty }
+#align Inf_hom_class.to_inf_top_hom_class sInfHomClass.toInfTopHomClass
-- See note [lower instance priority]
-instance (priority := 100) FrameHomClass.toSupₛHomClass [CompleteLattice α]
- [CompleteLattice β] [FrameHomClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) FrameHomClass.tosSupHomClass [CompleteLattice α]
+ [CompleteLattice β] [FrameHomClass F α β] : sSupHomClass F α β :=
{ ‹FrameHomClass F α β› with }
-#align frame_hom_class.to_Sup_hom_class FrameHomClass.toSupₛHomClass
+#align frame_hom_class.to_Sup_hom_class FrameHomClass.tosSupHomClass
-- See note [lower instance priority]
instance (priority := 100) FrameHomClass.toBoundedLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [FrameHomClass F α β] : BoundedLatticeHomClass F α β :=
- { ‹FrameHomClass F α β›, SupₛHomClass.toSupBotHomClass with }
+ { ‹FrameHomClass F α β›, sSupHomClass.toSupBotHomClass with }
#align frame_hom_class.to_bounded_lattice_hom_class FrameHomClass.toBoundedLatticeHomClass
-- See note [lower instance priority]
instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLattice α]
[CompleteLattice β] [CompleteLatticeHomClass F α β] : FrameHomClass F α β :=
- { ‹CompleteLatticeHomClass F α β›, InfₛHomClass.toInfTopHomClass with }
+ { ‹CompleteLatticeHomClass F α β›, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_frame_hom_class CompleteLatticeHomClass.toFrameHomClass
-- See note [lower instance priority]
instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
- { SupₛHomClass.toSupBotHomClass, InfₛHomClass.toInfTopHomClass with }
+ { sSupHomClass.toSupBotHomClass, sInfHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α]
- [CompleteLattice β] [OrderIsoClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.tosSupHomClass [CompleteLattice α]
+ [CompleteLattice β] [OrderIsoClass F α β] : sSupHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
- map_supₛ := fun f s =>
+ map_sSup := fun f s =>
eq_of_forall_ge_iff fun c => by
- simp only [← le_map_inv_iff, supₛ_le_iff, Set.ball_image_iff] }
-#align order_iso_class.to_Sup_hom_class OrderIsoClass.toSupₛHomClass
+ simp only [← le_map_inv_iff, sSup_le_iff, Set.ball_image_iff] }
+#align order_iso_class.to_Sup_hom_class OrderIsoClass.tosSupHomClass
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toInfₛHomClass [CompleteLattice α]
- [CompleteLattice β] [OrderIsoClass F α β] : InfₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.tosInfHomClass [CompleteLattice α]
+ [CompleteLattice β] [OrderIsoClass F α β] : sInfHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
- map_infₛ := fun f s =>
+ map_sInf := fun f s =>
eq_of_forall_le_iff fun c => by
- simp only [← map_inv_le_iff, le_infₛ_iff, Set.ball_image_iff] }
-#align order_iso_class.to_Inf_hom_class OrderIsoClass.toInfₛHomClass
+ simp only [← map_inv_le_iff, le_sInf_iff, Set.ball_image_iff] }
+#align order_iso_class.to_Inf_hom_class OrderIsoClass.tosInfHomClass
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
-- Porting note: Used to be:
- -- { OrderIsoClass.toSupₛHomClass, OrderIsoClass.toLatticeHomClass,
- -- show InfₛHomClass F α β from inferInstance with }
- { OrderIsoClass.toSupₛHomClass, OrderIsoClass.toInfₛHomClass with }
+ -- { OrderIsoClass.tosSupHomClass, OrderIsoClass.toLatticeHomClass,
+ -- show sInfHomClass F α β from inferInstance with }
+ { OrderIsoClass.tosSupHomClass, OrderIsoClass.tosInfHomClass with }
#align order_iso_class.to_complete_lattice_hom_class OrderIsoClass.toCompleteLatticeHomClass
-instance [SupSet α] [SupSet β] [SupₛHomClass F α β] : CoeTC F (SupₛHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+instance [SupSet α] [SupSet β] [sSupHomClass F α β] : CoeTC F (sSupHom α β) :=
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
-instance [InfSet α] [InfSet β] [InfₛHomClass F α β] : CoeTC F (InfₛHom α β) :=
- ⟨fun f => ⟨f, map_infₛ f⟩⟩
+instance [InfSet α] [InfSet β] [sInfHomClass F α β] : CoeTC F (sInfHom α β) :=
+ ⟨fun f => ⟨f, map_sInf f⟩⟩
instance [CompleteLattice α] [CompleteLattice β] [FrameHomClass F α β] : CoeTC F (FrameHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
instance [CompleteLattice α] [CompleteLattice β] [CompleteLatticeHomClass F α β] :
CoeTC F (CompleteLatticeHom α β) :=
- ⟨fun f => ⟨f, map_supₛ f⟩⟩
+ ⟨fun f => ⟨f, map_sSup f⟩⟩
/-! ### Supremum homomorphisms -/
-namespace SupₛHom
+namespace sSupHom
variable [SupSet α]
@@ -245,144 +245,144 @@ section SupSet
variable [SupSet β] [SupSet γ] [SupSet δ]
-instance : SupₛHomClass (SupₛHom α β) α β
+instance : sSupHomClass (sSupHom α β) α β
where
- coe := SupₛHom.toFun
+ coe := sSupHom.toFun
coe_injective' f g h := by cases f; cases g; congr
- map_supₛ := SupₛHom.map_supₛ'
+ map_sSup := sSupHom.map_sSup'
-- Porting note: We do not want CoeFun for this in lean 4
-- /-- Helper instance for when there's too many metavariables to apply `funLike.has_coe_toFun`
-- directly. -/
--- instance : CoeFun (SupₛHom α β) fun _ => α → β :=
+-- instance : CoeFun (sSupHom α β) fun _ => α → β :=
-- FunLike.hasCoeToFun
-- Porting note: times out
@[simp]
-theorem toFun_eq_coe {f : SupₛHom α β} : f.toFun = ⇑f :=
+theorem toFun_eq_coe {f : sSupHom α β} : f.toFun = ⇑f :=
rfl
-#align Sup_hom.to_fun_eq_coe SupₛHom.toFun_eq_coe
+#align Sup_hom.to_fun_eq_coe sSupHom.toFun_eq_coe
@[ext]
-theorem ext {f g : SupₛHom α β} (h : ∀ a, f a = g a) : f = g :=
+theorem ext {f g : sSupHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
-#align Sup_hom.ext SupₛHom.ext
+#align Sup_hom.ext sSupHom.ext
-/-- Copy of a `SupₛHom` with a new `toFun` equal to the old one. Useful to fix definitional
+/-- Copy of a `sSupHom` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
-protected def copy (f : SupₛHom α β) (f' : α → β) (h : f' = f) : SupₛHom α β
+protected def copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : sSupHom α β
where
toFun := f'
- map_supₛ' := h.symm ▸ f.map_supₛ'
-#align Sup_hom.copy SupₛHom.copy
+ map_sSup' := h.symm ▸ f.map_sSup'
+#align Sup_hom.copy sSupHom.copy
@[simp]
-theorem coe_copy (f : SupₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
+theorem coe_copy (f : sSupHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
-#align Sup_hom.coe_copy SupₛHom.coe_copy
+#align Sup_hom.coe_copy sSupHom.coe_copy
-theorem copy_eq (f : SupₛHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
+theorem copy_eq (f : sSupHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
-#align Sup_hom.copy_eq SupₛHom.copy_eq
+#align Sup_hom.copy_eq sSupHom.copy_eq
variable (α)
-/-- `id` as a `SupₛHom`. -/
-protected def id : SupₛHom α α :=
+/-- `id` as a `sSupHom`. -/
+protected def id : sSupHom α α :=
⟨id, fun s => by rw [id, Set.image_id]⟩
-#align Sup_hom.id SupₛHom.id
+#align Sup_hom.id sSupHom.id
-instance : Inhabited (SupₛHom α α) :=
- ⟨SupₛHom.id α⟩
+instance : Inhabited (sSupHom α α) :=
+ ⟨sSupHom.id α⟩
@[simp]
-theorem coe_id : ⇑(SupₛHom.id α) = id :=
+theorem coe_id : ⇑(sSupHom.id α) = id :=
rfl
-#align Sup_hom.coe_id SupₛHom.coe_id
+#align Sup_hom.coe_id sSupHom.coe_id
variable {α}
@[simp]
-theorem id_apply (a : α) : SupₛHom.id α a = a :=
+theorem id_apply (a : α) : sSupHom.id α a = a :=
rfl
-#align Sup_hom.id_apply SupₛHom.id_apply
+#align Sup_hom.id_apply sSupHom.id_apply
-/-- Composition of `SupₛHom`s as a `SupₛHom`. -/
-def comp (f : SupₛHom β γ) (g : SupₛHom α β) : SupₛHom α γ
+/-- Composition of `sSupHom`s as a `sSupHom`. -/
+def comp (f : sSupHom β γ) (g : sSupHom α β) : sSupHom α γ
where
toFun := f ∘ g
- map_supₛ' s := by rw [comp_apply, map_supₛ, map_supₛ, Set.image_image]; simp only [Function.comp]
-#align Sup_hom.comp SupₛHom.comp
+ map_sSup' s := by rw [comp_apply, map_sSup, map_sSup, Set.image_image]; simp only [Function.comp]
+#align Sup_hom.comp sSupHom.comp
@[simp]
-theorem coe_comp (f : SupₛHom β γ) (g : SupₛHom α β) : ⇑(f.comp g) = f ∘ g :=
+theorem coe_comp (f : sSupHom β γ) (g : sSupHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
-#align Sup_hom.coe_comp SupₛHom.coe_comp
+#align Sup_hom.coe_comp sSupHom.coe_comp
@[simp]
-theorem comp_apply (f : SupₛHom β γ) (g : SupₛHom α β) (a : α) : (f.comp g) a = f (g a) :=
+theorem comp_apply (f : sSupHom β γ) (g : sSupHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
-#align Sup_hom.comp_apply SupₛHom.comp_apply
+#align Sup_hom.comp_apply sSupHom.comp_apply
@[simp]
-theorem comp_assoc (f : SupₛHom γ δ) (g : SupₛHom β γ) (h : SupₛHom α β) :
+theorem comp_assoc (f : sSupHom γ δ) (g : sSupHom β γ) (h : sSupHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
-#align Sup_hom.comp_assoc SupₛHom.comp_assoc
+#align Sup_hom.comp_assoc sSupHom.comp_assoc
@[simp]
-theorem comp_id (f : SupₛHom α β) : f.comp (SupₛHom.id α) = f :=
+theorem comp_id (f : sSupHom α β) : f.comp (sSupHom.id α) = f :=
ext fun _ => rfl
-#align Sup_hom.comp_id SupₛHom.comp_id
+#align Sup_hom.comp_id sSupHom.comp_id
@[simp]
-theorem id_comp (f : SupₛHom α β) : (SupₛHom.id β).comp f = f :=
+theorem id_comp (f : sSupHom α β) : (sSupHom.id β).comp f = f :=
ext fun _ => rfl
-#align Sup_hom.id_comp SupₛHom.id_comp
+#align Sup_hom.id_comp sSupHom.id_comp
-theorem cancel_right {g₁ g₂ : SupₛHom β γ} {f : SupₛHom α β} (hf : Surjective f) :
+theorem cancel_right {g₁ g₂ : sSupHom β γ} {f : sSupHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
-#align Sup_hom.cancel_right SupₛHom.cancel_right
+#align Sup_hom.cancel_right sSupHom.cancel_right
-theorem cancel_left {g : SupₛHom β γ} {f₁ f₂ : SupₛHom α β} (hg : Injective g) :
+theorem cancel_left {g : sSupHom β γ} {f₁ f₂ : sSupHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
-#align Sup_hom.cancel_left SupₛHom.cancel_left
+#align Sup_hom.cancel_left sSupHom.cancel_left
end SupSet
variable { _ : CompleteLattice β}
-instance : PartialOrder (SupₛHom α β) :=
+instance : PartialOrder (sSupHom α β) :=
PartialOrder.lift _ FunLike.coe_injective
-instance : Bot (SupₛHom α β) :=
+instance : Bot (sSupHom α β) :=
⟨⟨fun _ => ⊥, fun s => by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [Set.image_empty, supₛ_empty]
- · rw [hs.image_const, supₛ_singleton]⟩⟩
+ · rw [Set.image_empty, sSup_empty]
+ · rw [hs.image_const, sSup_singleton]⟩⟩
-instance : OrderBot (SupₛHom α β) where
+instance : OrderBot (sSupHom α β) where
bot := ⊥
bot_le := fun _ _ ↦ CompleteLattice.bot_le _
@[simp]
-theorem coe_bot : ⇑(⊥ : SupₛHom α β) = ⊥ :=
+theorem coe_bot : ⇑(⊥ : sSupHom α β) = ⊥ :=
rfl
-#align Sup_hom.coe_bot SupₛHom.coe_bot
+#align Sup_hom.coe_bot sSupHom.coe_bot
@[simp]
-theorem bot_apply (a : α) : (⊥ : SupₛHom α β) a = ⊥ :=
+theorem bot_apply (a : α) : (⊥ : sSupHom α β) a = ⊥ :=
rfl
-#align Sup_hom.bot_apply SupₛHom.bot_apply
+#align Sup_hom.bot_apply sSupHom.bot_apply
-end SupₛHom
+end sSupHom
/-! ### Infimum homomorphisms -/
-namespace InfₛHom
+namespace sInfHom
variable [InfSet α]
@@ -390,138 +390,138 @@ section InfSet
variable [InfSet β] [InfSet γ] [InfSet δ]
-instance : InfₛHomClass (InfₛHom α β) α β
+instance : sInfHomClass (sInfHom α β) α β
where
- coe := InfₛHom.toFun
+ coe := sInfHom.toFun
coe_injective' f g h := by cases f; cases g; congr
- map_infₛ := InfₛHom.map_infₛ'
+ map_sInf := sInfHom.map_sInf'
-- Porting note: Do not want these CoeFun instances in lean4
-- /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_toFun`
-- directly. -/
--- instance : CoeFun (InfₛHom α β) fun _ => α → β :=
+-- instance : CoeFun (sInfHom α β) fun _ => α → β :=
-- FunLike.hasCoeToFun
@[simp]
-theorem toFun_eq_coe {f : InfₛHom α β} : f.toFun = ⇑f :=
+theorem toFun_eq_coe {f : sInfHom α β} : f.toFun = ⇑f :=
rfl
-#align Inf_hom.to_fun_eq_coe InfₛHom.toFun_eq_coe
+#align Inf_hom.to_fun_eq_coe sInfHom.toFun_eq_coe
@[ext]
-theorem ext {f g : InfₛHom α β} (h : ∀ a, f a = g a) : f = g :=
+theorem ext {f g : sInfHom α β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
-#align Inf_hom.ext InfₛHom.ext
+#align Inf_hom.ext sInfHom.ext
-/-- Copy of a `InfₛHom` with a new `toFun` equal to the old one. Useful to fix definitional
+/-- Copy of a `sInfHom` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
-protected def copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : InfₛHom α β
+protected def copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : sInfHom α β
where
toFun := f'
- map_infₛ' := h.symm ▸ f.map_infₛ'
-#align Inf_hom.copy InfₛHom.copy
+ map_sInf' := h.symm ▸ f.map_sInf'
+#align Inf_hom.copy sInfHom.copy
@[simp]
-theorem coe_copy (f : InfₛHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
+theorem coe_copy (f : sInfHom α β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
-#align Inf_hom.coe_copy InfₛHom.coe_copy
+#align Inf_hom.coe_copy sInfHom.coe_copy
-theorem copy_eq (f : InfₛHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
+theorem copy_eq (f : sInfHom α β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
-#align Inf_hom.copy_eq InfₛHom.copy_eq
+#align Inf_hom.copy_eq sInfHom.copy_eq
variable (α)
-/-- `id` as an `InfₛHom`. -/
-protected def id : InfₛHom α α :=
+/-- `id` as an `sInfHom`. -/
+protected def id : sInfHom α α :=
⟨id, fun s => by rw [id, Set.image_id]⟩
-#align Inf_hom.id InfₛHom.id
+#align Inf_hom.id sInfHom.id
-instance : Inhabited (InfₛHom α α) :=
- ⟨InfₛHom.id α⟩
+instance : Inhabited (sInfHom α α) :=
+ ⟨sInfHom.id α⟩
@[simp]
-theorem coe_id : ⇑(InfₛHom.id α) = id :=
+theorem coe_id : ⇑(sInfHom.id α) = id :=
rfl
-#align Inf_hom.coe_id InfₛHom.coe_id
+#align Inf_hom.coe_id sInfHom.coe_id
variable {α}
@[simp]
-theorem id_apply (a : α) : InfₛHom.id α a = a :=
+theorem id_apply (a : α) : sInfHom.id α a = a :=
rfl
-#align Inf_hom.id_apply InfₛHom.id_apply
+#align Inf_hom.id_apply sInfHom.id_apply
-/-- Composition of `InfₛHom`s as a `InfₛHom`. -/
-def comp (f : InfₛHom β γ) (g : InfₛHom α β) : InfₛHom α γ
+/-- Composition of `sInfHom`s as a `sInfHom`. -/
+def comp (f : sInfHom β γ) (g : sInfHom α β) : sInfHom α γ
where
toFun := f ∘ g
- map_infₛ' s := by rw [comp_apply, map_infₛ, map_infₛ, Set.image_image]; simp only [Function.comp]
-#align Inf_hom.comp InfₛHom.comp
+ map_sInf' s := by rw [comp_apply, map_sInf, map_sInf, Set.image_image]; simp only [Function.comp]
+#align Inf_hom.comp sInfHom.comp
@[simp]
-theorem coe_comp (f : InfₛHom β γ) (g : InfₛHom α β) : ⇑(f.comp g) = f ∘ g :=
+theorem coe_comp (f : sInfHom β γ) (g : sInfHom α β) : ⇑(f.comp g) = f ∘ g :=
rfl
-#align Inf_hom.coe_comp InfₛHom.coe_comp
+#align Inf_hom.coe_comp sInfHom.coe_comp
@[simp]
-theorem comp_apply (f : InfₛHom β γ) (g : InfₛHom α β) (a : α) : (f.comp g) a = f (g a) :=
+theorem comp_apply (f : sInfHom β γ) (g : sInfHom α β) (a : α) : (f.comp g) a = f (g a) :=
rfl
-#align Inf_hom.comp_apply InfₛHom.comp_apply
+#align Inf_hom.comp_apply sInfHom.comp_apply
@[simp]
-theorem comp_assoc (f : InfₛHom γ δ) (g : InfₛHom β γ) (h : InfₛHom α β) :
+theorem comp_assoc (f : sInfHom γ δ) (g : sInfHom β γ) (h : sInfHom α β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
-#align Inf_hom.comp_assoc InfₛHom.comp_assoc
+#align Inf_hom.comp_assoc sInfHom.comp_assoc
@[simp]
-theorem comp_id (f : InfₛHom α β) : f.comp (InfₛHom.id α) = f :=
+theorem comp_id (f : sInfHom α β) : f.comp (sInfHom.id α) = f :=
ext fun _ => rfl
-#align Inf_hom.comp_id InfₛHom.comp_id
+#align Inf_hom.comp_id sInfHom.comp_id
@[simp]
-theorem id_comp (f : InfₛHom α β) : (InfₛHom.id β).comp f = f :=
+theorem id_comp (f : sInfHom α β) : (sInfHom.id β).comp f = f :=
ext fun _ => rfl
-#align Inf_hom.id_comp InfₛHom.id_comp
+#align Inf_hom.id_comp sInfHom.id_comp
-theorem cancel_right {g₁ g₂ : InfₛHom β γ} {f : InfₛHom α β} (hf : Surjective f) :
+theorem cancel_right {g₁ g₂ : sInfHom β γ} {f : sInfHom α β} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg (fun a ↦ comp a f)⟩
-#align Inf_hom.cancel_right InfₛHom.cancel_right
+#align Inf_hom.cancel_right sInfHom.cancel_right
-theorem cancel_left {g : InfₛHom β γ} {f₁ f₂ : InfₛHom α β} (hg : Injective g) :
+theorem cancel_left {g : sInfHom β γ} {f₁ f₂ : sInfHom α β} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
-#align Inf_hom.cancel_left InfₛHom.cancel_left
+#align Inf_hom.cancel_left sInfHom.cancel_left
end InfSet
variable [CompleteLattice β]
-instance : PartialOrder (InfₛHom α β) :=
+instance : PartialOrder (sInfHom α β) :=
PartialOrder.lift _ FunLike.coe_injective
-instance : Top (InfₛHom α β) :=
+instance : Top (sInfHom α β) :=
⟨⟨fun _ => ⊤, fun s => by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [Set.image_empty, infₛ_empty]
- · rw [hs.image_const, infₛ_singleton]⟩⟩
+ · rw [Set.image_empty, sInf_empty]
+ · rw [hs.image_const, sInf_singleton]⟩⟩
-instance : OrderTop (InfₛHom α β) where
+instance : OrderTop (sInfHom α β) where
top := ⊤
le_top := fun _ _ => CompleteLattice.le_top _
@[simp]
-theorem coe_top : ⇑(⊤ : InfₛHom α β) = ⊤ :=
+theorem coe_top : ⇑(⊤ : sInfHom α β) = ⊤ :=
rfl
-#align Inf_hom.coe_top InfₛHom.coe_top
+#align Inf_hom.coe_top sInfHom.coe_top
@[simp]
-theorem top_apply (a : α) : (⊤ : InfₛHom α β) a = ⊤ :=
+theorem top_apply (a : α) : (⊤ : sInfHom α β) a = ⊤ :=
rfl
-#align Inf_hom.top_apply InfₛHom.top_apply
+#align Inf_hom.top_apply sInfHom.top_apply
-end InfₛHom
+end sInfHom
/-! ### Frame homomorphisms -/
@@ -537,7 +537,7 @@ instance : FrameHomClass (FrameHom α β) α β
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g
congr
- map_supₛ f := f.map_supₛ'
+ map_sSup f := f.map_sSup'
map_inf f := f.map_inf'
map_top f := f.map_top'
@@ -571,7 +571,7 @@ theorem ext {f g : FrameHom α β} (h : ∀ a, f a = g a) : f = g :=
/-- Copy of a `FrameHom` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : FrameHom α β) (f' : α → β) (h : f' = f) : FrameHom α β :=
- { (f : SupₛHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
+ { (f : sSupHom α β).copy f' h with toInfTopHom := f.toInfTopHom.copy f' h }
#align frame_hom.copy FrameHom.copy
@[simp]
@@ -587,7 +587,7 @@ variable (α)
/-- `id` as a `FrameHom`. -/
protected def id : FrameHom α α :=
- { SupₛHom.id α with toInfTopHom := InfTopHom.id α }
+ { sSupHom.id α with toInfTopHom := InfTopHom.id α }
#align frame_hom.id FrameHom.id
instance : Inhabited (FrameHom α α) :=
@@ -607,7 +607,7 @@ theorem id_apply (a : α) : FrameHom.id α a = a :=
/-- Composition of `FrameHom`s as a `FrameHom`. -/
def comp (f : FrameHom β γ) (g : FrameHom α β) : FrameHom α γ :=
- { (f : SupₛHom β γ).comp (g : SupₛHom α β) with
+ { (f : sSupHom β γ).comp (g : sSupHom α β) with
toInfTopHom := f.toInfTopHom.comp g.toInfTopHom }
#align frame_hom.comp FrameHom.comp
@@ -663,13 +663,13 @@ instance : CompleteLatticeHomClass (CompleteLatticeHom α β) α β
where
coe f := f.toFun
coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
- map_supₛ f := f.map_supₛ'
- map_infₛ f := f.map_infₛ'
+ map_sSup f := f.map_sSup'
+ map_sInf f := f.map_sInf'
-/-- Reinterpret a `CompleteLatticeHom` as a `SupₛHom`. -/
-def toSupₛHom (f : CompleteLatticeHom α β) : SupₛHom α β :=
+/-- Reinterpret a `CompleteLatticeHom` as a `sSupHom`. -/
+def tosSupHom (f : CompleteLatticeHom α β) : sSupHom α β :=
f
-#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.toSupₛHom
+#align complete_lattice_hom.to_Sup_hom CompleteLatticeHom.tosSupHom
/-- Reinterpret a `CompleteLatticeHom` as a `BoundedLatticeHom`. -/
def toBoundedLatticeHom (f : CompleteLatticeHom α β) : BoundedLatticeHom α β :=
@@ -690,7 +690,7 @@ theorem toFun_eq_coe {f : CompleteLatticeHom α β} : f.toFun = ⇑f :=
#align complete_lattice_hom.to_fun_eq_coe CompleteLatticeHom.toFun_eq_coe
@[simp]
-theorem toFun_eq_coe_aux {f : CompleteLatticeHom α β} : ↑f.toInfₛHom = ⇑f :=
+theorem toFun_eq_coe_aux {f : CompleteLatticeHom α β} : ↑f.tosInfHom = ⇑f :=
rfl
@[ext]
@@ -702,7 +702,7 @@ theorem ext {f g : CompleteLatticeHom α β} (h : ∀ a, f a = g a) : f = g :=
definitional equalities. -/
protected def copy (f : CompleteLatticeHom α β) (f' : α → β) (h : f' = f) :
CompleteLatticeHom α β :=
- { f.toSupₛHom.copy f' h with toInfₛHom := f.toInfₛHom.copy f' h }
+ { f.tosSupHom.copy f' h with tosInfHom := f.tosInfHom.copy f' h }
#align complete_lattice_hom.copy CompleteLatticeHom.copy
@[simp]
@@ -718,7 +718,7 @@ variable (α)
/-- `id` as a `CompleteLatticeHom`. -/
protected def id : CompleteLatticeHom α α :=
- { SupₛHom.id α, InfₛHom.id α with toFun := id }
+ { sSupHom.id α, sInfHom.id α with toFun := id }
#align complete_lattice_hom.id CompleteLatticeHom.id
instance : Inhabited (CompleteLatticeHom α α) :=
@@ -737,7 +737,7 @@ theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
/-- Composition of `CompleteLatticeHom`s as a `CompleteLatticeHom`. -/
def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : CompleteLatticeHom α γ :=
- { f.toSupₛHom.comp g.toSupₛHom with toInfₛHom := f.toInfₛHom.comp g.toInfₛHom }
+ { f.tosSupHom.comp g.tosSupHom with tosInfHom := f.tosInfHom.comp g.tosInfHom }
#align complete_lattice_hom.comp CompleteLatticeHom.comp
@[simp]
@@ -782,85 +782,85 @@ end CompleteLatticeHom
/-! ### Dual homs -/
-namespace SupₛHom
+namespace sSupHom
variable [SupSet α] [SupSet β] [SupSet γ]
/-- Reinterpret a `⨆`-homomorphism as an `⨅`-homomorphism between the dual orders. -/
@[simps]
-protected def dual : SupₛHom α β ≃ InfₛHom αᵒᵈ βᵒᵈ
+protected def dual : sSupHom α β ≃ sInfHom αᵒᵈ βᵒᵈ
where
- toFun f := ⟨toDual ∘ f ∘ ofDual, f.map_supₛ'⟩
- invFun f := ⟨ofDual ∘ f ∘ toDual, f.map_infₛ'⟩
- left_inv _ := SupₛHom.ext fun _ => rfl
- right_inv _ := InfₛHom.ext fun _ => rfl
-#align Sup_hom.dual SupₛHom.dual
+ toFun f := ⟨toDual ∘ f ∘ ofDual, f.map_sSup'⟩
+ invFun f := ⟨ofDual ∘ f ∘ toDual, f.map_sInf'⟩
+ left_inv _ := sSupHom.ext fun _ => rfl
+ right_inv _ := sInfHom.ext fun _ => rfl
+#align Sup_hom.dual sSupHom.dual
@[simp]
-theorem dual_id : SupₛHom.dual (SupₛHom.id α) = InfₛHom.id _ :=
+theorem dual_id : sSupHom.dual (sSupHom.id α) = sInfHom.id _ :=
rfl
-#align Sup_hom.dual_id SupₛHom.dual_id
+#align Sup_hom.dual_id sSupHom.dual_id
@[simp]
-theorem dual_comp (g : SupₛHom β γ) (f : SupₛHom α β) :
- SupₛHom.dual (g.comp f) = (SupₛHom.dual g).comp (SupₛHom.dual f) :=
+theorem dual_comp (g : sSupHom β γ) (f : sSupHom α β) :
+ sSupHom.dual (g.comp f) = (sSupHom.dual g).comp (sSupHom.dual f) :=
rfl
-#align Sup_hom.dual_comp SupₛHom.dual_comp
+#align Sup_hom.dual_comp sSupHom.dual_comp
@[simp]
-theorem symm_dual_id : SupₛHom.dual.symm (InfₛHom.id _) = SupₛHom.id α :=
+theorem symm_dual_id : sSupHom.dual.symm (sInfHom.id _) = sSupHom.id α :=
rfl
-#align Sup_hom.symm_dual_id SupₛHom.symm_dual_id
+#align Sup_hom.symm_dual_id sSupHom.symm_dual_id
@[simp]
-theorem symm_dual_comp (g : InfₛHom βᵒᵈ γᵒᵈ) (f : InfₛHom αᵒᵈ βᵒᵈ) :
- SupₛHom.dual.symm (g.comp f) = (SupₛHom.dual.symm g).comp (SupₛHom.dual.symm f) :=
+theorem symm_dual_comp (g : sInfHom βᵒᵈ γᵒᵈ) (f : sInfHom αᵒᵈ βᵒᵈ) :
+ sSupHom.dual.symm (g.comp f) = (sSupHom.dual.symm g).comp (sSupHom.dual.symm f) :=
rfl
-#align Sup_hom.symm_dual_comp SupₛHom.symm_dual_comp
+#align Sup_hom.symm_dual_comp sSupHom.symm_dual_comp
-end SupₛHom
+end sSupHom
-namespace InfₛHom
+namespace sInfHom
variable [InfSet α] [InfSet β] [InfSet γ]
/-- Reinterpret an `⨅`-homomorphism as a `⨆`-homomorphism between the dual orders. -/
@[simps]
-protected def dual : InfₛHom α β ≃ SupₛHom αᵒᵈ βᵒᵈ
+protected def dual : sInfHom α β ≃ sSupHom αᵒᵈ βᵒᵈ
where
toFun f :=
{ toFun := toDual ∘ f ∘ ofDual
- map_supₛ' := fun _ => congr_arg toDual (map_infₛ f _) }
+ map_sSup' := fun _ => congr_arg toDual (map_sInf f _) }
invFun f :=
{ toFun := ofDual ∘ f ∘ toDual
- map_infₛ' := fun _ => congr_arg ofDual (map_supₛ f _) }
- left_inv _ := InfₛHom.ext fun _ => rfl
- right_inv _ := SupₛHom.ext fun _ => rfl
-#align Inf_hom.dual InfₛHom.dual
+ map_sInf' := fun _ => congr_arg ofDual (map_sSup f _) }
+ left_inv _ := sInfHom.ext fun _ => rfl
+ right_inv _ := sSupHom.ext fun _ => rfl
+#align Inf_hom.dual sInfHom.dual
@[simp]
-theorem dual_id : InfₛHom.dual (InfₛHom.id α) = SupₛHom.id _ :=
+theorem dual_id : sInfHom.dual (sInfHom.id α) = sSupHom.id _ :=
rfl
-#align Inf_hom.dual_id InfₛHom.dual_id
+#align Inf_hom.dual_id sInfHom.dual_id
@[simp]
-theorem dual_comp (g : InfₛHom β γ) (f : InfₛHom α β) :
- InfₛHom.dual (g.comp f) = (InfₛHom.dual g).comp (InfₛHom.dual f) :=
+theorem dual_comp (g : sInfHom β γ) (f : sInfHom α β) :
+ sInfHom.dual (g.comp f) = (sInfHom.dual g).comp (sInfHom.dual f) :=
rfl
-#align Inf_hom.dual_comp InfₛHom.dual_comp
+#align Inf_hom.dual_comp sInfHom.dual_comp
@[simp]
-theorem symm_dual_id : InfₛHom.dual.symm (SupₛHom.id _) = InfₛHom.id α :=
+theorem symm_dual_id : sInfHom.dual.symm (sSupHom.id _) = sInfHom.id α :=
rfl
-#align Inf_hom.symm_dual_id InfₛHom.symm_dual_id
+#align Inf_hom.symm_dual_id sInfHom.symm_dual_id
@[simp]
-theorem symm_dual_comp (g : SupₛHom βᵒᵈ γᵒᵈ) (f : SupₛHom αᵒᵈ βᵒᵈ) :
- InfₛHom.dual.symm (g.comp f) = (InfₛHom.dual.symm g).comp (InfₛHom.dual.symm f) :=
+theorem symm_dual_comp (g : sSupHom βᵒᵈ γᵒᵈ) (f : sSupHom αᵒᵈ βᵒᵈ) :
+ sInfHom.dual.symm (g.comp f) = (sInfHom.dual.symm g).comp (sInfHom.dual.symm f) :=
rfl
-#align Inf_hom.symm_dual_comp InfₛHom.symm_dual_comp
+#align Inf_hom.symm_dual_comp sInfHom.symm_dual_comp
-end InfₛHom
+end sInfHom
namespace CompleteLatticeHom
@@ -871,8 +871,8 @@ lattices. -/
@[simps!]
protected def dual : CompleteLatticeHom α β ≃ CompleteLatticeHom αᵒᵈ βᵒᵈ
where
- toFun f := ⟨SupₛHom.dual f.toSupₛHom, fun s ↦ f.map_infₛ' s⟩
- invFun f := ⟨SupₛHom.dual f.toSupₛHom, fun s ↦ f.map_infₛ' s⟩
+ toFun f := ⟨sSupHom.dual f.tosSupHom, fun s ↦ f.map_sInf' s⟩
+ invFun f := ⟨sSupHom.dual f.tosSupHom, fun s ↦ f.map_sInf' s⟩
left_inv _ := ext fun _ => rfl
right_inv _ := ext fun _ => rfl
#align complete_lattice_hom.dual CompleteLatticeHom.dual
@@ -911,12 +911,12 @@ namespace CompleteLatticeHom
/-- `Set.preimage` as a complete lattice homomorphism.
-See also `SupₛHom.setImage`. -/
+See also `sSupHom.setImage`. -/
def setPreimage (f : α → β) : CompleteLatticeHom (Set β) (Set α)
where
toFun := preimage f
- map_supₛ' s := preimage_unionₛ.trans <| by simp only [Set.supₛ_eq_unionₛ, Set.unionₛ_image]
- map_infₛ' s := preimage_interₛ.trans <| by simp only [Set.infₛ_eq_interₛ, Set.interₛ_image]
+ map_sSup' s := preimage_sUnion.trans <| by simp only [Set.sSup_eq_sUnion, Set.sUnion_image]
+ map_sInf' s := preimage_sInter.trans <| by simp only [Set.sInf_eq_sInter, Set.sInter_image]
#align complete_lattice_hom.set_preimage CompleteLatticeHom.setPreimage
@[simp]
@@ -942,26 +942,26 @@ theorem setPreimage_comp (g : β → γ) (f : α → β) :
end CompleteLatticeHom
-theorem Set.image_supₛ {f : α → β} (s : Set (Set α)) : f '' supₛ s = supₛ (image f '' s) := by
+theorem Set.image_sSup {f : α → β} (s : Set (Set α)) : f '' sSup s = sSup (image f '' s) := by
ext b
- simp only [supₛ_eq_unionₛ, mem_image, mem_unionₛ, exists_prop, unionₛ_image, mem_unionᵢ]
+ simp only [sSup_eq_sUnion, mem_image, mem_sUnion, exists_prop, sUnion_image, mem_iUnion]
constructor
· rintro ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
exact ⟨t, ht₁, a, ht₂, rfl⟩
· rintro ⟨t, ht₁, a, ht₂, rfl⟩
exact ⟨a, ⟨t, ht₁, ht₂⟩, rfl⟩
-#align set.image_Sup Set.image_supₛ
+#align set.image_Sup Set.image_sSup
-/-- Using `Set.image`, a function between types yields a `SupₛHom` between their lattices of
+/-- Using `Set.image`, a function between types yields a `sSupHom` between their lattices of
subsets.
See also `CompleteLatticeHom.setPreimage`. -/
@[simps]
-def SupₛHom.setImage (f : α → β) : SupₛHom (Set α) (Set β)
+def sSupHom.setImage (f : α → β) : sSupHom (Set α) (Set β)
where
toFun := image f
- map_supₛ' := Set.image_supₛ
-#align Sup_hom.set_image SupₛHom.setImage
+ map_sSup' := Set.image_sSup
+#align Sup_hom.set_image sSupHom.setImage
/-- An equivalence of types yields an order isomorphism between their lattices of subsets. -/
@[simps]
@@ -977,24 +977,24 @@ def Equiv.toOrderIsoSet (e : α ≃ β) : Set α ≃o Set β
variable [CompleteLattice α] (x : α × α)
-/-- The map `(a, b) ↦ a ⊔ b` as a `SupₛHom`. -/
-def supSupₛHom : SupₛHom (α × α) α where
+/-- The map `(a, b) ↦ a ⊔ b` as a `sSupHom`. -/
+def supsSupHom : sSupHom (α × α) α where
toFun x := x.1 ⊔ x.2
- map_supₛ' s := by simp_rw [Prod.fst_supₛ, Prod.snd_supₛ, supₛ_image, supᵢ_sup_eq]
-#align sup_Sup_hom supSupₛHom
+ map_sSup' s := by simp_rw [Prod.fst_sSup, Prod.snd_sSup, sSup_image, iSup_sup_eq]
+#align sup_Sup_hom supsSupHom
-/-- The map `(a, b) ↦ a ⊓ b` as an `InfₛHom`. -/
-def infInfₛHom : InfₛHom (α × α) α where
+/-- The map `(a, b) ↦ a ⊓ b` as an `sInfHom`. -/
+def infsInfHom : sInfHom (α × α) α where
toFun x := x.1 ⊓ x.2
- map_infₛ' s := by simp_rw [Prod.fst_infₛ, Prod.snd_infₛ, infₛ_image, infᵢ_inf_eq]
-#align inf_Inf_hom infInfₛHom
+ map_sInf' s := by simp_rw [Prod.fst_sInf, Prod.snd_sInf, sInf_image, iInf_inf_eq]
+#align inf_Inf_hom infsInfHom
@[simp, norm_cast]
-theorem supSupₛHom_apply : supSupₛHom x = x.1 ⊔ x.2 :=
+theorem supsSupHom_apply : supsSupHom x = x.1 ⊔ x.2 :=
rfl
-#align sup_Sup_hom_apply supSupₛHom_apply
+#align sup_Sup_hom_apply supsSupHom_apply
@[simp, norm_cast]
-theorem infInfₛHom_apply : infInfₛHom x = x.1 ⊓ x.2 :=
+theorem infsInfHom_apply : infsInfHom x = x.1 ⊓ x.2 :=
rfl
-#align inf_Inf_hom_apply infInfₛHom_apply
+#align inf_Inf_hom_apply infsInfHom_apply
finset
lemmas around (#3748)
Match https://github.com/leanprover-community/mathlib/pull/18900
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -4,11 +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.hom.complete_lattice
-! leanprover-community/mathlib commit 71b36b6f3bbe3b44e6538673819324d3ee9fcc96
+! leanprover-community/mathlib commit 9d684a893c52e1d6692a504a118bfccbae04feeb
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
-import Mathlib.Order.CompleteLattice
+import Mathlib.Data.Set.Lattice
import Mathlib.Order.Hom.Lattice
/-!
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -192,9 +192,7 @@ instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLatt
instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [CompleteLattice α]
[CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
{ SupₛHomClass.toSupBotHomClass, InfₛHomClass.toInfTopHomClass with }
-#align
- complete_lattice_hom_class.to_bounded_lattice_hom_class
- CompleteLatticeHomClass.toBoundedLatticeHomClass
+#align complete_lattice_hom_class.to_bounded_lattice_hom_class CompleteLatticeHomClass.toBoundedLatticeHomClass
-- See note [lower instance priority]
instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α]
@@ -740,7 +738,6 @@ theorem id_apply (a : α) : CompleteLatticeHom.id α a = a :=
/-- Composition of `CompleteLatticeHom`s as a `CompleteLatticeHom`. -/
def comp (f : CompleteLatticeHom β γ) (g : CompleteLatticeHom α β) : CompleteLatticeHom α γ :=
{ f.toSupₛHom.comp g.toSupₛHom with toInfₛHom := f.toInfₛHom.comp g.toInfₛHom }
-
#align complete_lattice_hom.comp CompleteLatticeHom.comp
@[simp]
@@ -144,11 +144,9 @@ theorem map_infᵢ₂ [InfSet α] [InfSet β] [InfₛHomClass F α β] (f : F) (
f (⨅ (i) (j), g i j) = ⨅ (i) (j), f (g i j) := by simp_rw [map_infᵢ]
#align map_infi₂ map_infᵢ
-/- Porting note: in the following, [CompleteLattice x] to {_ : CompleteLattice x}
- b/c dangerous instances -/
-- See note [lower instance priority]
-instance (priority := 100) SupₛHomClass.toSupBotHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [SupₛHomClass F α β] : SupBotHomClass F α β :=
+instance (priority := 100) SupₛHomClass.toSupBotHomClass [CompleteLattice α]
+ [CompleteLattice β] [SupₛHomClass F α β] : SupBotHomClass F α β :=
{ ‹SupₛHomClass F α β› with
map_sup := fun f a b => by
rw [← supₛ_pair, map_supₛ]
@@ -160,8 +158,8 @@ instance (priority := 100) SupₛHomClass.toSupBotHomClass {_ : CompleteLattice
#align Sup_hom_class.to_sup_bot_hom_class SupₛHomClass.toSupBotHomClass
-- See note [lower instance priority]
-instance (priority := 100) InfₛHomClass.toInfTopHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [InfₛHomClass F α β] : InfTopHomClass F α β :=
+instance (priority := 100) InfₛHomClass.toInfTopHomClass [CompleteLattice α]
+ [CompleteLattice β] [InfₛHomClass F α β] : InfTopHomClass F α β :=
{ ‹InfₛHomClass F α β› with
map_inf := fun f a b => by
rw [← infₛ_pair, map_infₛ, Set.image_pair]
@@ -173,34 +171,34 @@ instance (priority := 100) InfₛHomClass.toInfTopHomClass {_ : CompleteLattice
#align Inf_hom_class.to_inf_top_hom_class InfₛHomClass.toInfTopHomClass
-- See note [lower instance priority]
-instance (priority := 100) FrameHomClass.toSupₛHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [FrameHomClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) FrameHomClass.toSupₛHomClass [CompleteLattice α]
+ [CompleteLattice β] [FrameHomClass F α β] : SupₛHomClass F α β :=
{ ‹FrameHomClass F α β› with }
#align frame_hom_class.to_Sup_hom_class FrameHomClass.toSupₛHomClass
-- See note [lower instance priority]
-instance (priority := 100) FrameHomClass.toBoundedLatticeHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [FrameHomClass F α β] : BoundedLatticeHomClass F α β :=
+instance (priority := 100) FrameHomClass.toBoundedLatticeHomClass [CompleteLattice α]
+ [CompleteLattice β] [FrameHomClass F α β] : BoundedLatticeHomClass F α β :=
{ ‹FrameHomClass F α β›, SupₛHomClass.toSupBotHomClass with }
#align frame_hom_class.to_bounded_lattice_hom_class FrameHomClass.toBoundedLatticeHomClass
-- See note [lower instance priority]
-instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [CompleteLatticeHomClass F α β] : FrameHomClass F α β :=
+instance (priority := 100) CompleteLatticeHomClass.toFrameHomClass [CompleteLattice α]
+ [CompleteLattice β] [CompleteLatticeHomClass F α β] : FrameHomClass F α β :=
{ ‹CompleteLatticeHomClass F α β›, InfₛHomClass.toInfTopHomClass with }
#align complete_lattice_hom_class.to_frame_hom_class CompleteLatticeHomClass.toFrameHomClass
-- See note [lower instance priority]
-instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
+instance (priority := 100) CompleteLatticeHomClass.toBoundedLatticeHomClass [CompleteLattice α]
+ [CompleteLattice β] [CompleteLatticeHomClass F α β] : BoundedLatticeHomClass F α β :=
{ SupₛHomClass.toSupBotHomClass, InfₛHomClass.toInfTopHomClass with }
#align
complete_lattice_hom_class.to_bounded_lattice_hom_class
CompleteLatticeHomClass.toBoundedLatticeHomClass
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toSupₛHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [OrderIsoClass F α β] : SupₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.toSupₛHomClass [CompleteLattice α]
+ [CompleteLattice β] [OrderIsoClass F α β] : SupₛHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
map_supₛ := fun f s =>
eq_of_forall_ge_iff fun c => by
@@ -208,8 +206,8 @@ instance (priority := 100) OrderIsoClass.toSupₛHomClass {_ : CompleteLattice
#align order_iso_class.to_Sup_hom_class OrderIsoClass.toSupₛHomClass
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toInfₛHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [OrderIsoClass F α β] : InfₛHomClass F α β :=
+instance (priority := 100) OrderIsoClass.toInfₛHomClass [CompleteLattice α]
+ [CompleteLattice β] [OrderIsoClass F α β] : InfₛHomClass F α β :=
{ show OrderHomClass F α β from inferInstance with
map_infₛ := fun f s =>
eq_of_forall_le_iff fun c => by
@@ -217,8 +215,8 @@ instance (priority := 100) OrderIsoClass.toInfₛHomClass {_ : CompleteLattice
#align order_iso_class.to_Inf_hom_class OrderIsoClass.toInfₛHomClass
-- See note [lower instance priority]
-instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass {_ : CompleteLattice α}
- {_ : CompleteLattice β} [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
+instance (priority := 100) OrderIsoClass.toCompleteLatticeHomClass [CompleteLattice α]
+ [CompleteLattice β] [OrderIsoClass F α β] : CompleteLatticeHomClass F α β :=
-- Porting note: Used to be:
-- { OrderIsoClass.toSupₛHomClass, OrderIsoClass.toLatticeHomClass,
-- show InfₛHomClass F α β from inferInstance with }
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -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.hom.complete_lattice
-! leanprover-community/mathlib commit bcfa726826abd57587355b4b5b7e78ad6527b7e4
+! leanprover-community/mathlib commit 71b36b6f3bbe3b44e6538673819324d3ee9fcc96
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
initialize_simps_projections
now by default generates all projections of all parent structures, and doesn't generate the projections to those parent structures.TwoPointed
)Internal changes:
ParsedProjectionData
to avoid the bug reported here (and to another bug where it seemed that the wrong data was inserted in ParsedProjectionData
, but it was hard to minimize because of all the crashes). If we manage to fix the bug in that Zulip thread, I'll see if I can track down the other bug in commit 97454284Co-authored-by: Johan Commelin <johan@commelin.net>
@@ -873,7 +873,7 @@ variable [CompleteLattice α] [CompleteLattice β] [CompleteLattice γ]
/-- Reinterpret a complete lattice homomorphism as a complete lattice homomorphism between the dual
lattices. -/
-@[simps]
+@[simps!]
protected def dual : CompleteLatticeHom α β ≃ CompleteLatticeHom αᵒᵈ βᵒᵈ
where
toFun f := ⟨SupₛHom.dual f.toSupₛHom, fun s ↦ f.map_infₛ' s⟩
Lot of dangerous instances that were tamed with replacements à la [CompleteLattice x] -> {_ : CompleteLattice x}
. Surprisingly smoothly otherwise, perhaps the translation of Sup_hom
into SupₛHom
is controversial.
Co-authored-by: Johan Commelin <johan@commelin.net>
All dependencies are ported!