tasksource/leandojo huggingface dataset:
Theorem: AddMonoidAlgebra.of'_dvd_iff_modOf_eq_zero
File: Mathlib/Algebra/MonoidAlgebra/Division.lean

tactic: constructor
state_before: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
x : AddMonoidAlgebra k G
g : G
⊢ of' k G g ∣ x ↔ x %ᵒᶠ g = 0

tactic: rintro ⟨x, rfl⟩
state_before: case mp
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
x : AddMonoidAlgebra k G
g : G
⊢ of' k G g ∣ x → x %ᵒᶠ g = 0

tactic: rw [of'_mul_modOf]
state_before: case mp.intro
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
x : AddMonoidAlgebra k G
⊢ of' k G g * x %ᵒᶠ g = 0

tactic: intro h
state_before: case mpr
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
x : AddMonoidAlgebra k G
g : G
⊢ x %ᵒᶠ g = 0 → of' k G g ∣ x

tactic: rw [← divOf_add_modOf x g, h, add_zero]
state_before: case mpr
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
x : AddMonoidAlgebra k G
g : G
h : x %ᵒᶠ g = 0
⊢ of' k G g ∣ x

tactic: exact dvd_mul_right _ _
state_before: case mpr
k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
x : AddMonoidAlgebra k G
g : G
h : x %ᵒᶠ g = 0
⊢ of' k G g ∣ of' k G g * (x /ᵒᶠ g)
Theorem: Cardinal.mk_finset_of_fintype
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: simp [Pow.pow]
state_before: α β : Type u
inst✝ : Fintype α
⊢ (#Finset α) = 2 ^ Fintype.card α
Theorem: linearIndependent_insert'
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: rw [← linearIndependent_equiv ((Equiv.optionEquivSumPUnit _).trans (Equiv.Set.insert has).symm),
  linearIndependent_option]
state_before: ι✝ : Type u'
ι' : Type ?u.1222999
R : Type ?u.1223002
K : Type u_2
M : Type ?u.1223008
M' : Type ?u.1223011
M'' : Type ?u.1223014
V : Type u
V' : Type ?u.1223019
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v : ι✝ → V
s✝ t : Set V
x y z : V
ι : Type u_1
s : Set ι
a : ι
f : ι → V
has : ¬a ∈ s
⊢ (LinearIndependent K fun x => f ↑x) ↔ (LinearIndependent K fun x => f ↑x) ∧ ¬f a ∈ span K (f '' s)

tactic: erw [range_comp f ((↑) : s → ι)]
state_before: ι✝ : Type u'
ι' : Type ?u.1222999
R : Type ?u.1223002
K : Type u_2
M : Type ?u.1223008
M' : Type ?u.1223011
M'' : Type ?u.1223014
V : Type u
V' : Type ?u.1223019
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v : ι✝ → V
s✝ t : Set V
x y z : V
ι : Type u_1
s : Set ι
a : ι
f : ι → V
has : ¬a ∈ s
⊢ (LinearIndependent K fun x => f ↑x) → (¬f a ∈ span K (range fun x => f ↑x) ↔ ¬f a ∈ span K (f '' s))

tactic: simp
state_before: ι✝ : Type u'
ι' : Type ?u.1222999
R : Type ?u.1223002
K : Type u_2
M : Type ?u.1223008
M' : Type ?u.1223011
M'' : Type ?u.1223014
V : Type u
V' : Type ?u.1223019
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : AddCommGroup V'
inst✝¹ : Module K V
inst✝ : Module K V'
v : ι✝ → V
s✝ t : Set V
x y z : V
ι : Type u_1
s : Set ι
a : ι
f : ι → V
has : ¬a ∈ s
⊢ (LinearIndependent K fun x => f ↑x) → (¬f a ∈ span K (f '' range Subtype.val) ↔ ¬f a ∈ span K (f '' s))
Theorem: one_le_div
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: rw [le_div_iff hb, one_mul]
state_before: ι : Type ?u.75125
α : Type u_1
β : Type ?u.75131
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
hb : 0 < b
⊢ 1 ≤ a / b ↔ b ≤ a
Theorem: Set.image_eq
File: Mathlib/Data/Rel.lean

tactic: simp [Set.image, Function.graph, Rel.image]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.38153
f : α → β
s : Set α
⊢ f '' s = Rel.image (Function.graph f) s
Theorem: MeasureTheory.Measure.FiniteAtFilter.inf_ae_iff
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: refine' ⟨_, fun h => h.filter_mono inf_le_left⟩
state_before: α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : Filter α
⊢ FiniteAtFilter μ (f ⊓ ae μ) ↔ FiniteAtFilter μ f

tactic: rintro ⟨s, ⟨t, ht, u, hu, rfl⟩, hμ⟩
state_before: α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : Filter α
⊢ FiniteAtFilter μ (f ⊓ ae μ) → FiniteAtFilter μ f

tactic: suffices : μ t ≤ μ (t ∩ u)
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
f g : Filter α
t : Set α
ht : t ∈ f
u : Set α
hu : u ∈ ae μ
hμ : ↑↑μ (t ∩ u) < ⊤
⊢ FiniteAtFilter μ f

tactic: exact ⟨t, ht, this.trans_lt hμ⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
f g : Filter α
t : Set α
ht : t ∈ f
u : Set α
hu : u ∈ ae μ
hμ : ↑↑μ (t ∩ u) < ⊤
this : ↑↑μ t ≤ ↑↑μ (t ∩ u)
⊢ FiniteAtFilter μ f

case this
α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
f g : Filter α
t : Set α
ht : t ∈ f
u : Set α
hu : u ∈ ae μ
hμ : ↑↑μ (t ∩ u) < ⊤
⊢ ↑↑μ t ≤ ↑↑μ (t ∩ u)

tactic: exact measure_mono_ae (mem_of_superset hu fun x hu ht => ⟨ht, hu⟩)
state_before: case this
α : Type u_1
β : Type ?u.852920
γ : Type ?u.852923
δ : Type ?u.852926
ι : Type ?u.852929
R : Type ?u.852932
R' : Type ?u.852935
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
f g : Filter α
t : Set α
ht : t ∈ f
u : Set α
hu : u ∈ ae μ
hμ : ↑↑μ (t ∩ u) < ⊤
⊢ ↑↑μ t ≤ ↑↑μ (t ∩ u)
Theorem: Complex.arg_real_mul
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: rcases eq_or_ne x 0 with (rfl | hx)
state_before: x : ℂ
r : ℝ
hr : 0 < r
⊢ arg (↑r * x) = arg x

tactic: conv_lhs =>
  rw [← abs_mul_cos_add_sin_mul_I x, ← mul_assoc, ← ofReal_mul,
    arg_mul_cos_add_sin_mul_I (mul_pos hr (abs.pos hx)) x.arg_mem_Ioc]
state_before: case inr
x : ℂ
r : ℝ
hr : 0 < r
hx : x ≠ 0
⊢ arg (↑r * x) = arg x

tactic: rw [MulZeroClass.mul_zero]
state_before: case inl
r : ℝ
hr : 0 < r
⊢ arg (↑r * 0) = arg 0
Theorem: iteratedFDerivWithin_eq_equiv_comp
File: Mathlib/Analysis/Calculus/IteratedDeriv.lean

tactic: rw [iteratedDerivWithin_eq_equiv_comp, ← Function.comp.assoc, LinearIsometryEquiv.self_comp_symm,
  Function.left_id]
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type ?u.9982
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
n : ℕ
f : 𝕜 → F
s : Set 𝕜
x : 𝕜
⊢ iteratedFDerivWithin 𝕜 n f s = ↑(ContinuousMultilinearMap.piFieldEquiv 𝕜 (Fin n) F) ∘ iteratedDerivWithin n f s
Theorem: padicNormE.norm_p_pow
File: Mathlib/NumberTheory/Padics/PadicNumbers.lean

tactic: rw [← norm_p_zpow, zpow_ofNat]
state_before: p : ℕ
hp : Fact (Nat.Prime p)
n : ℕ
⊢ ‖↑p ^ n‖ = ↑p ^ (-↑n)
Theorem: invOf_mul_self_assoc
File: Mathlib/Algebra/Invertible.lean

tactic: rw [← mul_assoc, invOf_mul_self, one_mul]
state_before: α : Type u
inst✝¹ : Monoid α
a b : α
inst✝ : Invertible a
⊢ ⅟a * (a * b) = b
Theorem: linearIndependent_unique_iff
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: simp only [linearIndependent_iff, Finsupp.total_unique, smul_eq_zero]
state_before: ι : Type u'
ι' : Type ?u.1178902
R : Type u_1
K : Type ?u.1178908
M : Type u_2
M' : Type ?u.1178914
M'' : Type ?u.1178917
V : Type u
V' : Type ?u.1178922
inst✝⁷ : Ring R
inst✝⁶ : Nontrivial R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Module R M'
v✝ : ι → M
s t : Set M
x y z : M
v : ι → M
inst✝ : Unique ι
⊢ LinearIndependent R v ↔ v default ≠ 0

tactic: refine' ⟨fun h hv => _, fun hv l hl => Finsupp.unique_ext <| hl.resolve_right hv⟩
state_before: ι : Type u'
ι' : Type ?u.1178902
R : Type u_1
K : Type ?u.1178908
M : Type u_2
M' : Type ?u.1178914
M'' : Type ?u.1178917
V : Type u
V' : Type ?u.1178922
inst✝⁷ : Ring R
inst✝⁶ : Nontrivial R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Module R M'
v✝ : ι → M
s t : Set M
x y z : M
v : ι → M
inst✝ : Unique ι
⊢ (∀ (l : ι →₀ R), ↑l default = 0 ∨ v default = 0 → l = 0) ↔ v default ≠ 0

tactic: have := h (Finsupp.single default 1) (Or.inr hv)
state_before: ι : Type u'
ι' : Type ?u.1178902
R : Type u_1
K : Type ?u.1178908
M : Type u_2
M' : Type ?u.1178914
M'' : Type ?u.1178917
V : Type u
V' : Type ?u.1178922
inst✝⁷ : Ring R
inst✝⁶ : Nontrivial R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Module R M'
v✝ : ι → M
s t : Set M
x y z : M
v : ι → M
inst✝ : Unique ι
h : ∀ (l : ι →₀ R), ↑l default = 0 ∨ v default = 0 → l = 0
hv : v default = 0
⊢ False

tactic: exact one_ne_zero (Finsupp.single_eq_zero.1 this)
state_before: ι : Type u'
ι' : Type ?u.1178902
R : Type u_1
K : Type ?u.1178908
M : Type u_2
M' : Type ?u.1178914
M'' : Type ?u.1178917
V : Type u
V' : Type ?u.1178922
inst✝⁷ : Ring R
inst✝⁶ : Nontrivial R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Module R M'
v✝ : ι → M
s t : Set M
x y z : M
v : ι → M
inst✝ : Unique ι
h : ∀ (l : ι →₀ R), ↑l default = 0 ∨ v default = 0 → l = 0
hv : v default = 0
this : Finsupp.single default 1 = 0
⊢ False
Theorem: PosNum.cast_to_int
File: Mathlib/Data/Num/Lemmas.lean

tactic: rw [← to_nat_to_int, Int.cast_ofNat, cast_to_nat]
state_before: α : Type u_1
inst✝ : AddGroupWithOne α
n : PosNum
⊢ ↑↑n = ↑n
Theorem: RingHom.ext_zmod
File: Mathlib/Data/ZMod/Basic.lean

tactic: ext a
state_before: n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
⊢ f = g

tactic: obtain ⟨k, rfl⟩ := ZMod.int_cast_surjective a
state_before: case a
n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
a : ZMod n
⊢ ↑f a = ↑g a

tactic: let φ : ℤ →+* R := f.comp (Int.castRingHom (ZMod n))
state_before: case a.intro
n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
k : ℤ
⊢ ↑f ↑k = ↑g ↑k

tactic: let ψ : ℤ →+* R := g.comp (Int.castRingHom (ZMod n))
state_before: case a.intro
n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
k : ℤ
φ : ℤ →+* R := comp f (Int.castRingHom (ZMod n))
⊢ ↑f ↑k = ↑g ↑k

tactic: show φ k = ψ k
state_before: case a.intro
n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
k : ℤ
φ : ℤ →+* R := comp f (Int.castRingHom (ZMod n))
ψ : ℤ →+* R := comp g (Int.castRingHom (ZMod n))
⊢ ↑f ↑k = ↑g ↑k

tactic: rw [φ.ext_int ψ]
state_before: case a.intro
n : ℕ
R : Type u_1
inst✝ : Semiring R
f g : ZMod n →+* R
k : ℤ
φ : ℤ →+* R := comp f (Int.castRingHom (ZMod n))
ψ : ℤ →+* R := comp g (Int.castRingHom (ZMod n))
⊢ ↑φ k = ↑ψ k
Theorem: Complex.isCauSeq_re
File: Mathlib/Data/Complex/Basic.lean

tactic: simpa using abs_re_le_abs (f j - f i)
state_before: f : CauSeq ℂ ↑abs
ε : ℝ
ε0 : ε > 0
i : ℕ
H : ∀ (j : ℕ), j ≥ i → ↑abs (↑f j - ↑f i) < ε
j : ℕ
ij : j ≥ i
⊢ abs' ((fun n => (↑f n).re) j - (fun n => (↑f n).re) i) ≤ ↑abs (↑f j - ↑f i)
Theorem: UniqueFactorizationMonoid.exists_mem_normalizedFactors
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: obtain ⟨p', hp', hp'x⟩ := WfDvdMonoid.exists_irreducible_factor h hx
state_before: α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : DecidableEq α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
x : α
hx : x ≠ 0
h : ¬IsUnit x
⊢ ∃ p, p ∈ normalizedFactors x

tactic: obtain ⟨p, hp, _⟩ := exists_mem_normalizedFactors_of_dvd hx hp' hp'x
state_before: case intro.intro
α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : DecidableEq α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
x : α
hx : x ≠ 0
h : ¬IsUnit x
p' : α
hp' : Irreducible p'
hp'x : p' ∣ x
⊢ ∃ p, p ∈ normalizedFactors x

tactic: exact ⟨p, hp⟩
state_before: case intro.intro.intro.intro
α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : DecidableEq α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
x : α
hx : x ≠ 0
h : ¬IsUnit x
p' : α
hp' : Irreducible p'
hp'x : p' ∣ x
p : α
hp : p ∈ normalizedFactors x
right✝ : p' ~ᵤ p
⊢ ∃ p, p ∈ normalizedFactors x
Theorem: Encodable.surjective_decode_iget
File: Mathlib/Logic/Encodable/Basic.lean

tactic: simp_rw [Encodable.encodek]
state_before: α✝ : Type ?u.385
β : Type ?u.388
α : Type u_1
inst✝¹ : Encodable α
inst✝ : Inhabited α
x : α
⊢ (fun n => iget (decode n)) (encode x) = x
Theorem: Matrix.Pivot.listTransvecCol_mul_mul_listTransvecRow_last_row
File: Mathlib/LinearAlgebra/Matrix/Transvection.lean

tactic: have : listTransvecCol M = listTransvecCol (M ⬝ (listTransvecRow M).prod) := by
  simp [listTransvecCol, mul_listTransvecRow_last_col]
state_before: n : Type ?u.209504
p : Type ?u.209507
R : Type u₂
𝕜 : Type u_1
inst✝³ : Field 𝕜
inst✝² : DecidableEq n
inst✝¹ : DecidableEq p
inst✝ : CommRing R
r : ℕ
M : Matrix (Fin r ⊕ Unit) (Fin r ⊕ Unit) 𝕜
hM : M (inr ()) (inr ()) ≠ 0
i : Fin r
⊢ (List.prod (listTransvecCol M) ⬝ M ⬝ List.prod (listTransvecRow M)) (inl i) (inr ()) = 0

tactic: rw [this, Matrix.mul_assoc]
state_before: n : Type ?u.209504
p : Type ?u.209507
R : Type u₂
𝕜 : Type u_1
inst✝³ : Field 𝕜
inst✝² : DecidableEq n
inst✝¹ : DecidableEq p
inst✝ : CommRing R
r : ℕ
M : Matrix (Fin r ⊕ Unit) (Fin r ⊕ Unit) 𝕜
hM : M (inr ()) (inr ()) ≠ 0
i : Fin r
this : listTransvecCol M = listTransvecCol (M ⬝ List.prod (listTransvecRow M))
⊢ (List.prod (listTransvecCol M) ⬝ M ⬝ List.prod (listTransvecRow M)) (inl i) (inr ()) = 0

tactic: apply listTransvecCol_mul_last_col
state_before: n : Type ?u.209504
p : Type ?u.209507
R : Type u₂
𝕜 : Type u_1
inst✝³ : Field 𝕜
inst✝² : DecidableEq n
inst✝¹ : DecidableEq p
inst✝ : CommRing R
r : ℕ
M : Matrix (Fin r ⊕ Unit) (Fin r ⊕ Unit) 𝕜
hM : M (inr ()) (inr ()) ≠ 0
i : Fin r
this : listTransvecCol M = listTransvecCol (M ⬝ List.prod (listTransvecRow M))
⊢ (List.prod (listTransvecCol (M ⬝ List.prod (listTransvecRow M))) ⬝ (M ⬝ List.prod (listTransvecRow M))) (inl i)
      (inr ()) =
    0

tactic: simpa [mul_listTransvecRow_last_col] using hM
state_before: case hM
n : Type ?u.209504
p : Type ?u.209507
R : Type u₂
𝕜 : Type u_1
inst✝³ : Field 𝕜
inst✝² : DecidableEq n
inst✝¹ : DecidableEq p
inst✝ : CommRing R
r : ℕ
M : Matrix (Fin r ⊕ Unit) (Fin r ⊕ Unit) 𝕜
hM : M (inr ()) (inr ()) ≠ 0
i : Fin r
this : listTransvecCol M = listTransvecCol (M ⬝ List.prod (listTransvecRow M))
⊢ (M ⬝ List.prod (listTransvecRow M)) (inr ()) (inr ()) ≠ 0

tactic: simp [listTransvecCol, mul_listTransvecRow_last_col]
state_before: n : Type ?u.209504
p : Type ?u.209507
R : Type u₂
𝕜 : Type u_1
inst✝³ : Field 𝕜
inst✝² : DecidableEq n
inst✝¹ : DecidableEq p
inst✝ : CommRing R
r : ℕ
M : Matrix (Fin r ⊕ Unit) (Fin r ⊕ Unit) 𝕜
hM : M (inr ()) (inr ()) ≠ 0
i : Fin r
⊢ listTransvecCol M = listTransvecCol (M ⬝ List.prod (listTransvecRow M))
Theorem: aemeasurable_biSup
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean

tactic: haveI : Encodable s := hs.toEncodable
state_before: α : Type u_3
β : Type ?u.1526225
γ : Type ?u.1526228
γ₂ : Type ?u.1526231
δ : Type u_2
ι✝ : Sort y
s✝ t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
inst✝² : CompleteLinearOrder α
inst✝¹ : OrderTopology α
inst✝ : SecondCountableTopology α
ι : Type u_1
μ : MeasureTheory.Measure δ
s : Set ι
f : ι → δ → α
hs : Set.Countable s
hf : ∀ (i : ι), AEMeasurable (f i)
⊢ AEMeasurable fun b => ⨆ (i : ι) (_ : i ∈ s), f i b

tactic: simp only [iSup_subtype']
state_before: α : Type u_3
β : Type ?u.1526225
γ : Type ?u.1526228
γ₂ : Type ?u.1526231
δ : Type u_2
ι✝ : Sort y
s✝ t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
inst✝² : CompleteLinearOrder α
inst✝¹ : OrderTopology α
inst✝ : SecondCountableTopology α
ι : Type u_1
μ : MeasureTheory.Measure δ
s : Set ι
f : ι → δ → α
hs : Set.Countable s
hf : ∀ (i : ι), AEMeasurable (f i)
this : Encodable ↑s
⊢ AEMeasurable fun b => ⨆ (i : ι) (_ : i ∈ s), f i b

tactic: exact aemeasurable_iSup fun i => hf i
state_before: α : Type u_3
β : Type ?u.1526225
γ : Type ?u.1526228
γ₂ : Type ?u.1526231
δ : Type u_2
ι✝ : Sort y
s✝ t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
inst✝² : CompleteLinearOrder α
inst✝¹ : OrderTopology α
inst✝ : SecondCountableTopology α
ι : Type u_1
μ : MeasureTheory.Measure δ
s : Set ι
f : ι → δ → α
hs : Set.Countable s
hf : ∀ (i : ι), AEMeasurable (f i)
this : Encodable ↑s
⊢ AEMeasurable fun b => ⨆ (x : { i // i ∈ s }), f (↑x) b
Theorem: Nat.clog_pos
File: Mathlib/Data/Nat/Log.lean

tactic: rw [clog_of_two_le hb hn]
state_before: b n : ℕ
hb : 1 < b
hn : 2 ≤ n
⊢ 0 < clog b n

tactic: exact zero_lt_succ _
state_before: b n : ℕ
hb : 1 < b
hn : 2 ≤ n
⊢ 0 < clog b ((n + b - 1) / b) + 1
Theorem: Int.alternating_sum_range_choose_of_ne
File: Mathlib/Data/Nat/Choose/Sum.lean

tactic: rw [Int.alternating_sum_range_choose, if_neg h0]
state_before: R : Type ?u.188221
n : ℕ
h0 : n ≠ 0
⊢ ∑ m in range (n + 1), (-1) ^ m * ↑(Nat.choose n m) = 0
Theorem: IsCoprime.prod_left_iff
File: Mathlib/RingTheory/Coprime/Lemmas.lean

tactic: simp
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t : Finset I
x✝ : I
⊢ x✝ ∈ ∅ → IsCoprime (s x✝) x

tactic: rw [Finset.prod_insert hbt, IsCoprime.mul_left_iff, ih, Finset.forall_mem_insert]
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : ¬b ∈ t
ih : IsCoprime (∏ i in t, s i) x ↔ ∀ (i : I), i ∈ t → IsCoprime (s i) x
⊢ IsCoprime (∏ i in insert b t, s i) x ↔ ∀ (i : I), i ∈ insert b t → IsCoprime (s i) x
Theorem: WittVector.wittSub_zero
File: Mathlib/RingTheory/WittVector/Defs.lean

tactic: apply MvPolynomial.map_injective (Int.castRingHom ℚ) Int.cast_injective
state_before: p : ℕ
R : Type ?u.60999
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
⊢ wittSub p 0 = X (0, 0) - X (1, 0)

tactic: simp only [wittSub, wittStructureRat, AlgHom.map_sub, RingHom.map_sub, rename_X,
  xInTermsOfW_zero, map_X, wittPolynomial_zero, bind₁_X_right, map_wittStructureInt]
state_before: case a
p : ℕ
R : Type ?u.60999
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
⊢ ↑(map (Int.castRingHom ℚ)) (wittSub p 0) = ↑(map (Int.castRingHom ℚ)) (X (0, 0) - X (1, 0))
Theorem: isCoprime_one_left
File: Mathlib/RingTheory/Coprime/Basic.lean

tactic: rw [one_mul, zero_mul, add_zero]
state_before: R : Type u
inst✝ : CommSemiring R
x y z : R
⊢ 1 * 1 + 0 * x = 1
Theorem: Polynomial.eval₂_C
File: Mathlib/Data/Polynomial/Eval.lean

tactic: simp [eval₂_eq_sum]
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
⊢ eval₂ f x (↑C a) = ↑f a
Theorem: padicValNat.one
File: Mathlib/NumberTheory/Padics/PadicVal.lean

tactic: unfold padicValNat
state_before: p : ℕ
⊢ padicValNat p 1 = 0

tactic: split_ifs
state_before: p : ℕ
⊢ (if h : p ≠ 1 ∧ 0 < 1 then Part.get (multiplicity p 1) (_ : multiplicity.Finite p 1) else 0) = 0

tactic: simp
state_before: case inl
p : ℕ
h✝ : p ≠ 1 ∧ 0 < 1
⊢ Part.get (multiplicity p 1) (_ : multiplicity.Finite p 1) = 0

tactic: rfl
state_before: case inr
p : ℕ
h✝ : ¬(p ≠ 1 ∧ 0 < 1)
⊢ 0 = 0
Theorem: sub_one_mul
File: Mathlib/Algebra/Ring/Defs.lean

tactic: rw [sub_mul, one_mul]
state_before: α : Type u
β : Type v
γ : Type w
R : Type x
inst✝ : NonAssocRing α
a b : α
⊢ (a - 1) * b = a * b - b
Theorem: ModuleCat.MonoidalCategory.hexagon_reverse
File: Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean

tactic: apply (cancel_epi (α_ X Y Z).hom).1
state_before: R : Type u
inst✝ : CommRing R
X Y Z : ModuleCat R
⊢ (α_ X Y Z).inv ≫ (braiding (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv =
    (𝟙 X ⊗ (braiding Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((braiding X Z).hom ⊗ 𝟙 Y)

tactic: apply TensorProduct.ext_threefold
state_before: R : Type u
inst✝ : CommRing R
X Y Z : ModuleCat R
⊢ (α_ X Y Z).hom ≫ (α_ X Y Z).inv ≫ (braiding (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv =
    (α_ X Y Z).hom ≫ (𝟙 X ⊗ (braiding Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((braiding X Z).hom ⊗ 𝟙 Y)

tactic: intro x y z
state_before: case H
R : Type u
inst✝ : CommRing R
X Y Z : ModuleCat R
⊢ ∀ (x : ↑X) (y : ↑Y) (z : ↑Z),
    ↑((α_ X Y Z).hom ≫ (α_ X Y Z).inv ≫ (braiding (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv) ((x ⊗ₜ[R] y) ⊗ₜ[R] z) =
      ↑((α_ X Y Z).hom ≫ (𝟙 X ⊗ (braiding Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((braiding X Z).hom ⊗ 𝟙 Y)) ((x ⊗ₜ[R] y) ⊗ₜ[R] z)

tactic: rfl
state_before: case H
R : Type u
inst✝ : CommRing R
X Y Z : ModuleCat R
x : ↑X
y : ↑Y
z : ↑Z
⊢ ↑((α_ X Y Z).hom ≫ (α_ X Y Z).inv ≫ (braiding (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv) ((x ⊗ₜ[R] y) ⊗ₜ[R] z) =
    ↑((α_ X Y Z).hom ≫ (𝟙 X ⊗ (braiding Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((braiding X Z).hom ⊗ 𝟙 Y)) ((x ⊗ₜ[R] y) ⊗ₜ[R] z)
Theorem: IsSimpleOrder.bot_ne_top
File: Mathlib/Order/Atoms.lean

tactic: obtain ⟨a, b, h⟩ := exists_pair_ne α
state_before: α : Type u_1
β : Type ?u.23015
inst✝² : LE α
inst✝¹ : BoundedOrder α
inst✝ : IsSimpleOrder α
⊢ ⊥ ≠ ⊤

tactic: rcases eq_bot_or_eq_top a with (rfl | rfl) <;> rcases eq_bot_or_eq_top b with (rfl | rfl) <;>
  first |simpa|simpa using h.symm
state_before: case intro.intro
α : Type u_1
β : Type ?u.23015
inst✝² : LE α
inst✝¹ : BoundedOrder α
inst✝ : IsSimpleOrder α
a b : α
h : a ≠ b
⊢ ⊥ ≠ ⊤

tactic: simpa
state_before: case intro.intro.inr.inr
α : Type u_1
β : Type ?u.23015
inst✝² : LE α
inst✝¹ : BoundedOrder α
inst✝ : IsSimpleOrder α
h : ⊤ ≠ ⊤
⊢ ⊥ ≠ ⊤

tactic: simpa using h.symm
state_before: case intro.intro.inr.inr
α : Type u_1
β : Type ?u.23015
inst✝² : LE α
inst✝¹ : BoundedOrder α
inst✝ : IsSimpleOrder α
h : ⊤ ≠ ⊤
⊢ ⊥ ≠ ⊤
Theorem: CategoryTheory.eval_typesGlue
File: Mathlib/CategoryTheory/Sites/Types.lean

tactic: funext x
state_before: S : Type uᵒᵖ ⥤ Type u
hs : IsSheaf typesGrothendieckTopology S
α : Type u
f : α → S.obj PUnit.op
⊢ eval S α (typesGlue S hs α f) = f

tactic: apply (IsSheafFor.valid_glue _ _ _ <| ⟨PUnit.unit, fun _ => Subsingleton.elim _ _⟩).trans
state_before: case h
S : Type uᵒᵖ ⥤ Type u
hs : IsSheaf typesGrothendieckTopology S
α : Type u
f : α → S.obj PUnit.op
x : α
⊢ eval S α (typesGlue S hs α f) x = f x

tactic: convert FunctorToTypes.map_id_apply S _
state_before: case h
S : Type uᵒᵖ ⥤ Type u
hs : IsSheaf typesGrothendieckTopology S
α : Type u
f : α → S.obj PUnit.op
x : α
⊢ S.map (↾fun x => PUnit.unit).op (f ((↾fun x_1 => x) (Classical.choose (_ : ∃ x, ∀ (y : PUnit), y = x)))) = f x