ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Algebra/Polynomial/AlgebraMap.lean
R : Type u
S✝ : Type v
T✝ : Type w
A : Type z
A' : Type u_1
B : Type u_2
a✝ b : R
n : ℕ
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : Semiring A
inst✝⁹ : CommSemiring A'
inst✝⁸ : Semiring B
inst✝⁷ : Algebra R A
inst✝⁶ : Algebra R A'
inst✝⁵ : Algebra R B
p✝ q : R[X]
x : A
S : Type u_3
T : Type u_4
U : Type u_5
inst✝⁴ : Semiring S
inst✝³ : CommSemiring T
inst✝² : Semiring U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)
p : R[X]
a : S

⊢ ψ ((aeval a) p) = (aeval (ψ a)) (map φ p)
-- Mathlib/Algebra/Polynomial/AlgebraMap.lean
R : Type u
S✝ : Type v
T✝ : Type w
A : Type z
A' : Type u_1
B : Type u_2
a✝ b : R
n : ℕ
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : Semiring A
inst✝⁹ : CommSemiring A'
inst✝⁸ : Semiring B
inst✝⁷ : Algebra R A
inst✝⁶ : Algebra R A'
inst✝⁵ : Algebra R B
p✝ q : R[X]
x : A
S : Type u_3
T : Type u_4
U : Type u_5
inst✝⁴ : Semiring S
inst✝³ : CommSemiring T
inst✝² : Semiring U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)
p : R[X]
a : S

⊢ ψ ((aeval a) p) = eval (ψ a) (map (algebraMap T U) (map φ p))
-- Mathlib/MeasureTheory/Measure/WithDensityFinite.lean
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
s : Set α
a✝ : MeasurableSet s

⊢ (Measure.toFiniteAux 0) s = 0 s
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean
z✝ : ℂ
n✝ : ℕ
z : ℂ
n : ℕ

⊢ Complex.sin (↑π * z) = ((↑π * z * ∏ j ∈ Finset.range n, (1 - z ^ 2 / (↑j + 1) ^ 2)) * ∫ (x : ℝ) in 0 ..π / 2, Complex.cos (2 * z * ↑x) * ↑(cos x) ^ (2 * n)) / ↑(∫ (x : ℝ) in 0 ..π / 2, cos x ^ (2 * n))
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean
z : ℂ
n✝ n : ℕ

⊢ Complex.sin (↑π * 0) = ((↑π * 0 * ∏ j ∈ Finset.range n, (1 - 0 ^ 2 / (↑j + 1) ^ 2)) * ∫ (x : ℝ) in 0 ..π / 2, Complex.cos (2 * 0 * ↑x) * ↑(cos x) ^ (2 * n)) / ↑(∫ (x : ℝ) in 0 ..π / 2, cos x ^ (2 * n))
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean
z✝ : ℂ
n✝ : ℕ
z : ℂ
n : ℕ
hz : z ≠ 0

⊢ Complex.sin (↑π * z) = ((↑π * z * ∏ j ∈ Finset.range n, (1 - z ^ 2 / (↑j + 1) ^ 2)) * ∫ (x : ℝ) in 0 ..π / 2, Complex.cos (2 * z * ↑x) * ↑(cos x) ^ (2 * n)) / ↑(∫ (x : ℝ) in 0 ..π / 2, cos x ^ (2 * n))
-- Mathlib/Analysis/LocallyConvex/Polar.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : NormedCommRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜
s : Set E
x : E
hx : x ∈ s
y : F
hy : y ∈ B.polar s

⊢ ‖(B.flip y) x‖ ≤ 1
-- Mathlib/Analysis/LocallyConvex/Polar.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : NormedCommRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜
s : Set E
x : E
hx : x ∈ s
y : F
hy : y ∈ B.polar s

⊢ ‖(B x) y‖ ≤ 1
-- Mathlib/Order/Filter/Pi.lean
ι : Type u_1
α : ι → Type u_2
f f₁ f₂ : (i : ι) → Filter (α i)
s : (i : ι) → Set (α i)
p : (i : ι) → α i → Prop
I : Set ι
hI : I.Finite
h : ∀ i ∈ I, s i ∈ f i

⊢ I.pi s ∈ pi f
-- Mathlib/Order/Filter/Pi.lean
ι : Type u_1
α : ι → Type u_2
f f₁ f₂ : (i : ι) → Filter (α i)
s : (i : ι) → Set (α i)
p : (i : ι) → α i → Prop
I : Set ι
hI : I.Finite
h : ∀ i ∈ I, s i ∈ f i

⊢ ⋂ x, eval ↑x ⁻¹' s ↑x ∈ pi f
-- Mathlib/Order/Filter/Pi.lean
ι : Type u_1
α : ι → Type u_2
f f₁ f₂ : (i : ι) → Filter (α i)
s : (i : ι) → Set (α i)
p : (i : ι) → α i → Prop
I : Set ι
hI : I.Finite
h : ∀ i ∈ I, s i ∈ f i
i : ↑I

⊢ eval ↑i ⁻¹' s ↑i ∈ comap (eval ↑i) (f ↑i)
-- Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean

⊢ Tendsto (fun x => x ^ (1 / x)) atTop (𝓝 1)
-- Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean
x✝ : ℝ

⊢ x✝ = 1 * x✝ + 0
-- Mathlib/Data/Set/Pointwise/Interval.lean
α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α

⊢ (fun x => x + a) ⁻¹' Ico b c = Ico (b - a) (c - a)
-- Mathlib/Algebra/Homology/ShortComplex/Homology.lean
C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : HasZeroMorphisms C
S S₁ S₂ S₃ S₄ : ShortComplex C
φ : S₁ ⟶ S₂
h₁ : S₁.HomologyData
h₂ : S₂.HomologyData
A : C
inst✝ : S.HasHomology
h : S.LeftHomologyData

⊢ h.π ≫ (S.leftHomologyIso.symm ≪≫ h.leftHomologyIso).inv = h.cyclesIso.inv ≫ S.leftHomologyπ ≫ S.leftHomologyIso.hom
-- Mathlib/SetTheory/Game/Nim.lean
n m : ℕ

⊢ (nim ↑n + nim ↑m).grundyValue = ↑(n ^^^ m)
-- Mathlib/SetTheory/Game/Nim.lean
n : ℕ
hn : ∀ m < n, ∀ (m_1 : ℕ), (nim ↑m + nim ↑m_1).grundyValue = ↑(m ^^^ m_1)
m : ℕ

⊢ (nim ↑n + nim ↑m).grundyValue = ↑(n ^^^ m)
-- Mathlib/SetTheory/Game/Nim.lean
n : ℕ
hn : ∀ m < n, ∀ (m_1 : ℕ), (nim ↑m + nim ↑m_1).grundyValue = ↑(m ^^^ m_1)
m : ℕ
hm : ∀ m_1 < m, (nim ↑n + nim ↑m_1).grundyValue = ↑(n ^^^ m_1)

⊢ (nim ↑n + nim ↑m).grundyValue = ↑(n ^^^ m)
-- Mathlib/SetTheory/Game/Nim.lean
n : ℕ
hn : ∀ m < n, ∀ (m_1 : ℕ), (nim ↑m + nim ↑m_1).grundyValue = ↑(m ^^^ m_1)
m : ℕ
hm : ∀ m_1 < m, (nim ↑n + nim ↑m_1).grundyValue = ↑(n ^^^ m_1)

⊢ (mex fun i => ((nim ↑n + nim ↑m).moveLeft i).grundyValue) = ↑(n ^^^ m)
-- Mathlib/SetTheory/Game/Nim.lean
n : ℕ
hn : ∀ m < n, ∀ (m_1 : ℕ), (nim ↑m + nim ↑m_1).grundyValue = ↑(m ^^^ m_1)
m : ℕ
hm : ∀ m_1 < m, (nim ↑n + nim ↑m_1).grundyValue = ↑(n ^^^ m_1)
i : (nim ↑n + nim ↑m).LeftMoves

⊢ ((nim ↑n + nim ↑m).moveLeft i).grundyValue ≠ ↑(n ^^^ m)
-- Mathlib/SetTheory/Game/Nim.lean
n : ℕ
hn : ∀ m < n, ∀ (m_1 : ℕ), (nim ↑m + nim ↑m_1).grundyValue = ↑(m ^^^ m_1)
m : ℕ
hm : ∀ m_1 < m, (nim ↑n + nim ↑m_1).grundyValue = ↑(n ^^^ m_1)
ou : Ordinal.{u}
hu : ou < ↑(n ^^^ m)

⊢ ∃ i, ((nim ↑n + nim ↑m).moveLeft i).grundyValue = ou
-- Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean
k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝⁴ : DivisionRing k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
inst✝ : Fintype ι
p : ι → P
n : ℕ
hc : Fintype.card ι = n + 1

⊢ AffineIndependent k p ↔ finrank k ↥(vectorSpan k (Set.range p)) = n
-- Mathlib/Order/CompleteLattice.lean
α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : CompleteLattice α
f✝ g s t : ι → α
a✝ b : α
p : ι → Prop
f : (i : ι) → p i → α
a : α
h : ∃ i, p i
this : Nonempty { i // p i }

⊢ (⨆ i, ⨆ (h : p i), f i h) ⊔ a = ⨆ i, ⨆ (h : p i), f i h ⊔ a
-- Mathlib/CategoryTheory/Shift/Induced.lean
C : Type u_5
D : Type u_2
inst✝⁵ : Category.{u_4, u_5} C
inst✝⁴ : Category.{u_1, u_2} D
F : C ⥤ D
A : Type u_3
inst✝³ : AddMonoid A
inst✝² : HasShift C A
s : A → D ⥤ D
i : (a : A) → F ⋙ s a ≅ shiftFunctor C a ⋙ F
inst✝¹ : ((whiskeringLeft C D D).obj F).Full
inst✝ : ((whiskeringLeft C D D).obj F).Faithful
a b : A
X : C

⊢ (add F s i a b).hom.app (F.obj X) = (i (a + b)).hom.app X ≫ F.map ((shiftFunctorAdd C a b).hom.app X) ≫ (i b).inv.app ((shiftFunctor C a).obj X) ≫ (s b).map ((i a).inv.app X)
-- Mathlib/CategoryTheory/Shift/Induced.lean
C : Type u_5
D : Type u_2
inst✝⁵ : Category.{u_4, u_5} C
inst✝⁴ : Category.{u_1, u_2} D
F : C ⥤ D
A : Type u_3
inst✝³ : AddMonoid A
inst✝² : HasShift C A
s : A → D ⥤ D
i : (a : A) → F ⋙ s a ≅ shiftFunctor C a ⋙ F
inst✝¹ : ((whiskeringLeft C D D).obj F).Full
inst✝ : ((whiskeringLeft C D D).obj F).Faithful
a b : A
X : C
h : whiskerLeft F (add F s i a b).hom = (i (a + b) ≪≫ isoWhiskerRight (shiftFunctorAdd C a b) F ≪≫ (shiftFunctor C a).associator (shiftFunctor C b) F ≪≫ isoWhiskerLeft (shiftFunctor C a) (i b).symm ≪≫ ((shiftFunctor C a).associator F (s b)).symm ≪≫ isoWhiskerRight (i a).symm (s b) ≪≫ F.associator (s a) (s b)).hom

⊢ (add F s i a b).hom.app (F.obj X) = (i (a + b)).hom.app X ≫ F.map ((shiftFunctorAdd C a b).hom.app X) ≫ (i b).inv.app ((shiftFunctor C a).obj X) ≫ (s b).map ((i a).inv.app X)
-- Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean
R : Type u
inst✝ : CommRing R
W : WeierstrassCurve R
n : ℤ

⊢ (W.Φ n).natDegree ≤ n.natAbs ^ 2
-- Mathlib/Order/CompleteBooleanAlgebra.lean
α : Type u
β : Type v
ι : Sort w
κ : ι → Sort w'
inst✝ : CompleteBooleanAlgebra α
a b : α
s : Set α
f : ι → α

⊢ (sSup s)ᶜ = ⨅ i ∈ s, iᶜ
-- Mathlib/RingTheory/Ideal/Operations.lean
R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I J K L : Ideal R
n : ℕ
h : I ⊔ J = ⊤

⊢ I ⊔ J ^ n = ⊤
-- Mathlib/RingTheory/Ideal/Operations.lean
R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I J K L : Ideal R
n : ℕ
h : I ⊔ J = ⊤

⊢ I ⊔ ∏ _x ∈ Finset.range n, J = ⊤
-- Mathlib/LinearAlgebra/AffineSpace/Combination.lean
k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι✝ : Type u_4
s✝ : Finset ι✝
ι₂ : Type u_5
s₂ : Finset ι₂
ι : Type u_6
s : Finset ι
w : ι → k
p : ι → V
hw : s.sum w = 0

⊢ (s.weightedVSub p) w = ∑ i ∈ s, w i • p i
-- Mathlib/Data/Seq/Seq.lean
α : Type u
β : Type v
γ : Type w
s₂ : Seq α
a : α
ss : Seq α
h : a ∈ ss

⊢ ∀ {s₁ : Seq α}, a ∈ s₁.append s₂ → s₁.append s₂ = ss → a ∈ s₁ ∨ a ∈ s₂
-- Mathlib/Data/Seq/Seq.lean
α : Type u
β : Type v
γ : Type w
s₂ : Seq α
a : α
ss : Seq α
h : a ∈ ss

⊢ ∀ (b : α) (s' : Seq α), (a = b ∨ ∀ {s₁ : Seq α}, a ∈ s₁.append s₂ → s₁.append s₂ = s' → a ∈ s₁ ∨ a ∈ s₂) → ∀ {s₁ : Seq α}, a ∈ s₁.append s₂ → s₁.append s₂ = cons b s' → a ∈ s₁ ∨ a ∈ s₂
-- .lake/packages/batteries/Batteries/Data/List/Lemmas.lean
α : Type u_1
p : α → Bool
b✝ : α
l : List α
a : α
al✝ : a ∈ b✝ :: l
pa : p a = true
b : α
al : Mem a l
pb : ¬p b = true
c : α
l₁ l₂ : List α
h₁ : ∀ (b : α), b ∈ l₁ → ¬p b = true
h₂ : p c = true
h₃ : l = l₁ ++ c :: l₂
h₄ : eraseP p l = l₁ ++ l₂

⊢ b :: l = b :: l₁ ++ c :: l₂
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²³ : AddCommMonoid M
inst✝²² : AddCommMonoid N
inst✝²¹ : CommSemiring R
inst✝²⁰ : CommSemiring S
inst✝¹⁹ : Algebra R S
inst✝¹⁸ : Module R M
inst✝¹⁷ : Module R N
inst✝¹⁶ : Module S N
inst✝¹⁵ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q : Type u_3
inst✝¹⁴ : AddCommMonoid P
inst✝¹³ : Module R P
inst✝¹² : AddCommMonoid Q
inst✝¹¹ : Module S Q
T : Type u_4
O : Type u_5
inst✝¹⁰ : CommSemiring T
inst✝⁹ : Algebra R T
inst✝⁸ : Algebra S T
inst✝⁷ : IsScalarTower R S T
inst✝⁶ : AddCommMonoid O
inst✝⁵ : Module R O
inst✝⁴ : Module S O
inst✝³ : Module T O
inst✝² : IsScalarTower S T O
inst✝¹ : IsScalarTower R S O
inst✝ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g

⊢ IsBaseChange T (↑R g ∘ₗ f)
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²³ : AddCommMonoid M
inst✝²² : AddCommMonoid N
inst✝²¹ : CommSemiring R
inst✝²⁰ : CommSemiring S
inst✝¹⁹ : Algebra R S
inst✝¹⁸ : Module R M
inst✝¹⁷ : Module R N
inst✝¹⁶ : Module S N
inst✝¹⁵ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q : Type u_3
inst✝¹⁴ : AddCommMonoid P
inst✝¹³ : Module R P
inst✝¹² : AddCommMonoid Q
inst✝¹¹ : Module S Q
T : Type u_4
O : Type u_5
inst✝¹⁰ : CommSemiring T
inst✝⁹ : Algebra R T
inst✝⁸ : Algebra S T
inst✝⁷ : IsScalarTower R S T
inst✝⁶ : AddCommMonoid O
inst✝⁵ : Module R O
inst✝⁴ : Module S O
inst✝³ : Module T O
inst✝² : IsScalarTower S T O
inst✝¹ : IsScalarTower R S O
inst✝ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g

⊢ ∀ (Q : Type (max v₁ u_5 u_4)) [inst : AddCommMonoid Q] [inst_1 : Module R Q] [inst_2 : Module T Q] [inst_3 : IsScalarTower R T Q] (g_1 : M →ₗ[R] Q), ∃! g', ↑R g' ∘ₗ ↑R g ∘ₗ f = g_1
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this : Module S Q := Module.compHom Q (algebraMap S T)

⊢ ∃! g', ↑R g' ∘ₗ ↑R g ∘ₗ f = i
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝ : Module S Q := Module.compHom Q (algebraMap S T)
this : IsScalarTower S T Q

⊢ ∃! g', ↑R g' ∘ₗ ↑R g ∘ₗ f = i
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝¹ : Module S Q := Module.compHom Q (algebraMap S T)
this✝ : IsScalarTower S T Q
this : IsScalarTower R S Q

⊢ ∃! g', ↑R g' ∘ₗ ↑R g ∘ₗ f = i
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝¹ : Module S Q := Module.compHom Q (algebraMap S T)
this✝ : IsScalarTower S T Q
this : IsScalarTower R S Q

⊢ ∀ (y : O →ₗ[T] Q), (fun g' => ↑R g' ∘ₗ ↑R g ∘ₗ f = i) y → y = hg.lift (hf.lift i)
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝¹ : Module S Q := Module.compHom Q (algebraMap S T)
this✝ : IsScalarTower S T Q
this : IsScalarTower R S Q
g' : O →ₗ[T] Q
e : ↑R g' ∘ₗ ↑R g ∘ₗ f = i

⊢ g' = hg.lift (hf.lift i)
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝¹ : Module S Q := Module.compHom Q (algebraMap S T)
this✝ : IsScalarTower S T Q
this : IsScalarTower R S Q
g' : O →ₗ[T] Q
e : ↑R g' ∘ₗ ↑R g ∘ₗ f = i

⊢ ↑R (↑S g' ∘ₗ g) ∘ₗ f = ↑R (↑S (hg.lift (hf.lift i)) ∘ₗ g) ∘ₗ f
-- Mathlib/RingTheory/IsTensorProduct.lean
R : Type u_1
M : Type v₁
N : Type v₂
S : Type v₃
inst✝²⁷ : AddCommMonoid M
inst✝²⁶ : AddCommMonoid N
inst✝²⁵ : CommSemiring R
inst✝²⁴ : CommSemiring S
inst✝²³ : Algebra R S
inst✝²² : Module R M
inst✝²¹ : Module R N
inst✝²⁰ : Module S N
inst✝¹⁹ : IsScalarTower R S N
f✝ : M →ₗ[R] N
h : IsBaseChange S f✝
P : Type u_2
Q✝ : Type u_3
inst✝¹⁸ : AddCommMonoid P
inst✝¹⁷ : Module R P
inst✝¹⁶ : AddCommMonoid Q✝
inst✝¹⁵ : Module S Q✝
T : Type u_4
O : Type u_5
inst✝¹⁴ : CommSemiring T
inst✝¹³ : Algebra R T
inst✝¹² : Algebra S T
inst✝¹¹ : IsScalarTower R S T
inst✝¹⁰ : AddCommMonoid O
inst✝⁹ : Module R O
inst✝⁸ : Module S O
inst✝⁷ : Module T O
inst✝⁶ : IsScalarTower S T O
inst✝⁵ : IsScalarTower R S O
inst✝⁴ : IsScalarTower R T O
f : M →ₗ[R] N
hf : IsBaseChange S f
g : N →ₗ[S] O
hg : IsBaseChange T g
Q : Type (max v₁ u_5 u_4)
inst✝³ : AddCommMonoid Q
inst✝² : Module R Q
inst✝¹ : Module T Q
inst✝ : IsScalarTower R T Q
i : M →ₗ[R] Q
this✝¹ : Module S Q := Module.compHom Q (algebraMap S T)
this✝ : IsScalarTower S T Q
this : IsScalarTower R S Q
g' : O →ₗ[T] Q
e : ↑R g' ∘ₗ ↑R g ∘ₗ f = i

⊢ ↑R (↑S g' ∘ₗ g) ∘ₗ f = ↑R g' ∘ₗ ↑R g ∘ₗ f
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
h : IsEmpty α

⊢ #(WType β) ≤ max (lift.{v, u} #α) ℵ₀
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
h : IsEmpty α

⊢ 0 ≤ max (lift.{v, u} #α) ℵ₀
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
hn : Nonempty α
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀

⊢ Order.succ 0 ≤ ⨆ a, m ^ lift.{u, v} #(β a)
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
hn : Nonempty α
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀

⊢ 1 ≤ ⨆ a, m ^ lift.{u, v} #(β a)
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀
a : α

⊢ 1 ≤ ⨆ a, m ^ lift.{u, v} #(β a)
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀
a : α

⊢ 1 ≤ m ^ lift.{u, v} #(β a)
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀
a : α

⊢ ?m.3905 ^ 0 ≤ m ^ lift.{u, v} #(β a)
-- Mathlib/Data/W/Cardinal.lean
α : Type u
β : α → Type v
inst✝ : ∀ (a : α), Finite (β a)
m : Cardinal.{max u v} := max (lift.{v, u} #α) ℵ₀
a : α

⊢ Cardinal.{max u v}
-- Mathlib/Order/SuccPred/Basic.lean
α : Type u_1
β : Type u_2
inst✝² : Preorder α
inst✝¹ : SuccOrder α
inst✝ : IsSuccArchimedean α
a b : α
P : α → Prop
m : α
h0 : P m
h1 : ∀ (n : α), m ≤ n → P n → P (succ n)
n : α
hmn : m ≤ n

⊢ P n
-- Mathlib/Order/SuccPred/Basic.lean
α : Type u_1
β : Type u_2
inst✝² : Preorder α
inst✝¹ : SuccOrder α
inst✝ : IsSuccArchimedean α
a b : α
P : α → Prop
m : α
h0 : P m
h1 : ∀ (n : α), m ≤ n → P n → P (succ n)
n : ℕ
hmn : m ≤ succ^[n] m

⊢ P (succ^[n] m)
-- Mathlib/GroupTheory/HNNExtension.lean
G : Type u_1
inst✝² : Group G
A B : Subgroup G
φ : ↥A ≃* ↥B
H : Type u_2
inst✝¹ : Group H
M : Type u_3
inst✝ : Monoid M
b : ↥B

⊢ of ↑(φ.symm b) = t⁻¹ * of ↑b * t
-- Mathlib/GroupTheory/HNNExtension.lean
G : Type u_1
inst✝² : Group G
A B : Subgroup G
φ : ↥A ≃* ↥B
H : Type u_2
inst✝¹ : Group H
M : Type u_3
inst✝ : Monoid M
b : ↥B

⊢ of ↑(φ.symm b) = t⁻¹ * (t * of ↑(φ.symm b))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p
eq_norm : ∀ (x : ι → ℂ), ‖x‖ = (∑ i : ι, ‖x i‖ ^ (ENNReal.ofReal p).toReal) ^ (1 / (ENNReal.ofReal p).toReal)

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p
eq_norm : ∀ (x : ι → ℂ), ‖x‖ = (∑ x_1 : ι, ‖x x_1‖ ^ p) ^ (1 / p)

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p
eq_norm : ∀ (x : ι → ℂ), ‖x‖ = (∑ x_1 : ι, ‖x x_1‖ ^ p) ^ (1 / p)
this : Fact (1 ≤ ENNReal.ofReal p)

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p
eq_norm : ∀ (x : ι → ℂ), ‖x‖ = (∑ x_1 : ι, ‖x x_1‖ ^ p) ^ (1 / p)
this : Fact (1 ≤ ENNReal.ofReal p)
nm_zero : ‖0‖ = 0

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))
-- Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean
ι : Type u_1
inst✝ : Fintype ι
p✝ : ℝ
hp✝ : 1 ≤ p✝
p : ℝ
hp : 1 ≤ p
h₁ : 0 < p
h₂ : ∀ (x : ι → ℂ), 0 ≤ ∑ i : ι, ‖x i‖ ^ p
eq_norm : ∀ (x : ι → ℂ), ‖x‖ = (∑ x_1 : ι, ‖x x_1‖ ^ p) ^ (1 / p)
this : Fact (1 ≤ ENNReal.ofReal p)
nm_zero : ‖0‖ = 0
eq_zero : ∀ (x : ι → ℂ), ‖x‖ = 0 ↔ x = 0

⊢ volume {x | ∑ i : ι, ‖x i‖ ^ p < 1} = ENNReal.ofReal ((π * Real.Gamma (2 / p + 1)) ^ card ι / Real.Gamma (2 * ↑(card ι) / p + 1))