tasksource/leandojo huggingface dataset:
Theorem: Ideal.adic_basis
File: Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean

tactic: suffices ∀ i j : ℕ, ∃ k, I ^ k ≤ I ^ i ∧ I ^ k ≤ I ^ j by
  simpa only [smul_eq_mul, mul_top, Algebra.id.map_eq_id, map_id, le_inf_iff] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (i j : ℕ), ∃ k, I ^ k • ⊤ ≤ I ^ i • ⊤ ⊓ I ^ j • ⊤

tactic: intro i j
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (i j : ℕ), ∃ k, I ^ k ≤ I ^ i ∧ I ^ k ≤ I ^ j

tactic: exact ⟨max i j, pow_le_pow (le_max_left i j), pow_le_pow (le_max_right i j)⟩
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
i j : ℕ
⊢ ∃ k, I ^ k ≤ I ^ i ∧ I ^ k ≤ I ^ j

tactic: simpa only [smul_eq_mul, mul_top, Algebra.id.map_eq_id, map_id, le_inf_iff] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
this : ∀ (i j : ℕ), ∃ k, I ^ k ≤ I ^ i ∧ I ^ k ≤ I ^ j
⊢ ∀ (i j : ℕ), ∃ k, I ^ k • ⊤ ≤ I ^ i • ⊤ ⊓ I ^ j • ⊤

tactic: suffices ∀ (a : R) (i : ℕ), ∃ j : ℕ, a • I ^ j ≤ I ^ i by
  simpa only [smul_top_eq_map, Algebra.id.map_eq_id, map_id] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (a : R) (i : ℕ), ∃ j, a • I ^ j • ⊤ ≤ I ^ i • ⊤

tactic: intro r n
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (a : R) (i : ℕ), ∃ j, a • I ^ j ≤ I ^ i

tactic: use n
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
r : R
n : ℕ
⊢ ∃ j, r • I ^ j ≤ I ^ n

tactic: rintro a ⟨x, hx, rfl⟩
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
r : R
n : ℕ
⊢ r • I ^ n ≤ I ^ n

tactic: exact (I ^ n).smul_mem r hx
state_before: case intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
r : R
n : ℕ
x : R
hx : x ∈ ↑(I ^ n)
⊢ ↑(DistribMulAction.toLinearMap R R r) x ∈ I ^ n

tactic: simpa only [smul_top_eq_map, Algebra.id.map_eq_id, map_id] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
this : ∀ (a : R) (i : ℕ), ∃ j, a • I ^ j ≤ I ^ i
⊢ ∀ (a : R) (i : ℕ), ∃ j, a • I ^ j • ⊤ ≤ I ^ i • ⊤

tactic: suffices ∀ i : ℕ, ∃ j : ℕ, (I ^ j: Set R) * (I ^ j : Set R) ⊆ (I ^ i : Set R) by
  simpa only [smul_top_eq_map, Algebra.id.map_eq_id, map_id] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (i : ℕ), ∃ j, ↑(I ^ j • ⊤) * ↑(I ^ j • ⊤) ⊆ ↑(I ^ i • ⊤)

tactic: intro n
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (i : ℕ), ∃ j, ↑(I ^ j) * ↑(I ^ j) ⊆ ↑(I ^ i)

tactic: use n
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
n : ℕ
⊢ ∃ j, ↑(I ^ j) * ↑(I ^ j) ⊆ ↑(I ^ n)

tactic: rintro a ⟨x, b, _hx, hb, rfl⟩
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
n : ℕ
⊢ ↑(I ^ n) * ↑(I ^ n) ⊆ ↑(I ^ n)

tactic: exact (I ^ n).smul_mem x hb
state_before: case intro.intro.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
n : ℕ
x b : R
_hx : x ∈ ↑(I ^ n)
hb : b ∈ ↑(I ^ n)
⊢ (fun x x_1 => x * x_1) x b ∈ ↑(I ^ n)

tactic: simpa only [smul_top_eq_map, Algebra.id.map_eq_id, map_id] using this
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
this : ∀ (i : ℕ), ∃ j, ↑(I ^ j) * ↑(I ^ j) ⊆ ↑(I ^ i)
⊢ ∀ (i : ℕ), ∃ j, ↑(I ^ j • ⊤) * ↑(I ^ j • ⊤) ⊆ ↑(I ^ i • ⊤)
Theorem: Finset.sum_smul_vsub_const_eq_weightedVSub
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: rw [sum_smul_vsub_eq_weightedVSub_sub, s.weightedVSub_apply_const _ _ h, sub_zero]
state_before: k : Type u_1
V : Type u_3
P : Type u_4
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_2
s : Finset ι
ι₂ : Type ?u.202333
s₂ : Finset ι₂
w : ι → k
p₁ : ι → P
p₂ : P
h : ∑ i in s, w i = 0
⊢ ∑ i in s, w i • (p₁ i -ᵥ p₂) = ↑(weightedVSub s p₁) w
Theorem: Ideal.toCotangent_eq
File: Mathlib/RingTheory/Ideal/Cotangent.lean

tactic: rw [← sub_eq_zero]
state_before: R : Type u
S : Type v
S' : Type w
inst✝⁶ : CommRing R
inst✝⁵ : CommSemiring S
inst✝⁴ : Algebra S R
inst✝³ : CommSemiring S'
inst✝² : Algebra S' R
inst✝¹ : Algebra S S'
inst✝ : IsScalarTower S S' R
I : Ideal R
x y : { x // x ∈ I }
⊢ ↑(toCotangent I) x = ↑(toCotangent I) y ↔ ↑x - ↑y ∈ I ^ 2

tactic: exact I.mem_toCotangent_ker
state_before: R : Type u
S : Type v
S' : Type w
inst✝⁶ : CommRing R
inst✝⁵ : CommSemiring S
inst✝⁴ : Algebra S R
inst✝³ : CommSemiring S'
inst✝² : Algebra S' R
inst✝¹ : Algebra S S'
inst✝ : IsScalarTower S S' R
I : Ideal R
x y : { x // x ∈ I }
⊢ ↑(toCotangent I) x - ↑(toCotangent I) y = 0 ↔ ↑x - ↑y ∈ I ^ 2
Theorem: LocallyFinite.exists_finset_mulSupport
File: Mathlib/Topology/Algebra/Monoid.lean

tactic: rcases hf x₀ with ⟨U, hxU, hUf⟩
state_before: ι : Type u_2
α : Type ?u.448737
X : Type u_3
M✝ : Type ?u.448743
N : Type ?u.448746
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_1
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
⊢ ∃ I, ∀ᶠ (x : X) in 𝓝 x₀, (mulSupport fun i => f i x) ⊆ ↑I

tactic: refine' ⟨hUf.toFinset, mem_of_superset hxU fun y hy i hi => _⟩
state_before: case intro.intro
ι : Type u_2
α : Type ?u.448737
X : Type u_3
M✝ : Type ?u.448743
N : Type ?u.448746
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_1
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : Set.Finite {i | Set.Nonempty ((fun i => mulSupport (f i)) i ∩ U)}
⊢ ∃ I, ∀ᶠ (x : X) in 𝓝 x₀, (mulSupport fun i => f i x) ⊆ ↑I

tactic: rw [hUf.coe_toFinset]
state_before: case intro.intro
ι : Type u_2
α : Type ?u.448737
X : Type u_3
M✝ : Type ?u.448743
N : Type ?u.448746
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_1
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : Set.Finite {i | Set.Nonempty ((fun i => mulSupport (f i)) i ∩ U)}
y : X
hy : y ∈ U
i : ι
hi : i ∈ mulSupport fun i => f i y
⊢ i ∈ ↑(Finite.toFinset hUf)

tactic: exact ⟨y, hi, hy⟩
state_before: case intro.intro
ι : Type u_2
α : Type ?u.448737
X : Type u_3
M✝ : Type ?u.448743
N : Type ?u.448746
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace M✝
inst✝² : CommMonoid M✝
inst✝¹ : ContinuousMul M✝
M : Type u_1
inst✝ : CommMonoid M
f : ι → X → M
hf : LocallyFinite fun i => mulSupport (f i)
x₀ : X
U : Set X
hxU : U ∈ 𝓝 x₀
hUf : Set.Finite {i | Set.Nonempty ((fun i => mulSupport (f i)) i ∩ U)}
y : X
hy : y ∈ U
i : ι
hi : i ∈ mulSupport fun i => f i y
⊢ i ∈ {i | Set.Nonempty ((fun i => mulSupport (f i)) i ∩ U)}
Theorem: Matrix.det_unique
File: Mathlib/LinearAlgebra/Matrix/Determinant.lean

tactic: simp [det_apply, univ_unique]
state_before: m : Type ?u.179266
n✝ : Type ?u.179269
inst✝⁷ : DecidableEq n✝
inst✝⁶ : Fintype n✝
inst✝⁵ : DecidableEq m
inst✝⁴ : Fintype m
R : Type v
inst✝³ : CommRing R
n : Type u_1
inst✝² : Unique n
inst✝¹ : DecidableEq n
inst✝ : Fintype n
A : Matrix n n R
⊢ det A = A default default
Theorem: Turing.Tape.write_move_right_n
File: Mathlib/Computability/TuringMachine.lean

tactic: induction' n with n IH generalizing L R
state_before: Γ : Type u_1
inst✝ : Inhabited Γ
f : Γ → Γ
L R : ListBlank Γ
n : ℕ
⊢ write (f (ListBlank.nth R n)) ((move Dir.right^[n]) (mk' L R)) =
    (move Dir.right^[n]) (mk' L (ListBlank.modifyNth f n R))

tactic: simp only [ListBlank.head_cons, ListBlank.nth_succ, ListBlank.modifyNth, Tape.move_right_mk',
  ListBlank.tail_cons, iterate_succ_apply, IH]
state_before: case succ
Γ : Type u_1
inst✝ : Inhabited Γ
f : Γ → Γ
L✝ R✝ : ListBlank Γ
n : ℕ
IH :
  ∀ (L R : ListBlank Γ),
    write (f (ListBlank.nth R n)) ((move Dir.right^[n]) (mk' L R)) =
      (move Dir.right^[n]) (mk' L (ListBlank.modifyNth f n R))
L R : ListBlank Γ
⊢ write (f (ListBlank.nth R (Nat.succ n))) ((move Dir.right^[Nat.succ n]) (mk' L R)) =
    (move Dir.right^[Nat.succ n]) (mk' L (ListBlank.modifyNth f (Nat.succ n) R))

tactic: simp only [ListBlank.nth_zero, ListBlank.modifyNth, iterate_zero_apply, Nat.zero_eq]
state_before: case zero
Γ : Type u_1
inst✝ : Inhabited Γ
f : Γ → Γ
L✝ R✝ L R : ListBlank Γ
⊢ write (f (ListBlank.nth R Nat.zero)) ((move Dir.right^[Nat.zero]) (mk' L R)) =
    (move Dir.right^[Nat.zero]) (mk' L (ListBlank.modifyNth f Nat.zero R))

tactic: rw [← Tape.write_mk', ListBlank.cons_head_tail]
state_before: case zero
Γ : Type u_1
inst✝ : Inhabited Γ
f : Γ → Γ
L✝ R✝ L R : ListBlank Γ
⊢ write (f (ListBlank.head R)) (mk' L R) = mk' L (ListBlank.cons (f (ListBlank.head R)) (ListBlank.tail R))
Theorem: toSubalgebra_toIntermediateField
File: Mathlib/FieldTheory/IntermediateField.lean

tactic: ext
state_before: K : Type u_1
L : Type u_2
L' : Type ?u.77095
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field L'
inst✝¹ : Algebra K L
inst✝ : Algebra K L'
S✝ : IntermediateField K L
S : Subalgebra K L
inv_mem : ∀ (x : L), x ∈ S → x⁻¹ ∈ S
⊢ (Subalgebra.toIntermediateField S inv_mem).toSubalgebra = S

tactic: rfl
state_before: case h
K : Type u_1
L : Type u_2
L' : Type ?u.77095
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field L'
inst✝¹ : Algebra K L
inst✝ : Algebra K L'
S✝ : IntermediateField K L
S : Subalgebra K L
inv_mem : ∀ (x : L), x ∈ S → x⁻¹ ∈ S
x✝ : L
⊢ x✝ ∈ (Subalgebra.toIntermediateField S inv_mem).toSubalgebra ↔ x✝ ∈ S
Theorem: Holor.slice_unitVec_mul
File: Mathlib/Data/Holor.lean

tactic: simp [slice, mul, HolorIndex.take, unitVec, HolorIndex.drop, h]
state_before: α : Type
d : ℕ
ds ds₁ ds₂ ds₃ : List ℕ
inst✝ : Ring α
i j : ℕ
hid : i < d
x : Holor α ds
t : HolorIndex ds
h : i = j
⊢ slice (unitVec d j ⊗ x) i hid t = ite (i = j) x 0 t

tactic: simp [slice, mul, HolorIndex.take, unitVec, HolorIndex.drop, h]
state_before: α : Type
d : ℕ
ds ds₁ ds₂ ds₃ : List ℕ
inst✝ : Ring α
i j : ℕ
hid : i < d
x : Holor α ds
t : HolorIndex ds
h : ¬i = j
⊢ slice (unitVec d j ⊗ x) i hid t = ite (i = j) x 0 t

tactic: rfl
state_before: α : Type
d : ℕ
ds ds₁ ds₂ ds₃ : List ℕ
inst✝ : Ring α
i j : ℕ
hid : i < d
x : Holor α ds
t : HolorIndex ds
h : ¬i = j
⊢ 0 = OfNat.ofNat 0 t
Theorem: Ordinal.cof_blsub_le
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: rw [← o.card.lift_id]
state_before: α : Type ?u.39412
r : α → α → Prop
o : Ordinal
f : (a : Ordinal) → a < o → Ordinal
⊢ cof (blsub o f) ≤ card o

tactic: exact cof_blsub_le_lift f
state_before: α : Type ?u.39412
r : α → α → Prop
o : Ordinal
f : (a : Ordinal) → a < o → Ordinal
⊢ cof (blsub o f) ≤ Cardinal.lift (card o)
Theorem: Finset.insert_sdiff_of_mem
File: Mathlib/Data/Finset/Basic.lean

tactic: rw [← coe_inj, coe_sdiff, coe_sdiff, coe_insert]
state_before: α : Type u_1
β : Type ?u.241033
γ : Type ?u.241036
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b : α
s : Finset α
x : α
h : x ∈ t
⊢ insert x s \ t = s \ t

tactic: exact Set.insert_diff_of_mem _ h
state_before: α : Type u_1
β : Type ?u.241033
γ : Type ?u.241036
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b : α
s : Finset α
x : α
h : x ∈ t
⊢ insert x ↑s \ ↑t = ↑s \ ↑t
Theorem: ZMod.ringHom_map_cast
File: Mathlib/Data/ZMod/Basic.lean

tactic: cases n
state_before: n : ℕ
R : Type u_1
inst✝ : Ring R
f : R →+* ZMod n
k : ZMod n
⊢ ↑f ↑k = k

tactic: . dsimp [ZMod, ZMod.cast] at f k ⊢; simp
state_before: case zero
R : Type u_1
inst✝ : Ring R
f : R →+* ZMod Nat.zero
k : ZMod Nat.zero
⊢ ↑f ↑k = k

case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
f : R →+* ZMod (Nat.succ n✝)
k : ZMod (Nat.succ n✝)
⊢ ↑f ↑k = k

tactic: . dsimp [ZMod, ZMod.cast] at f k ⊢
  erw [map_natCast, Fin.cast_val_eq_self]
state_before: case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
f : R →+* ZMod (Nat.succ n✝)
k : ZMod (Nat.succ n✝)
⊢ ↑f ↑k = k

tactic: dsimp [ZMod, ZMod.cast] at f k ⊢
state_before: case zero
R : Type u_1
inst✝ : Ring R
f : R →+* ZMod Nat.zero
k : ZMod Nat.zero
⊢ ↑f ↑k = k

tactic: simp
state_before: case zero
R : Type u_1
inst✝ : Ring R
f : R →+* ℤ
k : ℤ
⊢ ↑f ↑k = k

tactic: dsimp [ZMod, ZMod.cast] at f k ⊢
state_before: case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
f : R →+* ZMod (Nat.succ n✝)
k : ZMod (Nat.succ n✝)
⊢ ↑f ↑k = k

tactic: erw [map_natCast, Fin.cast_val_eq_self]
state_before: case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
f : R →+* Fin (n✝ + 1)
k : Fin (n✝ + 1)
⊢ ↑f ↑(val k) = k
Theorem: Polynomial.X_sub_C_dvd_derivative_of_X_sub_C_dvd_divByMonic
File: Mathlib/Data/Polynomial/FieldDivision.lean

tactic: have key := divByMonic_add_X_sub_C_mul_derivate_divByMonic_eq_derivative f a
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
hf : X - ↑C a ∣ f /ₘ (X - ↑C a)
⊢ X - ↑C a ∣ ↑derivative f

tactic: have ⟨u,hu⟩ := hf
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
hf : X - ↑C a ∣ f /ₘ (X - ↑C a)
key : f /ₘ (X - ↑C a) + (X - ↑C a) * ↑derivative (f /ₘ (X - ↑C a)) = ↑derivative f
⊢ X - ↑C a ∣ ↑derivative f

tactic: rw [←key, hu, ←mul_add (X - C a) u _]
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
hf : X - ↑C a ∣ f /ₘ (X - ↑C a)
key : f /ₘ (X - ↑C a) + (X - ↑C a) * ↑derivative (f /ₘ (X - ↑C a)) = ↑derivative f
u : K[X]
hu : f /ₘ (X - ↑C a) = (X - ↑C a) * u
⊢ X - ↑C a ∣ ↑derivative f

tactic: use (u + derivative ((X - C a) * u))
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
hf : X - ↑C a ∣ f /ₘ (X - ↑C a)
key : f /ₘ (X - ↑C a) + (X - ↑C a) * ↑derivative (f /ₘ (X - ↑C a)) = ↑derivative f
u : K[X]
hu : f /ₘ (X - ↑C a) = (X - ↑C a) * u
⊢ X - ↑C a ∣ (X - ↑C a) * (u + ↑derivative ((X - ↑C a) * u))
Theorem: MeasureTheory.WithDensityᵥEq.congr_ae
File: Mathlib/MeasureTheory/Measure/WithDensityVectorMeasure.lean

tactic: by_cases hf : Integrable f μ
state_before: α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
⊢ withDensityᵥ μ f = withDensityᵥ μ g

tactic: ext i
state_before: case pos
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : Integrable f
⊢ withDensityᵥ μ f = withDensityᵥ μ g

tactic: intro hi
state_before: case pos.h
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : Integrable f
i : Set α
⊢ MeasurableSet i → ↑(withDensityᵥ μ f) i = ↑(withDensityᵥ μ g) i

tactic: rw [withDensityᵥ_apply hf hi, withDensityᵥ_apply (hf.congr h) hi]
state_before: case pos.h
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : Integrable f
i : Set α
hi : MeasurableSet i
⊢ ↑(withDensityᵥ μ f) i = ↑(withDensityᵥ μ g) i

tactic: exact integral_congr_ae (ae_restrict_of_ae h)
state_before: case pos.h
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : Integrable f
i : Set α
hi : MeasurableSet i
⊢ (∫ (x : α) in i, f x ∂μ) = ∫ (x : α) in i, g x ∂μ

tactic: have hg : ¬Integrable g μ := by intro hg; exact hf (hg.congr h.symm)
state_before: case neg
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : ¬Integrable f
⊢ withDensityᵥ μ f = withDensityᵥ μ g

tactic: rw [withDensityᵥ, withDensityᵥ, dif_neg hf, dif_neg hg]
state_before: case neg
α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : ¬Integrable f
hg : ¬Integrable g
⊢ withDensityᵥ μ f = withDensityᵥ μ g

tactic: intro hg
state_before: α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : ¬Integrable f
⊢ ¬Integrable g

tactic: exact hf (hg.congr h.symm)
state_before: α : Type u_1
β : Type ?u.63324
m : MeasurableSpace α
μ ν : Measure α
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f✝ g✝ f g : α → E
h : f =ᶠ[ae μ] g
hf : ¬Integrable f
hg : Integrable g
⊢ False
Theorem: Matrix.toLinearMap₂_compl₁₂
File: Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean

tactic: simp only [LinearMap.toMatrix₂_compl₁₂ b₁ b₂, LinearMap.toMatrix₂_toLinearMap₂,
  toMatrix_toLin]
state_before: R : Type u_3
R₁ : Type ?u.1948955
R₂ : Type ?u.1948958
M✝ : Type ?u.1948961
M₁ : Type u_8
M₂ : Type u_9
M₁' : Type u_6
M₂' : Type u_7
n : Type u_1
m : Type u_2
n' : Type u_4
m' : Type u_5
ι : Type ?u.1948988
inst✝¹⁶ : CommRing R
inst✝¹⁵ : AddCommMonoid M₁
inst✝¹⁴ : Module R M₁
inst✝¹³ : AddCommMonoid M₂
inst✝¹² : Module R M₂
inst✝¹¹ : DecidableEq n
inst✝¹⁰ : Fintype n
inst✝⁹ : DecidableEq m
inst✝⁸ : Fintype m
b₁ : Basis n R M₁
b₂ : Basis m R M₂
inst✝⁷ : AddCommMonoid M₁'
inst✝⁶ : Module R M₁'
inst✝⁵ : AddCommMonoid M₂'
inst✝⁴ : Module R M₂'
b₁' : Basis n' R M₁'
b₂' : Basis m' R M₂'
inst✝³ : Fintype n'
inst✝² : Fintype m'
inst✝¹ : DecidableEq n'
inst✝ : DecidableEq m'
M : Matrix n m R
P : Matrix n n' R
Q : Matrix m m' R
⊢ ↑(toMatrix₂ b₁' b₂') (compl₁₂ (↑(toLinearMap₂ b₁ b₂) M) (↑(toLin b₁' b₁) P) (↑(toLin b₂' b₂) Q)) =
    ↑(toMatrix₂ b₁' b₂') (↑(toLinearMap₂ b₁' b₂') (Pᵀ ⬝ M ⬝ Q))
Theorem: FractionalIdeal.spanSingleton_le_iff_mem
File: Mathlib/RingTheory/FractionalIdeal.lean

tactic: rw [← coe_le_coe, coe_spanSingleton, Submodule.span_singleton_le_iff_mem, mem_coe]
state_before: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1304874
inst✝³ : CommRing R₁
K : Type ?u.1304880
inst✝² : Field K
inst✝¹ : Algebra R₁ K
inst✝ : IsFractionRing R₁ K
x : P
I : FractionalIdeal S P
⊢ spanSingleton S x ≤ I ↔ x ∈ I
Theorem: fderiv_neg
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simp only [← fderivWithin_univ, fderivWithin_neg uniqueDiffWithinAt_univ]
state_before: 𝕜 : Type u_3
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.436745
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.436840
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
⊢ fderiv 𝕜 (fun y => -f y) x = -fderiv 𝕜 f x
Theorem: Equiv.Perm.IsCycle.cycleOf_eq
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: rw [h.cycleOf_apply]
state_before: ι : Type ?u.2371171
α : Type u_1
β : Type ?u.2371177
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g : Perm α
x y✝ : α
hf : IsCycle f
hx : ↑f x ≠ x
y : α
h : SameCycle f x y
⊢ ↑(cycleOf f x) y = ↑f y

tactic: rw [cycleOf_apply_of_not_sameCycle h,
  Classical.not_not.1 (mt ((isCycle_iff_sameCycle hx).1 hf).2 h)]
state_before: ι : Type ?u.2371171
α : Type u_1
β : Type ?u.2371177
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g : Perm α
x y✝ : α
hf : IsCycle f
hx : ↑f x ≠ x
y : α
h : ¬SameCycle f x y
⊢ ↑(cycleOf f x) y = ↑f y
Theorem: Set.Finite.infinite_compl
File: Mathlib/Data/Set/Finite.lean

tactic: simpa using hs.union h
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
inst✝ : Infinite α
s : Set α
hs : Set.Finite s
h : Set.Finite (sᶜ)
⊢ Set.Finite univ
Theorem: Bool.coe_false
File: Mathlib/Init/Data/Bool/Lemmas.lean

tactic: simp
state_before: ⊢ (false = true) = False
Theorem: WithSeminorms.continuous_seminorm
File: Mathlib/Analysis/LocallyConvex/WithSeminorms.lean

tactic: refine' Seminorm.continuous one_pos _
state_before: 𝕜 : Type ?u.440749
𝕜₂ : Type ?u.440752
𝕝 : Type u_1
𝕝₂ : Type ?u.440758
E : Type u_2
F : Type ?u.440764
G : Type ?u.440767
ι : Type u_3
ι' : Type ?u.440773
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : Nonempty ι
t : TopologicalSpace E
inst✝³ : TopologicalAddGroup E
inst✝² : NontriviallyNormedField 𝕝
inst✝¹ : Module 𝕝 E
inst✝ : ContinuousConstSMul 𝕝 E
p : SeminormFamily 𝕝 E ι
hp : WithSeminorms p
i : ι
⊢ Continuous ↑(p i)

tactic: rw [p.withSeminorms_iff_nhds_eq_iInf.mp hp, ball_zero_eq_preimage_ball]
state_before: 𝕜 : Type ?u.440749
𝕜₂ : Type ?u.440752
𝕝 : Type u_1
𝕝₂ : Type ?u.440758
E : Type u_2
F : Type ?u.440764
G : Type ?u.440767
ι : Type u_3
ι' : Type ?u.440773
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : Nonempty ι
t : TopologicalSpace E
inst✝³ : TopologicalAddGroup E
inst✝² : NontriviallyNormedField 𝕝
inst✝¹ : Module 𝕝 E
inst✝ : ContinuousConstSMul 𝕝 E
p : SeminormFamily 𝕝 E ι
hp : WithSeminorms p
i : ι
⊢ ball (p i) 0 1 ∈ 𝓝 0

tactic: exact Filter.mem_iInf_of_mem i (Filter.preimage_mem_comap <| Metric.ball_mem_nhds _ one_pos)
state_before: 𝕜 : Type ?u.440749
𝕜₂ : Type ?u.440752
𝕝 : Type u_1
𝕝₂ : Type ?u.440758
E : Type u_2
F : Type ?u.440764
G : Type ?u.440767
ι : Type u_3
ι' : Type ?u.440773
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : Nonempty ι
t : TopologicalSpace E
inst✝³ : TopologicalAddGroup E
inst✝² : NontriviallyNormedField 𝕝
inst✝¹ : Module 𝕝 E
inst✝ : ContinuousConstSMul 𝕝 E
p : SeminormFamily 𝕝 E ι
hp : WithSeminorms p
i : ι
⊢ ↑(p i) ⁻¹' Metric.ball 0 1 ∈ ⨅ (i : ι), Filter.comap (↑(p i)) (𝓝 0)
Theorem: IsPrimitiveRoot.coe_units_iff
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: simp only [iff_def, Units.ext_iff, Units.val_pow_eq_pow_val, Units.val_one]
state_before: M : Type u_1
N : Type ?u.1881352
G : Type ?u.1881355
R : Type ?u.1881358
S : Type ?u.1881361
F : Type ?u.1881364
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ✝ : M
f : F
h : IsPrimitiveRoot ζ✝ k
ζ : Mˣ
⊢ IsPrimitiveRoot (↑ζ) k ↔ IsPrimitiveRoot ζ k
Theorem: Nat.pred_eq_self_iff
File: Mathlib/Data/Nat/Basic.lean

tactic: cases n <;> simp [(Nat.succ_ne_self _).symm]
state_before: m n✝ k n : ℕ
⊢ pred n = n ↔ n = 0
Theorem: SimpleGraph.Walk.mem_support_iff_exists_append
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: constructor
state_before: V✝ : Type u
V' : Type v
V'' : Type w
G✝ : SimpleGraph V✝
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V✝
V : Type u
G : SimpleGraph V
u v w : V
p : Walk G u v
⊢ w ∈ support p ↔ ∃ q r, p = append q r

tactic: exact fun h => ⟨_, _, (p.take_spec h).symm⟩
state_before: case mp
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : SimpleGraph V✝
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V✝
V : Type u
G : SimpleGraph V
u v w : V
p : Walk G u v
⊢ w ∈ support p → ∃ q r, p = append q r

tactic: rintro ⟨q, r, rfl⟩
state_before: case mpr
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : SimpleGraph V✝
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V✝
V : Type u
G : SimpleGraph V
u v w : V
p : Walk G u v
⊢ (∃ q r, p = append q r) → w ∈ support p

tactic: simp only [mem_support_append_iff, end_mem_support, start_mem_support, or_self_iff]
state_before: case mpr.intro.intro
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : SimpleGraph V✝
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V✝
V : Type u
G : SimpleGraph V
u v w : V
q : Walk G u w
r : Walk G w v
⊢ w ∈ support (append q r)
Theorem: Ordinal.lsub_lt_ord_lift
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: subst h
state_before: α : Type ?u.28987
r : α → α → Prop
ι : Type u
f : ι → Ordinal
c : Ordinal
hι : Cardinal.lift (#ι) < cof c
hf : ∀ (i : ι), f i < c
h : lsub f = c
⊢ False

tactic: exact (cof_lsub_le_lift.{u, v} f).not_lt hι
state_before: α : Type ?u.28987
r : α → α → Prop
ι : Type u
f : ι → Ordinal
hι : Cardinal.lift (#ι) < cof (lsub f)
hf : ∀ (i : ι), f i < lsub f
⊢ False
Theorem: Turing.PartrecToTM2.K'.elim_update_main
File: Mathlib/Computability/TMToPartrec.lean

tactic: funext x
state_before: a b c d a' : List Γ'
⊢ update (elim a b c d) main a' = elim a' b c d

tactic: cases x <;> rfl
state_before: case h
a b c d a' : List Γ'
x : K'
⊢ update (elim a b c d) main a' x = elim a' b c d x