ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ multiplicity 2 (x - y) + multiplicity 2 (n + 1) = multiplicity 2 (x - y) + multiplicity 2 ↑(n + 1)
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ Prime 2
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ 2 ∣ x ^ 2 ^ (multiplicity 2 (n + 1)).get h - y ^ 2 ^ (multiplicity 2 (n + 1)).get h
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ ¬2 ∣ x ^ 2 ^ (multiplicity 2 (n + 1)).get h
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ ¬2 ∣ ↑k
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
hpn : ¬2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k

⊢ ¬2 ∣ k
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k
hpn : 2 ∣ k

⊢ 2 ^ ((multiplicity 2 (n + 1)).get h + 1) ∣ n + 1
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k
hpn : 2 ∣ k

⊢ 2 ^ (multiplicity 2 (n + 1)).get h * 2 ∣ n + 1
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
x y : ℤ
hxy : 4 ∣ x - y
hx : ¬2 ∣ x
hx_odd : Odd x
hxy_even : Even (x - y)
hy_odd : Odd y
n : ℕ
h : (multiplicity 2 (n + 1)).Dom
k : ℕ
hk : n + 1 = 2 ^ (multiplicity 2 (n + 1)).get h * k
hpn : 2 ∣ k

⊢ 2 ^ (multiplicity 2 (n + 1)).get h * 2 ∣ 2 ^ (multiplicity 2 (n + 1)).get h * k
-- Mathlib/Data/Set/Function.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
s s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a : α
b : β

⊢ MapsTo.restrict f (f ⁻¹' t) t ⋯ '' (Subtype.val ⁻¹' s) = Subtype.val ⁻¹' (f '' s)
-- Mathlib/CategoryTheory/Monoidal/Category.lean
C : Type u
𝒞 : Category.{v, u} C
inst✝¹ : MonoidalCategory C
X Y Z : C
f : Y ⟶ Z
inst✝ : IsIso f

⊢ X ◁ f ≫ X ◁ inv f = 𝟙 (X ⊗ Y)
-- Mathlib/Algebra/Group/Basic.lean
α : Type u_1
β : Type u_2
G : Type u_3
M✝ : Type u_4
M : Type u
inst✝ : RightCancelMonoid M
a b : M

⊢ a * b = b ↔ a * b = 1 * b
-- Mathlib/LinearAlgebra/Basis.lean
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i : ι
c : R
x : M

⊢ LinearMap.range ↑b.repr = Finsupp.supported R R univ
-- Mathlib/Topology/MetricSpace/PiNat.lean
E : ℕ → Type u_1
x y : (n : ℕ) → E n

⊢ firstDiff x y = firstDiff y x
-- Mathlib/Deprecated/Submonoid.lean
M : Type u_1
inst✝² : Monoid M
s : Set M
A : Type u_2
inst✝¹ : AddMonoid A
t : Set A
γ : Type u_3
inst✝ : Monoid γ
f : M → γ
hf : IsMonoidHom f

⊢ IsSubmonoid (Set.range f)
-- Mathlib/Deprecated/Submonoid.lean
M : Type u_1
inst✝² : Monoid M
s : Set M
A : Type u_2
inst✝¹ : AddMonoid A
t : Set A
γ : Type u_3
inst✝ : Monoid γ
f : M → γ
hf : IsMonoidHom f

⊢ IsSubmonoid (f '' Set.univ)
-- Mathlib/Data/Set/Lattice.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
s : (i : ι) → κ i → Set α
t : Set β

⊢ (⋃ i, ⋃ j, s i j) ×ˢ t = ⋃ i, ⋃ j, s i j ×ˢ t
-- Mathlib/LinearAlgebra/LinearPMap.lean
R : Type u_1
inst✝⁶ : Ring R
E : Type u_2
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module R E
F : Type u_3
inst✝³ : AddCommGroup F
inst✝² : Module R F
G : Type u_4
inst✝¹ : AddCommGroup G
inst✝ : Module R G
f : E →ₗ.[R] F

⊢ f.inverse.domain = LinearMap.range f.toFun
-- Mathlib/LinearAlgebra/LinearPMap.lean
R : Type u_1
inst✝⁶ : Ring R
E : Type u_2
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module R E
F : Type u_3
inst✝³ : AddCommGroup F
inst✝² : Module R F
G : Type u_4
inst✝¹ : AddCommGroup G
inst✝ : Module R G
f : E →ₗ.[R] F

⊢ Submodule.map (LinearMap.fst R F E) (Submodule.map (LinearEquiv.prodComm R E F) f.graph) = Submodule.map (LinearMap.fst R F E) (Submodule.map (↑(LinearEquiv.prodComm R E F)) f.graph)
-- Mathlib/GroupTheory/Exponent.lean
G : Type u
F : Type u_1
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : Monoid M₁
inst✝² : Monoid M₂
inst✝¹ : FunLike F M₁ M₂
inst✝ : MonoidHomClass F M₁ M₂
f : F
hf : Function.Surjective ⇑f
m₁ : M₁

⊢ f m₁ ^ exponent M₁ = 1
-- Mathlib/MeasureTheory/Constructions/Pi.lean
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝ : Fintype ι
m✝ m : (i : ι) → OuterMeasure (α i)
n : OuterMeasure ((i : ι) → α i)

⊢ n ≤ OuterMeasure.pi m ↔ ∀ (s : (i : ι) → Set (α i)), (univ.pi s).Nonempty → n (univ.pi s) ≤ ∏ i : ι, (m i) (s i)
-- Mathlib/MeasureTheory/Constructions/Pi.lean
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝ : Fintype ι
m✝ m : (i : ι) → OuterMeasure (α i)
n : OuterMeasure ((i : ι) → α i)

⊢ (∀ (s : Set ((i : ι) → α i)), s.Nonempty → n s ≤ piPremeasure m s) ↔ ∀ (s : (i : ι) → Set (α i)), (univ.pi s).Nonempty → n (univ.pi s) ≤ ∏ i : ι, (m i) (s i)
-- Mathlib/RingTheory/Generators.lean
R : Type u
S : Type v
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : Algebra R S
P : Generators R S
x y : S
e : P.σ x = P.σ y

⊢ x = y
-- Mathlib/Geometry/RingedSpace/PresheafedSpace.lean
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : PresheafedSpace C
base : ↑X ⟶ ↑Y
c c' : Y.presheaf ⟶ (Presheaf.pushforward C base).obj X.presheaf
h : c ≫ whiskerRight (𝟙 (Opens.map base).op) X.presheaf = c'

⊢ { base := base, c := c } = { base := base, c := c' }
-- Mathlib/Geometry/RingedSpace/PresheafedSpace.lean
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : PresheafedSpace C
base : ↑X ⟶ ↑Y
c c' : Y.presheaf ⟶ (Presheaf.pushforward C base).obj X.presheaf
h : c = c'

⊢ { base := base, c := c } = { base := base, c := c' }
-- Mathlib/Algebra/DirectLimit.lean
R : Type u
inst✝⁵ : Ring R
ι : Type v
inst✝⁴ : Preorder ι
G : ι → Type w
inst✝³ : (i : ι) → CommRing (G i)
f : (i j : ι) → i ≤ j → G i → G j
f' : (i j : ι) → i ≤ j → G i →+* G j
P : Type u₁
inst✝² : CommRing P
g : (i : ι) → G i →+* P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), (g j) (f i j hij x) = (g i) x
inst✝¹ : Nonempty ι
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
injective : ∀ (i : ι), Function.Injective ⇑(g i)

⊢ Function.Injective ⇑(lift G f P g Hg)
-- Mathlib/Algebra/DirectLimit.lean
R : Type u
inst✝⁵ : Ring R
ι : Type v
inst✝⁴ : Preorder ι
G : ι → Type w
inst✝³ : (i : ι) → CommRing (G i)
f : (i j : ι) → i ≤ j → G i → G j
f' : (i j : ι) → i ≤ j → G i →+* G j
P : Type u₁
inst✝² : CommRing P
g : (i : ι) → G i →+* P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), (g j) (f i j hij x) = (g i) x
inst✝¹ : Nonempty ι
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
injective : ∀ (i : ι) (a : G i), (g i) a = 0 → a = 0

⊢ ∀ (a : DirectLimit G f), (lift G f P g Hg) a = 0 → a = 0
-- Mathlib/Algebra/DirectLimit.lean
R : Type u
inst✝⁵ : Ring R
ι : Type v
inst✝⁴ : Preorder ι
G : ι → Type w
inst✝³ : (i : ι) → CommRing (G i)
f : (i j : ι) → i ≤ j → G i → G j
f' : (i j : ι) → i ≤ j → G i →+* G j
P : Type u₁
inst✝² : CommRing P
g : (i : ι) → G i →+* P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), (g j) (f i j hij x) = (g i) x
inst✝¹ : Nonempty ι
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
injective : ∀ (i : ι) (a : G i), (g i) a = 0 → a = 0
z : DirectLimit G f
hz : (lift G f P g Hg) z = 0

⊢ z = 0
-- Mathlib/Algebra/DirectLimit.lean
R : Type u
inst✝⁵ : Ring R
ι : Type v
inst✝⁴ : Preorder ι
G : ι → Type w
inst✝³ : (i : ι) → CommRing (G i)
f : (i j : ι) → i ≤ j → G i → G j
f' : (i j : ι) → i ≤ j → G i →+* G j
P : Type u₁
inst✝² : CommRing P
g✝ : (i : ι) → G i →+* P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), (g✝ j) (f i j hij x) = (g✝ i) x
inst✝¹ : Nonempty ι
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
injective : ∀ (i : ι) (a : G i), (g✝ i) a = 0 → a = 0
i✝ : ι
g : G i✝
hz : (lift G f P g✝ Hg) ((of G f i✝) g) = 0

⊢ (of G f i✝) g = 0
-- Mathlib/Algebra/DirectLimit.lean
R : Type u
inst✝⁵ : Ring R
ι : Type v
inst✝⁴ : Preorder ι
G : ι → Type w
inst✝³ : (i : ι) → CommRing (G i)
f : (i j : ι) → i ≤ j → G i → G j
f' : (i j : ι) → i ≤ j → G i →+* G j
P : Type u₁
inst✝² : CommRing P
g✝ : (i : ι) → G i →+* P
Hg : ∀ (i j : ι) (hij : i ≤ j) (x : G i), (g✝ j) (f i j hij x) = (g✝ i) x
inst✝¹ : Nonempty ι
inst✝ : IsDirected ι fun x x_1 => x ≤ x_1
injective : ∀ (i : ι) (a : G i), (g✝ i) a = 0 → a = 0
i✝ : ι
g : G i✝
hz : (g✝ i✝) g = 0

⊢ (of G f i✝) g = 0
-- Mathlib/Data/List/Sigma.lean
α : Type u
β : α → Type v
l l₁✝ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
l₁ l₂ : List (Sigma β)
h : a ∉ l₁.keys

⊢ dlookup a (l₁.kunion l₂) = dlookup a l₂
-- .lake/packages/batteries/Batteries/Data/String/Lemmas.lean
l r : List Char

⊢ ValidFor l r { s := { data := l.reverse ++ r }, i := { byteIdx := utf8Len l.reverse } }
-- Mathlib/Order/Atoms.lean
ι : Sort u_1
α✝ : Type u_2
β : Type u_3
inst✝¹ : PartialOrder α✝
α : Type u_4
a b : α
inst✝ : Preorder α

⊢ IsStronglyAtomic αᵒᵈ ↔ IsStronglyCoatomic α
-- Mathlib/Algebra/Periodic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x✝ : α
inst✝¹ : Ring α
inst✝ : InvolutiveNeg β
h : Antiperiodic f c
n : ℤ
x : α

⊢ f (x + (↑n * (2 * c) + c)) = -f x
-- Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean
𝕜 : Type u
ι : Type v
ι' : Type v'
n : ℕ
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
Ei : Fin n.succ → Type wEi
G : Type wG
G' : Type wG'
inst✝¹⁴ : Fintype ι
inst✝¹³ : Fintype ι'
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁷ : (i : ι') → NormedAddCommGroup (E' i)
inst✝⁶ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝⁵ : (i : Fin n.succ) → NormedAddCommGroup (Ei i)
inst✝⁴ : (i : Fin n.succ) → NormedSpace 𝕜 (Ei i)
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f : ContinuousMultilinearMap 𝕜 (fun i => Ei i.castSucc) (Ei (last n) →L[𝕜] G)
m : (i : Fin n) → Ei i.castSucc
x : Ei (last n)

⊢ (f.uncurryRight.curryRight m) x = (f m) x
-- Mathlib/LinearAlgebra/Basis.lean
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁵ : Semiring R
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
inst✝² : AddCommMonoid M'
inst✝¹ : Module R M'
b✝ b₁ : Basis ι R M
i : ι
c : R
x : M
b : Basis ι R M
inst✝ : Nontrivial M

⊢ Nonempty ι
-- Mathlib/LinearAlgebra/Basis.lean
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁵ : Semiring R
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
inst✝² : AddCommMonoid M'
inst✝¹ : Module R M'
b✝ b₁ : Basis ι R M
i : ι
c : R
x✝ : M
b : Basis ι R M
inst✝ : Nontrivial M
x y : M
ne : x ≠ y

⊢ Nonempty ι
-- Mathlib/LinearAlgebra/Basis.lean
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁵ : Semiring R
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
inst✝² : AddCommMonoid M'
inst✝¹ : Module R M'
b✝ b₁ : Basis ι R M
i✝ : ι
c : R
x✝ : M
b : Basis ι R M
inst✝ : Nontrivial M
x y : M
ne : x ≠ y
i : ι
h✝ : ¬(b.repr x) i = (b.repr y) i

⊢ Nonempty ι
-- Mathlib/Data/Fin/Basic.lean
n✝ m n : ℕ
inst✝ : NeZero n
k : Fin n
h : k ≤ 0

⊢ ↑k = ↑0
-- Mathlib/Data/Fin/Basic.lean
n✝ m n : ℕ
inst✝ : NeZero n
k : Fin n
h : k ≤ 0

⊢ 0 = ↑0
-- Mathlib/Data/Fin/Basic.lean
n✝ m n : ℕ
inst✝ : NeZero n

⊢ 0 ≤ 0
-- Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean
X Y Z W : SemiNormedGrp
f : X ⟶ Y
g : Y ⟶ Z
h : Z ⟶ W
cond : f ≫ g = 0
cond2 : g ≫ h = 0

⊢ explicitCokernelDesc cond ≫ h = 0
-- Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean
X Y Z W : SemiNormedGrp
f : X ⟶ Y
g : Y ⟶ Z
h : Z ⟶ W
cond : f ≫ g = 0
cond2 : g ≫ h = 0

⊢ g ≫ h = explicitCokernelπ f ≫ 0
-- Mathlib/Data/Matroid/Dual.lean
α : Type u_1
M : Matroid α
I B X : Set α
hB : M.Base B
hX : autoParam (X ⊆ M.E) _auto✝

⊢ M.Basis (B ∩ X) X ↔ M✶.Basis (M.E \ B ∩ (M.E \ X)) (M.E \ X)
-- Mathlib/Data/Matroid/Dual.lean
α : Type u_1
M : Matroid α
I B X : Set α
hB : M.Base B
hX : autoParam (X ⊆ M.E) _auto✝
h : M✶.Basis (M.E \ B ∩ (M.E \ X)) (M.E \ X)

⊢ M.Basis (B ∩ X) X
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M

⊢ Disjoint ((f.genEigenspace μ₁) k) ((f.genEigenspace μ₂) l)
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R

⊢ Disjoint ((f.genEigenspace μ₁) k) ((f.genEigenspace μ₂) l)
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R

⊢ (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l = ⊥
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l

⊢ p = ⊥
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : ¬p = ⊥

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p
f₁ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₁) ⋯

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p
f₁ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₁) ⋯
f₂ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₂) ⋯

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this✝ : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p
f₁ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₁) ⋯
f₂ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₂) ⋯
this : IsNilpotent (f₂ - f₁)

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this✝ : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p
f₁ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₁) ⋯
f₂ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₂) ⋯
this : IsNilpotent (f₂ - f₁)
hf₁₂ : f₂ - f₁ = (algebraMap R (End R ↥p)) (μ₁ - μ₂)

⊢ False
-- Mathlib/LinearAlgebra/Eigenspace/Basic.lean
K R : Type v
V M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : Field K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : NoZeroSMulDivisors R M
f : End R M
μ₁ μ₂ : R
hμ : μ₁ ≠ μ₂
k l : ℕ
a✝ : Nontrivial M
this✝ : IsReduced R
p : Submodule R M := (f.genEigenspace μ₁) k ⊓ (f.genEigenspace μ₂) l
hp : Nontrivial ↥p
f₁ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₁) ⋯
f₂ : End R ↥p := LinearMap.restrict (f - (algebraMap R (End R M)) μ₂) ⋯
this : μ₁ = μ₂
hf₁₂ : f₂ - f₁ = (algebraMap R (End R ↥p)) (μ₁ - μ₂)

⊢ False
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g

⊢ ∃ k, Partrec k ∧ ∀ (a : α), (∀ x ∈ k a, x ∈ f a ∨ x ∈ g a) ∧ ((k a).Dom ↔ (f a).Dom ∨ (g a).Dom)
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)

⊢ ∃ k, Partrec k ∧ ∀ (a : α), (∀ x ∈ k a, x ∈ f a ∨ x ∈ g a) ∧ ((k a).Dom ↔ (f a).Dom ∨ (g a).Dom)
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)

⊢ ∃ k, Partrec k ∧ ∀ (a : α), (∀ x ∈ k a, x ∈ f a ∨ x ∈ g a) ∧ ((k a).Dom ↔ (f a).Dom ∨ (g a).Dom)
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)
a : α

⊢ (∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a) ∧ ((k' a).Dom ↔ (f a).Dom ∨ (g a).Dom)
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)
a : α
this : ∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a

⊢ (∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a) ∧ ((k' a).Dom ↔ (f a).Dom ∨ (g a).Dom)
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)
a : α
this : ∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a

⊢ (f a).Dom ∨ (g a).Dom → (k' a).Dom
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)
a : α
this : ∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a
h : (f a).Dom ∨ (g a).Dom

⊢ (k' a).Dom
-- Mathlib/Computability/Halting.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f g : α →. σ
hf : Partrec f
hg : Partrec g
k : ℕ →. ℕ
hk : Nat.Partrec k
H : ∀ (a : ℕ), (∀ x ∈ k a, (x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (f a)) ∨ x ∈ (↑(decode₂ α a)).bind fun a => Part.map encode (g a)) ∧ ((k a).Dom ↔ ((↑(decode₂ α a)).bind fun a => Part.map encode (f a)).Dom ∨ ((↑(decode₂ α a)).bind fun a => Part.map encode (g a)).Dom)
k' : α → Part σ := fun a => (k (encode a)).bind fun n => ↑(decode n)
a : α
this : ∀ x ∈ k' a, x ∈ f a ∨ x ∈ g a
h : (f a).Dom ∨ (g a).Dom

⊢ ∃ (h : (k (encode a)).Dom), (↑(decode ((k (encode a)).get h))).Dom