ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/MeasureTheory/Measure/MeasureSpace.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
s : ℕ → Set α
h : ∑' (i : ℕ), μ (s i) ≠ ⊤
this : liminf s atTop ≤ limsup s atTop
\u22a2 μ (liminf s atTop) ≤ 0
-- Mathlib/Order/Bounded.lean
α : Type u_1
r : α → α → Prop
s t : Set α
inst✝ : LinearOrder α
a : α
\u22a2 Bounded (fun x x_1 => x < x_1) (s ∩ {b | a ≤ b}) ↔ Bounded (fun x x_1 => x < x_1) s
-- Mathlib/Topology/Algebra/Monoid.lean
ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_6
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : {i | ((fun i => mulSupport (f i)) i ∩ U).Nonempty}.Finite
\u22a2 ∃ I, ∀ᶠ (x : X) in 𝓝 x₀, (mulSupport fun i => f i x) ⊆ ↑I
-- Mathlib/Topology/Algebra/Monoid.lean
ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_6
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : {i | ((fun i => mulSupport (f i)) i ∩ U).Nonempty}.Finite
y : X
hy : y ∈ U
i : ι
hi : i ∈ mulSupport fun i => f i y
\u22a2 i ∈ ↑hUf.toFinset
-- Mathlib/Topology/Algebra/Monoid.lean
ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_6
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : {i | ((fun i => mulSupport (f i)) i ∩ U).Nonempty}.Finite
y : X
hy : y ∈ U
i : ι
hi : i ∈ mulSupport fun i => f i y
\u22a2 i ∈ {i | ((fun i => mulSupport (f i)) i ∩ U).Nonempty}
-- Mathlib/SetTheory/Cardinal/Ordinal.lean
α β : Type u
β' : Type v
\u22a2 #(α ↪ β) = 0 ↔ #β < #α
-- Mathlib/Topology/MetricSpace/Isometry.lean
ι : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
h✝ h : α ≃ᵢ β
x : α
r : ℝ
\u22a2 ⇑h '' Metric.sphere x r = Metric.sphere (h x) r
-- Mathlib/Data/Finset/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a✝ b a : α
s : Finset α
x✝ : α
\u22a2 x✝ ≠ a ∧ x✝ ∈ s ↔ x✝ ∈ ↑s \ {a}
-- Mathlib/LinearAlgebra/Dual.lean
K✝ : Type uK
inst✝⁷ : Field K✝
V₁ : Type uV₁
V₂ : Type uV₂
inst✝⁶ : AddCommGroup V₁
inst✝⁵ : Module K✝ V₁
inst✝⁴ : AddCommGroup V₂
inst✝³ : Module K✝ V₂
K : Type u_1
V : Type u_2
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
W : Submodule K (Dual K V)
x✝ : FiniteDimensional K ↥W
\u22a2 FiniteDimensional K (V ⧸ W.dualCoannihilator)
-- Mathlib/Data/Seq/Seq.lean
α : Type u
β : Type v
γ : Type w
s : Seq α
\u22a2 s.append nil = s
-- Mathlib/Data/Seq/Seq.lean
α : Type u
β : Type v
γ : Type w
s : Seq α
\u22a2 ∀ (s : Seq α), BisimO (fun s1 s2 => ∃ s, s1 = s.append nil ∧ s2 = s) (s.append nil).destruct s.destruct
-- Mathlib/NumberTheory/Primorial.lean
n : ℕ
\u22a2 n# ≤ 4 ^ n
-- Mathlib/NumberTheory/Primorial.lean
n : ℕ
ihn : ∀ m < n, m# ≤ 4 ^ m
\u22a2 n# ≤ 4 ^ n
-- Mathlib/NumberTheory/Primorial.lean
n : ℕ
ihn : ∀ m < n + 1, m# ≤ 4 ^ m
\u22a2 (n + 1)# ≤ 4 ^ (n + 1)
-- Mathlib/NumberTheory/Primorial.lean
m : ℕ
ihn : ∀ m_1 < m + m + 1, m_1# ≤ 4 ^ m_1
\u22a2 (m + m + 1)# ≤ 4 ^ (m + m + 1)
-- Mathlib/NumberTheory/Primorial.lean
n : ℕ
ihn : ∀ m < n + 1, m# ≤ 4 ^ m
ho : Odd n
\u22a2 (n + 1)# ≤ 4 ^ (n + 1)
-- Mathlib/Data/Set/Image.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s t : Set α
p : α → Prop
q : β → Prop
f : α → β
h : ∀ (x : α), p x → q (f x)
x : β
hx : q x
\u22a2 ⟨x, hx⟩ ∈ range (Subtype.map f h) ↔ ⟨x, hx⟩ ∈ Subtype.val ⁻¹' (f '' {x | p x})
-- Mathlib/Data/Set/Image.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s t : Set α
p : α → Prop
q : β → Prop
f : α → β
h : ∀ (x : α), p x → q (f x)
x : β
hx : q x
\u22a2 (∃ a, ∃ (h_1 : p a), ⟨f a, ⋯⟩ = ⟨x, hx⟩) ↔ ∃ x_1 ∈ {x | p x}, f x_1 = x
-- Mathlib/LinearAlgebra/Basis/VectorSpace.lean
ι : Type u_1
ι' : Type u_2
K : Type u_3
V : Type u_4
V' : Type u_5
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v : ι → V
s t : Set V
x y z : V
p : Submodule K V
hp : p < ⊤
\u22a2 ∃ f, f ≠ 0 ∧ p ≤ ker f
-- Mathlib/LinearAlgebra/Basis/VectorSpace.lean
ι : Type u_1
ι' : Type u_2
K : Type u_3
V : Type u_4
V' : Type u_5
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v✝ : ι → V
s t : Set V
x y z : V
p : Submodule K V
hp : p < ⊤
v : V
hpv : v ∉ p
\u22a2 ∃ f, f ≠ 0 ∧ p ≤ ker f
-- Mathlib/LinearAlgebra/Basis/VectorSpace.lean
ι : Type u_1
ι' : Type u_2
K : Type u_3
V : Type u_4
V' : Type u_5
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v✝ : ι → V
s t : Set V
x y z : V
p : Submodule K V
v : V
hpv : v ∉ p
\u22a2 ∃ f, f ≠ 0 ∧ p ≤ ker f
-- Mathlib/LinearAlgebra/Basis/VectorSpace.lean
ι : Type u_1
ι' : Type u_2
K : Type u_3
V : Type u_4
V' : Type u_5
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v✝ : ι → V
s t : Set V
x y z : V
p : Submodule K V
v : V
hpv : v ∉ p
f : V →ₗ[K] K
hf : f ∘ₗ ({ domain := p, toFun := 0 }.supSpanSingleton v 1 hpv).domain.subtype = ({ domain := p, toFun := 0 }.supSpanSingleton v 1 hpv).toFun
\u22a2 ∃ f, f ≠ 0 ∧ p ≤ ker f
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 (whiskerRight (isoOfIso { hom := AssociatorBimod.hom M N P, inv := AssociatorBimod.inv M N P, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom Q ≫ (isoOfIso { hom := AssociatorBimod.hom M (N.tensorBimod P) Q, inv := AssociatorBimod.inv M (N.tensorBimod P) Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom ≫ M.whiskerLeft (isoOfIso { hom := AssociatorBimod.hom N P Q, inv := AssociatorBimod.inv N P Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom).hom = ((isoOfIso { hom := AssociatorBimod.hom (M.tensorBimod N) P Q, inv := AssociatorBimod.inv (M.tensorBimod N) P Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom ≫ (isoOfIso { hom := AssociatorBimod.hom M N (P.tensorBimod Q), inv := AssociatorBimod.inv M N (P.tensorBimod Q), hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom).hom
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 coequalizer.π (((M.tensorBimod N).tensorBimod P).actRight ▷ Q.X) ((α_ ((M.tensorBimod N).tensorBimod P).X Y.X Q.X).hom ≫ ((M.tensorBimod N).tensorBimod P).X ◁ Q.actLeft) ≫ (whiskerRight (isoOfIso { hom := AssociatorBimod.hom M N P, inv := AssociatorBimod.inv M N P, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom Q ≫ (isoOfIso { hom := AssociatorBimod.hom M (N.tensorBimod P) Q, inv := AssociatorBimod.inv M (N.tensorBimod P) Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom ≫ M.whiskerLeft (isoOfIso { hom := AssociatorBimod.hom N P Q, inv := AssociatorBimod.inv N P Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom).hom = coequalizer.π (((M.tensorBimod N).tensorBimod P).actRight ▷ Q.X) ((α_ ((M.tensorBimod N).tensorBimod P).X Y.X Q.X).hom ≫ ((M.tensorBimod N).tensorBimod P).X ◁ Q.actLeft) ≫ ((isoOfIso { hom := AssociatorBimod.hom (M.tensorBimod N) P Q, inv := AssociatorBimod.inv (M.tensorBimod N) P Q, hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom ≫ (isoOfIso { hom := AssociatorBimod.hom M N (P.tensorBimod Q), inv := AssociatorBimod.inv M N (P.tensorBimod Q), hom_inv_id := ⋯, inv_hom_id := ⋯ } ⋯ ⋯).hom).hom
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 coequalizer.π (TensorBimod.actRight (M.tensorBimod N) P ▷ Q.X) ((α_ (TensorBimod.X (M.tensorBimod N) P) Y.X Q.X).hom ≫ TensorBimod.X (M.tensorBimod N) P ◁ Q.actLeft) ≫ colimMap (parallelPairHom (TensorBimod.actRight (M.tensorBimod N) P ▷ Q.X) ((α_ (TensorBimod.X (M.tensorBimod N) P) Y.X Q.X).hom ≫ TensorBimod.X (M.tensorBimod N) P ◁ Q.actLeft) (TensorBimod.actRight M (N.tensorBimod P) ▷ Q.X) ((α_ (TensorBimod.X M (N.tensorBimod P)) Y.X Q.X).hom ≫ TensorBimod.X M (N.tensorBimod P) ◁ Q.actLeft) (coequalizer.desc (AssociatorBimod.homAux M N P) ⋯ ▷ Y.X ▷ Q.X) (coequalizer.desc (AssociatorBimod.homAux M N P) ⋯ ▷ Q.X) ⋯ ⋯) ≫ coequalizer.desc (AssociatorBimod.homAux M (N.tensorBimod P) Q) ⋯ ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) (M.X ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) ⋯ ⋯) = coequalizer.π (TensorBimod.actRight (M.tensorBimod N) P ▷ Q.X) ((α_ (TensorBimod.X (M.tensorBimod N) P) Y.X Q.X).hom ≫ TensorBimod.X (M.tensorBimod N) P ◁ Q.actLeft) ≫ coequalizer.desc (AssociatorBimod.homAux (M.tensorBimod N) P Q) ⋯ ≫ coequalizer.desc (AssociatorBimod.homAux M N (P.tensorBimod Q)) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 ((coequalizer.desc (AssociatorBimod.homAux M N P) ⋯ ▷ Q.X ≫ colimit.ι (parallelPair (TensorBimod.actRight M (N.tensorBimod P) ▷ Q.X) ((α_ (TensorBimod.X M (N.tensorBimod P)) Y.X Q.X).hom ≫ TensorBimod.X M (N.tensorBimod P) ◁ Q.actLeft)) WalkingParallelPair.one) ≫ coequalizer.desc (AssociatorBimod.homAux M (N.tensorBimod P) Q) ⋯) ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) (M.X ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) ⋯ ⋯) = coequalizer.π (TensorBimod.actRight (M.tensorBimod N) P ▷ Q.X) ((α_ (TensorBimod.X (M.tensorBimod N) P) Y.X Q.X).hom ≫ TensorBimod.X (M.tensorBimod N) P ◁ Q.actLeft) ≫ coequalizer.desc (AssociatorBimod.homAux (M.tensorBimod N) P Q) ⋯ ≫ coequalizer.desc (AssociatorBimod.homAux M N (P.tensorBimod Q)) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 coequalizer.desc (AssociatorBimod.homAux M N P) ⋯ ▷ Q.X ≫ AssociatorBimod.homAux M (N.tensorBimod P) Q ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) (M.X ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) ⋯ ⋯) = coequalizer.π (TensorBimod.actRight (M.tensorBimod N) P ▷ Q.X) ((α_ (TensorBimod.X (M.tensorBimod N) P) Y.X Q.X).hom ≫ TensorBimod.X (M.tensorBimod N) P ◁ Q.actLeft) ≫ coequalizer.desc (AssociatorBimod.homAux (M.tensorBimod N) P Q) ⋯ ≫ coequalizer.desc (AssociatorBimod.homAux M N (P.tensorBimod Q)) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 coequalizer.desc (AssociatorBimod.homAux M N P) ⋯ ▷ Q.X ≫ AssociatorBimod.homAux M (N.tensorBimod P) Q ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) (M.X ◁ coequalizer.desc (AssociatorBimod.homAux N P Q) ⋯) ⋯ ⋯) = AssociatorBimod.homAux (M.tensorBimod N) P Q ≫ coequalizer.desc (AssociatorBimod.homAux M N (P.tensorBimod Q)) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 ((((PreservesCoequalizer.iso (tensorRight P.X) (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft)).inv ≫ coequalizer.desc ((α_ M.X N.X P.X).hom ≫ M.X ◁ coequalizer.π (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P)) ⋯) ▷ Q.X ≫ (PreservesCoequalizer.iso (tensorRight Q.X) (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P)).inv) ≫ coequalizer.desc ((α_ M.X (TensorBimod.X N P) Q.X).hom ≫ M.X ◁ coequalizer.π (TensorBimod.actRight N P ▷ Q.X) ((α_ (TensorBimod.X N P) Y.X Q.X).hom ≫ TensorBimod.X N P ◁ Q.actLeft) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q)) ⋯) ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) (M.X ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) ⋯ ⋯) = (α_ (TensorBimod.X M N) P.X Q.X).hom ≫ TensorBimod.X M N ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ (PreservesCoequalizer.iso (tensorRight (TensorBimod.X P Q)) (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft)).inv ≫ coequalizer.desc ((α_ M.X N.X (TensorBimod.X P Q)).hom ≫ M.X ◁ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q))) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 coequalizer.π (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft) ▷ P.X ▷ Q.X ≫ ((((PreservesCoequalizer.iso (tensorRight P.X) (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft)).inv ≫ coequalizer.desc ((α_ M.X N.X P.X).hom ≫ M.X ◁ coequalizer.π (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P)) ⋯) ▷ Q.X ≫ (PreservesCoequalizer.iso (tensorRight Q.X) (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P)).inv) ≫ coequalizer.desc ((α_ M.X (TensorBimod.X N P) Q.X).hom ≫ M.X ◁ coequalizer.π (TensorBimod.actRight N P ▷ Q.X) ((α_ (TensorBimod.X N P) Y.X Q.X).hom ≫ TensorBimod.X N P ◁ Q.actLeft) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q)) ⋯) ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) (M.X ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) ⋯ ⋯) = coequalizer.π (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft) ▷ P.X ▷ Q.X ≫ (α_ (TensorBimod.X M N) P.X Q.X).hom ≫ TensorBimod.X M N ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ (PreservesCoequalizer.iso (tensorRight (TensorBimod.X P Q)) (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft)).inv ≫ coequalizer.desc ((α_ M.X N.X (TensorBimod.X P Q)).hom ≫ M.X ◁ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q))) ⋯
-- Mathlib/CategoryTheory/Monoidal/Bimod.lean
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
inst✝³ : MonoidalCategory C
A B : Mon_ C
M✝ : Bimod A B
inst✝² : HasCoequalizers C
inst✝¹ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorLeft X)
inst✝ : (X : C) → PreservesColimitsOfSize.{0, 0, v₁, v₁, u₁, u₁} (tensorRight X)
V W X Y Z : Mon_ C
M : Bimod V W
N : Bimod W X
P : Bimod X Y
Q : Bimod Y Z
\u22a2 ((((α_ M.X N.X P.X).hom ▷ Q.X ≫ (M.X ◁ coequalizer.π (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)) ▷ Q.X ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P) ▷ Q.X) ≫ (PreservesCoequalizer.iso (tensorRight Q.X) (M.actRight ▷ TensorBimod.X N P) ((α_ M.X W.X (TensorBimod.X N P)).hom ≫ M.X ◁ TensorBimod.actLeft N P)).inv) ≫ coequalizer.desc ((α_ M.X (TensorBimod.X N P) Q.X).hom ≫ M.X ◁ coequalizer.π (TensorBimod.actRight N P ▷ Q.X) ((α_ (TensorBimod.X N P) Y.X Q.X).hom ≫ TensorBimod.X N P ◁ Q.actLeft) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q)) ⋯) ≫ colimMap (parallelPairHom (M.actRight ▷ TensorBimod.X (N.tensorBimod P) Q) ((α_ M.X W.X (TensorBimod.X (N.tensorBimod P) Q)).hom ≫ M.X ◁ TensorBimod.actLeft (N.tensorBimod P) Q) (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q)) ((M.X ⊗ W.X) ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) (M.X ◁ coequalizer.desc ((PreservesCoequalizer.iso (tensorRight Q.X) (N.actRight ▷ P.X) ((α_ N.X X.X P.X).hom ≫ N.X ◁ P.actLeft)).inv ≫ coequalizer.desc ((α_ N.X P.X Q.X).hom ≫ N.X ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q)) ⋯) ⋯) ⋯ ⋯) = coequalizer.π (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft) ▷ P.X ▷ Q.X ≫ (α_ (TensorBimod.X M N) P.X Q.X).hom ≫ TensorBimod.X M N ◁ coequalizer.π (P.actRight ▷ Q.X) ((α_ P.X Y.X Q.X).hom ≫ P.X ◁ Q.actLeft) ≫ (PreservesCoequalizer.iso (tensorRight (TensorBimod.X P Q)) (M.actRight ▷ N.X) ((α_ M.X W.X N.X).hom ≫ M.X ◁ N.actLeft)).inv ≫ coequalizer.desc ((α_ M.X N.X (TensorBimod.X P Q)).hom ≫ M.X ◁ coequalizer.π (N.actRight ▷ TensorBimod.X P Q) ((α_ N.X X.X (TensorBimod.X P Q)).hom ≫ N.X ◁ TensorBimod.actLeft P Q) ≫ coequalizer.π (M.actRight ▷ TensorBimod.X N (P.tensorBimod Q)) ((α_ M.X W.X (TensorBimod.X N (P.tensorBimod Q))).hom ≫ M.X ◁ TensorBimod.actLeft N (P.tensorBimod Q))) ⋯