1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: IsCyclotomicExtension.singleton_one_of_bot_eq_top
File: Mathlib/NumberTheory/Cyclotomic/Basic.lean

tactic: convert (iff_union_singleton_one _ A _).1 (singleton_zero_of_bot_eq_top h)
state_before: n : ℕ+
S T : Set ℕ+
A : Type u
B : Type v
K : Type w
L : Type z
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : Algebra A B
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
h : ⊥ = ⊤
⊢ IsCyclotomicExtension {1} A B
state_after: case h.e'_1
n : ℕ+
S T : Set ℕ+
A : Type u
B : Type v
K : Type w
L : Type z
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : Algebra A B
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
h : ⊥ = ⊤
⊢ {1} = ∅ ∪ {1}

tactic: simp
state_before: case h.e'_1
n : ℕ+
S T : Set ℕ+
A : Type u
B : Type v
K : Type w
L : Type z
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : Algebra A B
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
h : ⊥ = ⊤
⊢ {1} = ∅ ∪ {1}
state_after: no goals
Theorem: Orthonormal.orthonormal_of_forall_eq_or_eq_neg
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: classical
rw [orthonormal_iff_ite] at *
intro i j
cases' hw i with hi hi <;> cases' hw j with hj hj <;>
  replace hv := hv i j <;> split_ifs at hv ⊢ with h <;>
  simpa only [hi, hj, h, inner_neg_right, inner_neg_left, neg_neg, eq_self_iff_true,
    neg_eq_zero] using hv
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
v w : ι → E
hv : Orthonormal 𝕜 v
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
⊢ Orthonormal 𝕜 w
state_after: no goals

tactic: rw [orthonormal_iff_ite] at *
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
v w : ι → E
hv : Orthonormal 𝕜 v
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
⊢ Orthonormal 𝕜 w
state_after: 𝕜 : 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
v w : ι → E
hv : ∀ (i j : ι), ⟪v i, v j⟫_𝕜 = if i = j then 1 else 0
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
⊢ ∀ (i j : ι), ⟪w i, w j⟫_𝕜 = if i = j then 1 else 0

tactic: intro i j
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
v w : ι → E
hv : ∀ (i j : ι), ⟪v i, v j⟫_𝕜 = if i = j then 1 else 0
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
⊢ ∀ (i j : ι), ⟪w i, w j⟫_𝕜 = if i = j then 1 else 0
state_after: 𝕜 : 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
v w : ι → E
hv : ∀ (i j : ι), ⟪v i, v j⟫_𝕜 = if i = j then 1 else 0
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
i j : ι
⊢ ⟪w i, w j⟫_𝕜 = if i = j then 1 else 0

tactic: cases' hw i with hi hi <;> cases' hw j with hj hj <;>
  replace hv := hv i j <;> split_ifs at hv ⊢ with h <;>
  simpa only [hi, hj, h, inner_neg_right, inner_neg_left, neg_neg, eq_self_iff_true,
    neg_eq_zero] using hv
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
v w : ι → E
hv : ∀ (i j : ι), ⟪v i, v j⟫_𝕜 = if i = j then 1 else 0
hw : ∀ (i : ι), w i = v i ∨ w i = -v i
i j : ι
⊢ ⟪w i, w j⟫_𝕜 = if i = j then 1 else 0
state_after: no goals
Theorem: Filter.blimsup_sup_not
File: Mathlib/Order/LiminfLimsup.lean

tactic: simp_rw [← blimsup_or_eq_sup, or_not, blimsup_true]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Type u_5
inst✝ : CompleteDistribLattice α
f : Filter β
p q : β → Prop
u : β → α
⊢ (blimsup u f p ⊔ blimsup u f fun x => ¬p x) = limsup u f
state_after: no goals
Theorem: LinearMap.polyCharpoly_coeff_nilRank_ne_zero
File: Mathlib/Algebra/Module/LinearMap/Polynomial.lean

tactic: rw [nilRank_eq_polyCharpoly_natTrailingDegree _ b]
state_before: R : Type u_1
L : Type u_2
M : Type u_3
n : Type u_4
ι : Type u_5
ι' : Type u_6
ιM : Type u_7
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup L
inst✝¹² : Module R L
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
φ : L →ₗ[R] Module.End R M
inst✝⁹ : Fintype ι
inst✝⁸ : Fintype ι'
inst✝⁷ : Fintype ιM
inst✝⁶ : DecidableEq ι
inst✝⁵ : DecidableEq ι'
inst✝⁴ : Module.Free R M
inst✝³ : Module.Finite R M
b : Basis ι R L
inst✝² : Module.Finite R L
inst✝¹ : Module.Free R L
inst✝ : Nontrivial R
⊢ (φ.polyCharpoly b).coeff φ.nilRank ≠ 0
state_after: R : Type u_1
L : Type u_2
M : Type u_3
n : Type u_4
ι : Type u_5
ι' : Type u_6
ιM : Type u_7
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup L
inst✝¹² : Module R L
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
φ : L →ₗ[R] Module.End R M
inst✝⁹ : Fintype ι
inst✝⁸ : Fintype ι'
inst✝⁷ : Fintype ιM
inst✝⁶ : DecidableEq ι
inst✝⁵ : DecidableEq ι'
inst✝⁴ : Module.Free R M
inst✝³ : Module.Finite R M
b : Basis ι R L
inst✝² : Module.Finite R L
inst✝¹ : Module.Free R L
inst✝ : Nontrivial R
⊢ (φ.polyCharpoly b).coeff (φ.polyCharpoly b).natTrailingDegree ≠ 0

tactic: apply polyCharpoly_coeff_nilRankAux_ne_zero
state_before: R : Type u_1
L : Type u_2
M : Type u_3
n : Type u_4
ι : Type u_5
ι' : Type u_6
ιM : Type u_7
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup L
inst✝¹² : Module R L
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Module R M
φ : L →ₗ[R] Module.End R M
inst✝⁹ : Fintype ι
inst✝⁸ : Fintype ι'
inst✝⁷ : Fintype ιM
inst✝⁶ : DecidableEq ι
inst✝⁵ : DecidableEq ι'
inst✝⁴ : Module.Free R M
inst✝³ : Module.Finite R M
b : Basis ι R L
inst✝² : Module.Finite R L
inst✝¹ : Module.Free R L
inst✝ : Nontrivial R
⊢ (φ.polyCharpoly b).coeff (φ.polyCharpoly b).natTrailingDegree ≠ 0
state_after: no goals
Theorem: SimpleGraph.comap_symm
File: Mathlib/Combinatorics/SimpleGraph/Maps.lean

tactic: ext
state_before: V : Type u_1
W : Type u_2
X : Type u_3
G✝ : SimpleGraph V
G' : SimpleGraph W
u v : V
G : SimpleGraph V
e : V ≃ W
⊢ SimpleGraph.comap (⇑e.symm.toEmbedding) G = SimpleGraph.map e.toEmbedding G
state_after: case Adj.h.h.a
V : Type u_1
W : Type u_2
X : Type u_3
G✝ : SimpleGraph V
G' : SimpleGraph W
u v : V
G : SimpleGraph V
e : V ≃ W
x✝¹ x✝ : W
⊢ (SimpleGraph.comap (⇑e.symm.toEmbedding) G).Adj x✝¹ x✝ ↔ (SimpleGraph.map e.toEmbedding G).Adj x✝¹ x✝

tactic: simp only [Equiv.apply_eq_iff_eq_symm_apply, comap_adj, map_adj, Equiv.toEmbedding_apply,
exists_eq_right_right, exists_eq_right]
state_before: case Adj.h.h.a
V : Type u_1
W : Type u_2
X : Type u_3
G✝ : SimpleGraph V
G' : SimpleGraph W
u v : V
G : SimpleGraph V
e : V ≃ W
x✝¹ x✝ : W
⊢ (SimpleGraph.comap (⇑e.symm.toEmbedding) G).Adj x✝¹ x✝ ↔ (SimpleGraph.map e.toEmbedding G).Adj x✝¹ x✝
state_after: no goals
Theorem: quotient_norm_eq_zero_iff
File: Mathlib/Analysis/Normed/Group/Quotient.lean

tactic: rw [mk'_apply, norm_mk, ← mem_closure_iff_infDist_zero]
state_before: M : Type u_1
N : Type u_2
inst✝¹ : SeminormedAddCommGroup M
inst✝ : SeminormedAddCommGroup N
S : AddSubgroup M
m : M
⊢ ‖(mk' S) m‖ = 0 ↔ m ∈ closure ↑S
state_after: M : Type u_1
N : Type u_2
inst✝¹ : SeminormedAddCommGroup M
inst✝ : SeminormedAddCommGroup N
S : AddSubgroup M
m : M
⊢ (↑S).Nonempty

tactic: exact ⟨0, S.zero_mem⟩
state_before: M : Type u_1
N : Type u_2
inst✝¹ : SeminormedAddCommGroup M
inst✝ : SeminormedAddCommGroup N
S : AddSubgroup M
m : M
⊢ (↑S).Nonempty
state_after: no goals
Theorem: ArithmeticFunction.sigma_zero_apply_prime_pow
File: Mathlib/NumberTheory/ArithmeticFunction.lean

tactic: rw [sigma_zero_apply, divisors_prime_pow hp, card_map, card_range]
state_before: R : Type u_1
p i : ℕ
hp : Nat.Prime p
⊢ (σ 0) (p ^ i) = i + 1
state_after: no goals
Theorem: isOpen_iff_of_cover
File: Mathlib/Topology/Basic.lean

tactic: refine ⟨fun h i ↦ (ho i).inter h, fun h ↦ ?_⟩
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
f : α → Set X
ho : ∀ (i : α), IsOpen (f i)
hU : ⋃ i, f i = univ
⊢ IsOpen s ↔ ∀ (i : α), IsOpen (f i ∩ s)
state_after: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
f : α → Set X
ho : ∀ (i : α), IsOpen (f i)
hU : ⋃ i, f i = univ
h : ∀ (i : α), IsOpen (f i ∩ s)
⊢ IsOpen s

tactic: rw [← s.inter_univ, inter_comm, ← hU, iUnion_inter]
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
f : α → Set X
ho : ∀ (i : α), IsOpen (f i)
hU : ⋃ i, f i = univ
h : ∀ (i : α), IsOpen (f i ∩ s)
⊢ IsOpen s
state_after: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
f : α → Set X
ho : ∀ (i : α), IsOpen (f i)
hU : ⋃ i, f i = univ
h : ∀ (i : α), IsOpen (f i ∩ s)
⊢ IsOpen (⋃ i, f i ∩ s)

tactic: exact isOpen_iUnion fun i ↦ h i
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
f : α → Set X
ho : ∀ (i : α), IsOpen (f i)
hU : ⋃ i, f i = univ
h : ∀ (i : α), IsOpen (f i ∩ s)
⊢ IsOpen (⋃ i, f i ∩ s)
state_after: no goals
Theorem: Subgroup.card_dvd_of_injective
File: Mathlib/GroupTheory/Coset.lean

tactic: classical calc
    Nat.card α = Nat.card (f.range : Subgroup H) := Nat.card_congr (Equiv.ofInjective f hf)
    _ ∣ Nat.card H := card_subgroup_dvd_card _
state_before: α : Type u_1
inst✝¹ : Group α
s t : Subgroup α
H : Type u_2
inst✝ : Group H
f : α →* H
hf : Injective ⇑f
⊢ Nat.card α ∣ Nat.card H
state_after: no goals

tactic: calc
Nat.card α = Nat.card (f.range : Subgroup H) := Nat.card_congr (Equiv.ofInjective f hf)
_ ∣ Nat.card H := card_subgroup_dvd_card _
state_before: α : Type u_1
inst✝¹ : Group α
s t : Subgroup α
H : Type u_2
inst✝ : Group H
f : α →* H
hf : Injective ⇑f
⊢ Nat.card α ∣ Nat.card H
state_after: no goals
Theorem: ZNum.cast_mul
File: Mathlib/Data/Num/Lemmas.lean

tactic: rw [← cast_to_int, mul_to_int, Int.cast_mul, cast_to_int, cast_to_int]
state_before: α : Type u_1
inst✝ : Ring α
m n : ZNum
⊢ ↑(m * n) = ↑m * ↑n
state_after: no goals
Theorem: AlgebraicGeometry.ΓSpec.toOpen_unit_app_val_c_app'
File: Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean

tactic: exact le_top
state_before: X : Scheme
U : Opens (PrimeSpectrum ↑Γ(X, ⊤))
⊢ adjunction.unit.app X ⁻¹ᵁ U ≤ ⊤
state_after: no goals
Theorem: Finite.isField_of_domain
File: Mathlib/RingTheory/IntegralDomain.lean

tactic: cases nonempty_fintype R
state_before: R✝ : Type u_1
G : Type u_2
inst✝⁵ : Ring R✝
inst✝⁴ : IsDomain R✝
inst✝³ : Fintype R✝
R : Type u_3
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : Finite R
⊢ IsField R
state_after: case intro
R✝ : Type u_1
G : Type u_2
inst✝⁵ : Ring R✝
inst✝⁴ : IsDomain R✝
inst✝³ : Fintype R✝
R : Type u_3
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : Finite R
val✝ : Fintype R
⊢ IsField R

tactic: exact @Field.toIsField R (@Fintype.fieldOfDomain R _ _ (Classical.decEq R) _)
state_before: case intro
R✝ : Type u_1
G : Type u_2
inst✝⁵ : Ring R✝
inst✝⁴ : IsDomain R✝
inst✝³ : Fintype R✝
R : Type u_3
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : Finite R
val✝ : Fintype R
⊢ IsField R
state_after: no goals
Theorem: integral_exp_neg_Ioi_zero
File: Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean

tactic: simpa only [neg_zero, exp_zero] using integral_exp_neg_Ioi 0
state_before: ⊢ ∫ (x : ℝ) in Ioi 0, rexp (-x) = 1
state_after: no goals
Theorem: smul_pos
File: Mathlib/Algebra/Order/Module/Defs.lean

tactic: simpa only [smul_zero] using smul_lt_smul_of_pos_left hb ha
state_before: α : Type u_1
β : Type u_2
a a₁ a₂ : α
b b₁ b₂ : β
inst✝⁵ : Zero α
inst✝⁴ : Zero β
inst✝³ : SMulZeroClass α β
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : PosSMulStrictMono α β
ha : 0 < a
hb : 0 < b
⊢ 0 < a • b
state_after: no goals
Theorem: MeasureTheory.exp_neg_llr'
File: Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean

tactic: filter_upwards [neg_llr hμν, exp_llr_of_ac ν μ hμν] with x hx hx_exp_log
state_before: α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
f : α → ℝ
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : ν ≪ μ
⊢ (fun x => rexp (-llr μ ν x)) =ᶠ[ae ν] fun x => (ν.rnDeriv μ x).toReal
state_after: case h
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
f : α → ℝ
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : ν ≪ μ
x : α
hx : (-llr ν μ) x = llr μ ν x
hx_exp_log : rexp (llr ν μ x) = (ν.rnDeriv μ x).toReal
⊢ rexp (-llr μ ν x) = (ν.rnDeriv μ x).toReal

tactic: rw [Pi.neg_apply, neg_eq_iff_eq_neg] at hx
state_before: case h
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
f : α → ℝ
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : ν ≪ μ
x : α
hx : (-llr ν μ) x = llr μ ν x
hx_exp_log : rexp (llr ν μ x) = (ν.rnDeriv μ x).toReal
⊢ rexp (-llr μ ν x) = (ν.rnDeriv μ x).toReal
state_after: case h
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
f : α → ℝ
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : ν ≪ μ
x : α
hx : llr ν μ x = -llr μ ν x
hx_exp_log : rexp (llr ν μ x) = (ν.rnDeriv μ x).toReal
⊢ rexp (-llr μ ν x) = (ν.rnDeriv μ x).toReal

tactic: rw [← hx, hx_exp_log]
state_before: case h
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
f : α → ℝ
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hμν : ν ≪ μ
x : α
hx : llr ν μ x = -llr μ ν x
hx_exp_log : rexp (llr ν μ x) = (ν.rnDeriv μ x).toReal
⊢ rexp (-llr μ ν x) = (ν.rnDeriv μ x).toReal
state_after: no goals
Theorem: Equiv.semiconj₂_conj
File: Mathlib/Logic/Equiv/Basic.lean

tactic: simp [arrowCongr]
state_before: α₁ : Type u_1
β₁ : Type u_2
e : α₁ ≃ β₁
f : α₁ → α₁ → α₁
x y : α₁
⊢ e (f x y) = (e.arrowCongr e.conj) f (e x) (e y)
state_after: no goals
Theorem: isOpen_exterior
File: Mathlib/Topology/AlexandrovDiscrete.lean

tactic: rw [exterior_def]
state_before: ι : Sort u_1
κ : ι → Sort u_2
α : Type u_3
β : Type u_4
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
s t : Set α
a x y : α
inst✝¹ : AlexandrovDiscrete α
inst✝ : AlexandrovDiscrete β
⊢ IsOpen (exterior s)
state_after: ι : Sort u_1
κ : ι → Sort u_2
α : Type u_3
β : Type u_4
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
s t : Set α
a x y : α
inst✝¹ : AlexandrovDiscrete α
inst✝ : AlexandrovDiscrete β
⊢ IsOpen (⋂₀ {t | IsOpen t ∧ s ⊆ t})

tactic: exact isOpen_sInter fun _ ↦ And.left
state_before: ι : Sort u_1
κ : ι → Sort u_2
α : Type u_3
β : Type u_4
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
s t : Set α
a x y : α
inst✝¹ : AlexandrovDiscrete α
inst✝ : AlexandrovDiscrete β
⊢ IsOpen (⋂₀ {t | IsOpen t ∧ s ⊆ t})
state_after: no goals
Theorem: isGLB_empty_iff
File: Mathlib/Order/Bounds/Basic.lean

tactic: simp [IsGLB]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
a b : α
⊢ IsGLB ∅ a ↔ IsTop a
state_after: no goals
Theorem: derivWithin_div_const
File: Mathlib/Analysis/Calculus/Deriv/Mul.lean

tactic: simp [div_eq_inv_mul, derivWithin_const_mul, hc, hxs]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
E : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
G : Type u_1
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
𝕜' : Type u_2
inst✝¹ : NontriviallyNormedField 𝕜'
inst✝ : NormedAlgebra 𝕜 𝕜'
c d✝ : 𝕜 → 𝕜'
c' d' : 𝕜'
hc : DifferentiableWithinAt 𝕜 c s x
d : 𝕜'
hxs : UniqueDiffWithinAt 𝕜 s x
⊢ derivWithin (fun x => c x / d) s x = derivWithin c s x / d
state_after: no goals
Theorem: Geometry.SimplicialComplex.vertices_eq
File: Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean

tactic: ext x
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s t : Finset E
x : E
⊢ K.vertices = ⋃ k ∈ K.faces, ↑k
state_after: case h
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s t : Finset E
x✝ x : E
⊢ x ∈ K.vertices ↔ x ∈ ⋃ k ∈ K.faces, ↑k

tactic: refine ⟨fun h => mem_biUnion h <| mem_coe.2 <| mem_singleton_self x, fun h => ?_⟩
state_before: case h
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s t : Finset E
x✝ x : E
⊢ x ∈ K.vertices ↔ x ∈ ⋃ k ∈ K.faces, ↑k
state_after: case h
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s t : Finset E
x✝ x : E
h : x ∈ ⋃ k ∈ K.faces, ↑k
⊢ x ∈ K.vertices

tactic: obtain ⟨s, hs, hx⟩ := mem_iUnion₂.1 h
state_before: case h
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s t : Finset E
x✝ x : E
h : x ∈ ⋃ k ∈ K.faces, ↑k
⊢ x ∈ K.vertices
state_after: case h.intro.intro
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s✝ t : Finset E
x✝ x : E
h : x ∈ ⋃ k ∈ K.faces, ↑k
s : Finset E
hs : s ∈ K.faces
hx : x ∈ ↑s
⊢ x ∈ K.vertices

tactic: exact K.down_closed hs (Finset.singleton_subset_iff.2 <| mem_coe.1 hx) (singleton_ne_empty _)
state_before: case h.intro.intro
𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : OrderedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
K : SimplicialComplex 𝕜 E
s✝ t : Finset E
x✝ x : E
h : x ∈ ⋃ k ∈ K.faces, ↑k
s : Finset E
hs : s ∈ K.faces
hx : x ∈ ↑s
⊢ x ∈ K.vertices
state_after: no goals
Theorem: CategoryTheory.Coverage.saturate_of_superset
File: Mathlib/CategoryTheory/Sites/Coverage.lean

tactic: apply saturate.transitive _ _ _ hS
state_before: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
⊢ K.saturate X T
state_after: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
⊢ ∀ ⦃Y : C⦄ ⦃f : Y ⟶ X⦄, S.arrows f → K.saturate Y (Sieve.pullback f T)

tactic: intro Y g hg
state_before: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
⊢ ∀ ⦃Y : C⦄ ⦃f : Y ⟶ X⦄, S.arrows f → K.saturate Y (Sieve.pullback f T)
state_after: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ K.saturate Y (Sieve.pullback g T)

tactic: rw [eq_top_pullback (h := h)]
state_before: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ K.saturate Y (Sieve.pullback g T)
state_after: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ K.saturate Y ⊤

case hf
C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ S.arrows g

tactic: apply saturate.top
state_before: C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ K.saturate Y ⊤
state_after: no goals

tactic: assumption
state_before: case hf
C : Type u_1
D : Type ?u.34899
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Category.{?u.34907, ?u.34899} D
K : Coverage C
X : C
S T : Sieve X
h : S ≤ T
hS : K.saturate X S
Y : C
g : Y ⟶ X
hg : S.arrows g
⊢ S.arrows g
state_after: no goals
Theorem: UniqueFactorizationMonoid.exists_associated_prime_pow_of_unique_normalized_factor
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: use Multiset.card.toFun (normalizedFactors r)
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p r : α
h : ∀ {m : α}, m ∈ normalizedFactors r → m = p
hr : r ≠ 0
⊢ ∃ i, p ^ i ~ᵤ r
state_after: case h
α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p r : α
h : ∀ {m : α}, m ∈ normalizedFactors r → m = p
hr : r ≠ 0
⊢ p ^ (↑Multiset.card).toFun (normalizedFactors r) ~ᵤ r

tactic: have := UniqueFactorizationMonoid.normalizedFactors_prod hr
state_before: case h
α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p r : α
h : ∀ {m : α}, m ∈ normalizedFactors r → m = p
hr : r ≠ 0
⊢ p ^ (↑Multiset.card).toFun (normalizedFactors r) ~ᵤ r
state_after: case h
α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p r : α
h : ∀ {m : α}, m ∈ normalizedFactors r → m = p
hr : r ≠ 0
this : (normalizedFactors r).prod ~ᵤ r
⊢ p ^ (↑Multiset.card).toFun (normalizedFactors r) ~ᵤ r

tactic: rwa [Multiset.eq_replicate_of_mem fun b => h, Multiset.prod_replicate] at this
state_before: case h
α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p r : α
h : ∀ {m : α}, m ∈ normalizedFactors r → m = p
hr : r ≠ 0
this : (normalizedFactors r).prod ~ᵤ r
⊢ p ^ (↑Multiset.card).toFun (normalizedFactors r) ~ᵤ r
state_after: no goals
Theorem: MeasureTheory.integral_smul_eq_self
File: Mathlib/MeasureTheory/Group/Integral.lean

tactic: have h : MeasurableEmbedding fun x : α => g • x := (MeasurableEquiv.smul g).measurableEmbedding
state_before: 𝕜 : Type u_1
M : Type u_2
α : Type u_3
G : Type u_4
E : Type u_5
F : Type u_6
inst✝⁹ : MeasurableSpace G
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : CompleteSpace E
inst✝⁵ : NormedAddCommGroup F
μ✝ : Measure G
f✝ : G → E
g✝ : G
inst✝⁴ : Group G
inst✝³ : MeasurableSpace α
inst✝² : MulAction G α
inst✝¹ : MeasurableSMul G α
μ : Measure α
inst✝ : SMulInvariantMeasure G α μ
f : α → E
g : G
⊢ ∫ (x : α), f (g • x) ∂μ = ∫ (x : α), f x ∂μ
state_after: 𝕜 : Type u_1
M : Type u_2
α : Type u_3
G : Type u_4
E : Type u_5
F : Type u_6
inst✝⁹ : MeasurableSpace G
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : CompleteSpace E
inst✝⁵ : NormedAddCommGroup F
μ✝ : Measure G
f✝ : G → E
g✝ : G
inst✝⁴ : Group G
inst✝³ : MeasurableSpace α
inst✝² : MulAction G α
inst✝¹ : MeasurableSMul G α
μ : Measure α
inst✝ : SMulInvariantMeasure G α μ
f : α → E
g : G
h : MeasurableEmbedding fun x => g • x
⊢ ∫ (x : α), f (g • x) ∂μ = ∫ (x : α), f x ∂μ

tactic: rw [← h.integral_map, map_smul]
state_before: 𝕜 : Type u_1
M : Type u_2
α : Type u_3
G : Type u_4
E : Type u_5
F : Type u_6
inst✝⁹ : MeasurableSpace G
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : CompleteSpace E
inst✝⁵ : NormedAddCommGroup F
μ✝ : Measure G
f✝ : G → E
g✝ : G
inst✝⁴ : Group G
inst✝³ : MeasurableSpace α
inst✝² : MulAction G α
inst✝¹ : MeasurableSMul G α
μ : Measure α
inst✝ : SMulInvariantMeasure G α μ
f : α → E
g : G
h : MeasurableEmbedding fun x => g • x
⊢ ∫ (x : α), f (g • x) ∂μ = ∫ (x : α), f x ∂μ
state_after: no goals
Theorem: Bornology.isVonNBounded_sub_of_nonempty
File: Mathlib/Analysis/LocallyConvex/Bounded.lean

tactic: simp [sub_eq_add_neg, isVonNBounded_add_of_nonempty, hs, ht]
state_before: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
E' : Type u_4
F : Type u_5
ι : Type u_6
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousSMul 𝕜 E
inst✝ : TopologicalAddGroup E
s t : Set E
hs : s.Nonempty
ht : t.Nonempty
⊢ IsVonNBounded 𝕜 (s - t) ↔ IsVonNBounded 𝕜 s ∧ IsVonNBounded 𝕜 t
state_after: no goals