ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/RingTheory/DedekindDomain/Factorization.lean
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v w : HeightOneSpectrum R
hw : w ≠ v
hw_fact : ↑w.asIdeal = spanSingleton R⁰ ((algebraMap R K) 1)⁻¹ * ↑w.asIdeal
hw_ne_zero : ↑w.asIdeal ≠ 0
hv : Irreducible (Associates.mk v.asIdeal)
hw' : Irreducible (Associates.mk w.asIdeal)

⊢ ¬v = w
-- Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean
R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
P : Fin 3 → R
hP : W'.Equation P

⊢ W'.addY P P = 0
-- Mathlib/Topology/Category/TopCat/Opens.lean
X : TopCat
U : Opens ↑X
V : Opens ↥U

⊢ ⋯.functor.obj ((map U.inclusion).obj (⋯.functor.obj V)) = ⋯.functor.obj V
-- Mathlib/Data/Finsupp/Interval.lean
ι : Type u_1
α : Type u_2
inst✝¹ : CanonicallyOrderedAddCommMonoid α
inst✝ : LocallyFiniteOrder α
f : ι →₀ α

⊢ (Iic f).card = ∏ i ∈ f.support, (Iic (f i)).card
-- Mathlib/FieldTheory/SeparableDegree.lean
F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
f : F[X]
n : ℕ
hn : n ≠ 0

⊢ (f ^ n).natSepDegree = f.natSepDegree
-- Mathlib/Algebra/Lie/OfAssociative.lean
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N : LieSubmodule R L M
x : L
m : M
hm : m ∈ ↑N

⊢ ((toEnd R L M) x ∘ₗ (↑N).subtype) ⟨m, hm⟩ ∈ ↑N
-- Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
D : Type u_2
inst✝² : Category.{u_6, u_2} D
e : C ≌ D
inst✝¹ : Precoherent C
A : Type u_3
inst✝ : Category.{u_5, u_3} A
F : Cᵒᵖ ⥤ A

⊢ IsSheaf (coherentTopology C) F ↔ IsSheaf (coherentTopology D) (e.inverse.op ⋙ F)
-- Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
D : Type u_2
inst✝² : Category.{u_6, u_2} D
e : C ≌ D
inst✝¹ : Precoherent C
A : Type u_3
inst✝ : Category.{u_5, u_3} A
F : Cᵒᵖ ⥤ A
hF : IsSheaf (coherentTopology D) (e.inverse.op ⋙ F)

⊢ IsSheaf (coherentTopology C) F
-- Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
D : Type u_2
inst✝² : Category.{u_6, u_2} D
e : C ≌ D
inst✝¹ : Precoherent C
A : Type u_3
inst✝ : Category.{u_5, u_3} A
F : Cᵒᵖ ⥤ A
hF : IsSheaf (coherentTopology D) (e.inverse.op ⋙ F)

⊢ IsSheaf (coherentTopology C) (e.functor.op ⋙ e.inverse.op ⋙ F)
-- Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
D : Type u_2
inst✝² : Category.{u_6, u_2} D
e : C ≌ D
inst✝¹ : Precoherent C
A : Type u_3
inst✝ : Category.{u_5, u_3} A
F : Cᵒᵖ ⥤ A
hF : IsSheaf (coherentTopology D) (e.inverse.op ⋙ F)

⊢ F ≅ e.functor.op ⋙ e.inverse.op ⋙ F
-- Mathlib/Data/Set/Image.lean
α : Type u
β : Type v
f✝ f : α → β
hf : Bijective f
s : Set β
t : Set α

⊢ f ⁻¹' s = t ↔ s = f '' t
-- Mathlib/Tactic/NormNum/Prime.lean
n k k' : ℕ
e : k + 2 = k'
nk : ¬Nat.Prime k
h : MinFacHelper n k

⊢ MinFacHelper n k'
-- Mathlib/Tactic/NormNum/Prime.lean
n k k' : ℕ
e : k + 2 = k'
nk : ¬Nat.Prime k
h : MinFacHelper n k
h2 : n.minFac = k

⊢ False
-- Mathlib/Tactic/NormNum/Prime.lean
n k k' : ℕ
e : k + 2 = k'
nk : ¬Nat.Prime n.minFac
h : MinFacHelper n k
h2 : n.minFac = k

⊢ False
-- Mathlib/NumberTheory/Wilson.lean
n : ℕ
h : n ≠ 1

⊢ Prime n ↔ ↑(n - 1)! = -1
-- Mathlib/NumberTheory/Wilson.lean
n : ℕ
h : n ≠ 1
h1 : Prime n

⊢ ↑(n - 1)! = -1
-- Mathlib/NumberTheory/Wilson.lean
n : ℕ
h : n ≠ 1
h1 : Prime n
this : Fact (Prime n)

⊢ ↑(n - 1)! = -1
-- Mathlib/FieldTheory/Finiteness.lean
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : IsNoetherian K V

⊢ Set.range ⇑(finsetBasis K V) = Basis.ofVectorSpaceIndex K V
-- Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
R : Type u
inst✝² : CommRing R
E : EllipticCurve R
F : Type u
inst✝¹ : Field F
j : F
inst✝ : DecidableEq F
h3 : 3 = 0

⊢ ofJ 0 = ofJ1728 F
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hn : 1 < n

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hi : ∀ m < n, 1 < m → (cyclotomic m R).coeff 0 = 1
hn : 1 < n

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hi : ∀ m < n, 1 < m → (cyclotomic m R).coeff 0 = 1
hn : 1 < n
hprod : ∏ i ∈ n.properDivisors, (cyclotomic i R).coeff 0 = -1

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hi : ∀ m < n, 1 < m → (cyclotomic m R).coeff 0 = 1
hn : 1 < n
hprod : ∏ i ∈ n.properDivisors, (cyclotomic i R).coeff 0 = -1
heq : (X ^ n - 1).coeff 0 = -(cyclotomic n R).coeff 0

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hi : ∀ m < n, 1 < m → (cyclotomic m R).coeff 0 = 1
hn : 1 < n
hprod : ∏ i ∈ n.properDivisors, (cyclotomic i R).coeff 0 = -1
heq : (X ^ n - 1).coeff 0 = -(cyclotomic n R).coeff 0
hzero : (X ^ n - 1).coeff 0 = -1

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean
R : Type u_1
inst✝ : CommRing R
n : ℕ
hi : ∀ m < n, 1 < m → (cyclotomic m R).coeff 0 = 1
hn : 1 < n
hprod : ∏ i ∈ n.properDivisors, (cyclotomic i R).coeff 0 = -1
heq : -1 = -(cyclotomic n R).coeff 0
hzero : (X ^ n - 1).coeff 0 = -1

⊢ (cyclotomic n R).coeff 0 = 1
-- Mathlib/Data/Multiset/Basic.lean
α : Type u_1
β : Type v
γ : Type u_2
s : Multiset α

⊢ s.toList.length = card s
-- Mathlib/GroupTheory/GroupAction/Blocks.lean
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
g : G
hB : IsBlock G B

⊢ IsBlock G (g • B)
-- Mathlib/GroupTheory/GroupAction/Blocks.lean
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
g : G
hB : IsBlock (↥⊤) B

⊢ IsBlock (↥⊤) (g • B)
-- Mathlib/GroupTheory/GroupAction/Blocks.lean
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
g : G
hB : IsBlock (↥⊤) B

⊢ IsBlock (↥(Subgroup.map (↑(MulAut.conj g)) (Subgroup.comap ↑(MulAut.conj g) ⊤))) (g • B)
-- Mathlib/GroupTheory/GroupAction/Blocks.lean
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
g : G
hB : IsBlock (↥⊤) B

⊢ IsBlock (↥(Subgroup.comap ↑(MulAut.conj g) ⊤)) B
-- Mathlib/Algebra/Category/Grp/EpiMono.lean
A B : AddGrp
f : A ⟶ B

⊢ Epi f ↔ Function.Surjective ⇑f
-- Mathlib/Algebra/Category/Grp/EpiMono.lean
A B : AddGrp
f : A ⟶ B
i1 : Epi f ↔ Epi (groupAddGroupEquivalence.inverse.map f)

⊢ Epi f ↔ Function.Surjective ⇑f
-- Mathlib/Algebra/GeomSum.lean
α : Type u
inst✝ : Ring α
x : α
n : ℕ

⊢ 1 - x ∣ 1 - x ^ n
-- Mathlib/Algebra/GeomSum.lean
α : Type u
inst✝ : Ring α
x : α
n : ℕ

⊢ 1 - x ∣ 1 ^ n - x ^ n
-- Mathlib/Data/Real/Sqrt.lean
x y : ℝ

⊢ 1 * 1 = x ↔ x = 1
-- Mathlib/ModelTheory/Types.lean
L : Language
T : L.Theory
α : Type w
p : T.CompleteType α
t : Finset L[[α]].Sentence

⊢ List.foldr (fun x x_1 => x ⊓ x_1) ⊤ t.toList ∈ p ↔ ↑t ⊆ ↑p
-- Mathlib/ModelTheory/Types.lean
L : Language
T : L.Theory
α : Type w
p : T.CompleteType α
t : Finset L[[α]].Sentence

⊢ (∀ (M : ModelType ↑p), ∀ φ ∈ t, φ.Realize default default) ↔ ∀ x ∈ ↑t, ∀ (M : ModelType ↑p), BoundedFormula.Realize x default default
-- Mathlib/Order/PartialSups.lean
α : Type u_1
inst✝ : CompleteLattice α
f g : ℕ → α
h : partialSups f = partialSups g

⊢ ⨆ n, f n = ⨆ n, g n
-- Mathlib/Order/UpperLower/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α

⊢ ↑s = ∅ ↔ s = ⊥
-- Mathlib/Data/Complex/Exponential.lean
x y : ℂ

⊢ cos (2 * x) = 2 * cos x ^ 2 - 1
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r

⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : ENNReal
hzr' : edist c z < r'
hr' : r' < r

⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : edist c z < ↑r'
hr' : ↑r' < r

⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r

⊢ HasSum (fun n => (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c) (f z)
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r

⊢ DifferentiableOn ℂ f (Metric.ball c ↑r')
-- Mathlib/Analysis/Complex/TaylorSeries.lean
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
r : ENNReal
hf : DifferentiableOn ℂ f (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
r' : NNReal
hzr' : z ∈ Metric.ball c ↑r'
hr' : ↑r' < r

⊢ DifferentiableOn ℂ f (EMetric.ball c ↑r')
-- Mathlib/Algebra/Polynomial/UnitTrinomial.lean
q : ℤ[X]
k m n : ℕ
hkm : k < m
hmn : m < n
u v w : ℤˣ

⊢ (trinomial k m n ↑u ↑v ↑w).support.card = 3
-- Mathlib/Analysis/Complex/CauchyIntegral.lean
E : Type u
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
R : ℝ
c w : ℂ
s : Set ℂ
hs : s.Countable
hw : w ∈ ball c R
f : ℂ → ℂ
hc : ContinuousOn f (closedBall c R)
hd : ∀ z ∈ ball c R \ s, DifferentiableAt ℂ f z

⊢ (∮ (z : ℂ) in C(c, R), f z / (z - w)) = 2 * ↑π * I * f w
-- Mathlib/Combinatorics/SetFamily/Shadow.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 : Finset (Finset α)
s t : Finset α
a : α
k r : ℕ
h : ∅ ∉ 𝒜

⊢ Set.Sized r ↑(∂ 𝒜) ↔ Set.Sized (r + 1) ↑𝒜
-- Mathlib/Combinatorics/SetFamily/Shadow.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 : Finset (Finset α)
s✝ t : Finset α
a : α
k r : ℕ
h : ∅ ∉ 𝒜
h𝒜 : Set.Sized r ↑(∂ 𝒜)
s : Finset α
hs : s ∈ ↑𝒜

⊢ s.card = r + 1
-- Mathlib/Combinatorics/SetFamily/Shadow.lean
α : Type u_1
inst✝ : DecidableEq α
𝒜 : Finset (Finset α)
s✝ t : Finset α
a✝ : α
k r : ℕ
h : ∅ ∉ 𝒜
h𝒜 : Set.Sized r ↑(∂ 𝒜)
s : Finset α
hs : s ∈ ↑𝒜
a : α
ha : a ∈ s

⊢ s.card = r + 1
-- Mathlib/Data/Matroid/Constructions.lean
α : Type u_1
M✝ : Matroid α
E B I X R J : Set α
inst✝ : IsEmpty α
M : Matroid α

⊢ M = emptyOn α
-- Mathlib/Data/Matroid/Constructions.lean
α : Type u_1
M✝ : Matroid α
E B I X R J : Set α
inst✝ : IsEmpty α
M : Matroid α

⊢ M.E = ∅
-- Mathlib/CategoryTheory/Monad/Monadicity.lean
C : Type u₁
D : Type u₂
inst✝² : Category.{v₁, u₁} C
inst✝¹ : Category.{v₁, u₂} D
G : D ⥤ C
F : C ⥤ D
adj : F ⊣ G
A : adj.toMonad.Algebra
inst✝ : HasCoequalizer (F.map A.a) (adj.counit.app (F.obj A.A))

⊢ G.map (F.map A.a) ≫ G.map (coequalizer.π (F.map A.a) (adj.counit.app (F.obj A.A))) = G.map (adj.counit.app (F.obj A.A)) ≫ G.map (coequalizer.π (F.map A.a) (adj.counit.app (F.obj A.A)))
-- .lake/packages/batteries/Batteries/Data/String/Lemmas.lean
l r : List Char

⊢ { s := { data := l.reverseAux r }, i := { byteIdx := utf8Len l } }.remainingBytes = utf8Len r
-- Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean
f g : CircleDeg1Lift
x : ℝ

⊢ ↑⌊τ f⌋ ≤ τ f
-- Mathlib/Topology/Algebra/Module/LocallyConvex.lean
ι : Sort u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : Module 𝕜 E
inst✝¹ : AddCommMonoid F
inst✝ : Module 𝕜 F
t₁ t₂ : TopologicalSpace E
h₁ : LocallyConvexSpace 𝕜 E
h₂ : LocallyConvexSpace 𝕜 E

⊢ LocallyConvexSpace 𝕜 E
-- Mathlib/Topology/Algebra/Module/LocallyConvex.lean
ι : Sort u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : Module 𝕜 E
inst✝¹ : AddCommMonoid F
inst✝ : Module 𝕜 F
t₁ t₂ : TopologicalSpace E
h₁ : LocallyConvexSpace 𝕜 E
h₂ : LocallyConvexSpace 𝕜 E
b : Bool

⊢ LocallyConvexSpace 𝕜 E
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ

⊢ Monoid.exponent (QuaternionGroup n) = 2 * lcm n 2
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ

⊢ Monoid.exponent (QuaternionGroup n) = lcm (2 * n) (2 * 2)
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ

⊢ Monoid.exponent (QuaternionGroup n) = lcm (2 * n) 4
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ
hn : n = 0

⊢ Monoid.exponent (QuaternionGroup n) = lcm (2 * n) 4
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ
hn : NeZero n

⊢ Monoid.exponent (QuaternionGroup n) = lcm (2 * n) 4
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ
hn : NeZero n

⊢ Monoid.exponent (QuaternionGroup n) ∣ lcm (2 * n) 4
-- Mathlib/GroupTheory/SpecificGroups/Quaternion.lean
n : ℕ
hn : NeZero n

⊢ lcm (2 * n) 4 ∣ Monoid.exponent (QuaternionGroup n)
-- Mathlib/RingTheory/DedekindDomain/Factorization.lean
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : I ≠ 0

⊢ count K v I = ↑((Associates.mk v.asIdeal).count (Associates.mk (choose ⋯)).factors) - ↑((Associates.mk v.asIdeal).count (Associates.mk (Ideal.span {choose ⋯})).factors)
-- Mathlib/Data/Finset/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ s₁ s₂ t✝ t₁ t₂ u v : Finset α
a b : α
s t : Finset α

⊢ s ∩ (t ∪ s) = s
-- Mathlib/RingTheory/Noetherian.lean
R : Type u_1
M : Type u_2
P : Type u_3
N : Type w
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : AddCommMonoid N
inst✝² : Module R N
inst✝¹ : AddCommMonoid P
inst✝ : Module R P

⊢ IsNoetherian R M ↔ WellFounded fun x x_1 => x > x_1
-- Mathlib/RingTheory/Noetherian.lean
R : Type u_1
M : Type u_2
P : Type u_3
N : Type w
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : AddCommMonoid N
inst✝² : Module R N
inst✝¹ : AddCommMonoid P
inst✝ : Module R P
this : (WellFounded fun x x_1 => x > x_1) ↔ ∀ (k : Submodule R M), CompleteLattice.IsCompactElement k

⊢ IsNoetherian R M ↔ WellFounded fun x x_1 => x > x_1
-- Mathlib/RingTheory/Noetherian.lean
R : Type u_1
M : Type u_2
P : Type u_3
N : Type w
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : AddCommMonoid N
inst✝² : Module R N
inst✝¹ : AddCommMonoid P
inst✝ : Module R P
this : (WellFounded fun x x_1 => x > x_1) ↔ ∀ (k : Submodule R M), CompleteLattice.IsCompactElement k

⊢ IsNoetherian R M ↔ ∀ (k : Submodule R M), CompleteLattice.IsCompactElement k
-- .lake/packages/batteries/Batteries/Data/String/Lemmas.lean
α : Type u_1
f : Char → α → α
s : String
a : α

⊢ foldr f a s = List.foldr f a s.data
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q r : R[X]
hm : p.Monic
hpu : IsUnit p
a✝ : Nontrivial R

⊢ p = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q✝ r : R[X]
hm : p.Monic
hpu : IsUnit p
a✝ : Nontrivial R
q : R[X]
h : p * q = 1

⊢ p = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q✝ r : R[X]
hm : p.Monic
hpu : IsUnit p
a✝ : Nontrivial R
q : R[X]
h : p * q = 1
this : (p * q).natDegree = p.natDegree + q.natDegree

⊢ p = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q✝ r : R[X]
hm : p.Monic
hpu : IsUnit p
a✝ : Nontrivial R
q : R[X]
h : p * q = 1
this : p.natDegree = 0 ∧ q.natDegree = 0

⊢ p = 1
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean
x✝ y✝ x y : ℝ
hx : x ∈ Icc (-(π / 2)) (π / 2)
hy : y ∈ Icc (-1) 1

⊢ x ≤ arcsin y ↔ sin x ≤ y
-- Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean
q : ℝ
hq' : 1 < q

⊢ eval q (cyclotomic 1 ℝ) ≤ (q + 1) ^ φ 1
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1

⊢ ofInt' ↑0 = 0
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1

⊢ (Num.ofNat' 0).toZNum = 0
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1
a : PosNum

⊢ ofInt' ↑(pos a) = pos a
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1
a : PosNum

⊢ (Num.pos a).toZNum = pos a
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1
a : PosNum

⊢ ofInt' ↑(neg a) = neg a
-- Mathlib/Data/Num/Lemmas.lean
α : Type u_1
a : PosNum

⊢ -(Num.pos a).toZNum = neg a
-- Mathlib/Algebra/Polynomial/Derivative.lean
R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommSemiring R
c : R

⊢ derivative ((X + C c) ^ 2) = C 2 * (X + C c)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this : IsCompact s

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝ : IsCompact s
this : MetricSpace (Subtype s) := inferInstance

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝¹ : IsCompact s
this✝ : MetricSpace (Subtype s) := inferInstance
this : CompactSpace (Subtype s)

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝² : IsCompact s
this✝¹ : MetricSpace (Subtype s) := inferInstance
this✝ : CompactSpace (Subtype s)
this : Nonempty (Subtype s)

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝² : IsCompact s
this✝¹ : MetricSpace (Subtype s) := inferInstance
this✝ : CompactSpace (Subtype s)
this : Nonempty (Subtype s)
ΦΦ' : Φ = Subtype.val ∘ Φ'

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝² : IsCompact s
this✝¹ : MetricSpace (Subtype s) := inferInstance
this✝ : CompactSpace (Subtype s)
this : Nonempty (Subtype s)
ΦΦ' : Φ = Subtype.val ∘ Φ'
ΨΨ' : Ψ = Subtype.val ∘ Ψ'

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)
-- Mathlib/Topology/MetricSpace/GromovHausdorff.lean
X : Type u
inst✝⁶ : MetricSpace X
inst✝⁵ : CompactSpace X
inst✝⁴ : Nonempty X
Y : Type v
inst✝³ : MetricSpace Y
inst✝² : CompactSpace Y
inst✝¹ : Nonempty Y
γ : Type w
inst✝ : MetricSpace γ
Φ : X → γ
Ψ : Y → γ
ha : Isometry Φ
hb : Isometry Ψ
xX : X
h✝ : xX ∈ univ
s : Set γ := range Φ ∪ range Ψ
Φ' : X → Subtype s := fun y => ⟨Φ y, ⋯⟩
Ψ' : Y → Subtype s := fun y => ⟨Ψ y, ⋯⟩
IΦ' : Isometry Φ'
IΨ' : Isometry Ψ'
this✝³ : IsCompact s
this✝² : MetricSpace (Subtype s) := inferInstance
this✝¹ : CompactSpace (Subtype s)
this✝ : Nonempty (Subtype s)
ΦΦ' : Φ = Subtype.val ∘ Φ'
ΨΨ' : Ψ = Subtype.val ∘ Ψ'
this : hausdorffDist (range Φ) (range Ψ) = hausdorffDist (range Φ') (range Ψ')

⊢ ghDist X Y ≤ hausdorffDist (range Φ) (range Ψ)