1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: LinearMap.ker_prod_ker_le_ker_coprod
File: Mathlib/LinearAlgebra/Prod.lean

tactic: rintro ⟨y, z⟩
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂✝ : Type w
V₂ : Type w'
M₃✝ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝¹² : Semiring R
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂✝
inst✝⁹ : AddCommMonoid M₃✝
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R M
inst✝⁶ : Module R M₂✝
inst✝⁵ : Module R M₃✝
inst✝⁴ : Module R M₄
M₂ : Type u_3
inst✝³ : AddCommGroup M₂
inst✝² : Module R M₂
M₃ : Type u_4
inst✝¹ : AddCommGroup M₃
inst✝ : Module R M₃
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
⊢ (ker f).prod (ker g) ≤ ker (f.coprod g)
state_after: case mk
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂✝ : Type w
V₂ : Type w'
M₃✝ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝¹² : Semiring R
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂✝
inst✝⁹ : AddCommMonoid M₃✝
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R M
inst✝⁶ : Module R M₂✝
inst✝⁵ : Module R M₃✝
inst✝⁴ : Module R M₄
M₂ : Type u_3
inst✝³ : AddCommGroup M₂
inst✝² : Module R M₂
M₃ : Type u_4
inst✝¹ : AddCommGroup M₃
inst✝ : Module R M₃
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
y : M
z : M₂
⊢ (y, z) ∈ (ker f).prod (ker g) → (y, z) ∈ ker (f.coprod g)

tactic: simp (config := { contextual := true })
state_before: case mk
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂✝ : Type w
V₂ : Type w'
M₃✝ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝¹² : Semiring R
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂✝
inst✝⁹ : AddCommMonoid M₃✝
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : Module R M
inst✝⁶ : Module R M₂✝
inst✝⁵ : Module R M₃✝
inst✝⁴ : Module R M₄
M₂ : Type u_3
inst✝³ : AddCommGroup M₂
inst✝² : Module R M₂
M₃ : Type u_4
inst✝¹ : AddCommGroup M₃
inst✝ : Module R M₃
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
y : M
z : M₂
⊢ (y, z) ∈ (ker f).prod (ker g) → (y, z) ∈ ker (f.coprod g)
state_after: no goals
Theorem: FirstOrder.Language.BoundedFormula.imp_semanticallyEquivalent_not_sup
File: Mathlib/ModelTheory/Satisfiability.lean

tactic: simp [imp_iff_not_or]
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ ψ : L.BoundedFormula α n
M : T.ModelType
v : α → ↑M
xs : Fin n → ↑M
⊢ (φ ⟹ ψ ⇔ ∼φ ⊔ ψ).Realize v xs
state_after: no goals
Theorem: Polynomial.eval₂_eq_sum_range'
File: Mathlib/Algebra/Polynomial/Eval.lean

tactic: rw [eval₂_eq_sum, p.sum_over_range' _ _ hn]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n✝ : ℕ
inst✝¹ : Semiring R
p✝ q r : R[X]
inst✝ : Semiring S
f✝ : R →+* S
x✝ : S
f : R →+* S
p : R[X]
n : ℕ
hn : p.natDegree < n
x : S
⊢ eval₂ f x p = ∑ i ∈ range n, f (p.coeff i) * x ^ i
state_after: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n✝ : ℕ
inst✝¹ : Semiring R
p✝ q r : R[X]
inst✝ : Semiring S
f✝ : R →+* S
x✝ : S
f : R →+* S
p : R[X]
n : ℕ
hn : p.natDegree < n
x : S
⊢ ∀ (n : ℕ), f 0 * x ^ n = 0

tactic: intro i
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n✝ : ℕ
inst✝¹ : Semiring R
p✝ q r : R[X]
inst✝ : Semiring S
f✝ : R →+* S
x✝ : S
f : R →+* S
p : R[X]
n : ℕ
hn : p.natDegree < n
x : S
⊢ ∀ (n : ℕ), f 0 * x ^ n = 0
state_after: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n✝ : ℕ
inst✝¹ : Semiring R
p✝ q r : R[X]
inst✝ : Semiring S
f✝ : R →+* S
x✝ : S
f : R →+* S
p : R[X]
n : ℕ
hn : p.natDegree < n
x : S
i : ℕ
⊢ f 0 * x ^ i = 0

tactic: rw [f.map_zero, zero_mul]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n✝ : ℕ
inst✝¹ : Semiring R
p✝ q r : R[X]
inst✝ : Semiring S
f✝ : R →+* S
x✝ : S
f : R →+* S
p : R[X]
n : ℕ
hn : p.natDegree < n
x : S
i : ℕ
⊢ f 0 * x ^ i = 0
state_after: no goals
Theorem: AkraBazziRecurrence.sumCoeffsExp_p_eq_one
File: Mathlib/Computability/AkraBazzi/AkraBazzi.lean

tactic: simp only [p]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∑ i : α, a i * b i ^ p a b = 1
state_after: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∑ x : α, a x * b x ^ Function.invFun (fun p => ∑ i : α, a i * b i ^ p) 1 = 1

tactic: exact Function.invFun_eq (by rw [← Set.mem_range]; exact R.one_mem_range_sumCoeffsExp)
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∑ x : α, a x * b x ^ Function.invFun (fun p => ∑ i : α, a i * b i ^ p) 1 = 1
state_after: no goals

tactic: rw [← Set.mem_range]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∃ a, ?m.373800 a = ?m.373801
state_after: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374379 ∈ Set.range ?m.374378

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ Type ?u.374375

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ Sort ?u.374374

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374377 → ?m.374376

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374376

tactic: exact R.one_mem_range_sumCoeffsExp
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374379 ∈ Set.range ?m.374378

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ Type ?u.374375

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ Sort ?u.374374

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374377 → ?m.374376

α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ?m.374376
state_after: no goals
Theorem: DirectSum.IsInternal.collectedBasis_orthonormal
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simpa only [hV_sum.collectedBasis_coe] using hV.orthonormal_sigma_orthonormal hv_family
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁷ : _root_.RCLike 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
ι : Type u_4
G : ι → Type u_5
inst✝² : (i : ι) → NormedAddCommGroup (G i)
inst✝¹ : (i : ι) → InnerProductSpace 𝕜 (G i)
V✝ : (i : ι) → G i →ₗᵢ[𝕜] E
hV✝ : OrthogonalFamily 𝕜 G V✝
dec_V : (i : ι) → (x : G i) → Decidable (x ≠ 0)
inst✝ : DecidableEq ι
V : ι → Submodule 𝕜 E
hV : OrthogonalFamily 𝕜 (fun i => ↥(V i)) fun i => (V i).subtypeₗᵢ
hV_sum : IsInternal fun i => V i
α : ι → Type u_6
v_family : (i : ι) → Basis (α i) 𝕜 ↥(V i)
hv_family : ∀ (i : ι), Orthonormal 𝕜 ⇑(v_family i)
⊢ Orthonormal 𝕜 ⇑(hV_sum.collectedBasis v_family)
state_after: no goals
Theorem: TopCat.Presheaf.Pushforward.id_hom_app
File: Mathlib/Topology/Sheaves/Presheaf.lean

tactic: induction U
state_before: C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
U : (Opens ↑X)ᵒᵖ
⊢ (id ℱ).hom.app U = ℱ.map (eqToHom ⋯)
state_after: case h
C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
X✝ : Opens ↑X
⊢ (id ℱ).hom.app { unop := X✝ } = ℱ.map (eqToHom ⋯)

tactic: apply id_hom_app'
state_before: case h
C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
X✝ : Opens ↑X
⊢ (id ℱ).hom.app { unop := X✝ } = ℱ.map (eqToHom ⋯)
state_after: no goals
Theorem: MeasureTheory.pdf.IsUniform.toMeasurable_iff
File: Mathlib/Probability/Distributions/Uniform.lean

tactic: unfold IsUniform
state_before: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
⊢ IsUniform X (toMeasurable μ s) ℙ μ ↔ IsUniform X s ℙ μ
state_after: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
⊢ Measure.map X ℙ = ProbabilityTheory.cond μ (toMeasurable μ s) ↔ Measure.map X ℙ = ProbabilityTheory.cond μ s

tactic: rw [ProbabilityTheory.cond_toMeasurable_eq]
state_before: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
⊢ Measure.map X ℙ = ProbabilityTheory.cond μ (toMeasurable μ s) ↔ Measure.map X ℙ = ProbabilityTheory.cond μ s
state_after: no goals
Theorem: Function.Periodic.sub_eq'
File: Mathlib/Algebra/Periodic.lean

tactic: simpa only [sub_eq_neg_add] using h (-x)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddCommGroup α
h : Periodic f c
⊢ f (c - x) = f (-x)
state_after: no goals
Theorem: EuclideanGeometry.dist_orthogonalProjection_eq_zero_iff
File: Mathlib/Geometry/Euclidean/Basic.lean

tactic: rw [dist_comm, dist_eq_zero, orthogonalProjection_eq_self_iff]
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p : P
⊢ dist p ↑((orthogonalProjection s) p) = 0 ↔ p ∈ s
state_after: no goals
Theorem: CategoryTheory.SimplicialObject.δ_comp_σ_self
File: Mathlib/AlgebraicTopology/SimplicialObject.lean

tactic: dsimp [δ, σ]
state_before: C : Type u
inst✝ : Category.{v, u} C
X : SimplicialObject C
n : ℕ
i : Fin (n + 1)
⊢ X.σ i ≫ X.δ i.castSucc = 𝟙 (X _[n])
state_after: C : Type u
inst✝ : Category.{v, u} C
X : SimplicialObject C
n : ℕ
i : Fin (n + 1)
⊢ X.map (SimplexCategory.σ i).op ≫ X.map (SimplexCategory.δ i.castSucc).op = 𝟙 (X _[n])

tactic: simp only [← X.map_comp, ← op_comp, SimplexCategory.δ_comp_σ_self, op_id, X.map_id]
state_before: C : Type u
inst✝ : Category.{v, u} C
X : SimplicialObject C
n : ℕ
i : Fin (n + 1)
⊢ X.map (SimplexCategory.σ i).op ≫ X.map (SimplexCategory.δ i.castSucc).op = 𝟙 (X _[n])
state_after: no goals
Theorem: ContinuousLinearEquiv.map_tsum
File: Mathlib/Topology/Algebra/InfiniteSum/Module.lean

tactic: refine symm (e.tsum_eq_iff.mpr ?_)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
κ : Type u_6
R : Type u_7
R₂ : Type u_8
M : Type u_9
M₂ : Type u_10
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
⊢ e (∑' (z : ι), f z) = ∑' (z : ι), e (f z)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
κ : Type u_6
R : Type u_7
R₂ : Type u_8
M : Type u_9
M₂ : Type u_10
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
⊢ ∑' (z : ι), f z = e.symm (e (∑' (z : ι), f z))

tactic: rw [e.symm_apply_apply _]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
κ : Type u_6
R : Type u_7
R₂ : Type u_8
M : Type u_9
M₂ : Type u_10
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
⊢ ∑' (z : ι), f z = e.symm (e (∑' (z : ι), f z))
state_after: no goals
Theorem: Primrec.fin_curry
File: Mathlib/Computability/Primrec.lean

tactic: funext i
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : α → Fin n → σ
h : Primrec₂ f
a : α
⊢ (Vector.ofFn fun i => f a i).get = f a
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : α → Fin n → σ
h : Primrec₂ f
a : α
i : Fin n
⊢ (Vector.ofFn fun i => f a i).get i = f a i

tactic: simp
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : α → Fin n → σ
h : Primrec₂ f
a : α
i : Fin n
⊢ (Vector.ofFn fun i => f a i).get i = f a i
state_after: no goals
Theorem: Valuation.IsEquiv.ne_zero
File: Mathlib/RingTheory/Valuation/Basic.lean

tactic: have : v₁ r ≠ v₁ 0 ↔ v₂ r ≠ v₂ 0 := not_congr h.val_eq
state_before: K : Type u_1
F : Type u_2
R : Type u_3
inst✝⁴ : DivisionRing K
Γ₀ : Type u_4
Γ'₀ : Type u_5
Γ''₀ : Type u_6
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v v₁ : Valuation R Γ₀
v₂ : Valuation R Γ'₀
v₃ : Valuation R Γ''₀
h : v₁.IsEquiv v₂
r : R
⊢ v₁ r ≠ 0 ↔ v₂ r ≠ 0
state_after: K : Type u_1
F : Type u_2
R : Type u_3
inst✝⁴ : DivisionRing K
Γ₀ : Type u_4
Γ'₀ : Type u_5
Γ''₀ : Type u_6
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v v₁ : Valuation R Γ₀
v₂ : Valuation R Γ'₀
v₃ : Valuation R Γ''₀
h : v₁.IsEquiv v₂
r : R
this : v₁ r ≠ v₁ 0 ↔ v₂ r ≠ v₂ 0
⊢ v₁ r ≠ 0 ↔ v₂ r ≠ 0

tactic: rwa [v₁.map_zero, v₂.map_zero] at this
state_before: K : Type u_1
F : Type u_2
R : Type u_3
inst✝⁴ : DivisionRing K
Γ₀ : Type u_4
Γ'₀ : Type u_5
Γ''₀ : Type u_6
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v v₁ : Valuation R Γ₀
v₂ : Valuation R Γ'₀
v₃ : Valuation R Γ''₀
h : v₁.IsEquiv v₂
r : R
this : v₁ r ≠ v₁ 0 ↔ v₂ r ≠ v₂ 0
⊢ v₁ r ≠ 0 ↔ v₂ r ≠ 0
state_after: no goals
Theorem: Cardinal.mk_insert_le
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: by_cases h : a ∈ s
state_before: α✝ β : Type u
c : Cardinal.{?u.215865}
α : Type u
s : Set α
a : α
⊢ #↑(insert a s) ≤ #↑s + 1
state_after: case pos
α✝ β : Type u
c : Cardinal.{?u.215865}
α : Type u
s : Set α
a : α
h : a ∈ s
⊢ #↑(insert a s) ≤ #↑s + 1

case neg
α✝ β : Type u
c : Cardinal.{?u.215865}
α : Type u
s : Set α
a : α
h : a ∉ s
⊢ #↑(insert a s) ≤ #↑s + 1

tactic: simp only [insert_eq_of_mem h, self_le_add_right]
state_before: case pos
α✝ β : Type u
c : Cardinal.{?u.215865}
α : Type u
s : Set α
a : α
h : a ∈ s
⊢ #↑(insert a s) ≤ #↑s + 1
state_after: no goals

tactic: rw [mk_insert h]
state_before: case neg
α✝ β : Type u
c : Cardinal.{?u.215865}
α : Type u
s : Set α
a : α
h : a ∉ s
⊢ #↑(insert a s) ≤ #↑s + 1
state_after: no goals
Theorem: FirstOrder.Language.Substructure.coe_iInf
File: Mathlib/ModelTheory/Substructures.lean

tactic: simp only [iInf, coe_sInf, Set.biInter_range]
state_before: L : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
S✝ : L.Substructure M
ι : Sort u_3
S : ι → L.Substructure M
⊢ ↑(⨅ i, S i) = ⋂ i, ↑(S i)
state_after: no goals
Theorem: Mathlib.Tactic.Rify.ratCast_ne
File: Mathlib/Tactic/Rify.lean

tactic: simp
state_before: a b : ℚ
⊢ a ≠ b ↔ ↑a ≠ ↑b
state_after: no goals
Theorem: TopCat.fst_embedding_of_right_embedding
File: Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean

tactic: convert (homeoOfIso (asIso (pullback.fst : pullback f (𝟙 S) ⟶ _))).embedding.comp
    (pullback_map_embedding_of_embeddings (i₁ := 𝟙 X)
      f g f (𝟙 _) (homeoOfIso (Iso.refl _)).embedding H (𝟙 _) rfl (by simp))
state_before: J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ Embedding ⇑pullback.fst
state_after: case h.e'_5
J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ ⇑pullback.fst = ⇑(homeoOfIso (asIso pullback.fst)) ∘ ⇑(pullback.map f g f (𝟙 S) (𝟙 X) g (𝟙 S) ⋯ ⋯)

tactic: erw [← coe_comp]
state_before: case h.e'_5
J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ ⇑pullback.fst = ⇑(homeoOfIso (asIso pullback.fst)) ∘ ⇑(pullback.map f g f (𝟙 S) (𝟙 X) g (𝟙 S) ⋯ ⋯)
state_after: case h.e'_5
J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ ⇑pullback.fst = ⇑(pullback.map f g f (𝟙 S) (𝟙 X) g (𝟙 S) ⋯ ⋯ ≫ (asIso pullback.fst).hom)

tactic: simp
state_before: case h.e'_5
J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ ⇑pullback.fst = ⇑(pullback.map f g f (𝟙 S) (𝟙 X) g (𝟙 S) ⋯ ⋯ ≫ (asIso pullback.fst).hom)
state_after: no goals

tactic: simp
state_before: J : Type v
inst✝ : SmallCategory J
X✝ Y✝ Z : TopCat
X Y S : TopCat
f : X ⟶ S
g : Y ⟶ S
H : Embedding ⇑g
⊢ g ≫ 𝟙 S = g ≫ 𝟙 S
state_after: no goals
Theorem: Fin.cycleType_cycleRange
File: Mathlib/GroupTheory/Perm/Fin.lean

tactic: cases' i with i hi
state_before: n : ℕ
i : Fin (n + 1)
h0 : i ≠ 0
⊢ i.cycleRange.cycleType = {↑i + 1}
state_after: case mk
n i : ℕ
hi : i < n + 1
h0 : ⟨i, hi⟩ ≠ 0
⊢ ⟨i, hi⟩.cycleRange.cycleType = {↑⟨i, hi⟩ + 1}

tactic: cases i
state_before: case mk
n i : ℕ
hi : i < n + 1
h0 : ⟨i, hi⟩ ≠ 0
⊢ ⟨i, hi⟩.cycleRange.cycleType = {↑⟨i, hi⟩ + 1}
state_after: case mk.zero
n : ℕ
hi : 0 < n + 1
h0 : ⟨0, hi⟩ ≠ 0
⊢ ⟨0, hi⟩.cycleRange.cycleType = {↑⟨0, hi⟩ + 1}

case mk.succ
n n✝ : ℕ
hi : n✝ + 1 < n + 1
h0 : ⟨n✝ + 1, hi⟩ ≠ 0
⊢ ⟨n✝ + 1, hi⟩.cycleRange.cycleType = {↑⟨n✝ + 1, hi⟩ + 1}

tactic: rw [cycleRange, cycleType_extendDomain]
state_before: case mk.succ
n n✝ : ℕ
hi : n✝ + 1 < n + 1
h0 : ⟨n✝ + 1, hi⟩ ≠ 0
⊢ ⟨n✝ + 1, hi⟩.cycleRange.cycleType = {↑⟨n✝ + 1, hi⟩ + 1}
state_after: case mk.succ
n n✝ : ℕ
hi : n✝ + 1 < n + 1
h0 : ⟨n✝ + 1, hi⟩ ≠ 0
⊢ (finRotate (↑⟨n✝ + 1, hi⟩ + 1)).cycleType = {↑⟨n✝ + 1, hi⟩ + 1}

tactic: exact cycleType_finRotate
state_before: case mk.succ
n n✝ : ℕ
hi : n✝ + 1 < n + 1
h0 : ⟨n✝ + 1, hi⟩ ≠ 0
⊢ (finRotate (↑⟨n✝ + 1, hi⟩ + 1)).cycleType = {↑⟨n✝ + 1, hi⟩ + 1}
state_after: no goals

tactic: exact (h0 rfl).elim
state_before: case mk.zero
n : ℕ
hi : 0 < n + 1
h0 : ⟨0, hi⟩ ≠ 0
⊢ ⟨0, hi⟩.cycleRange.cycleType = {↑⟨0, hi⟩ + 1}
state_after: no goals
Theorem: MeasureTheory.integrableOn_Ioi_deriv_of_nonpos'
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

tactic: refine integrableOn_Ioi_deriv_of_nonpos ?_ (fun x hx ↦ hderiv x hx.out.le) g'neg hg
state_before: E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m : E
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
hderiv : ∀ x ∈ Ici a, HasDerivAt g (g' x) x
g'neg : ∀ x ∈ Ioi a, g' x ≤ 0
hg : Tendsto g atTop (𝓝 l)
⊢ IntegrableOn g' (Ioi a) volume
state_after: E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m : E
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
hderiv : ∀ x ∈ Ici a, HasDerivAt g (g' x) x
g'neg : ∀ x ∈ Ioi a, g' x ≤ 0
hg : Tendsto g atTop (𝓝 l)
⊢ ContinuousWithinAt g (Ici a) a

tactic: exact (hderiv a left_mem_Ici).continuousAt.continuousWithinAt
state_before: E : Type u_1
f f' : ℝ → E
g g' : ℝ → ℝ
a b l : ℝ
m : E
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
hderiv : ∀ x ∈ Ici a, HasDerivAt g (g' x) x
g'neg : ∀ x ∈ Ioi a, g' x ≤ 0
hg : Tendsto g atTop (𝓝 l)
⊢ ContinuousWithinAt g (Ici a) a
state_after: no goals
Theorem: Metric.infEdist_ne_top
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: rcases h with ⟨y, hy⟩
state_before: ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : s.Nonempty
⊢ infEdist x s ≠ ⊤
state_after: case intro
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y✝ : α
Φ : α → β
y : α
hy : y ∈ s
⊢ infEdist x s ≠ ⊤

tactic: exact ne_top_of_le_ne_top (edist_ne_top _ _) (infEdist_le_edist_of_mem hy)
state_before: case intro
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y✝ : α
Φ : α → β
y : α
hy : y ∈ s
⊢ infEdist x s ≠ ⊤
state_after: no goals
Theorem: Filter.tendsto_const_mul_atTop_of_neg
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: simpa only [neg_mul, tendsto_neg_atBot_iff] using tendsto_const_mul_atBot_of_pos (neg_pos.2 hr)
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : LinearOrderedField α
l : Filter β
f : β → α
r : α
hr : r < 0
⊢ Tendsto (fun x => r * f x) l atTop ↔ Tendsto f l atBot
state_after: no goals
Theorem: DilationEquiv.map_cobounded
File: Mathlib/Topology/MetricSpace/DilationEquiv.lean

tactic: rw [← Dilation.comap_cobounded e, map_comap_of_surjective (EquivLike.surjective e)]
state_before: X : Type u_1
Y : Type u_2
F : Type u_3
inst✝³ : PseudoMetricSpace X
inst✝² : PseudoMetricSpace Y
inst✝¹ : EquivLike F X Y
inst✝ : DilationEquivClass F X Y
e : F
⊢ map (⇑e) (cobounded X) = cobounded Y
state_after: no goals
Theorem: CategoryTheory.SingleFunctors.shiftIso_zero_hom_app
File: Mathlib/CategoryTheory/Shift/SingleFunctors.lean

tactic: rw [shiftIso_zero]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.25912, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (F.shiftIso 0 a a ⋯).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)
state_after: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.25912, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (isoWhiskerLeft (F.functor a) (shiftFunctorZero D A)).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)

tactic: rfl
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.25912, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (isoWhiskerLeft (F.functor a) (shiftFunctorZero D A)).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)
state_after: no goals
Theorem: DifferentiableAt.conformalAt
File: Mathlib/Analysis/Complex/RealDeriv.lean

tactic: rw [conformalAt_iff_isConformalMap_fderiv, (h.hasFDerivAt.restrictScalars ℝ).fderiv]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
f : ℂ → E
h : DifferentiableAt ℂ f z
hf' : deriv f z ≠ 0
⊢ ConformalAt f z
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
f : ℂ → E
h : DifferentiableAt ℂ f z
hf' : deriv f z ≠ 0
⊢ IsConformalMap (ContinuousLinearMap.restrictScalars ℝ (fderiv ℂ f z))

tactic: apply isConformalMap_complex_linear
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
f : ℂ → E
h : DifferentiableAt ℂ f z
hf' : deriv f z ≠ 0
⊢ IsConformalMap (ContinuousLinearMap.restrictScalars ℝ (fderiv ℂ f z))
state_after: case nonzero
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
f : ℂ → E
h : DifferentiableAt ℂ f z
hf' : deriv f z ≠ 0
⊢ fderiv ℂ f z ≠ 0

tactic: simpa only [Ne, ext_ring_iff]
state_before: case nonzero
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
f : ℂ → E
h : DifferentiableAt ℂ f z
hf' : deriv f z ≠ 0
⊢ fderiv ℂ f z ≠ 0
state_after: no goals