From 3c093ffed8557165c35361be38d8c17b078ce7ab Mon Sep 17 00:00:00 2001 From: leanprover-community-bot Date: Mon, 8 May 2023 04:46:11 +0000 Subject: [PATCH] bump to nightly-2023-05-08-04 mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1 --- Mathbin/Algebra/BigOperators/Basic.lean | 24 +- Mathbin/Algebra/BigOperators/Pi.lean | 18 + Mathbin/Analysis/Normed/Group/Quotient.lean | 228 ++++++++- .../Normed/Group/SemiNormedGroup/Kernels.lean | 6 +- Mathbin/Computability/Partrec.lean | 459 +++++++++++++++++- Mathbin/Data/Real/Ennreal.lean | 6 +- Mathbin/Topology/Category/Top/OpenNhds.lean | 102 ++++ lake-manifest.json | 8 +- lakefile.lean | 4 +- 9 files changed, 818 insertions(+), 37 deletions(-) diff --git a/Mathbin/Algebra/BigOperators/Basic.lean b/Mathbin/Algebra/BigOperators/Basic.lean index 83f5a9803b..0b2ac05c71 100644 --- a/Mathbin/Algebra/BigOperators/Basic.lean +++ b/Mathbin/Algebra/BigOperators/Basic.lean @@ -1544,13 +1544,25 @@ theorem prod_dite_irrel (p : Prop) [Decidable p] (s : Finset α) (f : p → α #align finset.sum_dite_irrel Finset.sum_dite_irrel -/ +/- warning: finset.prod_pi_mul_single' -> Finset.prod_pi_mulSingle' is a dubious translation: +lean 3 declaration is + forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : CommMonoid.{u1} β] [_inst_2 : DecidableEq.{succ u2} α] (a : α) (x : β) (s : Finset.{u2} α), Eq.{succ u1} β (Finset.prod.{u1, u2} β α _inst_1 s (fun (a' : α) => Pi.mulSingle.{u2, u1} α (fun (a : α) => β) (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => MulOneClass.toHasOne.{u1} β (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β _inst_1))) a x a')) (ite.{succ u1} β (Membership.Mem.{u2, u2} α (Finset.{u2} α) (Finset.hasMem.{u2} α) a s) (Finset.decidableMem.{u2} α (fun (a : α) (b : α) => _inst_2 a b) a s) x (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (MulOneClass.toHasOne.{u1} β (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β _inst_1))))))) +but is expected to have type + forall {β : Type.{u1}} {α : Type.{u2}} [_inst_1 : CommMonoid.{u1} β] [_inst_2 : DecidableEq.{succ u2} α] (a : α) (x : β) (s : Finset.{u2} α), Eq.{succ u1} β (Finset.prod.{u1, u2} β α _inst_1 s (fun (a' : α) => Pi.mulSingle.{u2, u1} α (fun (a : α) => β) (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => Monoid.toOne.{u1} β (CommMonoid.toMonoid.{u1} β _inst_1)) a x a')) (ite.{succ u1} β (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a s) (Finset.decidableMem.{u2} α (fun (a : α) (b : α) => _inst_2 a b) a s) x (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Monoid.toOne.{u1} β (CommMonoid.toMonoid.{u1} β _inst_1))))) +Case conversion may be inaccurate. Consider using '#align finset.prod_pi_mul_single' Finset.prod_pi_mulSingle'ₓ'. -/ @[simp, to_additive] -theorem prod_pi_mul_single' [DecidableEq α] (a : α) (x : β) (s : Finset α) : +theorem prod_pi_mulSingle' [DecidableEq α] (a : α) (x : β) (s : Finset α) : (∏ a' in s, Pi.mulSingle a x a') = if a ∈ s then x else 1 := prod_dite_eq' _ _ _ -#align finset.prod_pi_mul_single' Finset.prod_pi_mul_single' +#align finset.prod_pi_mul_single' Finset.prod_pi_mulSingle' #align finset.sum_pi_single' Finset.sum_pi_single' +/- warning: finset.prod_pi_mul_single -> Finset.prod_pi_mulSingle is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : α -> Type.{u2}} [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : forall (a : α), CommMonoid.{u2} (β a)] (a : α) (f : forall (a : α), β a) (s : Finset.{u1} α), Eq.{succ u2} (β a) (Finset.prod.{u2, u1} (β a) α (_inst_3 a) s (fun (a' : α) => Pi.mulSingle.{u1, u2} α (fun (a' : α) => β a') (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => MulOneClass.toHasOne.{u2} (β i) (Monoid.toMulOneClass.{u2} (β i) (CommMonoid.toMonoid.{u2} (β i) (_inst_3 i)))) a' (f a') a)) (ite.{succ u2} (β a) (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s) (Finset.decidableMem.{u1} α (fun (a : α) (b : α) => _inst_2 a b) a s) (f a) (OfNat.ofNat.{u2} (β a) 1 (OfNat.mk.{u2} (β a) 1 (One.one.{u2} (β a) (MulOneClass.toHasOne.{u2} (β a) (Monoid.toMulOneClass.{u2} (β a) (CommMonoid.toMonoid.{u2} (β a) (_inst_3 a)))))))) +but is expected to have type + forall {α : Type.{u2}} {β : α -> Type.{u1}} [_inst_2 : DecidableEq.{succ u2} α] [_inst_3 : forall (a : α), CommMonoid.{u1} (β a)] (a : α) (f : forall (a : α), β a) (s : Finset.{u2} α), Eq.{succ u1} (β a) (Finset.prod.{u1, u2} (β a) α (_inst_3 a) s (fun (a' : α) => Pi.mulSingle.{u2, u1} α β (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => Monoid.toOne.{u1} (β i) (CommMonoid.toMonoid.{u1} (β i) (_inst_3 i))) a' (f a') a)) (ite.{succ u1} (β a) (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a s) (Finset.decidableMem.{u2} α (fun (a : α) (b : α) => _inst_2 a b) a s) (f a) (OfNat.ofNat.{u1} (β a) 1 (One.toOfNat1.{u1} (β a) (Monoid.toOne.{u1} (β a) (CommMonoid.toMonoid.{u1} (β a) (_inst_3 a)))))) +Case conversion may be inaccurate. Consider using '#align finset.prod_pi_mul_single Finset.prod_pi_mulSingleₓ'. -/ @[simp, to_additive] theorem prod_pi_mulSingle {β : α → Type _} [DecidableEq α] [∀ a, CommMonoid (β a)] (a : α) (f : ∀ a, β a) (s : Finset α) : @@ -1991,7 +2003,7 @@ theorem eq_prod_range_div' {M : Type _} [CommGroup M] (f : ℕ → M) (n : ℕ) lean 3 declaration is forall {α : Type.{u1}} [_inst_2 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_3 : Sub.{u1} α] [_inst_4 : OrderedSub.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))) (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))))) _inst_3] [_inst_5 : ContravariantClass.{u1, u1} α α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))))] {f : Nat -> α}, (Monotone.{0, u1} Nat α (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))) f) -> (forall (n : Nat), Eq.{succ u1} α (Finset.sum.{u1, 0} α Nat (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)) (Finset.range n) (fun (i : Nat) => HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (f i))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f n) (f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))))) but is expected to have type - forall {α : Type.{u1}} [_inst_2 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_3 : Sub.{u1} α] [_inst_4 : OrderedSub.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))))) _inst_3] [_inst_5 : ContravariantClass.{u1, u1} α α (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19935 : α) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19937 : α) => HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19935 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19937) (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19950 : α) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19952 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19950 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19952)] {f : Nat -> α}, (Monotone.{0, u1} Nat α (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))) f) -> (forall (n : Nat), Eq.{succ u1} α (Finset.sum.{u1, 0} α Nat (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)) (Finset.range n) (fun (i : Nat) => HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (f i))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f n) (f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) + forall {α : Type.{u1}} [_inst_2 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_3 : Sub.{u1} α] [_inst_4 : OrderedSub.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))))) _inst_3] [_inst_5 : ContravariantClass.{u1, u1} α α (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19930 : α) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19932 : α) => HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19930 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19932) (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19945 : α) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19947 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19945 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.19947)] {f : Nat -> α}, (Monotone.{0, u1} Nat α (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2))) f) -> (forall (n : Nat), Eq.{succ u1} α (Finset.sum.{u1, 0} α Nat (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_2)) (Finset.range n) (fun (i : Nat) => HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (f i))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α _inst_3) (f n) (f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Case conversion may be inaccurate. Consider using '#align finset.sum_range_tsub Finset.sum_range_tsubₓ'. -/ /-- A telescoping sum along `{0, ..., n-1}` of an `ℕ`-valued function reduces to the difference of the last and first terms @@ -2372,6 +2384,12 @@ theorem prod_ite_one {f : α → Prop} [DecidablePred f] (hf : (s : Set α).Pair #align finset.prod_ite_one Finset.prod_ite_one #align finset.sum_ite_zero Finset.sum_ite_zero +/- warning: finset.prod_erase_lt_of_one_lt -> Finset.prod_erase_lt_of_one_lt is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {γ : Type.{u2}} [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : OrderedCommMonoid.{u2} γ] [_inst_4 : CovariantClass.{u2, u2} γ γ (HMul.hMul.{u2, u2, u2} γ γ γ (instHMul.{u2} γ (MulOneClass.toHasMul.{u2} γ (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))))) (LT.lt.{u2} γ (Preorder.toLT.{u2} γ (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3))))] {s : Finset.{u1} α} {d : α}, (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) d s) -> (forall {f : α -> γ}, (LT.lt.{u2} γ (Preorder.toLT.{u2} γ (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3))) (OfNat.ofNat.{u2} γ 1 (OfNat.mk.{u2} γ 1 (One.one.{u2} γ (MulOneClass.toHasOne.{u2} γ (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))))))) (f d)) -> (LT.lt.{u2} γ (Preorder.toLT.{u2} γ (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3))) (Finset.prod.{u2, u1} γ α (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3) (Finset.erase.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s d) (fun (m : α) => f m)) (Finset.prod.{u2, u1} γ α (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3) s (fun (m : α) => f m)))) +but is expected to have type + forall {α : Type.{u2}} {γ : Type.{u1}} [_inst_2 : DecidableEq.{succ u2} α] [_inst_3 : OrderedCommMonoid.{u1} γ] [_inst_4 : CovariantClass.{u1, u1} γ γ (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23803 : γ) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23805 : γ) => HMul.hMul.{u1, u1, u1} γ γ γ (instHMul.{u1} γ (MulOneClass.toMul.{u1} γ (Monoid.toMulOneClass.{u1} γ (CommMonoid.toMonoid.{u1} γ (OrderedCommMonoid.toCommMonoid.{u1} γ _inst_3))))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23803 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23805) (fun (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23818 : γ) (x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23820 : γ) => LT.lt.{u1} γ (Preorder.toLT.{u1} γ (PartialOrder.toPreorder.{u1} γ (OrderedCommMonoid.toPartialOrder.{u1} γ _inst_3))) x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23818 x._@.Mathlib.Algebra.BigOperators.Basic._hyg.23820)] {s : Finset.{u2} α} {d : α}, (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) d s) -> (forall {f : α -> γ}, (LT.lt.{u1} γ (Preorder.toLT.{u1} γ (PartialOrder.toPreorder.{u1} γ (OrderedCommMonoid.toPartialOrder.{u1} γ _inst_3))) (OfNat.ofNat.{u1} γ 1 (One.toOfNat1.{u1} γ (Monoid.toOne.{u1} γ (CommMonoid.toMonoid.{u1} γ (OrderedCommMonoid.toCommMonoid.{u1} γ _inst_3))))) (f d)) -> (LT.lt.{u1} γ (Preorder.toLT.{u1} γ (PartialOrder.toPreorder.{u1} γ (OrderedCommMonoid.toPartialOrder.{u1} γ _inst_3))) (Finset.prod.{u1, u2} γ α (OrderedCommMonoid.toCommMonoid.{u1} γ _inst_3) (Finset.erase.{u2} α (fun (a : α) (b : α) => _inst_2 a b) s d) (fun (m : α) => f m)) (Finset.prod.{u1, u2} γ α (OrderedCommMonoid.toCommMonoid.{u1} γ _inst_3) s (fun (m : α) => f m)))) +Case conversion may be inaccurate. Consider using '#align finset.prod_erase_lt_of_one_lt Finset.prod_erase_lt_of_one_ltₓ'. -/ @[to_additive] theorem prod_erase_lt_of_one_lt {γ : Type _} [DecidableEq α] [OrderedCommMonoid γ] [CovariantClass γ γ (· * ·) (· < ·)] {s : Finset α} {d : α} (hd : d ∈ s) {f : α → γ} diff --git a/Mathbin/Algebra/BigOperators/Pi.lean b/Mathbin/Algebra/BigOperators/Pi.lean index 2bd7685279..1d232236c7 100644 --- a/Mathbin/Algebra/BigOperators/Pi.lean +++ b/Mathbin/Algebra/BigOperators/Pi.lean @@ -116,6 +116,12 @@ variable {I : Type _} [DecidableEq I] {Z : I → Type _} variable [∀ i, CommMonoid (Z i)] +/- warning: finset.univ_prod_mul_single -> Finset.univ_prod_mulSingle is a dubious translation: +lean 3 declaration is + forall {I : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} I] {Z : I -> Type.{u2}} [_inst_2 : forall (i : I), CommMonoid.{u2} (Z i)] [_inst_3 : Fintype.{u1} I] (f : forall (i : I), Z i), Eq.{succ (max u1 u2)} (forall (i : I), Z i) (Finset.prod.{max u1 u2, u1} (forall (i : I), Z i) I (Pi.commMonoid.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => _inst_2 i)) (Finset.univ.{u1} I _inst_3) (fun (i : I) => Pi.mulSingle.{u1, u2} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => MulOneClass.toHasOne.{u2} (Z i) (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) i (f i))) f +but is expected to have type + forall {I : Type.{u2}} [_inst_1 : DecidableEq.{succ u2} I] {Z : I -> Type.{u1}} [_inst_2 : forall (i : I), CommMonoid.{u1} (Z i)] [_inst_3 : Fintype.{u2} I] (f : forall (i : I), Z i), Eq.{max (succ u2) (succ u1)} (forall (i : I), Z i) (Finset.prod.{max u1 u2, u2} (forall (i : I), Z i) I (Pi.commMonoid.{u2, u1} I (fun (i : I) => Z i) (fun (i : I) => _inst_2 i)) (Finset.univ.{u2} I _inst_3) (fun (i : I) => Pi.mulSingle.{u2, u1} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toOne.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i (f i))) f +Case conversion may be inaccurate. Consider using '#align finset.univ_prod_mul_single Finset.univ_prod_mulSingleₓ'. -/ @[to_additive] theorem Finset.univ_prod_mulSingle [Fintype I] (f : ∀ i, Z i) : (∏ i, Pi.mulSingle i (f i)) = f := by @@ -124,6 +130,12 @@ theorem Finset.univ_prod_mulSingle [Fintype I] (f : ∀ i, Z i) : (∏ i, Pi.mul #align finset.univ_prod_mul_single Finset.univ_prod_mulSingle #align finset.univ_sum_single Finset.univ_sum_single +/- warning: monoid_hom.functions_ext -> MonoidHom.functions_ext is a dubious translation: +lean 3 declaration is + forall {I : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} I] {Z : I -> Type.{u2}} [_inst_2 : forall (i : I), CommMonoid.{u2} (Z i)] [_inst_3 : Finite.{succ u1} I] (G : Type.{u3}) [_inst_4 : CommMonoid.{u3} G] (g : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) (h : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))), (forall (i : I) (x : Z i), Eq.{succ u3} G (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) (fun (_x : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) => (forall (i : I), Z i) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) g (Pi.mulSingle.{u1, u2} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => MulOneClass.toHasOne.{u2} (Z i) (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) i x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) (fun (_x : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) => (forall (i : I), Z i) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) h (Pi.mulSingle.{u1, u2} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => MulOneClass.toHasOne.{u2} (Z i) (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) i x))) -> (Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) G (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} G (CommMonoid.toMonoid.{u3} G _inst_4))) g h) +but is expected to have type + forall {I : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} I] {Z : I -> Type.{u1}} [_inst_2 : forall (i : I), CommMonoid.{u1} (Z i)] [_inst_3 : Finite.{succ u3} I] (G : Type.{u2}) [_inst_4 : CommMonoid.{u2} G] (g : MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (h : MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))), (forall (i : I) (x : Z i), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : forall (i : I), Z i) => G) (Pi.mulSingle.{u3, u1} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toOne.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i x)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) (fun (_x : forall (i : I), Z i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : forall (i : I), Z i) => G) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) G (MulOneClass.toMul.{max u3 u1} (forall (i : I), Z i) (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (MonoidHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4)) (MonoidHom.monoidHomClass.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))))) g (Pi.mulSingle.{u3, u1} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toOne.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i x)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) (fun (_x : forall (i : I), Z i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : forall (i : I), Z i) => G) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) G (MulOneClass.toMul.{max u3 u1} (forall (i : I), Z i) (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (MonoidHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4)) (MonoidHom.monoidHomClass.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))))) h (Pi.mulSingle.{u3, u1} I (fun (i : I) => Z i) (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toOne.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i x))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) G (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} G (CommMonoid.toMonoid.{u2} G _inst_4))) g h) +Case conversion may be inaccurate. Consider using '#align monoid_hom.functions_ext MonoidHom.functions_extₓ'. -/ @[to_additive] theorem MonoidHom.functions_ext [Finite I] (G : Type _) [CommMonoid G] (g h : (∀ i, Z i) →* G) (H : ∀ i x, g (Pi.mulSingle i x) = h (Pi.mulSingle i x)) : g = h := @@ -135,6 +147,12 @@ theorem MonoidHom.functions_ext [Finite I] (G : Type _) [CommMonoid G] (g h : ( #align monoid_hom.functions_ext MonoidHom.functions_ext #align add_monoid_hom.functions_ext AddMonoidHom.functions_ext +/- warning: monoid_hom.functions_ext' -> MonoidHom.functions_ext' is a dubious translation: +lean 3 declaration is + forall {I : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} I] {Z : I -> Type.{u2}} [_inst_2 : forall (i : I), CommMonoid.{u2} (Z i)] [_inst_3 : Finite.{succ u1} I] (M : Type.{u3}) [_inst_4 : CommMonoid.{u3} M] (g : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) M (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4))) (h : MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) M (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4))), (forall (i : I), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} (Z i) M (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4))) (MonoidHom.comp.{u2, max u1 u2, u3} (Z i) (forall (i : I), Z i) M (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i))) (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4)) g (MonoidHom.single.{u1, u2} I Z (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i))) i)) (MonoidHom.comp.{u2, max u1 u2, u3} (Z i) (forall (i : I), Z i) M (Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i))) (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4)) h (MonoidHom.single.{u1, u2} I Z (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i))) i))) -> (Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (forall (i : I), Z i) M (Pi.mulOneClass.{u1, u2} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u2} (Z i) (CommMonoid.toMonoid.{u2} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u3} M (CommMonoid.toMonoid.{u3} M _inst_4))) g h) +but is expected to have type + forall {I : Type.{u3}} [_inst_1 : DecidableEq.{succ u3} I] {Z : I -> Type.{u1}} [_inst_2 : forall (i : I), CommMonoid.{u1} (Z i)] [_inst_3 : Finite.{succ u3} I] (M : Type.{u2}) [_inst_4 : CommMonoid.{u2} M] (g : MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) M (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4))) (h : MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) M (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4))), (forall (i : I), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Z i) M (Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4))) (MonoidHom.comp.{u1, max u3 u1, u2} (Z i) (forall (i : I), Z i) M (Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4)) g (MonoidHom.single.{u3, u1} I Z (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i)) (MonoidHom.comp.{u1, max u3 u1, u2} (Z i) (forall (i : I), Z i) M (Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4)) h (MonoidHom.single.{u3, u1} I Z (fun (a : I) (b : I) => _inst_1 a b) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i))) i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (MonoidHom.{max u3 u1, u2} (forall (i : I), Z i) M (Pi.mulOneClass.{u3, u1} I (fun (i : I) => Z i) (fun (i : I) => Monoid.toMulOneClass.{u1} (Z i) (CommMonoid.toMonoid.{u1} (Z i) (_inst_2 i)))) (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_4))) g h) +Case conversion may be inaccurate. Consider using '#align monoid_hom.functions_ext' MonoidHom.functions_ext'ₓ'. -/ /-- This is used as the ext lemma instead of `monoid_hom.functions_ext` for reasons explained in note [partially-applied ext lemmas]. -/ @[ext, diff --git a/Mathbin/Analysis/Normed/Group/Quotient.lean b/Mathbin/Analysis/Normed/Group/Quotient.lean index 58e6821aa9..b7bfd78c92 100644 --- a/Mathbin/Analysis/Normed/Group/Quotient.lean +++ b/Mathbin/Analysis/Normed/Group/Quotient.lean @@ -103,16 +103,30 @@ open Topology NNReal variable {M N : Type _} [SeminormedAddCommGroup M] [SeminormedAddCommGroup N] +#print normOnQuotient /- /-- The definition of the norm on the quotient by an additive subgroup. -/ noncomputable instance normOnQuotient (S : AddSubgroup M) : Norm (M ⧸ S) where norm x := infₛ (norm '' { m | mk' S m = x }) #align norm_on_quotient normOnQuotient +-/ +/- warning: add_subgroup.quotient_norm_eq -> AddSubgroup.quotient_norm_eq is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) (InfSet.infₛ.{0} Real Real.hasInf (Set.image.{u1, 0} M Real (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1)) (setOf.{u1} M (fun (m : M) => Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasLiftT.mk.{succ u1, succ u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (CoeTCₓ.coe.{succ u1, succ u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (quotientAddGroup.HasQuotient.Quotient.hasCoeT.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S))) m) x)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) (InfSet.infₛ.{0} Real Real.instInfSetReal (Set.image.{u1, 0} M Real (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1)) (setOf.{u1} M (fun (m : M) => Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.mk.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S m) x)))) +Case conversion may be inaccurate. Consider using '#align add_subgroup.quotient_norm_eq AddSubgroup.quotient_norm_eqₓ'. -/ theorem AddSubgroup.quotient_norm_eq {S : AddSubgroup M} (x : M ⧸ S) : ‖x‖ = infₛ (norm '' { m : M | (m : M ⧸ S) = x }) := rfl #align add_subgroup.quotient_norm_eq AddSubgroup.quotient_norm_eq +/- warning: image_norm_nonempty -> image_norm_nonempty is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Set.Nonempty.{0} Real (Set.image.{u1, 0} M Real (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1)) (setOf.{u1} M (fun (m : M) => Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) x))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Set.Nonempty.{0} Real (Set.image.{u1, 0} M Real (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1)) (setOf.{u1} M (fun (m : M) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) x))) +Case conversion may be inaccurate. Consider using '#align image_norm_nonempty image_norm_nonemptyₓ'. -/ theorem image_norm_nonempty {S : AddSubgroup M} : ∀ x : M ⧸ S, (norm '' { m | mk' S m = x }).Nonempty := by @@ -123,13 +137,21 @@ theorem image_norm_nonempty {S : AddSubgroup M} : rfl #align image_norm_nonempty image_norm_nonempty +#print bddBelow_image_norm /- theorem bddBelow_image_norm (s : Set M) : BddBelow (norm '' s) := by use 0 rintro _ ⟨x, hx, rfl⟩ apply norm_nonneg #align bdd_below_image_norm bddBelow_image_norm +-/ +/- warning: quotient_norm_neg -> quotient_norm_neg is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (Neg.neg.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toHasNeg.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))) x)) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (Neg.neg.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (NegZeroClass.toNeg.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegZeroMonoid.toNegZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddCommGroup.toDivisionAddCommMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addCommGroup.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) x)) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) +Case conversion may be inaccurate. Consider using '#align quotient_norm_neg quotient_norm_negₓ'. -/ /-- The norm on the quotient satisfies `‖-x‖ = ‖x‖`. -/ theorem quotient_norm_neg {S : AddSubgroup M} (x : M ⧸ S) : ‖-x‖ = ‖x‖ := by @@ -143,10 +165,22 @@ theorem quotient_norm_neg {S : AddSubgroup M} (x : M ⧸ S) : ‖-x‖ = ‖x‖ exact ⟨-m, by simpa using neg_eq_iff_eq_neg.mpr ((mk'_apply _ _).symm.trans hm)⟩ #align quotient_norm_neg quotient_norm_neg +/- warning: quotient_norm_sub_rev -> quotient_norm_sub_rev is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (y : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HSub.hSub.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toHasSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) x y)) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HSub.hSub.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toHasSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) y x)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (y : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HSub.hSub.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) x y)) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HSub.hSub.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toSub.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) y x)) +Case conversion may be inaccurate. Consider using '#align quotient_norm_sub_rev quotient_norm_sub_revₓ'. -/ theorem quotient_norm_sub_rev {S : AddSubgroup M} (x y : M ⧸ S) : ‖x - y‖ = ‖y - x‖ := by rw [show x - y = -(y - x) by abel, quotient_norm_neg] #align quotient_norm_sub_rev quotient_norm_sub_rev +/- warning: quotient_norm_mk_le -> quotient_norm_mk_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) m) +Case conversion may be inaccurate. Consider using '#align quotient_norm_mk_le quotient_norm_mk_leₓ'. -/ /-- The norm of the projection is smaller or equal to the norm of the original element. -/ theorem quotient_norm_mk_le (S : AddSubgroup M) (m : M) : ‖mk' S m‖ ≤ ‖m‖ := by @@ -158,11 +192,23 @@ theorem quotient_norm_mk_le (S : AddSubgroup M) (m : M) : ‖mk' S m‖ ≤ ‖m rw [Set.mem_setOf_eq] #align quotient_norm_mk_le quotient_norm_mk_le +/- warning: quotient_norm_mk_le' -> quotient_norm_mk_le' is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasLiftT.mk.{succ u1, succ u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (CoeTCₓ.coe.{succ u1, succ u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (quotientAddGroup.HasQuotient.Quotient.hasCoeT.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S))) m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (QuotientAddGroup.mk.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) m) +Case conversion may be inaccurate. Consider using '#align quotient_norm_mk_le' quotient_norm_mk_le'ₓ'. -/ /-- The norm of the projection is smaller or equal to the norm of the original element. -/ theorem quotient_norm_mk_le' (S : AddSubgroup M) (m : M) : ‖(m : M ⧸ S)‖ ≤ ‖m‖ := quotient_norm_mk_le S m #align quotient_norm_mk_le' quotient_norm_mk_le' +/- warning: quotient_norm_mk_eq -> quotient_norm_mk_eq is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (InfSet.infₛ.{0} Real Real.hasInf (Set.image.{u1, 0} M Real (fun (x : M) => Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))))) m x)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) S))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (InfSet.infₛ.{0} Real Real.instInfSetReal (Set.image.{u1, 0} M Real (fun (x : M) => Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))))) m x)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S))) +Case conversion may be inaccurate. Consider using '#align quotient_norm_mk_eq quotient_norm_mk_eqₓ'. -/ /-- The norm of the image under the natural morphism to the quotient. -/ theorem quotient_norm_mk_eq (S : AddSubgroup M) (m : M) : ‖mk' S m‖ = infₛ ((fun x => ‖m + x‖) '' S) := @@ -180,6 +226,12 @@ theorem quotient_norm_mk_eq (S : AddSubgroup M) (m : M) : simpa using h #align quotient_norm_mk_eq quotient_norm_mk_eq +/- warning: quotient_norm_nonneg -> quotient_norm_nonneg is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) +Case conversion may be inaccurate. Consider using '#align quotient_norm_nonneg quotient_norm_nonnegₓ'. -/ /-- The quotient norm is nonnegative. -/ theorem quotient_norm_nonneg (S : AddSubgroup M) : ∀ x : M ⧸ S, 0 ≤ ‖x‖ := by @@ -190,11 +242,23 @@ theorem quotient_norm_nonneg (S : AddSubgroup M) : ∀ x : M ⧸ S, 0 ≤ ‖x apply norm_nonneg #align quotient_norm_nonneg quotient_norm_nonneg +/- warning: norm_mk_nonneg -> norm_mk_nonneg is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) +Case conversion may be inaccurate. Consider using '#align norm_mk_nonneg norm_mk_nonnegₓ'. -/ /-- The quotient norm is nonnegative. -/ theorem norm_mk_nonneg (S : AddSubgroup M) (m : M) : 0 ≤ ‖mk' S m‖ := quotient_norm_nonneg S _ #align norm_mk_nonneg norm_mk_nonneg +/- warning: quotient_norm_eq_zero_iff -> quotient_norm_eq_zero_iff is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Iff (Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Membership.Mem.{u1, u1} M (Set.{u1} M) (Set.hasMem.{u1} M) m (closure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) S))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Iff (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) m (closure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S))) +Case conversion may be inaccurate. Consider using '#align quotient_norm_eq_zero_iff quotient_norm_eq_zero_iffₓ'. -/ /-- The norm of the image of `m : M` in the quotient by `S` is zero if and only if `m` belongs to the closure of `S`. -/ theorem quotient_norm_eq_zero_iff (S : AddSubgroup M) (m : M) : @@ -222,6 +286,12 @@ theorem quotient_norm_eq_zero_iff (S : AddSubgroup M) (m : M) : use 0, S.zero_mem #align quotient_norm_eq_zero_iff quotient_norm_eq_zero_iff +/- warning: norm_mk_lt -> norm_mk_lt is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) {ε : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} M (fun (m : M) => And (Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) x) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) ε)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))} (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) {ε : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u1} M (fun (m : M) => And (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) x) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) ε)))) +Case conversion may be inaccurate. Consider using '#align norm_mk_lt norm_mk_ltₓ'. -/ /-- For any `x : M ⧸ S` and any `0 < ε`, there is `m : M` such that `mk' S m = x` and `‖m‖ < ‖x‖ + ε`. -/ theorem norm_mk_lt {S : AddSubgroup M} (x : M ⧸ S) {ε : ℝ} (hε : 0 < ε) : @@ -233,6 +303,12 @@ theorem norm_mk_lt {S : AddSubgroup M} (x : M ⧸ S) {ε : ℝ} (hε : 0 < ε) : exact ⟨m, rfl, hnorm⟩ #align norm_mk_lt norm_mk_lt +/- warning: norm_mk_lt' -> norm_mk_lt' is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M) {ε : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} M (fun (s : M) => Exists.{0} (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) (fun (H : Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) => LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toHasAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))))) m s)) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) ε)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M) {ε : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u1} M (fun (s : M) => And (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))))) m s)) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) ε)))) +Case conversion may be inaccurate. Consider using '#align norm_mk_lt' norm_mk_lt'ₓ'. -/ /-- For any `m : M` and any `0 < ε`, there is `s ∈ S` such that `‖m + s‖ < ‖mk' S m‖ + ε`. -/ theorem norm_mk_lt' (S : AddSubgroup M) (m : M) {ε : ℝ} (hε : 0 < ε) : ∃ s ∈ S, ‖m + s‖ < ‖mk' S m‖ + ε := @@ -244,6 +320,12 @@ theorem norm_mk_lt' (S : AddSubgroup M) (m : M) {ε : ℝ} (hε : 0 < ε) : rwa [add_neg_cancel_left] #align norm_mk_lt' norm_mk_lt' +/- warning: quotient_norm_add_le -> quotient_norm_add_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (y : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HAdd.hAdd.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toHasAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))))) x y)) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) y)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (y : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (HAdd.hAdd.{u1, u1, u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (instHAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))))) x y)) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) y)) +Case conversion may be inaccurate. Consider using '#align quotient_norm_add_le quotient_norm_add_leₓ'. -/ /-- The quotient norm satisfies the triangle inequality. -/ theorem quotient_norm_add_le (S : AddSubgroup M) (x y : M ⧸ S) : ‖x + y‖ ≤ ‖x‖ + ‖y‖ := by @@ -259,6 +341,12 @@ theorem quotient_norm_add_le (S : AddSubgroup M) (x y : M ⧸ S) : ‖x + y‖ #align quotient_norm_add_le quotient_norm_add_le +/- warning: norm_mk_zero -> norm_mk_zero is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (OfNat.ofNat.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (OfNat.mk.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (Zero.zero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toHasZero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (OfNat.ofNat.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (Zero.toOfNat0.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (NegZeroClass.toZero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegZeroMonoid.toNegZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddCommGroup.toDivisionAddCommMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addCommGroup.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))))))) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) +Case conversion may be inaccurate. Consider using '#align norm_mk_zero norm_mk_zeroₓ'. -/ /-- The quotient norm of `0` is `0`. -/ theorem norm_mk_zero (S : AddSubgroup M) : ‖(0 : M ⧸ S)‖ = 0 := by @@ -266,12 +354,24 @@ theorem norm_mk_zero (S : AddSubgroup M) : ‖(0 : M ⧸ S)‖ = 0 := exact subset_closure S.zero_mem #align norm_mk_zero norm_mk_zero +/- warning: norm_zero_eq_zero -> norm_mk_eq_zero is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (IsClosed.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) S)) -> (forall (m : M), (Eq.{1} Real (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) m S)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (IsClosed.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) -> (forall (m : M), (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) m) (normOnQuotient.{u1} M _inst_1 S) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) m S)) +Case conversion may be inaccurate. Consider using '#align norm_zero_eq_zero norm_mk_eq_zeroₓ'. -/ /-- If `(m : M)` has norm equal to `0` in `M ⧸ S` for a closed subgroup `S` of `M`, then `m ∈ S`. -/ -theorem norm_zero_eq_zero (S : AddSubgroup M) (hS : IsClosed (S : Set M)) (m : M) +theorem norm_mk_eq_zero (S : AddSubgroup M) (hS : IsClosed (S : Set M)) (m : M) (h : ‖mk' S m‖ = 0) : m ∈ S := by rwa [quotient_norm_eq_zero_iff, hS.closure_eq] at h -#align norm_zero_eq_zero norm_zero_eq_zero - +#align norm_zero_eq_zero norm_mk_eq_zero + +/- warning: quotient_nhd_basis -> quotient_nhd_basis is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), Filter.HasBasis.{u1, 1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) Real (nhds.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.topologicalSpace.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) S) (OfNat.ofNat.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (OfNat.mk.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (Zero.zero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toHasZero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))))) (fun (ε : Real) => LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) (fun (ε : Real) => setOf.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (fun (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) => LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) ε)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), Filter.HasBasis.{u1, 1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) Real (nhds.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.topologicalSpace.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) S) (OfNat.ofNat.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) 0 (Zero.toOfNat0.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (NegZeroClass.toZero.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegZeroMonoid.toNegZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddCommGroup.toDivisionAddCommMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addCommGroup.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))))))) (fun (ε : Real) => LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) (fun (ε : Real) => setOf.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (fun (x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) => LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (normOnQuotient.{u1} M _inst_1 S) x) ε)) +Case conversion may be inaccurate. Consider using '#align quotient_nhd_basis quotient_nhd_basisₓ'. -/ theorem quotient_nhd_basis (S : AddSubgroup M) : (𝓝 (0 : M ⧸ S)).HasBasis (fun ε : ℝ => 0 < ε) fun ε => { x | ‖x‖ < ε } := ⟨by @@ -306,6 +406,7 @@ theorem quotient_nhd_basis (S : AddSubgroup M) : · exact ⟨(0 : M), mem_ball_self ε_pos, (mk' S).map_zero⟩⟩ #align quotient_nhd_basis quotient_nhd_basis +#print AddSubgroup.seminormedAddCommGroupQuotient /- /-- The seminormed group structure on the quotient by an additive subgroup. -/ noncomputable instance AddSubgroup.seminormedAddCommGroupQuotient (S : AddSubgroup M) : SeminormedAddCommGroup (M ⧸ S) where @@ -340,6 +441,7 @@ noncomputable instance AddSubgroup.seminormedAddCommGroupQuotient (S : AddSubgro exact fun a b h h' => h · simp #align add_subgroup.seminormed_add_comm_group_quotient AddSubgroup.seminormedAddCommGroupQuotient +-/ -- This is a sanity check left here on purpose to ensure that potential refactors won't destroy -- this important property. @@ -348,6 +450,12 @@ example (S : AddSubgroup M) : S.seminormedAddCommGroupQuotient.toUniformSpace.toTopologicalSpace := rfl +/- warning: add_subgroup.normed_add_comm_group_quotient -> AddSubgroup.normedAddCommGroupQuotient is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) [_inst_3 : IsClosed.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) S)], NormedAddCommGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) [_inst_3 : IsClosed.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)], NormedAddCommGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) +Case conversion may be inaccurate. Consider using '#align add_subgroup.normed_add_comm_group_quotient AddSubgroup.normedAddCommGroupQuotientₓ'. -/ /-- The quotient in the category of normed groups. -/ noncomputable instance AddSubgroup.normedAddCommGroupQuotient (S : AddSubgroup M) [IsClosed (S : Set M)] : NormedAddCommGroup (M ⧸ S) := @@ -369,33 +477,57 @@ namespace AddSubgroup open NormedAddGroupHom +#print AddSubgroup.normedMk /- /-- The morphism from a seminormed group to the quotient by a subgroup. -/ noncomputable def normedMk (S : AddSubgroup M) : NormedAddGroupHom M (M ⧸ S) := { QuotientAddGroup.mk' S with bound' := ⟨1, fun m => by simpa [one_mul] using quotient_norm_mk_le _ m⟩ } #align add_subgroup.normed_mk AddSubgroup.normedMk +-/ +/- warning: add_subgroup.normed_mk.apply -> AddSubgroup.normedMk.apply is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (coeFn.{succ u1, succ u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (fun (_x : NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (NormedAddGroupHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S) m) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (fun (_x : AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (AddMonoidHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (m : M), Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (FunLike.coe.{succ u1, succ u1, succ u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (fun (_x : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddHomClass.toFunLike.{u1, u1, u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)))) (AddSubgroup.normedMk.{u1} M _inst_1 S) m) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (QuotientAddGroup.Quotient.addGroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)))))))) (QuotientAddGroup.mk'.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) S (AddSubgroup.normal_of_comm.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) S)) m) +Case conversion may be inaccurate. Consider using '#align add_subgroup.normed_mk.apply AddSubgroup.normedMk.applyₓ'. -/ /-- `S.normed_mk` agrees with `quotient_add_group.mk' S`. -/ @[simp] theorem normedMk.apply (S : AddSubgroup M) (m : M) : normedMk S m = QuotientAddGroup.mk' S m := rfl #align add_subgroup.normed_mk.apply AddSubgroup.normedMk.apply +#print AddSubgroup.surjective_normedMk /- /-- `S.normed_mk` is surjective. -/ theorem surjective_normedMk (S : AddSubgroup M) : Function.Surjective (normedMk S) := surjective_quot_mk _ #align add_subgroup.surjective_normed_mk AddSubgroup.surjective_normedMk +-/ +#print AddSubgroup.ker_normedMk /- /-- The kernel of `S.normed_mk` is `S`. -/ theorem ker_normedMk (S : AddSubgroup M) : S.normedMk.ker = S := QuotientAddGroup.ker_mk' _ #align add_subgroup.ker_normed_mk AddSubgroup.ker_normedMk +-/ +/- warning: add_subgroup.norm_normed_mk_le -> AddSubgroup.norm_normedMk_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) +Case conversion may be inaccurate. Consider using '#align add_subgroup.norm_normed_mk_le AddSubgroup.norm_normedMk_leₓ'. -/ /-- The operator norm of the projection is at most `1`. -/ theorem norm_normedMk_le (S : AddSubgroup M) : ‖S.normedMk‖ ≤ 1 := NormedAddGroupHom.opNorm_le_bound _ zero_le_one fun m => by simp [quotient_norm_mk_le'] #align add_subgroup.norm_normed_mk_le AddSubgroup.norm_normedMk_le +/- warning: add_subgroup.norm_normed_mk -> AddSubgroup.norm_normedMk is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (Ne.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddSubgroup.topologicalClosure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (SeminormedAddCommGroup.to_topologicalAddGroup.{u1} M _inst_1) S)) (Set.univ.{u1} M)) -> (Eq.{1} Real (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (Ne.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (AddSubgroup.topologicalClosure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (SeminormedAddCommGroup.to_topologicalAddGroup.{u1} M _inst_1) S)) (Set.univ.{u1} M)) -> (Eq.{1} Real (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) +Case conversion may be inaccurate. Consider using '#align add_subgroup.norm_normed_mk AddSubgroup.norm_normedMkₓ'. -/ /-- The operator norm of the projection is `1` if the subspace is not dense. -/ theorem norm_normedMk (S : AddSubgroup M) (h : (S.topologicalClosure : Set M) ≠ univ) : ‖S.normedMk‖ = 1 := by @@ -439,6 +571,12 @@ theorem norm_normedMk (S : AddSubgroup M) (h : (S.topologicalClosure : Set M) #align add_subgroup.norm_normed_mk AddSubgroup.norm_normedMk +/- warning: add_subgroup.norm_trivial_quotient_mk -> AddSubgroup.norm_trivial_quotient_mk is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddSubgroup.topologicalClosure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (SeminormedAddCommGroup.to_topologicalAddGroup.{u1} M _inst_1) S)) (Set.univ.{u1} M)) -> (Eq.{1} Real (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))), (Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (AddSubgroup.topologicalClosure.{u1} M (UniformSpace.toTopologicalSpace.{u1} M (PseudoMetricSpace.toUniformSpace.{u1} M (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} M _inst_1))) (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)) (SeminormedAddCommGroup.to_topologicalAddGroup.{u1} M _inst_1) S)) (Set.univ.{u1} M)) -> (Eq.{1} Real (Norm.norm.{u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (NormedAddGroupHom.hasOpNorm.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align add_subgroup.norm_trivial_quotient_mk AddSubgroup.norm_trivial_quotient_mkₓ'. -/ /-- The operator norm of the projection is `0` if the subspace is dense. -/ theorem norm_trivial_quotient_mk (S : AddSubgroup M) (h : (S.topologicalClosure : Set M) = Set.univ) : ‖S.normedMk‖ = 0 := @@ -456,13 +594,21 @@ end AddSubgroup namespace NormedAddGroupHom +#print NormedAddGroupHom.IsQuotient /- /-- `is_quotient f`, for `f : M ⟶ N` means that `N` is isomorphic to the quotient of `M` by the kernel of `f`. -/ structure IsQuotient (f : NormedAddGroupHom M N) : Prop where Surjective : Function.Surjective f norm : ∀ x, ‖f x‖ = infₛ ((fun m => ‖x + m‖) '' f.ker) #align normed_add_group_hom.is_quotient NormedAddGroupHom.IsQuotient +-/ +/- warning: normed_add_group_hom.lift -> NormedAddGroupHom.lift is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3), (forall (s : M), (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f s) (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))))))))) -> (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3), (forall (s : M), (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f s) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (NegZeroClass.toZero.{u2} N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (SubtractionCommMonoid.toSubtractionMonoid.{u2} N (AddCommGroup.toDivisionAddCommMonoid.{u2} N (SeminormedAddCommGroup.toAddCommGroup.{u2} N _inst_3)))))))))) -> (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.lift NormedAddGroupHom.liftₓ'. -/ /-- Given `f : normed_add_group_hom M N` such that `f s = 0` for all `s ∈ S`, where, `S : add_subgroup M` is closed, the induced morphism `normed_add_group_hom (M ⧸ S) N`. -/ noncomputable def lift {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) @@ -480,12 +626,24 @@ noncomputable def lift {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup } #align normed_add_group_hom.lift NormedAddGroupHom.lift +/- warning: normed_add_group_hom.lift_mk -> NormedAddGroupHom.lift_mk is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f s) (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))))))))) (m : M), Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) => (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf) (coeFn.{succ u1, succ u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (fun (_x : NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) => M -> (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S)) (NormedAddGroupHom.hasCoeToFun.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) (AddSubgroup.normedMk.{u1} M _inst_1 S) m)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f m) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f s) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (NegZeroClass.toZero.{u2} N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (SubtractionCommMonoid.toSubtractionMonoid.{u2} N (AddCommGroup.toDivisionAddCommMonoid.{u2} N (SeminormedAddCommGroup.toAddCommGroup.{u2} N _inst_3)))))))))) (m : M), Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (fun (_x : HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S))))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3))) (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf) (FunLike.coe.{succ u1, succ u1, succ u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (fun (_x : M) => HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddHomClass.toFunLike.{u1, u1, u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (NormedAddGroupHom.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)) M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SubNegMonoid.toAddMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddGroup.toSubNegMonoid.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddGroup.toAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u1} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S)))) (AddSubgroup.normedMk.{u1} M _inst_1 S) m)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f m) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.lift_mk NormedAddGroupHom.lift_mkₓ'. -/ theorem lift_mk {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) (f : NormedAddGroupHom M N) (hf : ∀ s ∈ S, f s = 0) (m : M) : lift S f hf (S.normedMk m) = f m := rfl #align normed_add_group_hom.lift_mk NormedAddGroupHom.lift_mk +/- warning: normed_add_group_hom.lift_unique -> NormedAddGroupHom.lift_unique is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f s) (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))))))))) (g : NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3), (Eq.{max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (NormedAddGroupHom.comp.{u1, u1, u2} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3 g (AddSubgroup.normedMk.{u1} M _inst_1 S)) f) -> (Eq.{max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) g (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f s) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (NegZeroClass.toZero.{u2} N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (SubtractionCommMonoid.toSubtractionMonoid.{u2} N (AddCommGroup.toDivisionAddCommMonoid.{u2} N (SeminormedAddCommGroup.toAddCommGroup.{u2} N _inst_3)))))))))) (g : NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3), (Eq.{max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (NormedAddGroupHom.comp.{u1, u1, u2} M (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N _inst_1 (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3 g (AddSubgroup.normedMk.{u1} M _inst_1 S)) f) -> (Eq.{max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) g (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.lift_unique NormedAddGroupHom.lift_uniqueₓ'. -/ theorem lift_unique {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) (f : NormedAddGroupHom M N) (hf : ∀ s ∈ S, f s = 0) (g : NormedAddGroupHom (M ⧸ S) N) : g.comp S.normedMk = f → g = lift S f hf := @@ -497,11 +655,19 @@ theorem lift_unique {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) simpa only [h] #align normed_add_group_hom.lift_unique NormedAddGroupHom.lift_unique +#print NormedAddGroupHom.isQuotientQuotient /- /-- `S.normed_mk` satisfies `is_quotient`. -/ theorem isQuotientQuotient (S : AddSubgroup M) : IsQuotient S.normedMk := ⟨S.surjective_normedMk, fun m => by simpa [S.ker_normed_mk] using quotient_norm_mk_eq _ m⟩ #align normed_add_group_hom.is_quotient_quotient NormedAddGroupHom.isQuotientQuotient +-/ +/- warning: normed_add_group_hom.is_quotient.norm_lift -> NormedAddGroupHom.IsQuotient.norm_lift is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} {N : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} M] [_inst_2 : SeminormedAddCommGroup.{u2} N] {f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2}, (NormedAddGroupHom.IsQuotient.{u1, u2} M N _inst_1 _inst_2 f) -> (forall {ε : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (forall (n : N), Exists.{succ u1} M (fun (m : M) => And (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_2) f m) n) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u2} N (SeminormedAddCommGroup.toHasNorm.{u2} N _inst_2) n) ε))))) +but is expected to have type + forall {M : Type.{u2}} {N : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u2} M] [_inst_2 : SeminormedAddCommGroup.{u1} N] {f : NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2}, (NormedAddGroupHom.IsQuotient.{u2, u1} M N _inst_1 _inst_2 f) -> (forall {ε : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (forall (n : N), Exists.{succ u2} M (fun (m : M) => And (Eq.{succ u1} N (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M N (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (SeminormedAddGroup.toAddGroup.{u2} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} M _inst_1)))))) (AddZeroClass.toAdd.{u1} N (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N (SeminormedAddGroup.toAddGroup.{u1} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} N _inst_2)))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M N (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (SeminormedAddGroup.toAddGroup.{u2} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N (SeminormedAddGroup.toAddGroup.{u1} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} N _inst_2))))) (NormedAddGroupHom.toAddMonoidHomClass.{u2, u1} M N _inst_1 _inst_2))) f m) n) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u2} M (SeminormedAddCommGroup.toNorm.{u2} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} N (SeminormedAddCommGroup.toNorm.{u1} N _inst_2) n) ε))))) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.is_quotient.norm_lift NormedAddGroupHom.IsQuotient.norm_liftₓ'. -/ theorem IsQuotient.norm_lift {f : NormedAddGroupHom M N} (hquot : IsQuotient f) {ε : ℝ} (hε : 0 < ε) (n : N) : ∃ m : M, f m = n ∧ ‖m‖ < ‖n‖ + ε := by @@ -516,6 +682,12 @@ theorem IsQuotient.norm_lift {f : NormedAddGroupHom M N} (hquot : IsQuotient f) ⟨m + x, by rw [map_add, (NormedAddGroupHom.mem_ker f x).mp hx, add_zero], by rwa [hquot.norm]⟩ #align normed_add_group_hom.is_quotient.norm_lift NormedAddGroupHom.IsQuotient.norm_lift +/- warning: normed_add_group_hom.is_quotient.norm_le -> NormedAddGroupHom.IsQuotient.norm_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} {N : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} M] [_inst_2 : SeminormedAddCommGroup.{u2} N] {f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2}, (NormedAddGroupHom.IsQuotient.{u1, u2} M N _inst_1 _inst_2 f) -> (forall (m : M), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} N (SeminormedAddCommGroup.toHasNorm.{u2} N _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_2) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_2) f m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m)) +but is expected to have type + forall {M : Type.{u2}} {N : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u2} M] [_inst_2 : SeminormedAddCommGroup.{u1} N] {f : NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2}, (NormedAddGroupHom.IsQuotient.{u2, u1} M N _inst_1 _inst_2 f) -> (forall (m : M), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} N (SeminormedAddCommGroup.toNorm.{u1} N _inst_2) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M N (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (SeminormedAddGroup.toAddGroup.{u2} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} M _inst_1)))))) (AddZeroClass.toAdd.{u1} N (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N (SeminormedAddGroup.toAddGroup.{u1} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} N _inst_2)))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (NormedAddGroupHom.{u2, u1} M N _inst_1 _inst_2) M N (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (SeminormedAddGroup.toAddGroup.{u2} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} M _inst_1))))) (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N (SeminormedAddGroup.toAddGroup.{u1} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} N _inst_2))))) (NormedAddGroupHom.toAddMonoidHomClass.{u2, u1} M N _inst_1 _inst_2))) f m)) (Norm.norm.{u2} M (SeminormedAddCommGroup.toNorm.{u2} M _inst_1) m)) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.is_quotient.norm_le NormedAddGroupHom.IsQuotient.norm_leₓ'. -/ theorem IsQuotient.norm_le {f : NormedAddGroupHom M N} (hquot : IsQuotient f) (m : M) : ‖f m‖ ≤ ‖m‖ := by rw [hquot.norm] @@ -526,6 +698,12 @@ theorem IsQuotient.norm_le {f : NormedAddGroupHom M N} (hquot : IsQuotient f) (m · exact ⟨0, f.ker.zero_mem, by simp⟩ #align normed_add_group_hom.is_quotient.norm_le NormedAddGroupHom.IsQuotient.norm_le +/- warning: normed_add_group_hom.lift_norm_le -> NormedAddGroupHom.lift_norm_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f s) (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))))))))) {c : NNReal}, (LE.le.{0} Real Real.hasLe (Norm.norm.{max u1 u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (NormedAddGroupHom.hasOpNorm.{u1, u2} M N _inst_1 _inst_3) f) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) c)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{max u1 u2} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (NormedAddGroupHom.hasOpNorm.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) c)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f s) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (NegZeroClass.toZero.{u2} N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (SubtractionCommMonoid.toSubtractionMonoid.{u2} N (AddCommGroup.toDivisionAddCommMonoid.{u2} N (SeminormedAddCommGroup.toAddCommGroup.{u2} N _inst_3)))))))))) {c : NNReal}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{max u1 u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (NormedAddGroupHom.hasOpNorm.{u1, u2} M N _inst_1 _inst_3) f) (NNReal.toReal c)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{max u1 u2} (NormedAddGroupHom.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (NormedAddGroupHom.hasOpNorm.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3) (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) (NNReal.toReal c)) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.lift_norm_le NormedAddGroupHom.lift_norm_leₓ'. -/ theorem lift_norm_le {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) (f : NormedAddGroupHom M N) (hf : ∀ s ∈ S, f s = 0) {c : ℝ≥0} (fb : ‖f‖ ≤ c) : ‖lift S f hf‖ ≤ c := by @@ -556,6 +734,12 @@ theorem lift_norm_le {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) exact_mod_cast hc.ne' #align normed_add_group_hom.lift_norm_le NormedAddGroupHom.lift_norm_le +/- warning: normed_add_group_hom.lift_norm_noninc -> NormedAddGroupHom.lift_normNoninc is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.Mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.setLike.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (fun (_x : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) => M -> N) (NormedAddGroupHom.hasCoeToFun.{u1, u2} M N _inst_1 _inst_3) f s) (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))))))))), (NormedAddGroupHom.NormNoninc.{u1, u2} M N _inst_1 _inst_3 f) -> (NormedAddGroupHom.NormNoninc.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (quotientAddGroup.Subgroup.hasQuotient.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3 (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {N : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} N] (S : AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (f : NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) (hf : forall (s : M), (Membership.mem.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))) s S) -> (Eq.{succ u2} N (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M (fun (_x : M) => N) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1)))))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (NormedAddGroupHom.{u1, u2} M N _inst_1 _inst_3) M N (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))))) (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N (SeminormedAddGroup.toAddGroup.{u2} N (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} N _inst_3))))) (NormedAddGroupHom.toAddMonoidHomClass.{u1, u2} M N _inst_1 _inst_3))) f s) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (NegZeroClass.toZero.{u2} N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (SubtractionCommMonoid.toSubtractionMonoid.{u2} N (AddCommGroup.toDivisionAddCommMonoid.{u2} N (SeminormedAddCommGroup.toAddCommGroup.{u2} N _inst_3)))))))))), (NormedAddGroupHom.NormNoninc.{u1, u2} M N _inst_1 _inst_3 f) -> (NormedAddGroupHom.NormNoninc.{u1, u2} (HasQuotient.Quotient.{u1, u1} M (AddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} M (SeminormedAddGroup.toAddGroup.{u1} M (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} M _inst_1))) S) N (AddSubgroup.seminormedAddCommGroupQuotient.{u1} M _inst_1 S) _inst_3 (NormedAddGroupHom.lift.{u1, u2} M _inst_1 N _inst_3 S f hf)) +Case conversion may be inaccurate. Consider using '#align normed_add_group_hom.lift_norm_noninc NormedAddGroupHom.lift_normNonincₓ'. -/ theorem lift_normNoninc {N : Type _} [SeminormedAddCommGroup N] (S : AddSubgroup M) (f : NormedAddGroupHom M N) (hf : ∀ s ∈ S, f s = 0) (fb : f.NormNoninc) : (lift S f hf).NormNoninc := fun x => @@ -585,19 +769,31 @@ section Submodule variable {R : Type _} [Ring R] [Module R M] (S : Submodule R M) +#print Submodule.Quotient.seminormedAddCommGroup /- instance Submodule.Quotient.seminormedAddCommGroup : SeminormedAddCommGroup (M ⧸ S) := AddSubgroup.seminormedAddCommGroupQuotient S.toAddSubgroup #align submodule.quotient.seminormed_add_comm_group Submodule.Quotient.seminormedAddCommGroup +-/ +#print Submodule.Quotient.normedAddCommGroup /- instance Submodule.Quotient.normedAddCommGroup [hS : IsClosed (S : Set M)] : NormedAddCommGroup (M ⧸ S) := @AddSubgroup.normedAddCommGroupQuotient _ _ S.toAddSubgroup hS #align submodule.quotient.normed_add_comm_group Submodule.Quotient.normedAddCommGroup +-/ +#print Submodule.Quotient.completeSpace /- instance Submodule.Quotient.completeSpace [CompleteSpace M] : CompleteSpace (M ⧸ S) := QuotientAddGroup.completeSpace M S.toAddSubgroup #align submodule.quotient.complete_space Submodule.Quotient.completeSpace +-/ +/- warning: submodule.quotient.norm_mk_lt -> Submodule.Quotient.norm_mk_lt is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {R : Type.{u2}} [_inst_3 : Ring.{u2} R] [_inst_4 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1))] {S : Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4} (x : HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) {ε : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} M (fun (m : M) => And (Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (Submodule.Quotient.mk.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4 S m) x) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (SeminormedAddCommGroup.toHasNorm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (Submodule.Quotient.seminormedAddCommGroup.{u1, u2} M _inst_1 R _inst_3 _inst_4 S)) x) ε)))) +but is expected to have type + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {R : Type.{u2}} [_inst_3 : Ring.{u2} R] [_inst_4 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1))] {S : Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4} (x : HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) {ε : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u1} M (fun (m : M) => And (Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (Submodule.Quotient.mk.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4 S m) x) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} M (SeminormedAddCommGroup.toNorm.{u1} M _inst_1) m) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (SeminormedAddCommGroup.toNorm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (Submodule.Quotient.seminormedAddCommGroup.{u1, u2} M _inst_1 R _inst_3 _inst_4 S)) x) ε)))) +Case conversion may be inaccurate. Consider using '#align submodule.quotient.norm_mk_lt Submodule.Quotient.norm_mk_ltₓ'. -/ /-- For any `x : M ⧸ S` and any `0 < ε`, there is `m : M` such that `submodule.quotient.mk m = x` and `‖m‖ < ‖x‖ + ε`. -/ theorem Submodule.Quotient.norm_mk_lt {S : Submodule R M} (x : M ⧸ S) {ε : ℝ} (hε : 0 < ε) : @@ -605,10 +801,17 @@ theorem Submodule.Quotient.norm_mk_lt {S : Submodule R M} (x : M ⧸ S) {ε : norm_mk_lt x hε #align submodule.quotient.norm_mk_lt Submodule.Quotient.norm_mk_lt +/- warning: submodule.quotient.norm_mk_le -> Submodule.Quotient.norm_mk_le is a dubious translation: +lean 3 declaration is + forall {M : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} M] {R : Type.{u2}} [_inst_3 : Ring.{u2} R] [_inst_4 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1))] (S : Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (m : M), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (SeminormedAddCommGroup.toHasNorm.{u1} (HasQuotient.Quotient.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_3) (AddCommGroup.toAddCommMonoid.{u1} M (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4) S) (Submodule.Quotient.seminormedAddCommGroup.{u1, u2} M _inst_1 R _inst_3 _inst_4 S)) (Submodule.Quotient.mk.{u2, u1} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u1} M _inst_1) _inst_4 S m)) (Norm.norm.{u1} M (SeminormedAddCommGroup.toHasNorm.{u1} M _inst_1) m) +but is expected to have type + forall {M : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u2} M] {R : Type.{u1}} [_inst_3 : Ring.{u1} R] [_inst_4 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1))] (S : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1)) _inst_4) (m : M), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} (HasQuotient.Quotient.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u1, u2} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1) _inst_4) S) (SeminormedAddCommGroup.toNorm.{u2} (HasQuotient.Quotient.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1)) _inst_4) (Submodule.hasQuotient.{u1, u2} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1) _inst_4) S) (Submodule.Quotient.seminormedAddCommGroup.{u2, u1} M _inst_1 R _inst_3 _inst_4 S)) (Submodule.Quotient.mk.{u1, u2} R M _inst_3 (SeminormedAddCommGroup.toAddCommGroup.{u2} M _inst_1) _inst_4 S m)) (Norm.norm.{u2} M (SeminormedAddCommGroup.toNorm.{u2} M _inst_1) m) +Case conversion may be inaccurate. Consider using '#align submodule.quotient.norm_mk_le Submodule.Quotient.norm_mk_leₓ'. -/ theorem Submodule.Quotient.norm_mk_le (m : M) : ‖(Submodule.Quotient.mk m : M ⧸ S)‖ ≤ ‖m‖ := quotient_norm_mk_le S.toAddSubgroup m #align submodule.quotient.norm_mk_le Submodule.Quotient.norm_mk_le +#print Submodule.Quotient.normedSpace /- instance Submodule.Quotient.normedSpace (𝕜 : Type _) [NormedField 𝕜] [NormedSpace 𝕜 M] [SMul 𝕜 R] [IsScalarTower 𝕜 R M] : NormedSpace 𝕜 (M ⧸ S) := { Submodule.Quotient.module' S with @@ -627,6 +830,7 @@ instance Submodule.Quotient.normedSpace (𝕜 : Type _) [NormedField 𝕜] [Norm _ ≤ _ := (sub_lt_iff_lt_add'.mp h.1).le } #align submodule.quotient.normed_space Submodule.Quotient.normedSpace +-/ end Submodule @@ -634,15 +838,28 @@ section Ideal variable {R : Type _} [SeminormedCommRing R] (I : Ideal R) +/- warning: ideal.quotient.norm_mk_lt -> Ideal.Quotient.norm_mk_lt is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} [_inst_3 : SeminormedCommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))} (x : HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) {ε : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} R (fun (r : R) => And (Eq.{succ u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (Ideal.Quotient.mk.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I) r) x) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} R (SeminormedRing.toHasNorm.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)) r) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (SeminormedAddCommGroup.toHasNorm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Submodule.Quotient.seminormedAddCommGroup.{u1, u1} R (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} R (SeminormedRing.toNonUnitalSeminormedRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3))) R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) I)) x) ε)))) +but is expected to have type + forall {R : Type.{u1}} [_inst_3 : SeminormedCommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))} (x : HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) {ε : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u1} R (fun (r : R) => And (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) r) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))))))) (Ideal.Quotient.mk.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I) r) x) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)) r) (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (SeminormedAddCommGroup.toNorm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Submodule.Quotient.seminormedAddCommGroup.{u1, u1} R (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} R (SeminormedRing.toNonUnitalSeminormedRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3))) R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) I)) x) ε)))) +Case conversion may be inaccurate. Consider using '#align ideal.quotient.norm_mk_lt Ideal.Quotient.norm_mk_ltₓ'. -/ theorem Ideal.Quotient.norm_mk_lt {I : Ideal R} (x : R ⧸ I) {ε : ℝ} (hε : 0 < ε) : ∃ r : R, Ideal.Quotient.mk I r = x ∧ ‖r‖ < ‖x‖ + ε := norm_mk_lt x hε #align ideal.quotient.norm_mk_lt Ideal.Quotient.norm_mk_lt +/- warning: ideal.quotient.norm_mk_le -> Ideal.Quotient.norm_mk_le is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} [_inst_3 : SeminormedCommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) (r : R), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (SeminormedAddCommGroup.toHasNorm.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Submodule.Quotient.seminormedAddCommGroup.{u1, u1} R (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} R (SeminormedRing.toNonUnitalSeminormedRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3))) R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)))) I)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.hasQuotient.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (Ideal.Quotient.mk.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I) r)) (Norm.norm.{u1} R (SeminormedRing.toHasNorm.{u1} R (SeminormedCommRing.toSemiNormedRing.{u1} R _inst_3)) r) +but is expected to have type + forall {R : Type.{u1}} [_inst_3 : SeminormedCommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) (r : R), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) r) (SeminormedAddCommGroup.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) r) (Submodule.Quotient.seminormedAddCommGroup.{u1, u1} R (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} R (SeminormedRing.toNonUnitalSeminormedRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3))) R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (SeminormedRing.toRing.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)))) I)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3)) I) (Ideal.Quotient.commRing.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I)))))))) (Ideal.Quotient.mk.{u1} R (SeminormedCommRing.toCommRing.{u1} R _inst_3) I) r)) (Norm.norm.{u1} R (SeminormedRing.toNorm.{u1} R (SeminormedCommRing.toSeminormedRing.{u1} R _inst_3)) r) +Case conversion may be inaccurate. Consider using '#align ideal.quotient.norm_mk_le Ideal.Quotient.norm_mk_leₓ'. -/ theorem Ideal.Quotient.norm_mk_le (r : R) : ‖Ideal.Quotient.mk I r‖ ≤ ‖r‖ := quotient_norm_mk_le I.toAddSubgroup r #align ideal.quotient.norm_mk_le Ideal.Quotient.norm_mk_le +#print Ideal.Quotient.semiNormedCommRing /- instance Ideal.Quotient.semiNormedCommRing : SeminormedCommRing (R ⧸ I) := { Submodule.Quotient.seminormedAddCommGroup @@ -667,16 +884,21 @@ instance Ideal.Quotient.semiNormedCommRing : SeminormedCommRing (R ⧸ I) := _ ≤ _ := (sub_lt_iff_lt_add'.mp h.1).le } #align ideal.quotient.semi_normed_comm_ring Ideal.Quotient.semiNormedCommRing +-/ +#print Ideal.Quotient.normedCommRing /- instance Ideal.Quotient.normedCommRing [IsClosed (I : Set R)] : NormedCommRing (R ⧸ I) := { Ideal.Quotient.semiNormedCommRing I, Submodule.Quotient.normedAddCommGroup I with } #align ideal.quotient.normed_comm_ring Ideal.Quotient.normedCommRing +-/ variable (𝕜 : Type _) [NormedField 𝕜] +#print Ideal.Quotient.normedAlgebra /- instance Ideal.Quotient.normedAlgebra [NormedAlgebra 𝕜 R] : NormedAlgebra 𝕜 (R ⧸ I) := { Submodule.Quotient.normedSpace I 𝕜, Ideal.Quotient.algebra 𝕜 with } #align ideal.quotient.normed_algebra Ideal.Quotient.normedAlgebra +-/ end Ideal diff --git a/Mathbin/Analysis/Normed/Group/SemiNormedGroup/Kernels.lean b/Mathbin/Analysis/Normed/Group/SemiNormedGroup/Kernels.lean index 4b940dfce7..e593743193 100644 --- a/Mathbin/Analysis/Normed/Group/SemiNormedGroup/Kernels.lean +++ b/Mathbin/Analysis/Normed/Group/SemiNormedGroup/Kernels.lean @@ -276,14 +276,14 @@ instance explicitCokernelπ.epi {X Y : SemiNormedGroup.{u}} {f : X ⟶ Y} : rw [H] #align SemiNormedGroup.explicit_cokernel_π.epi SemiNormedGroup.explicitCokernelπ.epi -theorem isQuotientExplicitCokernelπ {X Y : SemiNormedGroup.{u}} (f : X ⟶ Y) : +theorem isQuotient_explicitCokernelπ {X Y : SemiNormedGroup.{u}} (f : X ⟶ Y) : NormedAddGroupHom.IsQuotient (explicitCokernelπ f) := NormedAddGroupHom.isQuotientQuotient _ -#align SemiNormedGroup.is_quotient_explicit_cokernel_π SemiNormedGroup.isQuotientExplicitCokernelπ +#align SemiNormedGroup.is_quotient_explicit_cokernel_π SemiNormedGroup.isQuotient_explicitCokernelπ theorem normNoninc_explicitCokernelπ {X Y : SemiNormedGroup.{u}} (f : X ⟶ Y) : (explicitCokernelπ f).NormNoninc := - (isQuotientExplicitCokernelπ f).norm_le + (isQuotient_explicitCokernelπ f).norm_le #align SemiNormedGroup.norm_noninc_explicit_cokernel_π SemiNormedGroup.normNoninc_explicitCokernelπ open NNReal diff --git a/Mathbin/Computability/Partrec.lean b/Mathbin/Computability/Partrec.lean index d2808e3a1c..6a8604363a 100644 --- a/Mathbin/Computability/Partrec.lean +++ b/Mathbin/Computability/Partrec.lean @@ -52,6 +52,7 @@ private def wf_lbp : WellFounded lbp := · exact IH _ (by rw [Nat.add_right_comm] <;> exact kn)⟩ #align nat.wf_lbp nat.wf_lbp +#print Nat.rfindX /- def rfindX : { n // true ∈ p n ∧ ∀ m < n, false ∈ p m } := suffices ∀ k, (∀ n < k, false ∈ p n) → { n // true ∈ p n ∧ ∀ m < n, false ∈ p m } from this 0 fun n => (Nat.not_lt_zero _).elim @@ -75,27 +76,37 @@ def rfindX : { n // true ∈ p n ∧ ∀ m < n, false ∈ p m } := exact ⟨_, e⟩ · exact ⟨m, ⟨_, e⟩, al⟩) #align nat.rfind_x Nat.rfindX +-/ end Rfind +#print Nat.rfind /- def rfind (p : ℕ →. Bool) : Part ℕ := ⟨_, fun h => (rfindX p h).1⟩ #align nat.rfind Nat.rfind +-/ +#print Nat.rfind_spec /- theorem rfind_spec {p : ℕ →. Bool} {n : ℕ} (h : n ∈ rfind p) : true ∈ p n := h.snd ▸ (rfindX p h.fst).2.1 #align nat.rfind_spec Nat.rfind_spec +-/ +#print Nat.rfind_min /- theorem rfind_min {p : ℕ →. Bool} {n : ℕ} (h : n ∈ rfind p) : ∀ {m : ℕ}, m < n → false ∈ p m := h.snd ▸ (rfindX p h.fst).2.2 #align nat.rfind_min Nat.rfind_min +-/ +#print Nat.rfind_dom /- @[simp] theorem rfind_dom {p : ℕ →. Bool} : (rfind p).Dom ↔ ∃ n, true ∈ p n ∧ ∀ {m : ℕ}, m < n → (p m).Dom := Iff.rfl #align nat.rfind_dom Nat.rfind_dom +-/ +#print Nat.rfind_dom' /- theorem rfind_dom' {p : ℕ →. Bool} : (rfind p).Dom ↔ ∃ n, true ∈ p n ∧ ∀ {m : ℕ}, m ≤ n → (p m).Dom := exists_congr fun n => @@ -103,7 +114,9 @@ theorem rfind_dom' {p : ℕ →. Bool} : ⟨fun H m h => (Decidable.eq_or_lt_of_le h).elim (fun e => e.symm ▸ pn.fst) (H _), fun H m h => H (le_of_lt h)⟩ #align nat.rfind_dom' Nat.rfind_dom' +-/ +#print Nat.mem_rfind /- @[simp] theorem mem_rfind {p : ℕ →. Bool} {n : ℕ} : n ∈ rfind p ↔ true ∈ p n ∧ ∀ {m : ℕ}, m < n → false ∈ p m := @@ -115,28 +128,42 @@ theorem mem_rfind {p : ℕ →. Bool} {n : ℕ} : · rwa [← h] · injection mem_unique h₁ (rfind_min hm h)⟩ #align nat.mem_rfind Nat.mem_rfind +-/ +/- warning: nat.rfind_min' -> Nat.rfind_min' is a dubious translation: +lean 3 declaration is + forall {p : Nat -> Bool} {m : Nat}, (coeSort.{1, 1} Bool Prop coeSortBool (p m)) -> (Exists.{1} Nat (fun (n : Nat) => Exists.{0} (Membership.Mem.{0, 0} Nat (Part.{0} Nat) (Part.hasMem.{0} Nat) n (Nat.rfind ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Nat -> Bool) (PFun.{0, 0} Nat Bool) (HasLiftT.mk.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (CoeTCₓ.coe.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (coeBase.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (PFun.coe.{0, 0} Nat Bool)))) p))) (fun (H : Membership.Mem.{0, 0} Nat (Part.{0} Nat) (Part.hasMem.{0} Nat) n (Nat.rfind ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Nat -> Bool) (PFun.{0, 0} Nat Bool) (HasLiftT.mk.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (CoeTCₓ.coe.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (coeBase.{1, 1} (Nat -> Bool) (PFun.{0, 0} Nat Bool) (PFun.coe.{0, 0} Nat Bool)))) p))) => LE.le.{0} Nat Nat.hasLe n m))) +but is expected to have type + forall {p : Nat -> Bool} {m : Nat}, (Eq.{1} Bool (p m) Bool.true) -> (Exists.{1} Nat (fun (n : Nat) => And (Membership.mem.{0, 0} Nat (Part.{0} Nat) (Part.instMembershipPart.{0} Nat) n (Nat.rfind (PFun.lift.{0, 0} Nat Bool p))) (LE.le.{0} Nat instLENat n m))) +Case conversion may be inaccurate. Consider using '#align nat.rfind_min' Nat.rfind_min'ₓ'. -/ theorem rfind_min' {p : ℕ → Bool} {m : ℕ} (pm : p m) : ∃ n ∈ rfind p, n ≤ m := have : true ∈ (p : ℕ →. Bool) m := ⟨trivial, pm⟩ let ⟨n, hn⟩ := dom_iff_mem.1 <| (@rfind_dom p).2 ⟨m, this, fun k h => ⟨⟩⟩ ⟨n, hn, not_lt.1 fun h => by injection mem_unique this (rfind_min hn h)⟩ #align nat.rfind_min' Nat.rfind_min' +#print Nat.rfind_zero_none /- theorem rfind_zero_none (p : ℕ →. Bool) (p0 : p 0 = none) : rfind p = none := eq_none_iff.2 fun a h => let ⟨n, h₁, h₂⟩ := rfind_dom'.1 h.fst (p0 ▸ h₂ (zero_le _) : (@Part.none Bool).Dom) #align nat.rfind_zero_none Nat.rfind_zero_none +-/ +#print Nat.rfindOpt /- def rfindOpt {α} (f : ℕ → Option α) : Part α := (rfind fun n => (f n).isSome).bind fun n => f n #align nat.rfind_opt Nat.rfindOpt +-/ +#print Nat.rfindOpt_spec /- theorem rfindOpt_spec {α} {f : ℕ → Option α} {a} (h : a ∈ rfindOpt f) : ∃ n, a ∈ f n := let ⟨n, h₁, h₂⟩ := mem_bind_iff.1 h ⟨n, mem_coe.1 h₂⟩ #align nat.rfind_opt_spec Nat.rfindOpt_spec +-/ +#print Nat.rfindOpt_dom /- theorem rfindOpt_dom {α} {f : ℕ → Option α} : (rfindOpt f).Dom ↔ ∃ n a, a ∈ f n := ⟨fun h => (rfindOpt_spec ⟨h, rfl⟩).imp fun n h => ⟨_, h⟩, fun h => by @@ -150,7 +177,9 @@ theorem rfindOpt_dom {α} {f : ℕ → Option α} : (rfindOpt f).Dom ↔ ∃ n a cases' Option.isSome_iff_exists.1 this.symm with a e rw [e]; trivial⟩ #align nat.rfind_opt_dom Nat.rfindOpt_dom +-/ +#print Nat.rfindOpt_mono /- theorem rfindOpt_mono {α} {f : ℕ → Option α} (H : ∀ {a m n}, m ≤ n → a ∈ f m → a ∈ f n) {a} : a ∈ rfindOpt f ↔ ∃ n, a ∈ f n := ⟨rfindOpt_spec, fun ⟨n, h⟩ => by @@ -159,7 +188,9 @@ theorem rfindOpt_mono {α} {f : ℕ → Option α} (H : ∀ {a m n}, m ≤ n → have := (H (le_max_left _ _) h).symm.trans (H (le_max_right _ _) hk) simp at this; simp [this, get_mem]⟩ #align nat.rfind_opt_mono Nat.rfindOpt_mono +-/ +#print Nat.Partrec /- inductive Partrec : (ℕ →. ℕ) → Prop | zero : Partrec (pure 0) | succ : Partrec succ @@ -178,18 +209,24 @@ inductive Partrec : (ℕ →. ℕ) → Prop g (mkpair a (mkpair y i))) | rfind {f} : Partrec f → Partrec fun a => rfind fun n => (fun m => m = 0) <$> f (pair a n) #align nat.partrec Nat.Partrec +-/ namespace Partrec -theorem ofEq {f g : ℕ →. ℕ} (hf : Partrec f) (H : ∀ n, f n = g n) : Partrec g := +#print Nat.Partrec.of_eq /- +theorem of_eq {f g : ℕ →. ℕ} (hf : Partrec f) (H : ∀ n, f n = g n) : Partrec g := (funext H : f = g) ▸ hf -#align nat.partrec.of_eq Nat.Partrec.ofEq +#align nat.partrec.of_eq Nat.Partrec.of_eq +-/ -theorem ofEqTot {f : ℕ →. ℕ} {g : ℕ → ℕ} (hf : Partrec f) (H : ∀ n, g n ∈ f n) : Partrec g := +#print Nat.Partrec.of_eq_tot /- +theorem of_eq_tot {f : ℕ →. ℕ} {g : ℕ → ℕ} (hf : Partrec f) (H : ∀ n, g n ∈ f n) : Partrec g := hf.of_eq fun n => eq_some_iff.2 (H n) -#align nat.partrec.of_eq_tot Nat.Partrec.ofEqTot +#align nat.partrec.of_eq_tot Nat.Partrec.of_eq_tot +-/ -theorem ofPrimrec {f : ℕ → ℕ} (hf : Primrec f) : Partrec f := +#print Nat.Partrec.of_primrec /- +theorem of_primrec {f : ℕ → ℕ} (hf : Primrec f) : Partrec f := by induction hf case zero => exact zero @@ -197,27 +234,33 @@ theorem ofPrimrec {f : ℕ → ℕ} (hf : Primrec f) : Partrec f := case left => exact left case right => exact right case pair f g hf hg pf pg => - refine' (pf.pair pg).ofEqTot fun n => _ + refine' (pf.pair pg).of_eq_tot fun n => _ simp [Seq.seq] case comp f g hf hg pf pg => - refine' (pf.comp pg).ofEqTot fun n => _ + refine' (pf.comp pg).of_eq_tot fun n => _ simp case prec f g hf hg pf pg => - refine' (pf.prec pg).ofEqTot fun n => _ + refine' (pf.prec pg).of_eq_tot fun n => _ simp induction' n.unpair.2 with m IH; · simp simp; exact ⟨_, IH, rfl⟩ -#align nat.partrec.of_primrec Nat.Partrec.ofPrimrec +#align nat.partrec.of_primrec Nat.Partrec.of_primrec +-/ +#print Nat.Partrec.some /- protected theorem some : Partrec some := - ofPrimrec Primrec.id + of_primrec Primrec.id #align nat.partrec.some Nat.Partrec.some +-/ +#print Nat.Partrec.none /- theorem none : Partrec fun n => none := - (ofPrimrec (Nat.Primrec.const 1)).rfind.of_eq fun n => + (of_primrec (Nat.Primrec.const 1)).rfind.of_eq fun n => eq_none_iff.2 fun a ⟨h, e⟩ => by simpa using h #align nat.partrec.none Nat.Partrec.none +-/ +#print Nat.Partrec.prec' /- theorem prec' {f g h} (hf : Partrec f) (hg : Partrec g) (hh : Partrec h) : Partrec fun a => (f a).bind fun n => @@ -231,13 +274,15 @@ theorem prec' {f g h} (hf : Partrec f) (hg : Partrec g) (hh : Partrec h) : ⟨fun ⟨n, h₁, h₂⟩ => ⟨_, ⟨_, h₁, rfl⟩, by simpa using h₂⟩, fun ⟨_, ⟨n, h₁, rfl⟩, h₂⟩ => ⟨_, h₁, by simpa using h₂⟩⟩ #align nat.partrec.prec' Nat.Partrec.prec' +-/ +#print Nat.Partrec.ppred /- theorem ppred : Partrec fun n => ppred n := have : Primrec₂ fun n m => if n = Nat.succ m then 0 else 1 := (Primrec.ite (@PrimrecRel.comp _ _ _ _ _ _ _ Primrec.eq Primrec.fst (Primrec.succ.comp Primrec.snd)) (Primrec.const 0) (Primrec.const 1)).to₂ - (ofPrimrec (Primrec₂.unpaired'.2 this)).rfind.of_eq fun n => + (of_primrec (Primrec₂.unpaired'.2 this)).rfind.of_eq fun n => by cases n <;> simp · @@ -249,43 +294,76 @@ theorem ppred : Partrec fun n => ppred n := intro m h simp [ne_of_gt h] #align nat.partrec.ppred Nat.Partrec.ppred +-/ end Partrec end Nat +#print Partrec /- def Partrec {α σ} [Primcodable α] [Primcodable σ] (f : α →. σ) := Nat.Partrec fun n => Part.bind (decode α n) fun a => (f a).map encode #align partrec Partrec +-/ +#print Partrec₂ /- def Partrec₂ {α β σ} [Primcodable α] [Primcodable β] [Primcodable σ] (f : α → β →. σ) := Partrec fun p : α × β => f p.1 p.2 #align partrec₂ Partrec₂ +-/ +#print Computable /- def Computable {α σ} [Primcodable α] [Primcodable σ] (f : α → σ) := Partrec (f : α →. σ) #align computable Computable +-/ +#print Computable₂ /- def Computable₂ {α β σ} [Primcodable α] [Primcodable β] [Primcodable σ] (f : α → β → σ) := Computable fun p : α × β => f p.1 p.2 #align computable₂ Computable₂ +-/ +/- warning: primrec.to_comp -> Primrec.to_comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} σ] {f : α -> σ}, (Primrec.{u1, u2} α σ _inst_1 _inst_2 f) -> (Computable.{u1, u2} α σ _inst_1 _inst_2 f) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} σ] {f : α -> σ}, (Primrec.{u2, u1} α σ _inst_1 _inst_2 f) -> (Computable.{u2, u1} α σ _inst_1 _inst_2 f) +Case conversion may be inaccurate. Consider using '#align primrec.to_comp Primrec.to_compₓ'. -/ theorem Primrec.to_comp {α σ} [Primcodable α] [Primcodable σ] {f : α → σ} (hf : Primrec f) : Computable f := - (Nat.Partrec.ppred.comp (Nat.Partrec.ofPrimrec hf)).of_eq fun n => by + (Nat.Partrec.ppred.comp (Nat.Partrec.of_primrec hf)).of_eq fun n => by simp <;> cases decode α n <;> simp #align primrec.to_comp Primrec.to_comp +/- warning: primrec₂.to_comp -> Primrec₂.to_comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} σ] {f : α -> β -> σ}, (Primrec₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_3 f) -> (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_3 f) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u1} σ] {f : α -> β -> σ}, (Primrec₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_3 f) -> (Computable₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_3 f) +Case conversion may be inaccurate. Consider using '#align primrec₂.to_comp Primrec₂.to_compₓ'. -/ theorem Primrec₂.to_comp {α β σ} [Primcodable α] [Primcodable β] [Primcodable σ] {f : α → β → σ} (hf : Primrec₂ f) : Computable₂ f := hf.to_comp #align primrec₂.to_comp Primrec₂.to_comp +/- warning: computable.partrec -> Computable.partrec is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} σ] {f : α -> σ}, (Computable.{u1, u2} α σ _inst_1 _inst_2 f) -> (Partrec.{u1, u2} α σ _inst_1 _inst_2 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (α -> σ) (PFun.{u1, u2} α σ) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (α -> σ) (PFun.{u1, u2} α σ) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (α -> σ) (PFun.{u1, u2} α σ) (coeBase.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (α -> σ) (PFun.{u1, u2} α σ) (PFun.coe.{u1, u2} α σ)))) f)) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} σ] {f : α -> σ}, (Computable.{u2, u1} α σ _inst_1 _inst_2 f) -> (Partrec.{u2, u1} α σ _inst_1 _inst_2 (PFun.lift.{u2, u1} α σ f)) +Case conversion may be inaccurate. Consider using '#align computable.partrec Computable.partrecₓ'. -/ protected theorem Computable.partrec {α σ} [Primcodable α] [Primcodable σ] {f : α → σ} (hf : Computable f) : Partrec (f : α →. σ) := hf #align computable.partrec Computable.partrec +/- warning: computable₂.partrec₂ -> Computable₂.partrec₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} σ] {f : α -> β -> σ}, (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_3 f) -> (Partrec₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_3 (fun (a : α) => (fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (β -> σ) (PFun.{u2, u3} β σ) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (β -> σ) (PFun.{u2, u3} β σ) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (β -> σ) (PFun.{u2, u3} β σ) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (β -> σ) (PFun.{u2, u3} β σ) (PFun.coe.{u2, u3} β σ)))) (f a))) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u1} σ] {f : α -> β -> σ}, (Computable₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_3 f) -> (Partrec₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_3 (fun (a : α) => PFun.lift.{u2, u1} β σ (f a))) +Case conversion may be inaccurate. Consider using '#align computable₂.partrec₂ Computable₂.partrec₂ₓ'. -/ protected theorem Computable₂.partrec₂ {α β σ} [Primcodable α] [Primcodable β] [Primcodable σ] {f : α → β → σ} (hf : Computable₂ f) : Partrec₂ fun a => (f a : β →. σ) := hf @@ -297,149 +375,256 @@ variable {α : Type _} {β : Type _} {γ : Type _} {σ : Type _} variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] +/- warning: computable.of_eq -> Computable.of_eq is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : α -> σ} {g : α -> σ}, (Computable.{u1, u2} α σ _inst_1 _inst_4 f) -> (forall (n : α), Eq.{succ u2} σ (f n) (g n)) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 g) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : α -> σ} {g : α -> σ}, (Computable.{u2, u1} α σ _inst_1 _inst_4 f) -> (forall (n : α), Eq.{succ u1} σ (f n) (g n)) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 g) +Case conversion may be inaccurate. Consider using '#align computable.of_eq Computable.of_eqₓ'. -/ theorem of_eq {f g : α → σ} (hf : Computable f) (H : ∀ n, f n = g n) : Computable g := (funext H : f = g) ▸ hf #align computable.of_eq Computable.of_eq +/- warning: computable.const -> Computable.const is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] (s : σ), Computable.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => s) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] (s : σ), Computable.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => s) +Case conversion may be inaccurate. Consider using '#align computable.const Computable.constₓ'. -/ theorem const (s : σ) : Computable fun a : α => s := (Primrec.const _).to_comp #align computable.const Computable.const +#print Computable.of_option /- theorem of_option {f : α → Option β} (hf : Computable f) : Partrec fun a => (f a : Part β) := (Nat.Partrec.ppred.comp hf).of_eq fun n => by cases' decode α n with a <;> simp cases' f a with b <;> simp #align computable.of_option Computable.of_option +-/ +/- warning: computable.to₂ -> Computable.to₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : (Prod.{u1, u2} α β) -> σ}, (Computable.{max u1 u2, u3} (Prod.{u1, u2} α β) σ (Primcodable.prod.{u1, u2} α β _inst_1 _inst_2) _inst_4 f) -> (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (Prod.mk.{u1, u2} α β a b))) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u1} σ] {f : (Prod.{u3, u2} α β) -> σ}, (Computable.{max u3 u2, u1} (Prod.{u3, u2} α β) σ (Primcodable.prod.{u3, u2} α β _inst_1 _inst_2) _inst_4 f) -> (Computable₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (Prod.mk.{u3, u2} α β a b))) +Case conversion may be inaccurate. Consider using '#align computable.to₂ Computable.to₂ₓ'. -/ theorem to₂ {f : α × β → σ} (hf : Computable f) : Computable₂ fun a b => f (a, b) := hf.of_eq fun ⟨a, b⟩ => rfl #align computable.to₂ Computable.to₂ +#print Computable.id /- protected theorem id : Computable (@id α) := Primrec.id.to_comp #align computable.id Computable.id +-/ +/- warning: computable.fst -> Computable.fst is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β], Computable.{max u1 u2, u1} (Prod.{u1, u2} α β) α (Primcodable.prod.{u1, u2} α β _inst_1 _inst_2) _inst_1 (Prod.fst.{u1, u2} α β) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β], Computable.{max u2 u1, u2} (Prod.{u2, u1} α β) α (Primcodable.prod.{u2, u1} α β _inst_1 _inst_2) _inst_1 (Prod.fst.{u2, u1} α β) +Case conversion may be inaccurate. Consider using '#align computable.fst Computable.fstₓ'. -/ theorem fst : Computable (@Prod.fst α β) := Primrec.fst.to_comp #align computable.fst Computable.fst +/- warning: computable.snd -> Computable.snd is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β], Computable.{max u1 u2, u2} (Prod.{u1, u2} α β) β (Primcodable.prod.{u1, u2} α β _inst_1 _inst_2) _inst_2 (Prod.snd.{u1, u2} α β) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β], Computable.{max u2 u1, u1} (Prod.{u2, u1} α β) β (Primcodable.prod.{u2, u1} α β _inst_1 _inst_2) _inst_2 (Prod.snd.{u2, u1} α β) +Case conversion may be inaccurate. Consider using '#align computable.snd Computable.sndₓ'. -/ theorem snd : Computable (@Prod.snd α β) := Primrec.snd.to_comp #align computable.snd Computable.snd +/- warning: computable.pair -> Computable.pair is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] {f : α -> β} {g : α -> γ}, (Computable.{u1, u2} α β _inst_1 _inst_2 f) -> (Computable.{u1, u3} α γ _inst_1 _inst_3 g) -> (Computable.{u1, max u2 u3} α (Prod.{u2, u3} β γ) _inst_1 (Primcodable.prod.{u2, u3} β γ _inst_2 _inst_3) (fun (a : α) => Prod.mk.{u2, u3} β γ (f a) (g a))) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u1} γ] {f : α -> β} {g : α -> γ}, (Computable.{u3, u2} α β _inst_1 _inst_2 f) -> (Computable.{u3, u1} α γ _inst_1 _inst_3 g) -> (Computable.{u3, max u1 u2} α (Prod.{u2, u1} β γ) _inst_1 (Primcodable.prod.{u2, u1} β γ _inst_2 _inst_3) (fun (a : α) => Prod.mk.{u2, u1} β γ (f a) (g a))) +Case conversion may be inaccurate. Consider using '#align computable.pair Computable.pairₓ'. -/ theorem pair {f : α → β} {g : α → γ} (hf : Computable f) (hg : Computable g) : Computable fun a => (f a, g a) := (hf.pair hg).of_eq fun n => by cases decode α n <;> simp [(· <*> ·)] #align computable.pair Computable.pair +#print Computable.unpair /- theorem unpair : Computable Nat.unpair := Primrec.unpair.to_comp #align computable.unpair Computable.unpair +-/ +#print Computable.succ /- theorem succ : Computable Nat.succ := Primrec.succ.to_comp #align computable.succ Computable.succ +-/ +#print Computable.pred /- theorem pred : Computable Nat.pred := Primrec.pred.to_comp #align computable.pred Computable.pred +-/ +#print Computable.nat_bodd /- theorem nat_bodd : Computable Nat.bodd := Primrec.nat_bodd.to_comp #align computable.nat_bodd Computable.nat_bodd +-/ +#print Computable.nat_div2 /- theorem nat_div2 : Computable Nat.div2 := Primrec.nat_div2.to_comp #align computable.nat_div2 Computable.nat_div2 +-/ +/- warning: computable.sum_inl -> Computable.sum_inl is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β], Computable.{u1, max u1 u2} α (Sum.{u1, u2} α β) _inst_1 (Primcodable.sum.{u1, u2} α β _inst_1 _inst_2) (Sum.inl.{u1, u2} α β) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β], Computable.{u2, max u2 u1} α (Sum.{u2, u1} α β) _inst_1 (Primcodable.sum.{u2, u1} α β _inst_1 _inst_2) (Sum.inl.{u2, u1} α β) +Case conversion may be inaccurate. Consider using '#align computable.sum_inl Computable.sum_inlₓ'. -/ theorem sum_inl : Computable (@Sum.inl α β) := Primrec.sum_inl.to_comp #align computable.sum_inl Computable.sum_inl +#print Computable.sum_inr /- theorem sum_inr : Computable (@Sum.inr α β) := Primrec.sum_inr.to_comp #align computable.sum_inr Computable.sum_inr +-/ +#print Computable.list_cons /- theorem list_cons : Computable₂ (@List.cons α) := Primrec.list_cons.to_comp #align computable.list_cons Computable.list_cons +-/ +#print Computable.list_reverse /- theorem list_reverse : Computable (@List.reverse α) := Primrec.list_reverse.to_comp #align computable.list_reverse Computable.list_reverse +-/ +#print Computable.list_get? /- theorem list_get? : Computable₂ (@List.get? α) := Primrec.list_get?.to_comp #align computable.list_nth Computable.list_get? +-/ +#print Computable.list_append /- theorem list_append : Computable₂ ((· ++ ·) : List α → List α → List α) := Primrec.list_append.to_comp #align computable.list_append Computable.list_append +-/ +#print Computable.list_concat /- theorem list_concat : Computable₂ fun l (a : α) => l ++ [a] := Primrec.list_concat.to_comp #align computable.list_concat Computable.list_concat +-/ +#print Computable.list_length /- theorem list_length : Computable (@List.length α) := Primrec.list_length.to_comp #align computable.list_length Computable.list_length +-/ +#print Computable.vector_cons /- theorem vector_cons {n} : Computable₂ (@Vector.cons α n) := Primrec.vector_cons.to_comp #align computable.vector_cons Computable.vector_cons +-/ +#print Computable.vector_toList /- theorem vector_toList {n} : Computable (@Vector.toList α n) := Primrec.vector_toList.to_comp #align computable.vector_to_list Computable.vector_toList +-/ +#print Computable.vector_length /- theorem vector_length {n} : Computable (@Vector.length α n) := Primrec.vector_length.to_comp #align computable.vector_length Computable.vector_length +-/ +#print Computable.vector_head /- theorem vector_head {n} : Computable (@Vector.head α n) := Primrec.vector_head.to_comp #align computable.vector_head Computable.vector_head +-/ +#print Computable.vector_tail /- theorem vector_tail {n} : Computable (@Vector.tail α n) := Primrec.vector_tail.to_comp #align computable.vector_tail Computable.vector_tail +-/ +#print Computable.vector_get /- theorem vector_get {n} : Computable₂ (@Vector.get α n) := Primrec.vector_get.to_comp #align computable.vector_nth Computable.vector_get +-/ -theorem vector_nth' {n} : Computable (@Vector.get α n) := +/- warning: computable.vector_nth' clashes with computable.vector_nth -> Computable.vector_get +warning: computable.vector_nth' -> Computable.vector_get is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : Primcodable.{u1} α] {n : Nat}, Computable.{u1, u1} (Vector.{u1} α n) ((Fin n) -> α) (Primcodable.vector.{u1} α _inst_1 n) (Primcodable.finArrow.{u1} α _inst_1 n) (Vector.get.{u1} α n) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : Primcodable.{u1} α] {n : Nat}, Computable₂.{u1, 0, u1} (Vector.{u1} α n) (Fin n) α (Primcodable.vector.{u1} α _inst_1 n) (Primcodable.fin n) _inst_1 (Vector.get.{u1} α n) +Case conversion may be inaccurate. Consider using '#align computable.vector_nth' Computable.vector_getₓ'. -/ +theorem vector_get {n} : Computable (@Vector.get α n) := Primrec.vector_nth'.to_comp -#align computable.vector_nth' Computable.vector_nth' +#align computable.vector_nth' Computable.vector_get -theorem vector_of_fn' {n} : Computable (@Vector.ofFn α n) := +#print Computable.vector_ofFn' /- +theorem vector_ofFn' {n} : Computable (@Vector.ofFn α n) := Primrec.vector_of_fn'.to_comp -#align computable.vector_of_fn' Computable.vector_of_fn' +#align computable.vector_of_fn' Computable.vector_ofFn' +-/ +#print Computable.fin_app /- theorem fin_app {n} : Computable₂ (@id (Fin n → σ)) := Primrec.fin_app.to_comp #align computable.fin_app Computable.fin_app +-/ +#print Computable.encode /- protected theorem encode : Computable (@encode α _) := Primrec.encode.to_comp #align computable.encode Computable.encode +-/ +#print Computable.decode /- protected theorem decode : Computable (decode α) := Primrec.decode.to_comp #align computable.decode Computable.decode +-/ +#print Computable.ofNat /- protected theorem ofNat (α) [Denumerable α] : Computable (ofNat α) := (Primrec.ofNat _).to_comp #align computable.of_nat Computable.ofNat +-/ +/- warning: computable.encode_iff -> Computable.encode_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : α -> σ}, Iff (Computable.{u1, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (fun (a : α) => Encodable.encode.{u2} σ (Primcodable.toEncodable.{u2} σ _inst_4) (f a))) (Computable.{u1, u2} α σ _inst_1 _inst_4 f) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : α -> σ}, Iff (Computable.{u2, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (fun (a : α) => Encodable.encode.{u1} σ (Primcodable.toEncodable.{u1} σ _inst_4) (f a))) (Computable.{u2, u1} α σ _inst_1 _inst_4 f) +Case conversion may be inaccurate. Consider using '#align computable.encode_iff Computable.encode_iffₓ'. -/ theorem encode_iff {f : α → σ} : (Computable fun a => encode (f a)) ↔ Computable f := Iff.rfl #align computable.encode_iff Computable.encode_iff +#print Computable.option_some /- theorem option_some : Computable (@Option.some α) := Primrec.option_some.to_comp #align computable.option_some Computable.option_some +-/ end Computable @@ -451,46 +636,94 @@ variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] open Computable +/- warning: partrec.of_eq -> Partrec.of_eq is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, u2} α σ} {g : PFun.{u1, u2} α σ}, (Partrec.{u1, u2} α σ _inst_1 _inst_4 f) -> (forall (n : α), Eq.{succ u2} (Part.{u2} σ) (f n) (g n)) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 g) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, u1} α σ} {g : PFun.{u2, u1} α σ}, (Partrec.{u2, u1} α σ _inst_1 _inst_4 f) -> (forall (n : α), Eq.{succ u1} (Part.{u1} σ) (f n) (g n)) -> (Partrec.{u2, u1} α σ _inst_1 _inst_4 g) +Case conversion may be inaccurate. Consider using '#align partrec.of_eq Partrec.of_eqₓ'. -/ theorem of_eq {f g : α →. σ} (hf : Partrec f) (H : ∀ n, f n = g n) : Partrec g := (funext H : f = g) ▸ hf #align partrec.of_eq Partrec.of_eq +/- warning: partrec.of_eq_tot -> Partrec.of_eq_tot is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, u2} α σ} {g : α -> σ}, (Partrec.{u1, u2} α σ _inst_1 _inst_4 f) -> (forall (n : α), Membership.Mem.{u2, u2} σ (Part.{u2} σ) (Part.hasMem.{u2} σ) (g n) (f n)) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 g) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, u1} α σ} {g : α -> σ}, (Partrec.{u2, u1} α σ _inst_1 _inst_4 f) -> (forall (n : α), Membership.mem.{u1, u1} σ (Part.{u1} σ) (Part.instMembershipPart.{u1} σ) (g n) (f n)) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 g) +Case conversion may be inaccurate. Consider using '#align partrec.of_eq_tot Partrec.of_eq_totₓ'. -/ theorem of_eq_tot {f : α →. σ} {g : α → σ} (hf : Partrec f) (H : ∀ n, g n ∈ f n) : Computable g := hf.of_eq fun a => eq_some_iff.2 (H a) #align partrec.of_eq_tot Partrec.of_eq_tot +/- warning: partrec.none -> Partrec.none is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ], Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Part.none.{u2} σ) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ], Partrec.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => Part.none.{u1} σ) +Case conversion may be inaccurate. Consider using '#align partrec.none Partrec.noneₓ'. -/ theorem none : Partrec fun a : α => @Part.none σ := Nat.Partrec.none.of_eq fun n => by cases decode α n <;> simp #align partrec.none Partrec.none +#print Partrec.some /- protected theorem some : Partrec (@Part.some α) := Computable.id #align partrec.some Partrec.some +-/ +#print Decidable.Partrec.const' /- theorem Decidable.Partrec.const' (s : Part σ) [Decidable s.Dom] : Partrec fun a : α => s := (of_option (const (toOption s))).of_eq fun a => of_toOption s #align decidable.partrec.const' Decidable.Partrec.const' +-/ +#print Partrec.const' /- theorem const' (s : Part σ) : Partrec fun a : α => s := haveI := Classical.dec s.dom Decidable.Partrec.const' s #align partrec.const' Partrec.const' +-/ +/- warning: partrec.bind -> Partrec.bind is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : PFun.{u1, u2} α β} {g : α -> (PFun.{u2, u3} β σ)}, (Partrec.{u1, u2} α β _inst_1 _inst_2 f) -> (Partrec₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => Part.bind.{u2, u3} β σ (f a) (g a))) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u3, u2} α β} {g : α -> (PFun.{u2, u1} β σ)}, (Partrec.{u3, u2} α β _inst_1 _inst_2 f) -> (Partrec₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u3, u1} α σ _inst_1 _inst_4 (fun (a : α) => Part.bind.{u2, u1} β σ (f a) (g a))) +Case conversion may be inaccurate. Consider using '#align partrec.bind Partrec.bindₓ'. -/ protected theorem bind {f : α →. β} {g : α → β →. σ} (hf : Partrec f) (hg : Partrec₂ g) : Partrec fun a => (f a).bind (g a) := (hg.comp (Nat.Partrec.some.pair hf)).of_eq fun n => by simp [(· <*> ·)] <;> cases' e : decode α n with a <;> simp [e, encodek] #align partrec.bind Partrec.bind +/- warning: partrec.map -> Partrec.map is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : PFun.{u1, u2} α β} {g : α -> β -> σ}, (Partrec.{u1, u2} α β _inst_1 _inst_2 f) -> (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => Part.map.{u2, u3} β σ (g a) (f a))) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u3, u2} α β} {g : α -> β -> σ}, (Partrec.{u3, u2} α β _inst_1 _inst_2 f) -> (Computable₂.{u3, u2, u1} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u3, u1} α σ _inst_1 _inst_4 (fun (a : α) => Part.map.{u2, u1} β σ (g a) (f a))) +Case conversion may be inaccurate. Consider using '#align partrec.map Partrec.mapₓ'. -/ theorem map {f : α →. β} {g : α → β → σ} (hf : Partrec f) (hg : Computable₂ g) : Partrec fun a => (f a).map (g a) := by simpa [bind_some_eq_map] using @Partrec.bind _ _ _ (fun a b => Part.some (g a b)) hf hg #align partrec.map Partrec.map +/- warning: partrec.to₂ -> Partrec.to₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : PFun.{max u1 u2, u3} (Prod.{u1, u2} α β) σ}, (Partrec.{max u1 u2, u3} (Prod.{u1, u2} α β) σ (Primcodable.prod.{u1, u2} α β _inst_1 _inst_2) _inst_4 f) -> (Partrec₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (Prod.mk.{u1, u2} α β a b))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u3}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{max u3 u2, u1} (Prod.{u2, u3} α β) σ}, (Partrec.{max u2 u3, u1} (Prod.{u2, u3} α β) σ (Primcodable.prod.{u2, u3} α β _inst_1 _inst_2) _inst_4 f) -> (Partrec₂.{u2, u3, u1} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (Prod.mk.{u2, u3} α β a b))) +Case conversion may be inaccurate. Consider using '#align partrec.to₂ Partrec.to₂ₓ'. -/ theorem to₂ {f : α × β →. σ} (hf : Partrec f) : Partrec₂ fun a b => f (a, b) := hf.of_eq fun ⟨a, b⟩ => rfl #align partrec.to₂ Partrec.to₂ +/- warning: partrec.nat_elim -> Partrec.nat_rec is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : α -> Nat} {g : PFun.{u1, u2} α σ} {h : α -> (PFun.{u2, u2} (Prod.{0, u2} Nat σ) σ)}, (Computable.{u1, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) f) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 g) -> (Partrec₂.{u1, u2, u2} α (Prod.{0, u2} Nat σ) σ _inst_1 (Primcodable.prod.{0, u2} Nat σ (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) _inst_4) _inst_4 h) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Nat.rec.{succ u2} (Part.{u2} σ) (g a) (fun (y : Nat) (IH : Part.{u2} σ) => Part.bind.{u2, u2} σ σ IH (fun (i : σ) => h a (Prod.mk.{0, u2} Nat σ y i))) (f a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : α -> Nat} {g : PFun.{u2, u1} α σ} {h : α -> (PFun.{u1, u1} (Prod.{0, u1} Nat σ) σ)}, (Computable.{u2, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) f) -> (Partrec.{u2, u1} α σ _inst_1 _inst_4 g) -> (Partrec₂.{u2, u1, u1} α (Prod.{0, u1} Nat σ) σ _inst_1 (Primcodable.prod.{0, u1} Nat σ (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) _inst_4) _inst_4 h) -> (Partrec.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => Nat.rec.{succ u1} (fun (x._@.Mathlib.Computability.Partrec._hyg.4628 : Nat) => Part.{u1} σ) (g a) (fun (y : Nat) (IH : Part.{u1} σ) => Part.bind.{u1, u1} σ σ IH (fun (i : σ) => h a (Prod.mk.{0, u1} Nat σ y i))) (f a))) +Case conversion may be inaccurate. Consider using '#align partrec.nat_elim Partrec.nat_recₓ'. -/ theorem nat_rec {f : α → ℕ} {g : α →. σ} {h : α → ℕ × σ →. σ} (hf : Computable f) (hg : Partrec g) (hh : Partrec₂ h) : Partrec fun a => (f a).elim (g a) fun y IH => IH.bind fun i => h a (y, i) := (Nat.Partrec.prec' hf hg hh).of_eq fun n => @@ -502,14 +735,28 @@ theorem nat_rec {f : α → ℕ} {g : α →. σ} {h : α → ℕ × σ →. σ} simp [encodek] #align partrec.nat_elim Partrec.nat_rec +/- warning: partrec.comp -> Partrec.comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : PFun.{u2, u3} β σ} {g : α -> β}, (Partrec.{u2, u3} β σ _inst_2 _inst_4 f) -> (Computable.{u1, u2} α β _inst_1 _inst_2 g) -> (Partrec.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => f (g a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u3, u2} β σ} {g : α -> β}, (Partrec.{u3, u2} β σ _inst_2 _inst_4 f) -> (Computable.{u1, u3} α β _inst_1 _inst_2 g) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => f (g a))) +Case conversion may be inaccurate. Consider using '#align partrec.comp Partrec.compₓ'. -/ theorem comp {f : β →. σ} {g : α → β} (hf : Partrec f) (hg : Computable g) : Partrec fun a => f (g a) := (hf.comp hg).of_eq fun n => by simp <;> cases' e : decode α n with a <;> simp [e, encodek] #align partrec.comp Partrec.comp +#print Partrec.nat_iff /- theorem nat_iff {f : ℕ →. ℕ} : Partrec f ↔ Nat.Partrec f := by simp [Partrec, map_id'] #align partrec.nat_iff Partrec.nat_iff +-/ +/- warning: partrec.map_encode_iff -> Partrec.map_encode_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, u2} α σ}, Iff (Partrec.{u1, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (fun (a : α) => Part.map.{u2, 0} σ Nat (Encodable.encode.{u2} σ (Primcodable.toEncodable.{u2} σ _inst_4)) (f a))) (Partrec.{u1, u2} α σ _inst_1 _inst_4 f) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, u1} α σ}, Iff (Partrec.{u2, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (fun (a : α) => Part.map.{u1, 0} σ Nat (Encodable.encode.{u1} σ (Primcodable.toEncodable.{u1} σ _inst_4)) (f a))) (Partrec.{u2, u1} α σ _inst_1 _inst_4 f) +Case conversion may be inaccurate. Consider using '#align partrec.map_encode_iff Partrec.map_encode_iffₓ'. -/ theorem map_encode_iff {f : α →. σ} : (Partrec fun a => (f a).map encode) ↔ Partrec f := Iff.rfl #align partrec.map_encode_iff Partrec.map_encode_iff @@ -522,19 +769,35 @@ variable {α : Type _} {β : Type _} {γ : Type _} {δ : Type _} {σ : Type _} variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] [Primcodable σ] +#print Partrec₂.unpaired /- theorem unpaired {f : ℕ → ℕ →. α} : Partrec (Nat.unpaired f) ↔ Partrec₂ f := ⟨fun h => by simpa using h.comp primrec₂.mkpair.to_comp, fun h => h.comp Primrec.unpair.to_comp⟩ #align partrec₂.unpaired Partrec₂.unpaired +-/ +#print Partrec₂.unpaired' /- theorem unpaired' {f : ℕ → ℕ →. ℕ} : Nat.Partrec (Nat.unpaired f) ↔ Partrec₂ f := Partrec.nat_iff.symm.trans unpaired #align partrec₂.unpaired' Partrec₂.unpaired' +-/ +/- warning: partrec₂.comp -> Partrec₂.comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_5 : Primcodable.{u4} σ] {f : β -> (PFun.{u3, u4} γ σ)} {g : α -> β} {h : α -> γ}, (Partrec₂.{u2, u3, u4} β γ σ _inst_2 _inst_3 _inst_5 f) -> (Computable.{u1, u2} α β _inst_1 _inst_2 g) -> (Computable.{u1, u3} α γ _inst_1 _inst_3 h) -> (Partrec.{u1, u4} α σ _inst_1 _inst_5 (fun (a : α) => f (g a) (h a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u4} γ] [_inst_5 : Primcodable.{u3} σ] {f : β -> (PFun.{u4, u3} γ σ)} {g : α -> β} {h : α -> γ}, (Partrec₂.{u2, u4, u3} β γ σ _inst_2 _inst_3 _inst_5 f) -> (Computable.{u1, u2} α β _inst_1 _inst_2 g) -> (Computable.{u1, u4} α γ _inst_1 _inst_3 h) -> (Partrec.{u1, u3} α σ _inst_1 _inst_5 (fun (a : α) => f (g a) (h a))) +Case conversion may be inaccurate. Consider using '#align partrec₂.comp Partrec₂.compₓ'. -/ theorem comp {f : β → γ →. σ} {g : α → β} {h : α → γ} (hf : Partrec₂ f) (hg : Computable g) (hh : Computable h) : Partrec fun a => f (g a) (h a) := hf.comp (hg.pair hh) #align partrec₂.comp Partrec₂.comp +/- warning: partrec₂.comp₂ -> Partrec₂.comp₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} {σ : Type.{u5}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} δ] [_inst_5 : Primcodable.{u5} σ] {f : γ -> (PFun.{u4, u5} δ σ)} {g : α -> β -> γ} {h : α -> β -> δ}, (Partrec₂.{u3, u4, u5} γ δ σ _inst_3 _inst_4 _inst_5 f) -> (Computable₂.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 h) -> (Partrec₂.{u1, u2, u5} α β σ _inst_1 _inst_2 _inst_5 (fun (a : α) (b : β) => f (g a b) (h a b))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u3}} {δ : Type.{u5}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u5} δ] [_inst_5 : Primcodable.{u4} σ] {f : γ -> (PFun.{u5, u4} δ σ)} {g : α -> β -> γ} {h : α -> β -> δ}, (Partrec₂.{u3, u5, u4} γ δ σ _inst_3 _inst_4 _inst_5 f) -> (Computable₂.{u2, u1, u3} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u2, u1, u5} α β δ _inst_1 _inst_2 _inst_4 h) -> (Partrec₂.{u2, u1, u4} α β σ _inst_1 _inst_2 _inst_5 (fun (a : α) (b : β) => f (g a b) (h a b))) +Case conversion may be inaccurate. Consider using '#align partrec₂.comp₂ Partrec₂.comp₂ₓ'. -/ theorem comp₂ {f : γ → δ →. σ} {g : α → β → γ} {h : α → β → δ} (hf : Partrec₂ f) (hg : Computable₂ g) (hh : Computable₂ h) : Partrec₂ fun a b => f (g a b) (h a b) := hf.comp hg hh @@ -548,11 +811,23 @@ variable {α : Type _} {β : Type _} {γ : Type _} {σ : Type _} variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] +/- warning: computable.comp -> Computable.comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : β -> σ} {g : α -> β}, (Computable.{u2, u3} β σ _inst_2 _inst_4 f) -> (Computable.{u1, u2} α β _inst_1 _inst_2 g) -> (Computable.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => f (g a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u2} σ] {f : β -> σ} {g : α -> β}, (Computable.{u3, u2} β σ _inst_2 _inst_4 f) -> (Computable.{u1, u3} α β _inst_1 _inst_2 g) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => f (g a))) +Case conversion may be inaccurate. Consider using '#align computable.comp Computable.compₓ'. -/ theorem comp {f : β → σ} {g : α → β} (hf : Computable f) (hg : Computable g) : Computable fun a => f (g a) := hf.comp hg #align computable.comp Computable.comp +/- warning: computable.comp₂ -> Computable.comp₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} σ] {f : γ -> σ} {g : α -> β -> γ}, (Computable.{u3, u4} γ σ _inst_3 _inst_4 f) -> (Computable₂.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u1, u2, u4} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (g a b))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u4}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β] [_inst_3 : Primcodable.{u4} γ] [_inst_4 : Primcodable.{u3} σ] {f : γ -> σ} {g : α -> β -> γ}, (Computable.{u4, u3} γ σ _inst_3 _inst_4 f) -> (Computable₂.{u2, u1, u4} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u2, u1, u3} α β σ _inst_1 _inst_2 _inst_4 (fun (a : α) (b : β) => f (g a b))) +Case conversion may be inaccurate. Consider using '#align computable.comp₂ Computable.comp₂ₓ'. -/ theorem comp₂ {f : γ → σ} {g : α → β → γ} (hf : Computable f) (hg : Computable₂ g) : Computable₂ fun a b => f (g a b) := hf.comp hg @@ -566,11 +841,23 @@ variable {α : Type _} {β : Type _} {γ : Type _} {δ : Type _} {σ : Type _} variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] [Primcodable σ] +/- warning: computable₂.comp -> Computable₂.comp is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_5 : Primcodable.{u4} σ] {f : β -> γ -> σ} {g : α -> β} {h : α -> γ}, (Computable₂.{u2, u3, u4} β γ σ _inst_2 _inst_3 _inst_5 f) -> (Computable.{u1, u2} α β _inst_1 _inst_2 g) -> (Computable.{u1, u3} α γ _inst_1 _inst_3 h) -> (Computable.{u1, u4} α σ _inst_1 _inst_5 (fun (a : α) => f (g a) (h a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u4}} {γ : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u4} β] [_inst_3 : Primcodable.{u3} γ] [_inst_5 : Primcodable.{u2} σ] {f : β -> γ -> σ} {g : α -> β} {h : α -> γ}, (Computable₂.{u4, u3, u2} β γ σ _inst_2 _inst_3 _inst_5 f) -> (Computable.{u1, u4} α β _inst_1 _inst_2 g) -> (Computable.{u1, u3} α γ _inst_1 _inst_3 h) -> (Computable.{u1, u2} α σ _inst_1 _inst_5 (fun (a : α) => f (g a) (h a))) +Case conversion may be inaccurate. Consider using '#align computable₂.comp Computable₂.compₓ'. -/ theorem comp {f : β → γ → σ} {g : α → β} {h : α → γ} (hf : Computable₂ f) (hg : Computable g) (hh : Computable h) : Computable fun a => f (g a) (h a) := hf.comp (hg.pair hh) #align computable₂.comp Computable₂.comp +/- warning: computable₂.comp₂ -> Computable₂.comp₂ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} {σ : Type.{u5}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} δ] [_inst_5 : Primcodable.{u5} σ] {f : γ -> δ -> σ} {g : α -> β -> γ} {h : α -> β -> δ}, (Computable₂.{u3, u4, u5} γ δ σ _inst_3 _inst_4 _inst_5 f) -> (Computable₂.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 h) -> (Computable₂.{u1, u2, u5} α β σ _inst_1 _inst_2 _inst_5 (fun (a : α) (b : β) => f (g a b) (h a b))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {γ : Type.{u5}} {δ : Type.{u4}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β] [_inst_3 : Primcodable.{u5} γ] [_inst_4 : Primcodable.{u4} δ] [_inst_5 : Primcodable.{u3} σ] {f : γ -> δ -> σ} {g : α -> β -> γ} {h : α -> β -> δ}, (Computable₂.{u5, u4, u3} γ δ σ _inst_3 _inst_4 _inst_5 f) -> (Computable₂.{u2, u1, u5} α β γ _inst_1 _inst_2 _inst_3 g) -> (Computable₂.{u2, u1, u4} α β δ _inst_1 _inst_2 _inst_4 h) -> (Computable₂.{u2, u1, u3} α β σ _inst_1 _inst_2 _inst_5 (fun (a : α) (b : β) => f (g a b) (h a b))) +Case conversion may be inaccurate. Consider using '#align computable₂.comp₂ Computable₂.comp₂ₓ'. -/ theorem comp₂ {f : γ → δ → σ} {g : α → β → γ} {h : α → β → δ} (hf : Computable₂ f) (hg : Computable₂ g) (hh : Computable₂ h) : Computable₂ fun a b => f (g a b) (h a b) := hf.comp hg hh @@ -586,6 +873,7 @@ variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] open Computable +#print Partrec.rfind /- theorem rfind {p : α → ℕ →. Bool} (hp : Partrec₂ p) : Partrec fun a => Nat.rfind (p a) := (Nat.Partrec.rfind <| hp.map ((Primrec.dom_bool fun b => cond b 0 1).comp Primrec.snd).to₂.to_comp).of_eq @@ -596,12 +884,16 @@ theorem rfind {p : α → ℕ →. Bool} (hp : Partrec₂ p) : Partrec fun a => apply map_id' fun b => _ cases b <;> rfl #align partrec.rfind Partrec.rfind +-/ +#print Partrec.rfindOpt /- theorem rfindOpt {f : α → ℕ → Option σ} (hf : Computable₂ f) : Partrec fun a => Nat.rfindOpt (f a) := (rfind (Primrec.option_isSome.to_comp.comp hf).Partrec.to₂).bind (of_option hf) #align partrec.rfind_opt Partrec.rfindOpt +-/ +#print Partrec.nat_casesOn_right /- theorem nat_casesOn_right {f : α → ℕ} {g : α → σ} {h : α → ℕ →. σ} (hf : Computable f) (hg : Computable g) (hh : Partrec₂ h) : Partrec fun a => (f a).cases (some (g a)) (h a) := (nat_rec hf hg (hh.comp fst (pred.comp <| hf.comp fst)).to₂).of_eq fun a => @@ -616,7 +908,14 @@ theorem nat_casesOn_right {f : α → ℕ} {g : α → σ} {h : α → ℕ →. induction m <;> simp [*, H.fst] exact ⟨⟨this n, H.fst⟩, H.snd⟩ #align partrec.nat_cases_right Partrec.nat_casesOn_right +-/ +/- warning: partrec.bind_decode₂_iff -> Partrec.bind_decode₂_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, u2} α σ}, Iff (Partrec.{u1, u2} α σ _inst_1 _inst_4 f) (Nat.Partrec (fun (n : Nat) => Part.bind.{u1, 0} α Nat ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Option.{u1} α) (Part.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Option.{u1} α) (Part.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Option.{u1} α) (Part.{u1} α) (coeBase.{succ u1, succ u1} (Option.{u1} α) (Part.{u1} α) (Part.hasCoe.{u1} α)))) (Encodable.decode₂.{u1} α (Primcodable.toEncodable.{u1} α _inst_1) n)) (fun (a : α) => Part.map.{u2, 0} σ Nat (Encodable.encode.{u2} σ (Primcodable.toEncodable.{u2} σ _inst_4)) (f a)))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, u1} α σ}, Iff (Partrec.{u2, u1} α σ _inst_1 _inst_4 f) (Nat.Partrec (fun (n : Nat) => Part.bind.{u2, 0} α Nat (Part.ofOption.{u2} α (Encodable.decode₂.{u2} α (Primcodable.toEncodable.{u2} α _inst_1) n)) (fun (a : α) => Part.map.{u1, 0} σ Nat (Encodable.encode.{u1} σ (Primcodable.toEncodable.{u1} σ _inst_4)) (f a)))) +Case conversion may be inaccurate. Consider using '#align partrec.bind_decode₂_iff Partrec.bind_decode₂_iffₓ'. -/ theorem bind_decode₂_iff {f : α →. σ} : Partrec f ↔ Nat.Partrec fun n => Part.bind (decode₂ α n) fun a => (f a).map encode := ⟨fun hf => @@ -627,6 +926,12 @@ theorem bind_decode₂_iff {f : α →. σ} : map_encode_iff.1 <| by simpa [encodek₂] using (nat_iff.2 h).comp (@Computable.encode α _)⟩ #align partrec.bind_decode₂_iff Partrec.bind_decode₂_iff +/- warning: partrec.vector_m_of_fn -> Partrec.vector_mOfFn is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {n : Nat} {f : (Fin n) -> (PFun.{u1, u2} α σ)}, (forall (i : Fin n), Partrec.{u1, u2} α σ _inst_1 _inst_4 (f i)) -> (Partrec.{u1, u2} α (Vector.{u2} σ n) _inst_1 (Primcodable.vector.{u2} σ _inst_4 n) (fun (a : α) => Vector.mOfFn.{u2, u2} Part.{u2} Part.monad.{u2} σ n (fun (i : Fin n) => f i a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {n : Nat} {f : (Fin n) -> (PFun.{u2, u1} α σ)}, (forall (i : Fin n), Partrec.{u2, u1} α σ _inst_1 _inst_4 (f i)) -> (Partrec.{u2, u1} α (Vector.{u1} σ n) _inst_1 (Primcodable.vector.{u1} σ _inst_4 n) (fun (a : α) => Vector.mOfFn.{u1, u1} Part.{u1} Part.instMonadPart.{u1} σ n (fun (i : Fin n) => f i a))) +Case conversion may be inaccurate. Consider using '#align partrec.vector_m_of_fn Partrec.vector_mOfFnₓ'. -/ theorem vector_mOfFn : ∀ {n} {f : Fin n → α →. σ}, (∀ i, Partrec (f i)) → Partrec fun a : α => Vector.mOfFn fun i => f i a @@ -641,6 +946,12 @@ theorem vector_mOfFn : end Partrec +/- warning: vector.m_of_fn_part_some -> Vector.mOfFn_part_some is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {n : Nat} (f : (Fin n) -> α), Eq.{succ u1} (Part.{u1} (Vector.{u1} α n)) (Vector.mOfFn.{u1, u1} Part.{u1} Part.monad.{u1} α n (fun (i : Fin n) => Part.some.{u1} α (f i))) (Part.some.{u1} (Vector.{u1} α n) (Vector.ofFn.{u1} α n f)) +but is expected to have type + forall {α : Type.{u1}} {n : Nat} (f : (Fin n) -> α), Eq.{succ u1} (Part.{u1} (Vector.{u1} α n)) (Vector.mOfFn.{u1, u1} Part.{u1} Part.instMonadPart.{u1} α n (fun (i : Fin n) => Part.some.{u1} α (f i))) (Part.some.{u1} (Vector.{u1} α n) (Vector.ofFn.{u1} α n f)) +Case conversion may be inaccurate. Consider using '#align vector.m_of_fn_part_some Vector.mOfFn_part_someₓ'. -/ @[simp] theorem Vector.mOfFn_part_some {α n} : ∀ f : Fin n → α, (Vector.mOfFn fun i => Part.some (f i)) = Part.some (Vector.ofFn f) := @@ -653,16 +964,28 @@ variable {α : Type _} {β : Type _} {γ : Type _} {σ : Type _} variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] +/- warning: computable.option_some_iff -> Computable.option_some_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : α -> σ}, Iff (Computable.{u1, u2} α (Option.{u2} σ) _inst_1 (Primcodable.option.{u2} σ _inst_4) (fun (a : α) => Option.some.{u2} σ (f a))) (Computable.{u1, u2} α σ _inst_1 _inst_4 f) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : α -> σ}, Iff (Computable.{u2, u1} α (Option.{u1} σ) _inst_1 (Primcodable.option.{u1} σ _inst_4) (fun (a : α) => Option.some.{u1} σ (f a))) (Computable.{u2, u1} α σ _inst_1 _inst_4 f) +Case conversion may be inaccurate. Consider using '#align computable.option_some_iff Computable.option_some_iffₓ'. -/ theorem option_some_iff {f : α → σ} : (Computable fun a => some (f a)) ↔ Computable f := ⟨fun h => encode_iff.1 <| Primrec.pred.to_comp.comp <| encode_iff.2 h, option_some.comp⟩ #align computable.option_some_iff Computable.option_some_iff +/- warning: computable.bind_decode_iff -> Computable.bind_decode_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : α -> β -> (Option.{u3} σ)}, Iff (Computable₂.{u1, 0, u3} α Nat (Option.{u3} σ) _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (Primcodable.option.{u3} σ _inst_4) (fun (a : α) (n : Nat) => Option.bind.{u2, u3} β σ (Encodable.decode.{u2} β (Primcodable.toEncodable.{u2} β _inst_2) n) (f a))) (Computable₂.{u1, u2, u3} α β (Option.{u3} σ) _inst_1 _inst_2 (Primcodable.option.{u3} σ _inst_4) f) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u1} β] [_inst_4 : Primcodable.{u3} σ] {f : α -> β -> (Option.{u3} σ)}, Iff (Computable₂.{u2, 0, u3} α Nat (Option.{u3} σ) _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (Primcodable.option.{u3} σ _inst_4) (fun (a : α) (n : Nat) => Option.bind.{u1, u3} β σ (Encodable.decode.{u1} β (Primcodable.toEncodable.{u1} β _inst_2) n) (f a))) (Computable₂.{u2, u1, u3} α β (Option.{u3} σ) _inst_1 _inst_2 (Primcodable.option.{u3} σ _inst_4) f) +Case conversion may be inaccurate. Consider using '#align computable.bind_decode_iff Computable.bind_decode_iffₓ'. -/ theorem bind_decode_iff {f : α → β → Option σ} : (Computable₂ fun a n => (decode β n).bind (f a)) ↔ Computable₂ f := ⟨fun hf => - Nat.Partrec.ofEq + Nat.Partrec.of_eq (((Partrec.nat_iff.2 - (Nat.Partrec.ppred.comp <| Nat.Partrec.ofPrimrec <| Primcodable.prim β)).comp + (Nat.Partrec.ppred.comp <| Nat.Partrec.of_primrec <| Primcodable.prim β)).comp snd).bind (Computable.comp hf fst).to₂.Partrec₂) fun n => by @@ -678,26 +1001,52 @@ theorem bind_decode_iff {f : α → β → Option σ} : simp; cases decode β a.2 <;> simp [encodek]⟩ #align computable.bind_decode_iff Computable.bind_decode_iff +/- warning: computable.map_decode_iff -> Computable.map_decode_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : α -> β -> σ}, Iff (Computable₂.{u1, 0, u3} α Nat (Option.{u3} σ) _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (Primcodable.option.{u3} σ _inst_4) (fun (a : α) (n : Nat) => Option.map.{u2, u3} β σ (f a) (Encodable.decode.{u2} β (Primcodable.toEncodable.{u2} β _inst_2) n))) (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 f) +but is expected to have type + forall {α : Type.{u3}} {β : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u3} α] [_inst_2 : Primcodable.{u1} β] [_inst_4 : Primcodable.{u2} σ] {f : α -> β -> σ}, Iff (Computable₂.{u3, 0, u2} α Nat (Option.{u2} σ) _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) (Primcodable.option.{u2} σ _inst_4) (fun (a : α) (n : Nat) => Option.map.{u1, u2} β σ (f a) (Encodable.decode.{u1} β (Primcodable.toEncodable.{u1} β _inst_2) n))) (Computable₂.{u3, u1, u2} α β σ _inst_1 _inst_2 _inst_4 f) +Case conversion may be inaccurate. Consider using '#align computable.map_decode_iff Computable.map_decode_iffₓ'. -/ theorem map_decode_iff {f : α → β → σ} : (Computable₂ fun a n => (decode β n).map (f a)) ↔ Computable₂ f := bind_decode_iff.trans option_some_iff #align computable.map_decode_iff Computable.map_decode_iff +#print Computable.nat_rec /- theorem nat_rec {f : α → ℕ} {g : α → σ} {h : α → ℕ × σ → σ} (hf : Computable f) (hg : Computable g) (hh : Computable₂ h) : Computable fun a => (f a).elim (g a) fun y IH => h a (y, IH) := (Partrec.nat_rec hf hg hh.Partrec₂).of_eq fun a => by simp <;> induction f a <;> simp [*] #align computable.nat_elim Computable.nat_rec +-/ +/- warning: computable.nat_cases -> Computable.nat_casesOn is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : α -> Nat} {g : α -> σ} {h : α -> Nat -> σ}, (Computable.{u1, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) f) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 g) -> (Computable₂.{u1, 0, u2} α Nat σ _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) _inst_4 h) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Nat.casesOn.{succ u2} σ (g a) (h a) (f a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : α -> Nat} {g : α -> σ} {h : α -> Nat -> σ}, (Computable.{u2, 0} α Nat _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) f) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 g) -> (Computable₂.{u2, 0, u1} α Nat σ _inst_1 (Primcodable.ofDenumerable.{0} Nat Denumerable.nat) _inst_4 h) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => Nat.casesOn.{succ u1} (fun (x._@.Mathlib.Computability.Partrec._hyg.6892 : Nat) => σ) (f a) (g a) (h a))) +Case conversion may be inaccurate. Consider using '#align computable.nat_cases Computable.nat_casesOnₓ'. -/ theorem nat_casesOn {f : α → ℕ} {g : α → σ} {h : α → ℕ → σ} (hf : Computable f) (hg : Computable g) (hh : Computable₂ h) : Computable fun a => (f a).cases (g a) (h a) := nat_rec hf hg (hh.comp fst <| fst.comp snd).to₂ #align computable.nat_cases Computable.nat_casesOn +/- warning: computable.cond -> Computable.cond is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {c : α -> Bool} {f : α -> σ} {g : α -> σ}, (Computable.{u1, 0} α Bool _inst_1 Primcodable.bool c) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 f) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 g) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => cond.{u2} σ (c a) (f a) (g a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {c : α -> Bool} {f : α -> σ} {g : α -> σ}, (Computable.{u2, 0} α Bool _inst_1 Primcodable.bool c) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 f) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 g) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => cond.{u1} σ (c a) (f a) (g a))) +Case conversion may be inaccurate. Consider using '#align computable.cond Computable.condₓ'. -/ theorem cond {c : α → Bool} {f : α → σ} {g : α → σ} (hc : Computable c) (hf : Computable f) (hg : Computable g) : Computable fun a => cond (c a) (f a) (g a) := (nat_casesOn (encode_iff.2 hc) hg (hf.comp fst).to₂).of_eq fun a => by cases c a <;> rfl #align computable.cond Computable.cond +/- warning: computable.option_cases -> Computable.option_cases is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {o : α -> (Option.{u2} β)} {f : α -> σ} {g : α -> β -> σ}, (Computable.{u1, u2} α (Option.{u2} β) _inst_1 (Primcodable.option.{u2} β _inst_2) o) -> (Computable.{u1, u3} α σ _inst_1 _inst_4 f) -> (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => Option.casesOn.{succ u3, u2} β (fun (_x : Option.{u2} β) => σ) (o a) (f a) (g a))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u3}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u1} σ] {o : α -> (Option.{u3} β)} {f : α -> σ} {g : α -> β -> σ}, (Computable.{u2, u3} α (Option.{u3} β) _inst_1 (Primcodable.option.{u3} β _inst_2) o) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 f) -> (Computable₂.{u2, u3, u1} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => Option.casesOn.{succ u1, u3} β (fun (_x : Option.{u3} β) => σ) (o a) (f a) (g a))) +Case conversion may be inaccurate. Consider using '#align computable.option_cases Computable.option_casesₓ'. -/ theorem option_cases {o : α → Option β} {f : α → σ} {g : α → β → σ} (ho : Computable o) (hf : Computable f) (hg : Computable₂ g) : @Computable _ σ _ _ fun a => Option.casesOn (o a) (f a) (g a) := @@ -706,28 +1055,50 @@ theorem option_cases {o : α → Option β} {f : α → σ} {g : α → β → cases o a <;> simp [encodek] <;> rfl #align computable.option_cases Computable.option_cases +/- warning: computable.option_bind -> Computable.option_bind is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : α -> (Option.{u2} β)} {g : α -> β -> (Option.{u3} σ)}, (Computable.{u1, u2} α (Option.{u2} β) _inst_1 (Primcodable.option.{u2} β _inst_2) f) -> (Computable₂.{u1, u2, u3} α β (Option.{u3} σ) _inst_1 _inst_2 (Primcodable.option.{u3} σ _inst_4) g) -> (Computable.{u1, u3} α (Option.{u3} σ) _inst_1 (Primcodable.option.{u3} σ _inst_4) (fun (a : α) => Option.bind.{u2, u3} β σ (f a) (g a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u2} σ] {f : α -> (Option.{u3} β)} {g : α -> β -> (Option.{u2} σ)}, (Computable.{u1, u3} α (Option.{u3} β) _inst_1 (Primcodable.option.{u3} β _inst_2) f) -> (Computable₂.{u1, u3, u2} α β (Option.{u2} σ) _inst_1 _inst_2 (Primcodable.option.{u2} σ _inst_4) g) -> (Computable.{u1, u2} α (Option.{u2} σ) _inst_1 (Primcodable.option.{u2} σ _inst_4) (fun (a : α) => Option.bind.{u3, u2} β σ (f a) (g a))) +Case conversion may be inaccurate. Consider using '#align computable.option_bind Computable.option_bindₓ'. -/ theorem option_bind {f : α → Option β} {g : α → β → Option σ} (hf : Computable f) (hg : Computable₂ g) : Computable fun a => (f a).bind (g a) := (option_cases hf (const Option.none) hg).of_eq fun a => by cases f a <;> rfl #align computable.option_bind Computable.option_bind +/- warning: computable.option_map -> Computable.option_map is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {f : α -> (Option.{u2} β)} {g : α -> β -> σ}, (Computable.{u1, u2} α (Option.{u2} β) _inst_1 (Primcodable.option.{u2} β _inst_2) f) -> (Computable₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable.{u1, u3} α (Option.{u3} σ) _inst_1 (Primcodable.option.{u3} σ _inst_4) (fun (a : α) => Option.map.{u2, u3} β σ (g a) (f a))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u3}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u1} σ] {f : α -> (Option.{u3} β)} {g : α -> β -> σ}, (Computable.{u2, u3} α (Option.{u3} β) _inst_1 (Primcodable.option.{u3} β _inst_2) f) -> (Computable₂.{u2, u3, u1} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable.{u2, u1} α (Option.{u1} σ) _inst_1 (Primcodable.option.{u1} σ _inst_4) (fun (a : α) => Option.map.{u3, u1} β σ (g a) (f a))) +Case conversion may be inaccurate. Consider using '#align computable.option_map Computable.option_mapₓ'. -/ theorem option_map {f : α → Option β} {g : α → β → σ} (hf : Computable f) (hg : Computable₂ g) : Computable fun a => (f a).map (g a) := option_bind hf (option_some.comp₂ hg) #align computable.option_map Computable.option_map +#print Computable.option_getD /- theorem option_getD {f : α → Option β} {g : α → β} (hf : Computable f) (hg : Computable g) : Computable fun a => (f a).getD (g a) := (Computable.option_cases hf hg (show Computable₂ fun a b => b from Computable.snd)).of_eq fun a => by cases f a <;> rfl #align computable.option_get_or_else Computable.option_getD +-/ +#print Computable.subtype_mk /- theorem subtype_mk {f : α → β} {p : β → Prop} [DecidablePred p] {h : ∀ a, p (f a)} (hp : PrimrecPred p) (hf : Computable f) : @Computable _ _ _ (Primcodable.subtype hp) fun a => (⟨f a, h a⟩ : Subtype p) := hf #align computable.subtype_mk Computable.subtype_mk +-/ +/- warning: computable.sum_cases -> Computable.sum_cases is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} σ] {f : α -> (Sum.{u2, u3} β γ)} {g : α -> β -> σ} {h : α -> γ -> σ}, (Computable.{u1, max u2 u3} α (Sum.{u2, u3} β γ) _inst_1 (Primcodable.sum.{u2, u3} β γ _inst_2 _inst_3) f) -> (Computable₂.{u1, u2, u4} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable₂.{u1, u3, u4} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Computable.{u1, u4} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u4, u2, u3} β γ (fun (_x : Sum.{u2, u3} β γ) => σ) (f a) (g a) (h a))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u4}} {γ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_2 : Primcodable.{u4} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u1} σ] {f : α -> (Sum.{u4, u3} β γ)} {g : α -> β -> σ} {h : α -> γ -> σ}, (Computable.{u2, max u4 u3} α (Sum.{u4, u3} β γ) _inst_1 (Primcodable.sum.{u4, u3} β γ _inst_2 _inst_3) f) -> (Computable₂.{u2, u4, u1} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable₂.{u2, u3, u1} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Computable.{u2, u1} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u1, u4, u3} β γ (fun (_x : Sum.{u4, u3} β γ) => σ) (f a) (g a) (h a))) +Case conversion may be inaccurate. Consider using '#align computable.sum_cases Computable.sum_casesₓ'. -/ theorem sum_cases {f : α → Sum β γ} {g : α → β → σ} {h : α → γ → σ} (hf : Computable f) (hg : Computable₂ g) (hh : Computable₂ h) : @Computable _ σ _ _ fun a => Sum.casesOn (f a) (g a) (h a) := @@ -738,6 +1109,7 @@ theorem sum_cases {f : α → Sum β γ} {g : α → β → σ} {h : α → γ fun a => by cases' f a with b c <;> simp [Nat.div2_bit, Nat.bodd_bit, encodek] <;> rfl #align computable.sum_cases Computable.sum_cases +#print Computable.nat_strong_rec /- theorem nat_strong_rec (f : α → ℕ → σ) {g : α → List σ → Option σ} (hg : Computable₂ g) (H : ∀ a n, g a ((List.range n).map (f a)) = some (f a n)) : Computable₂ f := suffices Computable₂ fun a n => (List.range n).map (f a) from @@ -755,7 +1127,14 @@ theorem nat_strong_rec (f : α → ℕ → σ) {g : α → List σ → Option σ simp; induction' a.2 with n IH; · rfl simp [IH, H, List.range_succ] #align computable.nat_strong_rec Computable.nat_strong_rec +-/ +/- warning: computable.list_of_fn -> Computable.list_ofFn is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {n : Nat} {f : (Fin n) -> α -> σ}, (forall (i : Fin n), Computable.{u1, u2} α σ _inst_1 _inst_4 (f i)) -> (Computable.{u1, u2} α (List.{u2} σ) _inst_1 (Primcodable.list.{u2} σ _inst_4) (fun (a : α) => List.ofFn.{u2} σ n (fun (i : Fin n) => f i a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {n : Nat} {f : (Fin n) -> α -> σ}, (forall (i : Fin n), Computable.{u2, u1} α σ _inst_1 _inst_4 (f i)) -> (Computable.{u2, u1} α (List.{u1} σ) _inst_1 (Primcodable.list.{u1} σ _inst_4) (fun (a : α) => List.ofFn.{u1} σ n (fun (i : Fin n) => f i a))) +Case conversion may be inaccurate. Consider using '#align computable.list_of_fn Computable.list_ofFnₓ'. -/ theorem list_ofFn : ∀ {n} {f : Fin n → α → σ}, (∀ i, Computable (f i)) → Computable fun a => List.ofFn fun i => f i a @@ -764,6 +1143,12 @@ theorem list_ofFn : simp [List.ofFn_succ] <;> exact list_cons.comp (hf 0) (list_of_fn fun i => hf i.succ) #align computable.list_of_fn Computable.list_ofFn +/- warning: computable.vector_of_fn -> Computable.vector_ofFn is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {n : Nat} {f : (Fin n) -> α -> σ}, (forall (i : Fin n), Computable.{u1, u2} α σ _inst_1 _inst_4 (f i)) -> (Computable.{u1, u2} α (Vector.{u2} σ n) _inst_1 (Primcodable.vector.{u2} σ _inst_4 n) (fun (a : α) => Vector.ofFn.{u2} σ n (fun (i : Fin n) => f i a))) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {n : Nat} {f : (Fin n) -> α -> σ}, (forall (i : Fin n), Computable.{u2, u1} α σ _inst_1 _inst_4 (f i)) -> (Computable.{u2, u1} α (Vector.{u1} σ n) _inst_1 (Primcodable.vector.{u1} σ _inst_4 n) (fun (a : α) => Vector.ofFn.{u1} σ n (fun (i : Fin n) => f i a))) +Case conversion may be inaccurate. Consider using '#align computable.vector_of_fn Computable.vector_ofFnₓ'. -/ theorem vector_ofFn {n} {f : Fin n → α → σ} (hf : ∀ i, Computable (f i)) : Computable fun a => Vector.ofFn fun i => f i a := (Partrec.vector_mOfFn hf).of_eq fun a => by simp @@ -779,11 +1164,23 @@ variable [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable σ] open Computable +/- warning: partrec.option_some_iff -> Partrec.option_some_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, u2} α σ}, Iff (Partrec.{u1, u2} α (Option.{u2} σ) _inst_1 (Primcodable.option.{u2} σ _inst_4) (fun (a : α) => Part.map.{u2, u2} σ (Option.{u2} σ) (Option.some.{u2} σ) (f a))) (Partrec.{u1, u2} α σ _inst_1 _inst_4 f) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, u1} α σ}, Iff (Partrec.{u2, u1} α (Option.{u1} σ) _inst_1 (Primcodable.option.{u1} σ _inst_4) (fun (a : α) => Part.map.{u1, u1} σ (Option.{u1} σ) (Option.some.{u1} σ) (f a))) (Partrec.{u2, u1} α σ _inst_1 _inst_4 f) +Case conversion may be inaccurate. Consider using '#align partrec.option_some_iff Partrec.option_some_iffₓ'. -/ theorem option_some_iff {f : α →. σ} : (Partrec fun a => (f a).map Option.some) ↔ Partrec f := ⟨fun h => (Nat.Partrec.ppred.comp h).of_eq fun n => by simp [Part.bind_assoc, bind_some_eq_map], fun hf => hf.map (option_some.comp snd).to₂⟩ #align partrec.option_some_iff Partrec.option_some_iff +/- warning: partrec.option_cases_right -> Partrec.option_cases_right is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_4 : Primcodable.{u3} σ] {o : α -> (Option.{u2} β)} {f : α -> σ} {g : α -> (PFun.{u2, u3} β σ)}, (Computable.{u1, u2} α (Option.{u2} β) _inst_1 (Primcodable.option.{u2} β _inst_2) o) -> (Computable.{u1, u3} α σ _inst_1 _inst_4 f) -> (Partrec₂.{u1, u2, u3} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u1, u3} α σ _inst_1 _inst_4 (fun (a : α) => Option.casesOn.{succ u3, u2} β (fun (_x : Option.{u2} β) => Part.{u3} σ) (o a) (Part.some.{u3} σ (f a)) (g a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u3} β] [_inst_4 : Primcodable.{u2} σ] {o : α -> (Option.{u3} β)} {f : α -> σ} {g : α -> (PFun.{u3, u2} β σ)}, (Computable.{u1, u3} α (Option.{u3} β) _inst_1 (Primcodable.option.{u3} β _inst_2) o) -> (Computable.{u1, u2} α σ _inst_1 _inst_4 f) -> (Partrec₂.{u1, u3, u2} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Option.casesOn.{succ u2, u3} β (fun (_x : Option.{u3} β) => Part.{u2} σ) (o a) (Part.some.{u2} σ (f a)) (g a))) +Case conversion may be inaccurate. Consider using '#align partrec.option_cases_right Partrec.option_cases_rightₓ'. -/ theorem option_cases_right {o : α → Option β} {f : α → σ} {g : α → β →. σ} (ho : Computable o) (hf : Computable f) (hg : Partrec₂ g) : @Partrec _ σ _ _ fun a => Option.casesOn (o a) (some (f a)) (g a) := @@ -795,6 +1192,12 @@ theorem option_cases_right {o : α → Option β} {f : α → σ} {g : α → β this.of_eq fun a => by cases' o a with b <;> simp [encodek] #align partrec.option_cases_right Partrec.option_cases_right +/- warning: partrec.sum_cases_right -> Partrec.sum_cases_right is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} σ] {f : α -> (Sum.{u2, u3} β γ)} {g : α -> β -> σ} {h : α -> (PFun.{u3, u4} γ σ)}, (Computable.{u1, max u2 u3} α (Sum.{u2, u3} β γ) _inst_1 (Primcodable.sum.{u2, u3} β γ _inst_2 _inst_3) f) -> (Computable₂.{u1, u2, u4} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec₂.{u1, u3, u4} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Partrec.{u1, u4} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u4, u2, u3} β γ (fun (_x : Sum.{u2, u3} β γ) => Part.{u4} σ) (f a) (fun (b : β) => Part.some.{u4} σ (g a b)) (h a))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u4}} {γ : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u4} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u2} σ] {f : α -> (Sum.{u4, u3} β γ)} {g : α -> β -> σ} {h : α -> (PFun.{u3, u2} γ σ)}, (Computable.{u1, max u4 u3} α (Sum.{u4, u3} β γ) _inst_1 (Primcodable.sum.{u4, u3} β γ _inst_2 _inst_3) f) -> (Computable₂.{u1, u4, u2} α β σ _inst_1 _inst_2 _inst_4 g) -> (Partrec₂.{u1, u3, u2} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u2, u4, u3} β γ (fun (_x : Sum.{u4, u3} β γ) => Part.{u2} σ) (f a) (fun (b : β) => Part.some.{u2} σ (g a b)) (h a))) +Case conversion may be inaccurate. Consider using '#align partrec.sum_cases_right Partrec.sum_cases_rightₓ'. -/ theorem sum_cases_right {f : α → Sum β γ} {g : α → β → σ} {h : α → γ →. σ} (hf : Computable f) (hg : Computable₂ g) (hh : Partrec₂ h) : @Partrec _ σ _ _ fun a => Sum.casesOn (f a) (fun b => some (g a b)) (h a) := @@ -809,6 +1212,12 @@ theorem sum_cases_right {f : α → Sum β γ} {g : α → β → σ} {h : α option_some_iff.1 <| this.of_eq fun a => by cases f a <;> simp #align partrec.sum_cases_right Partrec.sum_cases_right +/- warning: partrec.sum_cases_left -> Partrec.sum_cases_left is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u2} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u4} σ] {f : α -> (Sum.{u2, u3} β γ)} {g : α -> (PFun.{u2, u4} β σ)} {h : α -> γ -> σ}, (Computable.{u1, max u2 u3} α (Sum.{u2, u3} β γ) _inst_1 (Primcodable.sum.{u2, u3} β γ _inst_2 _inst_3) f) -> (Partrec₂.{u1, u2, u4} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable₂.{u1, u3, u4} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Partrec.{u1, u4} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u4, u2, u3} β γ (fun (_x : Sum.{u2, u3} β γ) => Part.{u4} σ) (f a) (g a) (fun (c : γ) => Part.some.{u4} σ (h a c)))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u4}} {γ : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_2 : Primcodable.{u4} β] [_inst_3 : Primcodable.{u3} γ] [_inst_4 : Primcodable.{u2} σ] {f : α -> (Sum.{u4, u3} β γ)} {g : α -> (PFun.{u4, u2} β σ)} {h : α -> γ -> σ}, (Computable.{u1, max u4 u3} α (Sum.{u4, u3} β γ) _inst_1 (Primcodable.sum.{u4, u3} β γ _inst_2 _inst_3) f) -> (Partrec₂.{u1, u4, u2} α β σ _inst_1 _inst_2 _inst_4 g) -> (Computable₂.{u1, u3, u2} α γ σ _inst_1 _inst_3 _inst_4 h) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (fun (a : α) => Sum.casesOn.{succ u2, u4, u3} β γ (fun (_x : Sum.{u4, u3} β γ) => Part.{u2} σ) (f a) (g a) (fun (c : γ) => Part.some.{u2} σ (h a c)))) +Case conversion may be inaccurate. Consider using '#align partrec.sum_cases_left Partrec.sum_cases_leftₓ'. -/ theorem sum_cases_left {f : α → Sum β γ} {g : α → β →. σ} {h : α → γ → σ} (hf : Computable f) (hg : Partrec₂ g) (hh : Computable₂ h) : @Partrec _ σ _ _ fun a => Sum.casesOn (f a) (g a) fun c => some (h a c) := @@ -816,6 +1225,12 @@ theorem sum_cases_left {f : α → Sum β γ} {g : α → β →. σ} {h : α fun a => by cases f a <;> simp #align partrec.sum_cases_left Partrec.sum_cases_left +/- warning: partrec.fix_aux -> Partrec.fix_aux is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} (f : PFun.{u1, max u2 u1} α (Sum.{u2, u1} σ α)) (a : α) (b : σ), let F : α -> (PFun.{0, max u2 u1} Nat (Sum.{u2, u1} σ α)) := fun (a : α) (n : Nat) => Nat.rec.{succ (max u2 u1)} (Part.{max u2 u1} (Sum.{u2, u1} σ α)) (Part.some.{max u2 u1} (Sum.{u2, u1} σ α) (Sum.inr.{u2, u1} σ α a)) (fun (y : Nat) (IH : Part.{max u2 u1} (Sum.{u2, u1} σ α)) => Part.bind.{max u2 u1, max u2 u1} (Sum.{u2, u1} σ α) (Sum.{u2, u1} σ α) IH (fun (s : Sum.{u2, u1} σ α) => Sum.casesOn.{succ (max u2 u1), u2, u1} σ α (fun (_x : Sum.{u2, u1} σ α) => Part.{max u2 u1} (Sum.{u2, u1} σ α)) s (fun (_x : σ) => Part.some.{max u2 u1} (Sum.{u2, u1} σ α) s) f)) n; Iff (Exists.{1} Nat (fun (n : Nat) => And (And (Exists.{succ u2} σ (fun (b' : σ) => Membership.Mem.{max u2 u1, max u2 u1} (Sum.{u2, u1} σ α) (Part.{max u2 u1} (Sum.{u2, u1} σ α)) (Part.hasMem.{max u2 u1} (Sum.{u2, u1} σ α)) (Sum.inl.{u2, u1} σ α b') (F a n))) (forall {m : Nat}, (LT.lt.{0} Nat Nat.hasLt m n) -> (Exists.{succ u1} α (fun (b : α) => Membership.Mem.{max u2 u1, max u2 u1} (Sum.{u2, u1} σ α) (Part.{max u2 u1} (Sum.{u2, u1} σ α)) (Part.hasMem.{max u2 u1} (Sum.{u2, u1} σ α)) (Sum.inr.{u2, u1} σ α b) (F a m))))) (Membership.Mem.{max u2 u1, max u2 u1} (Sum.{u2, u1} σ α) (Part.{max u2 u1} (Sum.{u2, u1} σ α)) (Part.hasMem.{max u2 u1} (Sum.{u2, u1} σ α)) (Sum.inl.{u2, u1} σ α b) (F a n)))) (Membership.Mem.{u2, u2} σ (Part.{u2} σ) (Part.hasMem.{u2} σ) b (PFun.fix.{u1, u2} α σ f a)) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} (f : PFun.{u2, max u2 u1} α (Sum.{u1, u2} σ α)) (a : α) (b : σ), let F : α -> (PFun.{0, max u2 u1} Nat (Sum.{u1, u2} σ α)) := fun (a : α) (n : Nat) => Nat.rec.{max (succ u2) (succ u1)} (fun (x._@.Mathlib.Computability.Partrec._hyg.8728 : Nat) => Part.{max u2 u1} (Sum.{u1, u2} σ α)) (Part.some.{max u2 u1} (Sum.{u1, u2} σ α) (Sum.inr.{u1, u2} σ α a)) (fun (y : Nat) (IH : Part.{max u2 u1} (Sum.{u1, u2} σ α)) => Part.bind.{max u2 u1, max u2 u1} (Sum.{u1, u2} σ α) (Sum.{u1, u2} σ α) IH (fun (s : Sum.{u1, u2} σ α) => Sum.casesOn.{max (succ u2) (succ u1), u1, u2} σ α (fun (_x : Sum.{u1, u2} σ α) => Part.{max u2 u1} (Sum.{u1, u2} σ α)) s (fun (_x : σ) => Part.some.{max u2 u1} (Sum.{u1, u2} σ α) s) f)) n; Iff (Exists.{1} Nat (fun (n : Nat) => And (And (Exists.{succ u1} σ (fun (b' : σ) => Membership.mem.{max u2 u1, max u2 u1} (Sum.{u1, u2} σ α) (Part.{max u2 u1} (Sum.{u1, u2} σ α)) (Part.instMembershipPart.{max u1 u2} (Sum.{u1, u2} σ α)) (Sum.inl.{u1, u2} σ α b') (F a n))) (forall {m : Nat}, (LT.lt.{0} Nat instLTNat m n) -> (Exists.{succ u2} α (fun (b : α) => Membership.mem.{max u2 u1, max u2 u1} (Sum.{u1, u2} σ α) (Part.{max u2 u1} (Sum.{u1, u2} σ α)) (Part.instMembershipPart.{max u2 u1} (Sum.{u1, u2} σ α)) (Sum.inr.{u1, u2} σ α b) (F a m))))) (Membership.mem.{max u2 u1, max u2 u1} (Sum.{u1, u2} σ α) (Part.{max u2 u1} (Sum.{u1, u2} σ α)) (Part.instMembershipPart.{max u1 u2} (Sum.{u1, u2} σ α)) (Sum.inl.{u1, u2} σ α b) (F a n)))) (Membership.mem.{u1, u1} σ (Part.{u1} σ) (Part.instMembershipPart.{u1} σ) b (PFun.fix.{u2, u1} α σ f a)) +Case conversion may be inaccurate. Consider using '#align partrec.fix_aux Partrec.fix_auxₓ'. -/ theorem fix_aux {α σ} (f : α →. Sum σ α) (a : α) (b : σ) : let F : α → ℕ →. Sum σ α := fun a n => n.elim (some (Sum.inr a)) fun y IH => IH.bind fun s => Sum.casesOn s (fun _ => Part.some s) f @@ -862,6 +1277,12 @@ theorem fix_aux {α σ} (f : α →. Sum σ α) (a : α) (b : σ) : exact ⟨_, hk, am₃⟩ #align partrec.fix_aux Partrec.fix_aux +/- warning: partrec.fix -> Partrec.fix is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {σ : Type.{u2}} [_inst_1 : Primcodable.{u1} α] [_inst_4 : Primcodable.{u2} σ] {f : PFun.{u1, max u2 u1} α (Sum.{u2, u1} σ α)}, (Partrec.{u1, max u2 u1} α (Sum.{u2, u1} σ α) _inst_1 (Primcodable.sum.{u2, u1} σ α _inst_4 _inst_1) f) -> (Partrec.{u1, u2} α σ _inst_1 _inst_4 (PFun.fix.{u1, u2} α σ f)) +but is expected to have type + forall {α : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Primcodable.{u2} α] [_inst_4 : Primcodable.{u1} σ] {f : PFun.{u2, max u2 u1} α (Sum.{u1, u2} σ α)}, (Partrec.{u2, max u2 u1} α (Sum.{u1, u2} σ α) _inst_1 (Primcodable.sum.{u1, u2} σ α _inst_4 _inst_1) f) -> (Partrec.{u2, u1} α σ _inst_1 _inst_4 (PFun.fix.{u2, u1} α σ f)) +Case conversion may be inaccurate. Consider using '#align partrec.fix Partrec.fixₓ'. -/ theorem fix {f : α →. Sum σ α} (hf : Partrec f) : Partrec (PFun.fix f) := let F : α → ℕ →. Sum σ α := fun a n => n.elim (some (Sum.inr a)) fun y IH => IH.bind fun s => Sum.casesOn s (fun _ => Part.some s) f diff --git a/Mathbin/Data/Real/Ennreal.lean b/Mathbin/Data/Real/Ennreal.lean index 17572088b8..de5c4a8611 100644 --- a/Mathbin/Data/Real/Ennreal.lean +++ b/Mathbin/Data/Real/Ennreal.lean @@ -2071,7 +2071,7 @@ theorem mul_lt_mul (ac : a < c) (bd : b < d) : a * b < c * d := lean 3 declaration is forall {a : ENNReal}, Monotone.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) a) but is expected to have type - forall {a : ENNReal}, Monotone.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.12865 : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) a x._@.Mathlib.Data.Real.ENNReal._hyg.12865) + forall {a : ENNReal}, Monotone.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.12934 : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) a x._@.Mathlib.Data.Real.ENNReal._hyg.12934) Case conversion may be inaccurate. Consider using '#align ennreal.mul_left_mono ENNReal.mul_left_monoₓ'. -/ -- TODO: generalize to `covariant_class α α (*) (≤)` theorem mul_left_mono : Monotone ((· * ·) a) := fun b c => mul_le_mul' le_rfl @@ -2127,7 +2127,7 @@ warning: ennreal.mul_left_strictMono -> ENNReal.mul_left_strictMono is a dubious lean 3 declaration is forall {a : ENNReal}, (Ne.{1} ENNReal a (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) -> (Ne.{1} ENNReal a (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (StrictMono.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (Distrib.toHasMul.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))))))) a)) but is expected to have type - forall {a : ENNReal}, (Ne.{1} ENNReal a (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Ne.{1} ENNReal a (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (StrictMono.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.13206 : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) a x._@.Mathlib.Data.Real.ENNReal._hyg.13206)) + forall {a : ENNReal}, (Ne.{1} ENNReal a (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) -> (Ne.{1} ENNReal a (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (StrictMono.{0, 0} ENNReal ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.13275 : ENNReal) => HMul.hMul.{0, 0, 0} ENNReal ENNReal ENNReal (instHMul.{0} ENNReal (CanonicallyOrderedCommSemiring.toMul.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal)) a x._@.Mathlib.Data.Real.ENNReal._hyg.13275)) Case conversion may be inaccurate. Consider using '#align ennreal.mul_left_strictMono ENNReal.mul_left_strictMonoₓ'. -/ theorem mul_left_strictMono (h0 : a ≠ 0) (hinf : a ≠ ∞) : StrictMono ((· * ·) a) := by @@ -4189,7 +4189,7 @@ theorem zpow_le_of_le {x : ℝ≥0∞} (hx : 1 ≤ x) {a b : ℤ} (h : a ≤ b) lean 3 declaration is forall {x : ENNReal}, (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) x) -> (Monotone.{0, 0} Int ENNReal (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (HPow.hPow.{0, 0, 0} ENNReal Int ENNReal (instHPow.{0, 0} ENNReal Int (DivInvMonoid.Pow.{0} ENNReal ENNReal.divInvMonoid)) x)) but is expected to have type - forall {x : ENNReal}, (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) x) -> (Monotone.{0, 0} Int ENNReal (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.26760 : Int) => HPow.hPow.{0, 0, 0} ENNReal Int ENNReal (instHPow.{0, 0} ENNReal Int (DivInvMonoid.Pow.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) x x._@.Mathlib.Data.Real.ENNReal._hyg.26760)) + forall {x : ENNReal}, (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) x) -> (Monotone.{0, 0} Int ENNReal (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))) (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (fun (x._@.Mathlib.Data.Real.ENNReal._hyg.26829 : Int) => HPow.hPow.{0, 0, 0} ENNReal Int ENNReal (instHPow.{0, 0} ENNReal Int (DivInvMonoid.Pow.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) x x._@.Mathlib.Data.Real.ENNReal._hyg.26829)) Case conversion may be inaccurate. Consider using '#align ennreal.monotone_zpow ENNReal.monotone_zpowₓ'. -/ theorem monotone_zpow {x : ℝ≥0∞} (hx : 1 ≤ x) : Monotone ((· ^ ·) x : ℤ → ℝ≥0∞) := fun a b h => zpow_le_of_le hx h diff --git a/Mathbin/Topology/Category/Top/OpenNhds.lean b/Mathbin/Topology/Category/Top/OpenNhds.lean index b3e60ad0b9..bfde60b5ae 100644 --- a/Mathbin/Topology/Category/Top/OpenNhds.lean +++ b/Mathbin/Topology/Category/Top/OpenNhds.lean @@ -42,10 +42,12 @@ variable {X Y : TopCat.{u}} (f : X ⟶ Y) namespace TopologicalSpace +#print TopologicalSpace.OpenNhds /- /-- The type of open neighbourhoods of a point `x` in a (bundled) topological space. -/ def OpenNhds (x : X) := FullSubcategory fun U : Opens X => x ∈ U #align topological_space.open_nhds TopologicalSpace.OpenNhds +-/ namespace OpenNhds @@ -75,43 +77,83 @@ instance (x : X) : OrderTop (OpenNhds x) instance (x : X) : Inhabited (OpenNhds x) := ⟨⊤⟩ +#print TopologicalSpace.OpenNhds.openNhdsCategory /- instance openNhdsCategory (x : X) : Category.{u} (OpenNhds x) := by unfold open_nhds infer_instance #align topological_space.open_nhds.open_nhds_category TopologicalSpace.OpenNhds.openNhdsCategory +-/ +#print TopologicalSpace.OpenNhds.opensNhdsHomHasCoeToFun /- instance opensNhdsHomHasCoeToFun {x : X} {U V : OpenNhds x} : CoeFun (U ⟶ V) fun _ => U.1 → V.1 := ⟨fun f x => ⟨x, f.le x.2⟩⟩ #align topological_space.open_nhds.opens_nhds_hom_has_coe_to_fun TopologicalSpace.OpenNhds.opensNhdsHomHasCoeToFun +-/ +/- warning: topological_space.open_nhds.inf_le_left -> TopologicalSpace.OpenNhds.infLeLeft is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x) (V : TopologicalSpace.OpenNhds.{u1} X x), Quiver.Hom.{succ u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (Preorder.smallCategory.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (PartialOrder.toPreorder.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.partialOrder.{u1} X x))))) (Inf.inf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.lattice.{u1} X x))) U V) U +but is expected to have type + forall {X : TopCat.{u1}} {x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x) (V : TopologicalSpace.OpenNhds.{u1} X x), Quiver.Hom.{succ u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (Inf.inf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (Lattice.toInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.instLatticeOpenNhds.{u1} X x)) U V) U +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inf_le_left TopologicalSpace.OpenNhds.infLeLeftₓ'. -/ /-- The inclusion `U ⊓ V ⟶ U` as a morphism in the category of open sets. -/ def infLeLeft {x : X} (U V : OpenNhds x) : U ⊓ V ⟶ U := homOfLE inf_le_left #align topological_space.open_nhds.inf_le_left TopologicalSpace.OpenNhds.infLeLeft +/- warning: topological_space.open_nhds.inf_le_right -> TopologicalSpace.OpenNhds.infLeRight is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x) (V : TopologicalSpace.OpenNhds.{u1} X x), Quiver.Hom.{succ u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (Preorder.smallCategory.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (PartialOrder.toPreorder.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.partialOrder.{u1} X x))))) (Inf.inf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.lattice.{u1} X x))) U V) V +but is expected to have type + forall {X : TopCat.{u1}} {x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x) (V : TopologicalSpace.OpenNhds.{u1} X x), Quiver.Hom.{succ u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (Inf.inf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (Lattice.toInf.{u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.instLatticeOpenNhds.{u1} X x)) U V) V +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inf_le_right TopologicalSpace.OpenNhds.infLeRightₓ'. -/ /-- The inclusion `U ⊓ V ⟶ V` as a morphism in the category of open sets. -/ def infLeRight {x : X} (U V : OpenNhds x) : U ⊓ V ⟶ V := homOfLE inf_le_right #align topological_space.open_nhds.inf_le_right TopologicalSpace.OpenNhds.infLeRight +/- warning: topological_space.open_nhds.inclusion -> TopologicalSpace.OpenNhds.inclusion is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inclusion TopologicalSpace.OpenNhds.inclusionₓ'. -/ /-- The inclusion functor from open neighbourhoods of `x` to open sets in the ambient topological space. -/ def inclusion (x : X) : OpenNhds x ⥤ Opens X := fullSubcategoryInclusion _ #align topological_space.open_nhds.inclusion TopologicalSpace.OpenNhds.inclusion +/- warning: topological_space.open_nhds.inclusion_obj -> TopologicalSpace.OpenNhds.inclusion_obj is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (p : Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} X x) (CategoryTheory.FullSubcategoryₓ.mk.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U p)) U +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (p : Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (CategoryTheory.FullSubcategory.mk.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) U p)) U +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inclusion_obj TopologicalSpace.OpenNhds.inclusion_objₓ'. -/ @[simp] theorem inclusion_obj (x : X) (U) (p) : (inclusion x).obj ⟨U, p⟩ = U := rfl #align topological_space.open_nhds.inclusion_obj TopologicalSpace.OpenNhds.inclusion_obj +/- warning: topological_space.open_nhds.open_embedding -> TopologicalSpace.OpenNhds.openEmbedding is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x), OpenEmbedding.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (TopCat.topologicalSpace.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (TopCat.topologicalSpace.{u1} X) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U)) X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) TopCat.{u1} TopCat.largeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (TopologicalSpace.Opens.inclusion.{u1} X (CategoryTheory.FullSubcategoryₓ.obj.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) U))) +but is expected to have type + forall {X : TopCat.{u1}} {x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X} (U : TopologicalSpace.OpenNhds.{u1} X x), OpenEmbedding.{u1, u1} (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) TopCat.{u1} instTopCatLargeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X)) (CategoryTheory.FullSubcategory.obj.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) U))) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X) (TopCat.topologicalSpace_forget.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) TopCat.{u1} instTopCatLargeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X)) (CategoryTheory.FullSubcategory.obj.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) U))) (TopCat.topologicalSpace_forget.{u1} X) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) TopCat.{u1} instTopCatLargeCategory.{u1} (TopologicalSpace.Opens.toTopCat.{u1} X)) (CategoryTheory.FullSubcategory.obj.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) U)) X (TopologicalSpace.Opens.inclusion.{u1} X (CategoryTheory.FullSubcategory.obj.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) U))) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.open_embedding TopologicalSpace.OpenNhds.openEmbeddingₓ'. -/ theorem openEmbedding {x : X} (U : OpenNhds x) : OpenEmbedding U.1.inclusion := U.1.OpenEmbedding #align topological_space.open_nhds.open_embedding TopologicalSpace.OpenNhds.openEmbedding +/- warning: topological_space.open_nhds.map -> TopologicalSpace.OpenNhds.map is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.map TopologicalSpace.OpenNhds.mapₓ'. -/ /-- The preimage functor from neighborhoods of `f x` to neighborhoods of `x`. -/ def map (x : X) : OpenNhds (f x) ⥤ OpenNhds x where @@ -119,40 +161,88 @@ def map (x : X) : OpenNhds (f x) ⥤ OpenNhds x map U V i := (Opens.map f).map i #align topological_space.open_nhds.map TopologicalSpace.OpenNhds.map +/- warning: topological_space.open_nhds.map_obj -> TopologicalSpace.OpenNhds.map_obj is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (q : Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x) U), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (CategoryTheory.FullSubcategoryₓ.mk.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x) U) U q)) (CategoryTheory.FullSubcategoryₓ.mk.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.Opens.map.{u1} X Y f) U) q) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (q : Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y))) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x) U), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)))) (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X Y f x)) (CategoryTheory.FullSubcategory.mk.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y))) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x) U) U q)) (CategoryTheory.FullSubcategory.mk.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.Opens.map.{u1} X Y f)) U) q) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.map_obj TopologicalSpace.OpenNhds.map_objₓ'. -/ @[simp] theorem map_obj (x : X) (U) (q) : (map f x).obj ⟨U, q⟩ = ⟨(Opens.map f).obj U, by tidy⟩ := rfl #align topological_space.open_nhds.map_obj TopologicalSpace.OpenNhds.map_obj +/- warning: topological_space.open_nhds.map_id_obj -> TopologicalSpace.OpenNhds.map_id_obj is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x) U) U +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)))) (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) U) U +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.map_id_obj TopologicalSpace.OpenNhds.map_id_objₓ'. -/ @[simp] theorem map_id_obj (x : X) (U) : (map (𝟙 X) x).obj U = U := by tidy #align topological_space.open_nhds.map_id_obj TopologicalSpace.OpenNhds.map_id_obj +/- warning: topological_space.open_nhds.map_id_obj' -> TopologicalSpace.OpenNhds.map_id_obj' is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X)) (p : IsOpen.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X) U) (q : Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x) (TopologicalSpace.Opens.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X) U p)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x) (CategoryTheory.FullSubcategoryₓ.mk.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x) U) (TopologicalSpace.Opens.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X) U p) q)) (CategoryTheory.FullSubcategoryₓ.mk.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (fun (U : TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) => Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))) x U) (TopologicalSpace.Opens.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X) U p) q) +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X)) (p : IsOpen.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X) U) (q : Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x) (TopologicalSpace.Opens.mk.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X) U p)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)))) (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.FullSubcategory.mk.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x) U) (TopologicalSpace.Opens.mk.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X) U p) q)) (CategoryTheory.FullSubcategory.mk.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (fun (U : TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) => Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))) x U) (TopologicalSpace.Opens.mk.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X) U p) q) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.map_id_obj' TopologicalSpace.OpenNhds.map_id_obj'ₓ'. -/ @[simp] theorem map_id_obj' (x : X) (U) (p) (q) : (map (𝟙 X) x).obj ⟨⟨U, p⟩, q⟩ = ⟨⟨U, p⟩, q⟩ := rfl #align topological_space.open_nhds.map_id_obj' TopologicalSpace.OpenNhds.map_id_obj' +/- warning: topological_space.open_nhds.map_id_obj_unop -> TopologicalSpace.OpenNhds.map_id_obj_unop is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x) (Opposite.unop.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) U)) (Opposite.unop.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) U) +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)), Eq.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)))) (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (Opposite.unop.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) U)) (Opposite.unop.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x) U) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.map_id_obj_unop TopologicalSpace.OpenNhds.map_id_obj_unopₓ'. -/ @[simp] theorem map_id_obj_unop (x : X) (U : (OpenNhds x)ᵒᵖ) : (map (𝟙 X) x).obj (unop U) = unop U := by simp #align topological_space.open_nhds.map_id_obj_unop TopologicalSpace.OpenNhds.map_id_obj_unop +/- warning: topological_space.open_nhds.op_map_id_obj -> TopologicalSpace.OpenNhds.op_map_id_obj is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (U : Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)), Eq.{succ u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x))) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x))) (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X X) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X)) (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) X) x)) U) U +but is expected to have type + forall {X : TopCat.{u1}} (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (U : Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)), Eq.{succ u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))))) (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) (Opposite.{succ u1} (TopologicalSpace.OpenNhds.{u1} X x)) (CategoryTheory.Category.opposite.{u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.map.{u1} X X (CategoryTheory.CategoryStruct.id.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) X) x))) U) U +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.op_map_id_obj TopologicalSpace.OpenNhds.op_map_id_objₓ'. -/ @[simp] theorem op_map_id_obj (x : X) (U : (OpenNhds x)ᵒᵖ) : (map (𝟙 X) x).op.obj U = U := by simp #align topological_space.open_nhds.op_map_id_obj TopologicalSpace.OpenNhds.op_map_id_obj +/- warning: topological_space.open_nhds.inclusion_map_iso -> TopologicalSpace.OpenNhds.inclusionMapIso is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inclusion_map_iso TopologicalSpace.OpenNhds.inclusionMapIsoₓ'. -/ /-- `opens.map f` and `open_nhds.map f` form a commuting square (up to natural isomorphism) with the inclusion functors into `opens X`. -/ def inclusionMapIso (x : X) : inclusion (f x) ⋙ Opens.map f ≅ map f x ⋙ inclusion x := NatIso.ofComponents (fun U => by constructor; exact 𝟙 _; exact 𝟙 _) (by tidy) #align topological_space.open_nhds.inclusion_map_iso TopologicalSpace.OpenNhds.inclusionMapIso +/- warning: topological_space.open_nhds.inclusion_map_iso_hom -> TopologicalSpace.OpenNhds.inclusionMapIso_hom is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x))) (CategoryTheory.Iso.hom.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (TopologicalSpace.OpenNhds.inclusionMapIso.{u1} X Y f x)) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f))) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x))) (CategoryTheory.Iso.hom.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (TopologicalSpace.OpenNhds.inclusionMapIso.{u1} X Y f x)) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f))) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inclusion_map_iso_hom TopologicalSpace.OpenNhds.inclusionMapIso_homₓ'. -/ @[simp] theorem inclusionMapIso_hom (x : X) : (inclusionMapIso f x).Hom = 𝟙 _ := rfl #align topological_space.open_nhds.inclusion_map_iso_hom TopologicalSpace.OpenNhds.inclusionMapIso_hom +/- warning: topological_space.open_nhds.inclusion_map_iso_inv -> TopologicalSpace.OpenNhds.inclusionMapIso_inv is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f))) (CategoryTheory.Iso.inv.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} Y) (TopCat.topologicalSpace.{u1} Y))))) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (TopologicalSpace.OpenNhds.inclusionMapIso.{u1} X Y f x)) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X)) (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopologicalSpace.Opens.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} X))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x))) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f))) (CategoryTheory.Iso.inv.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} Y) (TopCat.topologicalSpace_coe.{u1} Y)))))) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.inclusion.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.map.{u1} X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x)) (TopologicalSpace.OpenNhds.inclusionMapIso.{u1} X Y f x)) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X))))))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))))) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (Preorder.smallCategory.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X) (TopCat.topologicalSpace_coe.{u1} X)))))) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) (TopologicalSpace.OpenNhds.inclusion.{u1} X x))) +Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds.inclusion_map_iso_inv TopologicalSpace.OpenNhds.inclusionMapIso_invₓ'. -/ @[simp] theorem inclusionMapIso_inv (x : X) : (inclusionMapIso f x).inv = 𝟙 _ := rfl @@ -168,6 +258,12 @@ open TopologicalSpace variable {f} +/- warning: is_open_map.functor_nhds -> IsOpenMap.functorNhds is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} {f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y}, (IsOpenMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (TopCat.topologicalSpace.{u1} X) (TopCat.topologicalSpace.{u1} Y) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f)) -> (forall (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x))) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} {f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y}, (IsOpenMap.{u1, u1} (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) Y) (TopCat.topologicalSpace_forget.{u1} X) (TopCat.topologicalSpace_forget.{u1} Y) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f)) -> (forall (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), CategoryTheory.Functor.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x))) +Case conversion may be inaccurate. Consider using '#align is_open_map.functor_nhds IsOpenMap.functorNhdsₓ'. -/ /-- An open map `f : X ⟶ Y` induces a functor `open_nhds x ⥤ open_nhds (f x)`. -/ @[simps] @@ -177,6 +273,12 @@ def functorNhds (h : IsOpenMap f) (x : X) : OpenNhds x ⥤ OpenNhds (f x) map U V i := h.Functor.map i #align is_open_map.functor_nhds IsOpenMap.functorNhds +/- warning: is_open_map.adjunction_nhds -> IsOpenMap.adjunctionNhds is a dubious translation: +lean 3 declaration is + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} {f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y} (h : IsOpenMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (TopCat.topologicalSpace.{u1} X) (TopCat.topologicalSpace.{u1} Y) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f)) (x : coeSort.{succ (succ u1), succ (succ u1)} TopCat.{u1} Type.{u1} TopCat.hasCoeToSort.{u1} X), CategoryTheory.Adjunction.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) X Y) (fun (_x : ContinuousMap.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y)) (ContinuousMap.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) X) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} TopologicalSpace.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} TopologicalSpace.{u1}) Y) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} X) (CategoryTheory.Bundled.str.{u1, u1} TopologicalSpace.{u1} Y)) f x)) (IsOpenMap.functorNhds.{u1} X Y f h x) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) +but is expected to have type + forall {X : TopCat.{u1}} {Y : TopCat.{u1}} {f : Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) X Y} (h : IsOpenMap.{u1, u1} (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) Y) (TopCat.topologicalSpace_forget.{u1} X) (TopCat.topologicalSpace_forget.{u1} Y) (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f)) (x : CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} X), CategoryTheory.Adjunction.{u1, u1, u1, u1} (TopologicalSpace.OpenNhds.{u1} X x) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} X x) (TopologicalSpace.OpenNhds.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (TopologicalSpace.OpenNhds.openNhdsCategory.{u1} Y (Prefunctor.map.{succ u1, succ u1, succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1} Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{succ u1, u1, u1} TopCat.{u1} instTopCatLargeCategory.{u1} TopCat.concreteCategory.{u1})) X Y f x)) (IsOpenMap.functorNhds.{u1} X Y f h x) (TopologicalSpace.OpenNhds.map.{u1} X Y f x) +Case conversion may be inaccurate. Consider using '#align is_open_map.adjunction_nhds IsOpenMap.adjunctionNhdsₓ'. -/ /-- An open map `f : X ⟶ Y` induces an adjunction between `open_nhds x` and `open_nhds (f x)`. -/ def adjunctionNhds (h : IsOpenMap f) (x : X) : IsOpenMap.functorNhds h x ⊣ OpenNhds.map f x := diff --git a/lake-manifest.json b/lake-manifest.json index ab340fa450..4ec9e3553b 100644 --- a/lake-manifest.json +++ b/lake-manifest.json @@ -4,15 +4,15 @@ [{"git": {"url": "https://github.com/leanprover-community/lean3port.git", "subDir?": null, - "rev": "214f82db52e3cb75794838b0f73dc302b960b6be", + "rev": "a84ca4736dc114ce882549f0098e6cfb3cb2c296", "name": "lean3port", - "inputRev?": "214f82db52e3cb75794838b0f73dc302b960b6be"}}, + "inputRev?": "a84ca4736dc114ce882549f0098e6cfb3cb2c296"}}, {"git": {"url": "https://github.com/leanprover-community/mathlib4.git", "subDir?": null, - "rev": "acdc73ba2d14eb2ad72a801acfbd9f592e924e30", + "rev": "da8157c62fccae557650f7587887a15f49a30bf0", "name": "mathlib", - "inputRev?": "acdc73ba2d14eb2ad72a801acfbd9f592e924e30"}}, + "inputRev?": "da8157c62fccae557650f7587887a15f49a30bf0"}}, {"git": {"url": "https://github.com/gebner/quote4", "subDir?": null, diff --git a/lakefile.lean b/lakefile.lean index 991ed0ecf5..f009953b6a 100644 --- a/lakefile.lean +++ b/lakefile.lean @@ -4,7 +4,7 @@ open Lake DSL System -- Usually the `tag` will be of the form `nightly-2021-11-22`. -- If you would like to use an artifact from a PR build, -- it will be of the form `pr-branchname-sha`. -def tag : String := "nightly-2023-05-08-02" +def tag : String := "nightly-2023-05-08-04" def releaseRepo : String := "leanprover-community/mathport" def oleanTarName : String := "mathlib3-binport.tar.gz" @@ -38,7 +38,7 @@ target fetchOleans (_pkg : Package) : Unit := do untarReleaseArtifact releaseRepo tag oleanTarName libDir return .nil -require lean3port from git "https://github.com/leanprover-community/lean3port.git"@"214f82db52e3cb75794838b0f73dc302b960b6be" +require lean3port from git "https://github.com/leanprover-community/lean3port.git"@"a84ca4736dc114ce882549f0098e6cfb3cb2c296" @[default_target] lean_lib Mathbin where