ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Order/Partition/Finpartition.lean
α : Type u_1
inst✝ : DecidableEq α
s t u : Finset α
P : Finpartition s
a : α
ha : a ∈ s

⊢ ∃! t, t ∈ P.parts ∧ a ∈ t
-- Mathlib/Order/Partition/Finpartition.lean
α : Type u_1
inst✝ : DecidableEq α
s t✝ u : Finset α
P : Finpartition s
a : α
ha : a ∈ s
t : Finset α
ht : t ∈ P.parts
ht' : a ∈ t

⊢ ∃! t, t ∈ P.parts ∧ a ∈ t
-- Mathlib/Order/Partition/Finpartition.lean
α : Type u_1
inst✝ : DecidableEq α
s t✝ u✝ : Finset α
P : Finpartition s
a : α
ha : a ∈ s
t : Finset α
ht : t ∈ P.parts
ht' : a ∈ t
u : Finset α
hu : u ∈ P.parts
hu' : a ∈ u

⊢ u = t
-- Mathlib/FieldTheory/KummerExtension.lean
K : Type u
inst✝ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
σ : K[n√a] ≃ₐ[K] K[n√a]
this : Fact (Irreducible (X ^ n - C a))

⊢ ↑((autAdjoinRootXPowSubCEquiv hζ hn H).symm σ) • root (X ^ n - C a) = σ (root (X ^ n - C a))
-- Mathlib/FieldTheory/KummerExtension.lean
K : Type u
inst✝ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
σ : K[n√a] ≃ₐ[K] K[n√a]
this : Fact (Irreducible (X ^ n - C a))

⊢ (if a = 0 then 1 else σ (root (X ^ n - C a)) / root (X ^ n - C a)) * root (X ^ n - C a) = σ (root (X ^ n - C a))
-- Mathlib/FieldTheory/KummerExtension.lean
K : Type u
inst✝ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
σ : K[n√a] ≃ₐ[K] K[n√a]
this : Fact (Irreducible (X ^ n - C a))

⊢ (if root (X ^ n - C a) = 0 then 1 else σ (root (X ^ n - C a)) / root (X ^ n - C a)) * root (X ^ n - C a) = σ (root (X ^ n - C a))
-- Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : Preadditive D
K : CochainComplex C ℤ
a b ab : ℤ
h : a + b = ab
n : ℤ

⊢ n + ab = n + b + a
-- Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : Preadditive D
K : CochainComplex C ℤ
a b n : ℤ

⊢ ((CategoryTheory.shiftFunctorAdd' (CochainComplex C ℤ) a b (a + b) ⋯).hom.app K).f n = (XIsoOfEq K ⋯).hom
-- Mathlib/Topology/PartitionOfUnity.lean
ι : Type u
X : Type v
inst✝⁶ : TopologicalSpace X
E : Type u_1
inst✝⁵ : AddCommMonoid E
inst✝⁴ : SMulWithZero ℝ E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousSMul ℝ E
s✝ : Set X
f : PartitionOfUnity ι X s✝
s : Set X
ρ : PartitionOfUnity ι X s
x₀✝ x₀ : X
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module ℝ M
φ : ι → X → M

⊢ ∑ i ∈ ρ.finsupport x₀, (ρ i) x₀ • φ i x₀ = ∑ᶠ (i : ι), (ρ i) x₀ • φ i x₀
-- Mathlib/Topology/PartitionOfUnity.lean
ι : Type u
X : Type v
inst✝⁶ : TopologicalSpace X
E : Type u_1
inst✝⁵ : AddCommMonoid E
inst✝⁴ : SMulWithZero ℝ E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousSMul ℝ E
s✝ : Set X
f : PartitionOfUnity ι X s✝
s : Set X
ρ : PartitionOfUnity ι X s
x₀✝ x₀ : X
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module ℝ M
φ : ι → X → M

⊢ (support fun i => (ρ i) x₀ • φ i x₀) ⊆ ↑(ρ.finsupport x₀)
-- Mathlib/Topology/PartitionOfUnity.lean
ι : Type u
X : Type v
inst✝⁶ : TopologicalSpace X
E : Type u_1
inst✝⁵ : AddCommMonoid E
inst✝⁴ : SMulWithZero ℝ E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousSMul ℝ E
s✝ : Set X
f : PartitionOfUnity ι X s✝
s : Set X
ρ : PartitionOfUnity ι X s
x₀✝ x₀ : X
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module ℝ M
φ : ι → X → M
this : (fun i => (ρ i) x₀ • φ i x₀) = (fun i => (ρ i) x₀) • fun i => φ i x₀

⊢ (support fun i => (ρ i) x₀ • φ i x₀) ⊆ ↑(ρ.finsupport x₀)
-- Mathlib/Topology/PartitionOfUnity.lean
ι : Type u
X : Type v
inst✝⁶ : TopologicalSpace X
E : Type u_1
inst✝⁵ : AddCommMonoid E
inst✝⁴ : SMulWithZero ℝ E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousSMul ℝ E
s✝ : Set X
f : PartitionOfUnity ι X s✝
s : Set X
ρ : PartitionOfUnity ι X s
x₀✝ x₀ : X
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module ℝ M
φ : ι → X → M
this : (fun i => (ρ i) x₀ • φ i x₀) = (fun i => (ρ i) x₀) • fun i => φ i x₀

⊢ ((support fun i => (ρ i) x₀) ∩ support fun i => φ i x₀) ⊆ support fun i => (ρ i) x₀
-- Mathlib/Data/Matrix/Basis.lean
l : Type u_1
m : Type u_2
n : Type u_3
R : Type u_4
α : Type u_5
inst✝⁴ : DecidableEq l
inst✝³ : DecidableEq m
inst✝² : DecidableEq n
inst✝¹ : Semiring α
inst✝ : Fintype m
i : n
j : m
c : α
x : m → α
i' : n

⊢ (∑ x_1 : m, if i = i' ∧ j = x_1 then c * x x_1 else 0) = Function.update 0 i (c * x j) i'
-- Mathlib/Data/Matrix/Basis.lean
l : Type u_1
m : Type u_2
n : Type u_3
R : Type u_4
α : Type u_5
inst✝⁴ : DecidableEq l
inst✝³ : DecidableEq m
inst✝² : DecidableEq n
inst✝¹ : Semiring α
inst✝ : Fintype m
i : n
j : m
c : α
x : m → α

⊢ (∑ x_1 : m, if i = i ∧ j = x_1 then c * x x_1 else 0) = Function.update 0 i (c * x j) i
-- Mathlib/Data/Matrix/Basis.lean
l : Type u_1
m : Type u_2
n : Type u_3
R : Type u_4
α : Type u_5
inst✝⁴ : DecidableEq l
inst✝³ : DecidableEq m
inst✝² : DecidableEq n
inst✝¹ : Semiring α
inst✝ : Fintype m
i : n
j : m
c : α
x : m → α
i' : n
h : i ≠ i'

⊢ (∑ x_1 : m, if i = i' ∧ j = x_1 then c * x x_1 else 0) = Function.update 0 i (c * x j) i'
-- Mathlib/Data/Matrix/Basic.lean
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : Semiring α
inst✝¹ : DecidableEq n
inst✝ : Fintype n
r : α
M : Matrix n n α

⊢ Commute ((scalar n) r) M ↔ r • M = MulOpposite.op r • M
-- Mathlib/Combinatorics/SetFamily/Compression/Down.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 ℬ : Finset (Finset α)
s : Finset α
a : α
hs : s ∈ 𝒜

⊢ s.erase a ∈ 𝓓 a 𝒜
-- Mathlib/Combinatorics/SetFamily/Compression/Down.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 ℬ : Finset (Finset α)
s : Finset α
a : α
hs : s ∈ 𝒜

⊢ s.erase a ∈ 𝒜 ∨ s.erase a ∉ 𝒜 ∧ insert a (s.erase a) ∈ 𝒜
-- Mathlib/Combinatorics/SetFamily/Compression/Down.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 ℬ : Finset (Finset α)
s : Finset α
a : α
hs : s ∈ 𝒜
h : s.erase a ∉ 𝒜

⊢ insert a (s.erase a) ∈ 𝒜
-- Mathlib/Data/Nat/Factorization/Defs.lean
a✝ b✝ m n p a b : ℕ
hab : a.Coprime b
q : ℕ

⊢ (a * b).factorization q = (a.factorization + b.factorization) q
-- Mathlib/Logic/Equiv/PartialEquiv.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
e✝ : PartialEquiv α β
e'✝ : PartialEquiv β γ
η : Type u_5
ε : Type u_6
e : PartialEquiv α β
f : PartialEquiv β γ
e' : PartialEquiv δ η
f' : PartialEquiv η ε

⊢ (e.prod e').trans (f.prod f') = (e.trans f).prod (e'.trans f')
-- Mathlib/Logic/Equiv/PartialEquiv.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
e✝ : PartialEquiv α β
e'✝ : PartialEquiv β γ
η : Type u_5
ε : Type u_6
e : PartialEquiv α β
f : PartialEquiv β γ
e' : PartialEquiv δ η
f' : PartialEquiv η ε
x : α
y : δ

⊢ (x ∈ e.source ∧ y ∈ e'.source) ∧ ↑e x ∈ f.source ∧ ↑e' y ∈ f'.source ↔ (x ∈ e.source ∧ ↑e x ∈ f.source) ∧ y ∈ e'.source ∧ ↑e' y ∈ f'.source
-- Mathlib/MeasureTheory/Integral/TorusIntegral.lean
n : ℕ
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f✝ g : (Fin n → ℂ) → E
c✝ : Fin n → ℂ
R✝ : Fin n → ℝ
f : (Fin (n + 1) → ℂ) → E
c : Fin (n + 1) → ℂ
R : Fin (n + 1) → ℝ
hf : TorusIntegrable f c R

⊢ (∯ (x : Fin (n + 1) → ℂ) in T(c, R), f x) = ∮ (x : ℂ) in C(c 0, R 0), ∯ (y : Fin n → ℂ) in T(c ∘ Fin.succ, R ∘ Fin.succ), f (Fin.cons x y)
-- Mathlib/RingTheory/FractionalIdeal/Operations.lean
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I✝ J : FractionalIdeal S P
g : P →ₐ[R] P'
I : FractionalIdeal S P'
x : P

⊢ x ∈ (canonicalEquiv S P P').symm I ↔ x ∈ (canonicalEquiv S P' P) I
-- Mathlib/RingTheory/FractionalIdeal/Operations.lean
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I✝ J : FractionalIdeal S P
g : P →ₐ[R] P'
I : FractionalIdeal S P'
x : P

⊢ (∃ x_1 ∈ I, ↑(let __src := ringEquivOfRingEquiv P P' (RingEquiv.refl R) ⋯; { toEquiv := __src.toEquiv, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }).symm x_1 = x) ↔ ∃ y ∈ I, (IsLocalization.map P (RingHom.id R) ⋯) y = x
-- Mathlib/Topology/Algebra/InfiniteSum/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : CommMonoid α
inst✝ : TopologicalSpace α
f✝ g : β → α
a b : α
s✝ : Finset β
s : Set β
hs : s.Finite
f : β → α

⊢ Multipliable (f ∘ Subtype.val)
-- Mathlib/Topology/Algebra/InfiniteSum/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : CommMonoid α
inst✝ : TopologicalSpace α
f✝ g : β → α
a b : α
s✝ : Finset β
s : Set β
hs : s.Finite
f : β → α
this : Multipliable (f ∘ Subtype.val)

⊢ Multipliable (f ∘ Subtype.val)
-- Mathlib/Algebra/Group/Support.lean
α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
f : α → M
s : Set α

⊢ mulSupport f = s ↔ (∀ x ∈ s, f x ≠ 1) ∧ ∀ x ∉ s, f x = 1
-- Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
K L M : CochainComplex C ℤ
n : ℤ
γ γ₁ γ₂ : Cochain K L n
a : ℤ

⊢ (shiftAddHom K L n a) (-γ) = -γ.shift a
-- Mathlib/Order/Filter/Basic.lean
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f✝ f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
f : α → β
F : Filter β
x : α

⊢ x ∈ ⋂₀ (comap f F).sets ↔ x ∈ ⋂ U ∈ F, f ⁻¹' U
-- Mathlib/Order/Filter/Basic.lean
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f✝ f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
f : α → β
F : Filter β
x : α

⊢ (∀ (A : Set α), ∀ B ∈ F, f ⁻¹' B ⊆ A → x ∈ A) ↔ ∀ B ∈ F, f x ∈ B
-- Mathlib/Analysis/Analytic/CPolynomial.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x✝ : E
r r' : ℝ≥0∞
n m : ℕ
x y : E

⊢ IsOpen {x | CPolynomialAt 𝕜 f x}
-- Mathlib/Analysis/Analytic/CPolynomial.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x✝ : E
r r' : ℝ≥0∞
n m : ℕ
x y : E

⊢ ∀ x ∈ {x | CPolynomialAt 𝕜 f x}, {x | CPolynomialAt 𝕜 f x} ∈ 𝓝 x
-- Mathlib/Analysis/Analytic/CPolynomial.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p✝ pf pg : FormalMultilinearSeries 𝕜 E F
x✝¹ : E
r✝ r' : ℝ≥0∞
n✝ m : ℕ
x✝ y x : E
p : FormalMultilinearSeries 𝕜 E F
n : ℕ
r : ℝ≥0∞
hr : HasFiniteFPowerSeriesOnBall f p x n r

⊢ {x | CPolynomialAt 𝕜 f x} ∈ 𝓝 x
-- Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean
V : Type u_1
R : Type u_2
inst✝³ : Fintype V
inst✝² : DecidableEq V
G : SimpleGraph V
inst✝¹ : DecidableRel G.Adj
inst✝ : NonAssocRing R
v : V
vec : V → R

⊢ (lapMatrix R G *ᵥ vec) v = ↑(G.degree v) * vec v - ∑ u ∈ G.neighborFinset v, vec u
-- Mathlib/RingTheory/WittVector/Verschiebung.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
x : 𝕎 R
n : ℕ

⊢ (ghostComponent (n + 1)) x.verschiebungFun = ↑p * (ghostComponent n) x
-- Mathlib/RingTheory/WittVector/Verschiebung.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
x : 𝕎 R
n : ℕ

⊢ ∑ i ∈ Finset.range (n + 1 + 1), ↑p ^ i * x.verschiebungFun.coeff i ^ p ^ (n + 1 - i) = ↑p * ∑ i ∈ Finset.range (n + 1), ↑p ^ i * x.coeff i ^ p ^ (n - i)
-- Mathlib/RingTheory/WittVector/Verschiebung.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
x : 𝕎 R
n : ℕ

⊢ ∀ x_1 ∈ Finset.range (n + 1), ↑p ^ (x_1 + 1) * x.verschiebungFun.coeff (x_1 + 1) ^ p ^ (n + 1 - (x_1 + 1)) = ↑p * (↑p ^ x_1 * x.coeff x_1 ^ p ^ (n - x_1))
-- Mathlib/RingTheory/WittVector/Verschiebung.lean
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
x : 𝕎 R
n i : ℕ

⊢ ↑p ^ (i + 1) * x.verschiebungFun.coeff (i + 1) ^ p ^ (n + 1 - (i + 1)) = ↑p * (↑p ^ i * x.coeff i ^ p ^ (n - i))
-- Mathlib/Topology/UniformSpace/Basic.lean
α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
p : ι → Prop
U : ι → Set (α × α)
h : (𝓤 α).HasBasis p U
s : Set α
x : α

⊢ x ∈ ⋂ i, ⋂ (_ : p i), ⋃ x ∈ s, ball x (U i) ↔ x ∈ closure s
-- Mathlib/RingTheory/AdjoinRoot.lean
R : Type u
S : Type v
K : Type w
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : Algebra R S
x : S
a : AdjoinRoot (minpoly R x)

⊢ (aeval ⟨x, ⋯⟩) (minpoly R x) = 0
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)

⊢ coroot k = (preReflection α' (p.toLin α)) β'
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα

⊢ coroot k = (preReflection α' (p.toLin α)) β'
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0

⊢ coroot k = (preReflection α' (p.toLin α)) β'
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)

⊢ coroot k = (preReflection α' (p.toLin α)) β'
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)

⊢ coroot k = coroot l
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)
hkl : (p.toLin.flip (coroot l)) (root k) = 2

⊢ coroot k = coroot l
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)
hkl : (p.toLin.flip (coroot l)) (root k) = 2

⊢ p.toLin.flip (coroot k) = p.toLin.flip (coroot l)
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)
hkl : (p.toLin.flip (coroot l)) (root k) = 2
_i : NoZeroSMulDivisors ℤ M

⊢ p.toLin.flip (coroot k) = p.toLin.flip (coroot l)
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)
hkl : (p.toLin.flip (coroot l)) (root k) = 2
_i : NoZeroSMulDivisors ℤ M
this : InjOn (⇑(span R (range ⇑root)).subtype.dualMap) (range (⇑p.toLin.flip ∘ ⇑coroot))

⊢ p.toLin.flip (coroot k) = p.toLin.flip (coroot l)
-- Mathlib/LinearAlgebra/RootSystem/Basic.lean
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : AddCommGroup M
inst✝⁵ : Module R M
inst✝⁴ : AddCommGroup N
inst✝³ : Module R N
inst✝² : _root_.Finite ι
P : RootPairing ι R M N
i✝ j✝ : ι
inst✝¹ : CharZero R
inst✝ : NoZeroSMulDivisors R M
p : PerfectPairing R M N
root : ι ↪ M
coroot : ι ↪ N
hp : ∀ (i : ι), (p.toLin (root i)) (coroot i) = 2
hr : ∀ (i : ι), MapsTo (⇑(preReflection (root i) (p.toLin.flip (coroot i)))) (range ⇑root) (range ⇑root)
hc : ∀ (i : ι), MapsTo (⇑(preReflection (coroot i) (p.toLin (root i)))) (range ⇑coroot) (range ⇑coroot)
i j k : ι
α : M := root i
β : M := root j
α' : N := coroot i
β' : N := coroot j
sα : End R M := preReflection α (p.toLin.flip α')
hk : root k = sα β
sβ : End R M := preReflection β (p.toLin.flip β')
sα' : End R N := preReflection α' (p.toLin α)
hij : preReflection (sα β) (p.toLin.flip (sα' β')) = sα ∘ₗ sβ ∘ₗ sα
hk₀ : root k ≠ 0
l : ι
hl : coroot l = (preReflection (coroot i) (p.toLin (root i))) (coroot j)
hkl : (p.toLin.flip (coroot l)) (root k) = 2
_i : NoZeroSMulDivisors ℤ M
this : InjOn (⇑(span R (range ⇑root)).subtype.dualMap) (range (⇑p.toLin.flip ∘ ⇑coroot))

⊢ (span R (range ⇑root)).subtype.dualMap ((⇑p.toLin.flip ∘ ⇑coroot) k) = (span R (range ⇑root)).subtype.dualMap ((⇑p.toLin.flip ∘ ⇑coroot) l)