ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
inst✝ : CommRing R
a b x✝ y✝ : R
p : ℕ
hp : Prime ↑p
hp1 : Odd p
x y : ℤ
hxy : ↑p ∣ x - y
hx : ¬↑p ∣ x
n : ℕ
h : (multiplicity p (n + 1)).Dom
hpn : ¬p ^ ((multiplicity p (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = p ^ (multiplicity p (n + 1)).get h * k

⊢ multiplicity (↑p) ((x ^ p ^ (multiplicity p (n + 1)).get h) ^ k - (y ^ p ^ (multiplicity p (n + 1)).get h) ^ k) = multiplicity (↑p) (x - y) + multiplicity p (n + 1)
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
inst✝ : CommRing R
a b x✝ y✝ : R
p : ℕ
hp : Prime ↑p
hp1 : Odd p
x y : ℤ
hxy : ↑p ∣ x - y
hx : ¬↑p ∣ x
n : ℕ
h : (multiplicity p (n + 1)).Dom
hpn : ¬p ^ ((multiplicity p (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = p ^ (multiplicity p (n + 1)).get h * k

⊢ ↑p ∣ x ^ p ^ (multiplicity p (n + 1)).get h - y ^ p ^ (multiplicity p (n + 1)).get h
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
inst✝ : CommRing R
a b x✝ y✝ : R
p : ℕ
hp : Prime ↑p
hp1 : Odd p
x y : ℤ
hxy : ↑p ∣ x - y
hx : ¬↑p ∣ x
n : ℕ
h : (multiplicity p (n + 1)).Dom
hpn : ¬p ^ ((multiplicity p (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = p ^ (multiplicity p (n + 1)).get h * k

⊢ ¬↑p ∣ x ^ p ^ (multiplicity p (n + 1)).get h
-- Mathlib/NumberTheory/Multiplicity.lean
R : Type u_1
n✝ : ℕ
inst✝ : CommRing R
a b x✝ y✝ : R
p : ℕ
hp : Prime ↑p
hp1 : Odd p
x y : ℤ
hxy : ↑p ∣ x - y
hx : ¬↑p ∣ x
n : ℕ
h : (multiplicity p (n + 1)).Dom
hpn : ¬p ^ ((multiplicity p (n + 1)).get h + 1) ∣ n + 1
k : ℕ
hk : n + 1 = p ^ (multiplicity p (n + 1)).get h * k

⊢ ¬↑p ∣ ↑k
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A

⊢ (toFunAlgHom R A n) (invFun R A n M) = M
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A

⊢ ∑ x : n × n, M x.1 x.2 • (stdBasisMatrix x.1 x.2 1).map ⇑(algebraMap R A) = M
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A

⊢ M = ∑ x : n, ∑ y : n, M (x, y).1 (x, y).2 • (stdBasisMatrix (x, y).1 (x, y).2 1).map ⇑(algebraMap R A)
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A

⊢ ∑ i : n, ∑ j : n, stdBasisMatrix i j (M i j) = ∑ x : n, ∑ y : n, M (x, y).1 (x, y).2 • (stdBasisMatrix (x, y).1 (x, y).2 1).map ⇑(algebraMap R A)
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A
i : n
x✝¹ : i ∈ Finset.univ
j : n
x✝ : j ∈ Finset.univ
a b : n

⊢ stdBasisMatrix i j (M i j) a b = (M (i, j).1 (i, j).2 • (stdBasisMatrix (i, j).1 (i, j).2 1).map ⇑(algebraMap R A)) a b
-- Mathlib/RingTheory/MatrixAlgebra.lean
R : Type u
inst✝⁴ : CommSemiring R
A : Type v
inst✝³ : Semiring A
inst✝² : Algebra R A
n : Type w
inst✝¹ : DecidableEq n
inst✝ : Fintype n
M : Matrix n n A
i : n
x✝¹ : i ∈ Finset.univ
j : n
x✝ : j ∈ Finset.univ
a b : n

⊢ (if i = a ∧ j = b then M i j else 0) = M i j • (algebraMap R A) (if i = a ∧ j = b then 1 else 0)
-- Mathlib/Data/Finite/Card.lean
α✝ : Type u_1
β : Type u_2
γ : Type u_3
α : Type u_4

⊢ Nat.card α = if h : Finite α then Fintype.card α else 0
-- Mathlib/Data/Finite/Card.lean
α✝ : Type u_1
β : Type u_2
γ : Type u_3
α : Type u_4
h✝ : Finite α

⊢ Nat.card α = if h : Finite α then Fintype.card α else 0
-- Mathlib/Data/Finite/Card.lean
α✝ : Type u_1
β : Type u_2
γ : Type u_3
α : Type u_4
h✝ : Infinite α

⊢ Nat.card α = if h : Finite α then Fintype.card α else 0
-- Mathlib/Algebra/Order/Archimedean.lean
α : Type u_1
M : Type u_2
inst✝² : StrictOrderedSemiring α
inst✝¹ : Archimedean α
y : α
inst✝ : ExistsAddOfLE α
x : α
hy1 : 1 < y

⊢ ∃ n, x < y ^ n
-- Mathlib/Algebra/Order/Archimedean.lean
α : Type u_1
M : Type u_2
inst✝² : StrictOrderedSemiring α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x z : α
hz : 0 < z
hy1 : 1 < 1 + z

⊢ ∃ n, x < (1 + z) ^ n
-- Mathlib/Algebra/Order/Archimedean.lean
α : Type u_1
M : Type u_2
inst✝² : StrictOrderedSemiring α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x z : α
hz : 0 < z
hy1 : 1 < 1 + z

⊢ ∃ n, x < (z + 1) ^ n
-- Mathlib/CategoryTheory/Shift/Pullback.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
A : Type u_2
B : Type u_3
inst✝² : AddMonoid A
inst✝¹ : AddMonoid B
φ : A →+ B
inst✝ : HasShift C B
X : PullbackShift C φ
a₁ a₂ a₃ : A
h : a₁ + a₂ = a₃
b₁ b₂ b₃ : B
h₁ : b₁ = φ a₁
h₂ : b₂ = φ a₂
h₃ : b₃ = φ a₃

⊢ (shiftFunctorZero (PullbackShift C φ) A).hom.app X = (pullbackShiftIso C φ 0 0 ⋯).hom.app X ≫ (shiftFunctorZero C B).hom.app X
-- Mathlib/CategoryTheory/Shift/Pullback.lean
C : Type u_1
inst✝³ : Category.{u_4, u_1} C
A : Type u_2
B : Type u_3
inst✝² : AddMonoid A
inst✝¹ : AddMonoid B
φ : A →+ B
inst✝ : HasShift C B
X : PullbackShift C φ
a₁ a₂ a₃ : A
h : a₁ + a₂ = a₃
b₁ b₂ b₃ : B
h₁ : b₁ = φ a₁
h₂ : b₂ = φ a₂
h₃ : b₃ = φ a₃

⊢ 𝟙 ((𝟭 (PullbackShift C φ)).obj X) = 𝟙 ((𝟭 C).obj X)
-- Mathlib/Data/Finset/Prod.lean
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
a : α

⊢ (insert a s).diag = insert (a, a) s.diag
-- Mathlib/GroupTheory/Exponent.lean
G : Type u
inst✝ : Monoid G
h : ∀ (g : G), 0 < orderOf g

⊢ exponent G = 0 ↔ (Set.range orderOf).Infinite
-- Mathlib/GroupTheory/Exponent.lean
G : Type u
inst✝ : Monoid G
h : ∀ (g : G), 0 < orderOf g
this : exponent G ≠ 0 ↔ (Set.range orderOf).Finite

⊢ exponent G = 0 ↔ (Set.range orderOf).Infinite
-- Mathlib/Combinatorics/SimpleGraph/Metric.lean
V : Type u_1
G : SimpleGraph V
u v w : V

⊢ G.dist u v ≠ 0 ↔ u ≠ v ∧ G.Reachable u v
-- Mathlib/Combinatorics/SimpleGraph/Metric.lean
V : Type u_1
G : SimpleGraph V
u v w : V

⊢ ¬(u = v ∨ ¬G.Reachable u v) ↔ u ≠ v ∧ G.Reachable u v
-- Mathlib/Combinatorics/SimpleGraph/Metric.lean
V : Type u_1
G : SimpleGraph V
u v w : V

⊢ u ≠ v ∧ G.Reachable u v ↔ u ≠ v ∧ G.Reachable u v
-- Mathlib/Algebra/Lie/IdealOperations.lean
R : Type u
L : Type v
M : Type w
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
inst✝³ : AddCommGroup M₂
inst✝² : Module R M₂
inst✝¹ : LieRingModule L M₂
inst✝ : LieModule R L M₂
N N' : LieSubmodule R L M
I J : LieIdeal R L
N₂ : LieSubmodule R L M₂

⊢ ↑⁅I, N⁆ = Submodule.span R {m | ∃ x ∈ I, ∃ n ∈ N, ⁅x, n⁆ = m}
-- Mathlib/Algebra/Lie/IdealOperations.lean
R : Type u
L : Type v
M : Type w
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
inst✝³ : AddCommGroup M₂
inst✝² : Module R M₂
inst✝¹ : LieRingModule L M₂
inst✝ : LieModule R L M₂
N N' : LieSubmodule R L M
I J : LieIdeal R L
N₂ : LieSubmodule R L M₂

⊢ Submodule.span R {m | ∃ x n, ⁅↑x, ↑n⁆ = m} = Submodule.span R {m | ∃ x ∈ I, ∃ n ∈ N, ⁅x, n⁆ = m}
-- Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean
R : Type u
S✝ : Type v
T : Type w
inst✝⁴ : NonUnitalNonAssocSemiring R
M : Subsemigroup R
inst✝³ : NonUnitalNonAssocSemiring S✝
inst✝² : NonUnitalNonAssocSemiring T
F : Type u_1
inst✝¹ : FunLike F R S✝
inst✝ : NonUnitalRingHomClass F R S✝
S : Set (NonUnitalSubsemiring R)
Sne : S.Nonempty
hS : DirectedOn (fun x x_1 => x ≤ x_1) S
x : R

⊢ x ∈ sSup S ↔ ∃ s ∈ S, x ∈ s
-- Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean
R : Type u
S✝ : Type v
T : Type w
inst✝⁴ : NonUnitalNonAssocSemiring R
M : Subsemigroup R
inst✝³ : NonUnitalNonAssocSemiring S✝
inst✝² : NonUnitalNonAssocSemiring T
F : Type u_1
inst✝¹ : FunLike F R S✝
inst✝ : NonUnitalRingHomClass F R S✝
S : Set (NonUnitalSubsemiring R)
Sne : S.Nonempty
hS : DirectedOn (fun x x_1 => x ≤ x_1) S
x : R
this : Nonempty ↑S

⊢ x ∈ sSup S ↔ ∃ s ∈ S, x ∈ s
-- Mathlib/LinearAlgebra/Dimension/Basic.lean
R : Type u
R' : Type u'
M M₁ : Type v
M' : Type v'
inst✝⁹ : Ring R
inst✝⁸ : Ring R'
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup M₁
inst✝⁴ : Module R M
inst✝³ : Module R M'
inst✝² : Module R M₁
inst✝¹ : Module R' M'
inst✝ : Module R' M₁
f : M →ₗ[R] M₁
p : Submodule R M

⊢ Module.rank R ↥(Submodule.map f p) ≤ Module.rank R ↥p
-- Mathlib/Analysis/Convex/Between.lean
R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : OrderedRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
x y : P
h : Wbtw R x y x
hne : y ≠ x

⊢ False
-- Mathlib/Analysis/Convex/Between.lean
R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : OrderedRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
x y : P
h : y = x
hne : y ≠ x

⊢ False
-- Mathlib/Algebra/Order/Module/Defs.lean
α : Type u_1
β : Type u_2
a a₁ a₂ : α
b b₁ b₂ : β
inst✝⁵ : GroupWithZero α
inst✝⁴ : Preorder α
inst✝³ : Preorder β
inst✝² : MulAction α β
inst✝¹ : PosSMulMono α β
inst✝ : PosSMulReflectLE α β
ha : 0 < a

⊢ a⁻¹ • b₁ ≤ b₂ ↔ b₁ ≤ a • b₂
-- Mathlib/Probability/Kernel/Composition.lean
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
δ : Type u_5
mγ : MeasurableSpace γ
mδ : MeasurableSpace δ
f : β → γ
g : γ → α
hf : Measurable f
a✝¹ : α
s✝ : Set γ
a✝ : MeasurableSet s✝

⊢ ((map 0 f hf) a✝¹) s✝ = (0 a✝¹) s✝
-- Mathlib/Probability/Kernel/Composition.lean
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
δ : Type u_5
mγ : MeasurableSpace γ
mδ : MeasurableSpace δ
f : β → γ
g : γ → α
hf : Measurable f
a✝¹ : α
s✝ : Set γ
a✝ : MeasurableSet s✝

⊢ (Measure.map f (0 a✝¹)) s✝ = (0 a✝¹) s✝
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ fun a n => (decode n).bind (f a)
n : ℕ

⊢ ((↑(decode n)).bind fun a => map encode ((fun a => (do let n ← (↑fun n => encode (decode n)) a.2 ↑n.ppred).bind ↑fun b => (fun a n => (decode n).bind (f a)) (a, b).1.1 (a, b).1.2) a)) = (↑(decode n)).bind fun a => map encode ((↑fun p => f p.1 p.2) a)
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ fun a n => (decode n).bind (f a)
n : ℕ

⊢ ((↑((decode (Nat.unpair n).1).bind fun a => Option.some (a, (Nat.unpair n).2))).bind fun a => (↑(encode (decode a.2)).ppred).bind fun y => Part.some (encode ((decode a.2).bind fun a_1 => f a.1 a_1))) = (↑((decode (Nat.unpair n).1).bind fun a => Option.map (Prod.mk a) (decode (Nat.unpair n).2))).bind fun a => Part.some (encode (f a.1 a.2))
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ f

⊢ Computable₂ fun a n => (decode n).bind (f a)
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ f
this : Partrec fun a => Nat.casesOn (encode (decode a.2)) (Part.some Option.none) fun n => map (f a.1) ↑(decode n)

⊢ Computable₂ fun a n => (decode n).bind (f a)
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ f
this : Partrec fun a => Nat.casesOn (encode (decode a.2)) (Part.some Option.none) fun n => map (f a.1) ↑(decode n)
a : α × ℕ

⊢ (Nat.casesOn (encode (decode a.2)) (Part.some Option.none) fun n => map (f a.1) ↑(decode n)) = (↑fun p => (fun a n => (decode n).bind (f a)) p.1 p.2) a
-- Mathlib/Computability/Partrec.lean
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
f : α → β → Option σ
hf : Computable₂ f
this : Partrec fun a => Nat.casesOn (encode (decode a.2)) (Part.some Option.none) fun n => map (f a.1) ↑(decode n)
a : α × ℕ

⊢ Nat.rec (Part.some Option.none) (fun n n_ih => map (f a.1) ↑(decode n)) (encode (decode a.2)) = Part.some ((decode a.2).bind (f a.1))
-- Mathlib/Algebra/Order/Group/Unbundled/Abs.lean
α : Type u_1
inst✝² : Lattice α
inst✝¹ : CommGroup α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a✝ b✝ a b : α

⊢ mabs (mabs a / mabs b) ≤ mabs (a / b)
-- Mathlib/Algebra/Order/Group/Unbundled/Abs.lean
α : Type u_1
inst✝² : Lattice α
inst✝¹ : CommGroup α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a✝ b✝ a b : α

⊢ mabs a / mabs b ≤ mabs (a / b) ∧ (mabs a / mabs b)⁻¹ ≤ mabs (a / b)
-- Mathlib/Data/Nat/Bits.lean
m✝ n✝ m : ℕ
b : Bool
n : ℕ

⊢ (bit b n).testBit m.succ = n.testBit m
-- Mathlib/Data/Nat/Bits.lean
m✝ n✝ m : ℕ
b : Bool
n : ℕ
this : (bit b n >>> 1 >>> m).bodd = (n >>> m).bodd

⊢ (bit b n).testBit m.succ = n.testBit m
-- Mathlib/Data/Nat/Bits.lean
m✝ n✝ m : ℕ
b : Bool
n : ℕ
this : (bit b n >>> (m + 1)).bodd = (n >>> m).bodd

⊢ (bit b n).testBit m.succ = n.testBit m
-- Mathlib/Data/Nat/Bits.lean
m✝ n✝ m : ℕ
b : Bool
n : ℕ
this : (1 &&& bit b n >>> (m + 1) != 0) = (1 &&& n >>> m != 0)

⊢ (bit b n).testBit m.succ = n.testBit m
-- Mathlib/GroupTheory/FreeGroup/Basic.lean
α : Type u
L✝ L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
x : FreeGroup α
L : List (α × Bool)

⊢ (Quot.mk Red.Step L)⁻¹.toWord = invRev (toWord (Quot.mk Red.Step L))
-- Mathlib/Algebra/Order/ToIntervalMod.lean
α : Type u_1
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : Archimedean α
p : α
hp : 0 < p
a : α

⊢ ⋃ n, Ioc (n • p) ((n + 1) • p) = univ
-- Mathlib/Algebra/Group/Center.lean
M : Type u_1
S T : Set M
inst✝ : MulOneClass M
x✝ : M

⊢ 1 * x✝ = x✝ * 1
-- Mathlib/Algebra/Group/Center.lean
M : Type u_1
S T : Set M
inst✝ : MulOneClass M
x✝¹ x✝ : M

⊢ 1 * (x✝¹ * x✝) = 1 * x✝¹ * x✝
-- Mathlib/Algebra/Group/Center.lean
M : Type u_1
S T : Set M
inst✝ : MulOneClass M
x✝¹ x✝ : M

⊢ x✝¹ * 1 * x✝ = x✝¹ * (1 * x✝)
-- Mathlib/Algebra/Group/Center.lean
M : Type u_1
S T : Set M
inst✝ : MulOneClass M
x✝¹ x✝ : M

⊢ x✝¹ * x✝ * 1 = x✝¹ * (x✝ * 1)
-- 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 a : α
s t : Finset α

⊢ insert a (s ∪ t) = insert a s ∪ insert a t
-- Mathlib/Topology/ShrinkingLemma.lean
ι : Type u_1
X : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
u : ι → Set X
s : Set X
c : Set (PartialRefinement u s)
i : ι
ne : c.Nonempty
h : ∃ v ∈ c, i ∈ v.carrier

⊢ h.choose ∈ c
-- Mathlib/Topology/ShrinkingLemma.lean
ι : Type u_1
X : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
u : ι → Set X
s : Set X
c : Set (PartialRefinement u s)
i : ι
ne : c.Nonempty
h : ¬∃ v ∈ c, i ∈ v.carrier

⊢ ne.some ∈ c
-- Mathlib/CategoryTheory/Sites/Sheafification.lean
C : Type u₁
inst✝³ : Category.{v₁, u₁} C
J : GrothendieckTopology C
A : Type u₂
inst✝² : Category.{v₂, u₂} A
D : Type u_1
inst✝¹ : Category.{u_2, u_1} D
inst✝ : HasWeakSheafify J D
P Q : Cᵒᵖ ⥤ D
η : P ⟶ Q
hQ : Presheaf.IsSheaf J Q

⊢ toSheafify J P ≫ sheafifyLift J η hQ = η
-- Mathlib/CategoryTheory/Sites/Sheafification.lean
C : Type u₁
inst✝³ : Category.{v₁, u₁} C
J : GrothendieckTopology C
A : Type u₂
inst✝² : Category.{v₂, u₂} A
D : Type u_1
inst✝¹ : Category.{u_2, u_1} D
inst✝ : HasWeakSheafify J D
P Q : Cᵒᵖ ⥤ D
η : P ⟶ Q
hQ : Presheaf.IsSheaf J Q

⊢ (sheafificationAdjunction J D).unit.app P ≫ ((presheafToSheaf J D).map η ≫ (sheafificationAdjunction J D).counit.app { val := Q, cond := hQ }).val = η
-- Mathlib/CategoryTheory/Sites/Sheafification.lean
C : Type u₁
inst✝³ : Category.{v₁, u₁} C
J : GrothendieckTopology C
A : Type u₂
inst✝² : Category.{v₂, u₂} A
D : Type u_1
inst✝¹ : Category.{u_2, u_1} D
inst✝ : HasWeakSheafify J D
P Q : Cᵒᵖ ⥤ D
η : P ⟶ Q
hQ : Presheaf.IsSheaf J Q

⊢ η ≫ (sheafificationAdjunction J D).unit.app ((sheafToPresheaf J D).obj { val := Q, cond := hQ }) ≫ (sheafToPresheaf J D).map ((sheafificationAdjunction J D).counit.app { val := Q, cond := hQ }) = η
-- Mathlib/CategoryTheory/Sites/Sheafification.lean
C : Type u₁
inst✝³ : Category.{v₁, u₁} C
J : GrothendieckTopology C
A : Type u₂
inst✝² : Category.{v₂, u₂} A
D : Type u_1
inst✝¹ : Category.{u_2, u_1} D
inst✝ : HasWeakSheafify J D
P Q : Cᵒᵖ ⥤ D
η : P ⟶ Q
hQ : Presheaf.IsSheaf J Q

⊢ η ≫ 𝟙 ((sheafToPresheaf J D).obj { val := Q, cond := hQ }) = η
-- Mathlib/Algebra/Order/Pointwise.lean
α : Type u_1
inst✝³ : CompleteLattice α
inst✝² : Group α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
s✝ t s : Set α

⊢ sSup s⁻¹ = (sInf s)⁻¹
-- Mathlib/Algebra/Order/Pointwise.lean
α : Type u_1
inst✝³ : CompleteLattice α
inst✝² : Group α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
s✝ t s : Set α

⊢ ⨆ a ∈ s, a⁻¹ = (sInf s)⁻¹
-- Mathlib/Data/Set/Finite.lean
α✝ : Type u
β : Type v
ι✝ : Sort w
γ : Type x
s✝ t : Set α✝
ι : Type u_1
ι' : Type u_2
inst✝¹ : LinearOrder ι'
inst✝ : Nonempty ι'
α : ι → Type u_3
I : Set ι
s : (i : ι) → ι' → Set (α i)
hI : I.Finite
hs : ∀ i ∈ I, Monotone (s i)

⊢ (⋃ j, I.pi fun i => s i j) = I.pi fun i => ⋃ j, s i j
-- Mathlib/Data/Set/Finite.lean
α✝ : Type u
β : Type v
ι✝ : Sort w
γ : Type x
s✝ t : Set α✝
ι : Type u_1
ι' : Type u_2
inst✝¹ : LinearOrder ι'
inst✝ : Nonempty ι'
α : ι → Type u_3
I : Set ι
s : (i : ι) → ι' → Set (α i)
hI : I.Finite
hs : ∀ i ∈ I, Monotone (s i)

⊢ ⋃ j, ⋂ x, eval ↑x ⁻¹' s (↑x) j = ⋂ x, ⋃ i, eval ↑x ⁻¹' s (↑x) i
-- Mathlib/Data/Set/Finite.lean
α✝ : Type u
β : Type v
ι✝ : Sort w
γ : Type x
s✝ t : Set α✝
ι : Type u_1
ι' : Type u_2
inst✝¹ : LinearOrder ι'
inst✝ : Nonempty ι'
α : ι → Type u_3
I : Set ι
s : (i : ι) → ι' → Set (α i)
hI : I.Finite
hs : ∀ i ∈ I, Monotone (s i)
this : Finite ↑I

⊢ ⋃ j, ⋂ x, eval ↑x ⁻¹' s (↑x) j = ⋂ x, ⋃ i, eval ↑x ⁻¹' s (↑x) i
-- Mathlib/Data/Set/Finite.lean
α✝ : Type u
β : Type v
ι✝ : Sort w
γ : Type x
s✝ t : Set α✝
ι : Type u_1
ι' : Type u_2
inst✝¹ : LinearOrder ι'
inst✝ : Nonempty ι'
α : ι → Type u_3
I : Set ι
s : (i : ι) → ι' → Set (α i)
hI : I.Finite
hs : ∀ i ∈ I, Monotone (s i)
this : Finite ↑I
i : ↑I
j₁ j₂ : ι'
h : j₁ ≤ j₂

⊢ eval ↑i ⁻¹' s (↑i) j₁ ≤ eval ↑i ⁻¹' s (↑i) j₂
-- Mathlib/Data/Fin/Tuple/Basic.lean
m✝ n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ i.castSucc
i : Fin n✝
y : α✝ i.castSucc
z : α✝ (last n✝)
n m : ℕ
α : Type u_1
xs : Fin n → α
x : α
ys : Fin m → α

⊢ append (snoc xs x) ys = append xs (cons x ys) ∘ cast ⋯
-- Mathlib/Data/Fin/Tuple/Basic.lean
m✝ n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ i.castSucc
i : Fin n✝
y : α✝ i.castSucc
z : α✝ (last n✝)
n m : ℕ
α : Type u_1
xs : Fin n → α
x : α
ys : Fin m → α

⊢ (append xs (cons (cons x elim0 0) ys) ∘ cast ⋯) ∘ cast ⋯ = append xs (cons x ys) ∘ cast ⋯
-- Mathlib/Data/Fin/VecNotation.lean
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
ho : o + 1 = m + 1 + n
x : α
u : Fin m → α
v : Fin n → α
i : Fin (o + 1)

⊢ vecAppend ho (vecCons x u) v i = vecCons x (vecAppend ⋯ u v) i
-- Mathlib/Data/Fin/VecNotation.lean
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
ho : o + 1 = m + 1 + n
x : α
u : Fin m → α
v : Fin n → α
i : Fin (o + 1)

⊢ (if h : ↑i < m + 1 then vecCons x u ⟨↑i, h⟩ else v ⟨↑i - (m + 1), ⋯⟩) = vecCons x (fun i => if h : ↑i < m then u ⟨↑i, h⟩ else v ⟨↑i - m, ⋯⟩) i
-- Mathlib/Topology/Separation.lean
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : T5Space Y
e : X → Y
he : _root_.Embedding e

⊢ ∀ ⦃s t : Set X⦄, Disjoint (closure s) t → Disjoint s (closure t) → Disjoint (𝓝ˢ s) (𝓝ˢ t)
-- Mathlib/Topology/Separation.lean
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : T5Space Y
e : X → Y
he : _root_.Embedding e
this : CompletelyNormalSpace X

⊢ ∀ ⦃s t : Set X⦄, Disjoint (closure s) t → Disjoint s (closure t) → Disjoint (𝓝ˢ s) (𝓝ˢ t)
-- Mathlib/Order/Filter/NAry.lean
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
m : α → β → γ
f✝ f₁ f₂ : Filter α
g g₁ g₂ : Filter β
h✝ h₁ h₂ : Filter γ
s s₁ s₂ : Set α
t t₁ t₂ : Set β
u : Set γ
v : Set δ
a✝ : α
b : β
c : γ
f : α → β → β
a : α
h : ∀ (b : β), f a b = b
l : Filter β

⊢ map₂ f (pure a) l = l
-- Mathlib/LinearAlgebra/TensorProduct/Basic.lean
R : Type u_1
inst✝¹⁸ : CommSemiring R
R' : Type u_2
inst✝¹⁷ : Monoid R'
R'' : Type u_3
inst✝¹⁶ : Semiring R''
M : Type u_4
N : Type u_5
P : Type u_6
Q : Type u_7
S : Type u_8
T : Type u_9
inst✝¹⁵ : AddCommMonoid M
inst✝¹⁴ : AddCommMonoid N
inst✝¹³ : AddCommMonoid P
inst✝¹² : AddCommMonoid Q
inst✝¹¹ : AddCommMonoid S
inst✝¹⁰ : AddCommMonoid T
inst✝⁹ : Module R M
inst✝⁸ : Module R N
inst✝⁷ : Module R P
inst✝⁶ : Module R Q
inst✝⁵ : Module R S
inst✝⁴ : Module R T
inst✝³ : DistribMulAction R' M
inst✝² : Module R'' M
inst✝¹ : SMulCommClass R R' M
inst✝ : SMulCommClass R R'' M
x : M ⊗[R] N
this : ∀ (r : R') (m : M) (n : N), r • m ⊗ₜ[R] n = (r • m) ⊗ₜ[R] n

⊢ 1 • 0 = 0
-- Mathlib/LinearAlgebra/TensorProduct/Basic.lean
R : Type u_1
inst✝¹⁸ : CommSemiring R
R' : Type u_2
inst✝¹⁷ : Monoid R'
R'' : Type u_3
inst✝¹⁶ : Semiring R''
M : Type u_4
N : Type u_5
P : Type u_6
Q : Type u_7
S : Type u_8
T : Type u_9
inst✝¹⁵ : AddCommMonoid M
inst✝¹⁴ : AddCommMonoid N
inst✝¹³ : AddCommMonoid P
inst✝¹² : AddCommMonoid Q
inst✝¹¹ : AddCommMonoid S
inst✝¹⁰ : AddCommMonoid T
inst✝⁹ : Module R M
inst✝⁸ : Module R N
inst✝⁷ : Module R P
inst✝⁶ : Module R Q
inst✝⁵ : Module R S
inst✝⁴ : Module R T
inst✝³ : DistribMulAction R' M
inst✝² : Module R'' M
inst✝¹ : SMulCommClass R R' M
inst✝ : SMulCommClass R R'' M
x : M ⊗[R] N
this : ∀ (r : R') (m : M) (n : N), r • m ⊗ₜ[R] n = (r • m) ⊗ₜ[R] n
m : M
n : N

⊢ 1 • m ⊗ₜ[R] n = m ⊗ₜ[R] n
-- Mathlib/LinearAlgebra/TensorProduct/Basic.lean
R : Type u_1
inst✝¹⁸ : CommSemiring R
R' : Type u_2
inst✝¹⁷ : Monoid R'
R'' : Type u_3
inst✝¹⁶ : Semiring R''
M : Type u_4
N : Type u_5
P : Type u_6
Q : Type u_7
S : Type u_8
T : Type u_9
inst✝¹⁵ : AddCommMonoid M
inst✝¹⁴ : AddCommMonoid N
inst✝¹³ : AddCommMonoid P
inst✝¹² : AddCommMonoid Q
inst✝¹¹ : AddCommMonoid S
inst✝¹⁰ : AddCommMonoid T
inst✝⁹ : Module R M
inst✝⁸ : Module R N
inst✝⁷ : Module R P
inst✝⁶ : Module R Q
inst✝⁵ : Module R S
inst✝⁴ : Module R T
inst✝³ : DistribMulAction R' M
inst✝² : Module R'' M
inst✝¹ : SMulCommClass R R' M
inst✝ : SMulCommClass R R'' M
x✝ : M ⊗[R] N
this : ∀ (r : R') (m : M) (n : N), r • m ⊗ₜ[R] n = (r • m) ⊗ₜ[R] n
x y : M ⊗[R] N
ihx : 1 • x = x
ihy : 1 • y = y

⊢ 1 • (x + y) = x + y
-- Mathlib/Order/Filter/Basic.lean
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι✝ : Sort x
f g : Filter α
s✝ t : Set α
ι : Type u_2
s : ι → Filter α
U : Set α
I : Set ι
I_fin : I.Finite
V : ↑I → Set α
hV : ∀ (i : ↑I), V i ∈ s ↑i
hU : ⋂ i, V i ⊆ U
this : Fintype ↑I

⊢ U ∈ ⨅ i, s i
-- Mathlib/Order/Filter/Basic.lean
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι✝ : Sort x
f g : Filter α
s✝ t : Set α
ι : Type u_2
s : ι → Filter α
U : Set α
I : Set ι
I_fin : I.Finite
V : ↑I → Set α
hV : ∀ (i : ↑I), V i ∈ s ↑i
hU : ⋂ i, V i ⊆ U
this : Fintype ↑I
i : ↑I

⊢ V i ∈ ⨅ i, s i
-- Mathlib/GroupTheory/Congruence/Basic.lean
M : Type u_1
N : Type u_2
P : Type u_3
inst✝² : Mul M
inst✝¹ : Mul N
inst✝ : Mul P
c✝ c d : Con M

⊢ c ⊔ d = conGen (⇑c ⊔ ⇑d)
-- Mathlib/GroupTheory/Congruence/Basic.lean
M : Type u_1
N : Type u_2
P : Type u_3
inst✝² : Mul M
inst✝¹ : Mul N
inst✝ : Mul P
c✝ c d : Con M

⊢ (conGen fun x y => c x y ∨ d x y) = conGen (⇑c ⊔ ⇑d)