tasksource/leandojo huggingface dataset:
Theorem: measurableSet_region_between_co
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: dsimp only [regionBetween, Ico, mem_setOf_eq, setOf_and]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {p | p.fst ∈ s ∧ p.snd ∈ Ico (f p.fst) (g p.fst)}

tactic: refine'
  MeasurableSet.inter _
    ((measurableSet_le (hf.comp measurable_fst) measurable_snd).inter
      (measurableSet_lt measurable_snd (hg.comp measurable_fst)))
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet ({a | a.fst ∈ s} ∩ {a | a.snd ∈ {a_1 | f a.fst ≤ a_1} ∩ {a_1 | a_1 < g a.fst}})

tactic: exact measurable_fst hs
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {a | a.fst ∈ s}
Theorem: MvPowerSeries.commute_monomial
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: refine' ext_iff.trans ⟨fun h m => _, fun h m => _⟩
state_before: σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
a : R
n : σ →₀ ℕ
⊢ Commute φ (↑(monomial R n) a) ↔ ∀ (m : σ →₀ ℕ), Commute (↑(coeff R m) φ) a

tactic: have := h (m + n)
state_before: case refine'_1
σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m✝ n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
a : R
n : σ →₀ ℕ
h : ∀ (n_1 : σ →₀ ℕ), ↑(coeff R n_1) (φ * ↑(monomial R n) a) = ↑(coeff R n_1) (↑(monomial R n) a * φ)
m : σ →₀ ℕ
⊢ Commute (↑(coeff R m) φ) a

tactic: rwa [coeff_add_mul_monomial, add_comm, coeff_add_monomial_mul] at this
state_before: case refine'_1
σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m✝ n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
a : R
n : σ →₀ ℕ
h : ∀ (n_1 : σ →₀ ℕ), ↑(coeff R n_1) (φ * ↑(monomial R n) a) = ↑(coeff R n_1) (↑(monomial R n) a * φ)
m : σ →₀ ℕ
this : ↑(coeff R (m + n)) (φ * ↑(monomial R n) a) = ↑(coeff R (m + n)) (↑(monomial R n) a * φ)
⊢ Commute (↑(coeff R m) φ) a

tactic: rw [coeff_mul_monomial, coeff_monomial_mul]
state_before: case refine'_2
σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m✝ n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
a : R
n : σ →₀ ℕ
h : ∀ (m : σ →₀ ℕ), Commute (↑(coeff R m) φ) a
m : σ →₀ ℕ
⊢ ↑(coeff R m) (φ * ↑(monomial R n) a) = ↑(coeff R m) (↑(monomial R n) a * φ)

tactic: split_ifs <;> [apply h; rfl]
state_before: case refine'_2
σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m✝ n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
a : R
n : σ →₀ ℕ
h : ∀ (m : σ →₀ ℕ), Commute (↑(coeff R m) φ) a
m : σ →₀ ℕ
⊢ (if n ≤ m then ↑(coeff R (m - n)) φ * a else 0) = if n ≤ m then a * ↑(coeff R (m - n)) φ else 0
Theorem: CategoryTheory.Idempotents.Karoubi.decompId_p_naturality
File: Mathlib/CategoryTheory/Idempotents/Karoubi.lean

tactic: exact Hom.mk f.f (by simp)
state_before: C : Type ?u.51236
inst✝ : Category C
P Q : Karoubi C
f : P ⟶ Q
⊢ mk P.X (𝟙 P.X) ⟶ mk Q.X (𝟙 Q.X)

tactic: simp
state_before: C : Type ?u.51236
inst✝ : Category C
P Q : Karoubi C
f : P ⟶ Q
⊢ f.f = (mk P.X (𝟙 P.X)).p ≫ f.f ≫ (mk Q.X (𝟙 Q.X)).p

tactic: aesop_cat
state_before: C : Type u_1
inst✝ : Category C
P Q : Karoubi C
f : P ⟶ Q
⊢ decompId_p P ≫ f = Hom.mk f.f ≫ decompId_p Q
Theorem: Cardinal.mk_fintype
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: refine Fintype.induction_empty_option ?_ ?_ ?_ α (h_fintype := h)
state_before: α✝ β α : Type u
h : Fintype α
⊢ (#α) = ↑(Fintype.card α)

tactic: intro α β h e hα
state_before: case refine_1
α✝ β α : Type u
h : Fintype α
⊢ ∀ (α β : Type u) [inst : Fintype β] (e : α ≃ β), (#α) = ↑(Fintype.card α) → (#β) = ↑(Fintype.card β)

tactic: letI := Fintype.ofEquiv β e.symm
state_before: case refine_1
α✝¹ β✝ α✝ : Type u
h✝ : Fintype α✝
α β : Type u
h : Fintype β
e : α ≃ β
hα : (#α) = ↑(Fintype.card α)
⊢ (#β) = ↑(Fintype.card β)

tactic: rwa [mk_congr e, Fintype.card_congr e] at hα
state_before: case refine_1
α✝¹ β✝ α✝ : Type u
h✝ : Fintype α✝
α β : Type u
h : Fintype β
e : α ≃ β
hα : (#α) = ↑(Fintype.card α)
this : Fintype α := Fintype.ofEquiv β e.symm
⊢ (#β) = ↑(Fintype.card β)

tactic: rfl
state_before: case refine_2
α✝ β α : Type u
h : Fintype α
⊢ (#PEmpty) = ↑(Fintype.card PEmpty)

tactic: intro α h hα
state_before: case refine_3
α✝ β α : Type u
h : Fintype α
⊢ ∀ (α : Type u) [inst : Fintype α], (#α) = ↑(Fintype.card α) → (#Option α) = ↑(Fintype.card (Option α))

tactic: simp [hα]
state_before: case refine_3
α✝¹ β α✝ : Type u
h✝ : Fintype α✝
α : Type u
h : Fintype α
hα : (#α) = ↑(Fintype.card α)
⊢ (#Option α) = ↑(Fintype.card (Option α))

tactic: rfl
state_before: case refine_3
α✝¹ β α✝ : Type u
h✝ : Fintype α✝
α : Type u
h : Fintype α
hα : (#α) = ↑(Fintype.card α)
⊢ ↑(Fintype.card α) + 1 = ↑(Fintype.card α + 1)
Theorem: PadicInt.ext_of_toZModPow
File: Mathlib/NumberTheory/Padics/RingHoms.lean

tactic: constructor
state_before: p : ℕ
hp_prime : Fact (Nat.Prime p)
x y : ℤ_[p]
⊢ (∀ (n : ℕ), ↑(toZModPow n) x = ↑(toZModPow n) y) ↔ x = y

tactic: intro h
state_before: case mp
p : ℕ
hp_prime : Fact (Nat.Prime p)
x y : ℤ_[p]
⊢ (∀ (n : ℕ), ↑(toZModPow n) x = ↑(toZModPow n) y) → x = y

tactic: rw [← lift_self x, ← lift_self y]
state_before: case mp
p : ℕ
hp_prime : Fact (Nat.Prime p)
x y : ℤ_[p]
h : ∀ (n : ℕ), ↑(toZModPow n) x = ↑(toZModPow n) y
⊢ x = y

tactic: simp [lift, limNthHom, nthHom, h]
state_before: case mp
p : ℕ
hp_prime : Fact (Nat.Prime p)
x y : ℤ_[p]
h : ∀ (n : ℕ), ↑(toZModPow n) x = ↑(toZModPow n) y
⊢ ↑(lift
          (_ :
            ∀ (m n : ℕ) (h : m ≤ n),
              RingHom.comp (ZMod.castHom (_ : p ^ m ∣ p ^ n) (ZMod (p ^ m))) (toZModPow n) = toZModPow m))
      x =
    ↑(lift
          (_ :
            ∀ (m n : ℕ) (h : m ≤ n),
              RingHom.comp (ZMod.castHom (_ : p ^ m ∣ p ^ n) (ZMod (p ^ m))) (toZModPow n) = toZModPow m))
      y

tactic: rintro rfl _
state_before: case mpr
p : ℕ
hp_prime : Fact (Nat.Prime p)
x y : ℤ_[p]
⊢ x = y → ∀ (n : ℕ), ↑(toZModPow n) x = ↑(toZModPow n) y

tactic: rfl
state_before: case mpr
p : ℕ
hp_prime : Fact (Nat.Prime p)
x : ℤ_[p]
n✝ : ℕ
⊢ ↑(toZModPow n✝) x = ↑(toZModPow n✝) x
Theorem: MeasureTheory.ContinuousMap.inner_toLp
File: Mathlib/MeasureTheory/Function/L2Space.lean

tactic: apply integral_congr_ae
state_before: α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
⊢ inner (↑(ContinuousMap.toLp 2 μ 𝕜) f) (↑(ContinuousMap.toLp 2 μ 𝕜) g) =
    ∫ (x : α), ↑(starRingEnd ((fun x => 𝕜) x)) (↑f x) * ↑g x ∂μ

tactic: have hf_ae := f.coeFn_toLp (p := 2) (𝕜 := 𝕜) μ
state_before: case h
α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
⊢ (fun a => inner (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a) (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a)) =ᵐ[μ] fun a =>
    ↑(starRingEnd ((fun x => 𝕜) a)) (↑f a) * ↑g a

tactic: have hg_ae := g.coeFn_toLp (p := 2) (𝕜 := 𝕜) μ
state_before: case h
α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
hf_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) =ᵐ[μ] ↑f
⊢ (fun a => inner (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a) (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a)) =ᵐ[μ] fun a =>
    ↑(starRingEnd ((fun x => 𝕜) a)) (↑f a) * ↑g a

tactic: filter_upwards [hf_ae, hg_ae] with _ hf hg
state_before: case h
α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
hf_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) =ᵐ[μ] ↑f
hg_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) =ᵐ[μ] ↑g
⊢ (fun a => inner (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a) (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a)) =ᵐ[μ] fun a =>
    ↑(starRingEnd ((fun x => 𝕜) a)) (↑f a) * ↑g a

tactic: rw [hf, hg]
state_before: case h
α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
hf_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) =ᵐ[μ] ↑f
hg_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) =ᵐ[μ] ↑g
a✝ : α
hf : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a✝ = ↑f a✝
hg : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a✝ = ↑g a✝
⊢ inner (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a✝) (↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a✝) = ↑(starRingEnd 𝕜) (↑f a✝) * ↑g a✝

tactic: simp
state_before: case h
α : Type u_1
inst✝⁵ : TopologicalSpace α
inst✝⁴ : MeasureSpace α
inst✝³ : BorelSpace α
𝕜 : Type u_2
inst✝² : IsROrC 𝕜
μ : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : CompactSpace α
f g : C(α, 𝕜)
hf_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) =ᵐ[μ] ↑f
hg_ae : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) =ᵐ[μ] ↑g
a✝ : α
hf : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) f) a✝ = ↑f a✝
hg : ↑↑(↑(ContinuousMap.toLp 2 μ 𝕜) g) a✝ = ↑g a✝
⊢ inner (↑f a✝) (↑g a✝) = ↑(starRingEnd 𝕜) (↑f a✝) * ↑g a✝
Theorem: dvd_geom_sum₂_iff_of_dvd_sub
File: Mathlib/NumberTheory/Multiplicity.lean

tactic: rw [← mem_span_singleton, ← Ideal.Quotient.eq] at h
state_before: R : Type u_1
n : ℕ
inst✝ : CommRing R
a b x✝ y✝ x y p : R
h : p ∣ x - y
⊢ p ∣ ∑ i in range n, x ^ i * y ^ (n - 1 - i) ↔ p ∣ ↑n * y ^ (n - 1)

tactic: simp only [← mem_span_singleton, ← eq_zero_iff_mem, RingHom.map_geom_sum₂, h, geom_sum₂_self,
  _root_.map_mul, map_pow, map_natCast]
state_before: R : Type u_1
n : ℕ
inst✝ : CommRing R
a b x✝ y✝ x y p : R
h : ↑(Ideal.Quotient.mk (span {p})) x = ↑(Ideal.Quotient.mk (span {p})) y
⊢ p ∣ ∑ i in range n, x ^ i * y ^ (n - 1 - i) ↔ p ∣ ↑n * y ^ (n - 1)
Theorem: Set.Ioo_union_left
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: rw [← Ico_diff_left, diff_union_self,
  union_eq_self_of_subset_right (singleton_subset_iff.2 <| left_mem_Ico.2 hab)]
state_before: α : Type u_1
β : Type ?u.46571
inst✝ : PartialOrder α
a b c : α
hab : a < b
⊢ Ioo a b ∪ {a} = Ico a b
Theorem: iUnion_Ici_eq_Ioi_iInf
File: Mathlib/Data/Set/Intervals/Disjoint.lean

tactic: simp only [← IsGLB.biUnion_Ici_eq_Ioi (@isGLB_iInf _ _ _ f) no_least_elem, mem_range,
  iUnion_exists, iUnion_iUnion_eq']
state_before: ι : Sort u
α : Type v
β : Type w
inst✝¹ : LinearOrder α
s : Set α
a : α
f✝ : ι → α
R : Type u_1
inst✝ : CompleteLinearOrder R
f : ι → R
no_least_elem : ¬(⨅ (i : ι), f i) ∈ range f
⊢ (⋃ (i : ι), Ici (f i)) = Ioi (⨅ (i : ι), f i)
Theorem: isLittleO_rpow_exp_pos_mul_atTop
File: Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean

tactic: simpa only [div_eq_mul_inv, exp_neg, neg_mul] using
  tendsto_rpow_mul_exp_neg_mul_atTop_nhds_0 s b hb
state_before: s b : ℝ
hb : 0 < b
⊢ Tendsto (fun x => x ^ s / exp (b * x)) atTop (𝓝 0)
Theorem: MeasureTheory.Measure.ae_le_iff_absolutelyContinuous
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [measure_zero_iff_ae_nmem, measure_zero_iff_ae_nmem]
state_before: α : Type u_1
β : Type ?u.405254
γ : Type ?u.405257
δ : Type ?u.405260
ι : Type ?u.405263
R : Type ?u.405266
R' : Type ?u.405269
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
h : ae μ ≤ ae ν
s : Set α
⊢ ↑↑ν s = 0 → ↑↑μ s = 0

tactic: exact fun hs => h hs
state_before: α : Type u_1
β : Type ?u.405254
γ : Type ?u.405257
δ : Type ?u.405260
ι : Type ?u.405263
R : Type ?u.405266
R' : Type ?u.405269
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
h : ae μ ≤ ae ν
s : Set α
⊢ (∀ᵐ (a : α) ∂ν, ¬a ∈ s) → ∀ᵐ (a : α) ∂μ, ¬a ∈ s
Theorem: closure_induced
File: Mathlib/Topology/Order.lean

tactic: letI := t.induced f
state_before: α : Type u_2
β : Type u_1
t✝ : TopologicalSpace β
f✝ : α → β
t : TopologicalSpace β
f : α → β
a : α
s : Set α
⊢ a ∈ closure s ↔ f a ∈ closure (f '' s)

tactic: simp only [mem_closure_iff_frequently, nhds_induced, frequently_comap, mem_image, and_comm]
state_before: α : Type u_2
β : Type u_1
t✝ : TopologicalSpace β
f✝ : α → β
t : TopologicalSpace β
f : α → β
a : α
s : Set α
this : TopologicalSpace α := induced f t
⊢ a ∈ closure s ↔ f a ∈ closure (f '' s)
Theorem: IntermediateField.restrictScalars_injective
File: Mathlib/FieldTheory/IntermediateField.lean

tactic: rw [← mem_restrictScalars K, H, mem_restrictScalars]
state_before: K : Type u_3
L : Type u_1
L' : Type u_2
inst✝⁶ : Field K
inst✝⁵ : Field L
inst✝⁴ : Field L'
inst✝³ : Algebra K L
inst✝² : Algebra K L'
S : IntermediateField K L
inst✝¹ : Algebra L' L
inst✝ : IsScalarTower K L' L
U V : IntermediateField L' L
H : restrictScalars K U = restrictScalars K V
x : L
⊢ x ∈ U ↔ x ∈ V
Theorem: Submonoid.subsemiringClosure_eq_closure
File: Mathlib/RingTheory/Subsemiring/Basic.lean

tactic: ext
state_before: R : Type u
S : Type v
T : Type w
inst✝² : NonAssocSemiring R
M : Submonoid R
inst✝¹ : NonAssocSemiring S
inst✝ : NonAssocSemiring T
⊢ subsemiringClosure M = Subsemiring.closure ↑M

tactic: refine'
  ⟨fun hx => _, fun hx =>
    (Subsemiring.mem_closure.mp hx) M.subsemiringClosure fun s sM => _⟩
<;> rintro - ⟨H1, rfl⟩
<;> rintro - ⟨H2, rfl⟩
state_before: case h
R : Type u
S : Type v
T : Type w
inst✝² : NonAssocSemiring R
M : Submonoid R
inst✝¹ : NonAssocSemiring S
inst✝ : NonAssocSemiring T
x✝ : R
⊢ x✝ ∈ subsemiringClosure M ↔ x✝ ∈ Subsemiring.closure ↑M

tactic: exact AddSubmonoid.mem_closure.mp hx H1.toAddSubmonoid H2
state_before: case h.refine'_1.intro.intro
R : Type u
S : Type v
T : Type w
inst✝² : NonAssocSemiring R
M : Submonoid R
inst✝¹ : NonAssocSemiring S
inst✝ : NonAssocSemiring T
x✝ : R
hx : x✝ ∈ subsemiringClosure M
H1 : Subsemiring R
H2 : H1 ∈ {S | ↑M ⊆ ↑S}
⊢ x✝ ∈ (fun h => ↑H1) H2

tactic: exact H2 sM
state_before: case h.refine'_2.intro.intro
R : Type u
S : Type v
T : Type w
inst✝² : NonAssocSemiring R
M : Submonoid R
inst✝¹ : NonAssocSemiring S
inst✝ : NonAssocSemiring T
x✝ : R
hx : x✝ ∈ Subsemiring.closure ↑M
s : R
sM : s ∈ ↑M
H1 : AddSubmonoid R
H2 : H1 ∈ {S | ↑M ⊆ ↑S}
⊢ s ∈ (fun h => ↑H1) H2
Theorem: ContinuousLinearMap.norm_id_of_nontrivial_seminorm
File: Mathlib/Analysis/NormedSpace/OperatorNorm.lean

tactic: let ⟨x, hx⟩ := h
state_before: 𝕜 : Type u_2
𝕜₂ : Type ?u.418441
𝕜₃ : Type ?u.418444
E : Type u_1
Eₗ : Type ?u.418450
F : Type ?u.418453
Fₗ : Type ?u.418456
G : Type ?u.418459
Gₗ : Type ?u.418462
𝓕 : Type ?u.418465
inst✝¹⁷ : SeminormedAddCommGroup E
inst✝¹⁶ : SeminormedAddCommGroup Eₗ
inst✝¹⁵ : SeminormedAddCommGroup F
inst✝¹⁴ : SeminormedAddCommGroup Fₗ
inst✝¹³ : SeminormedAddCommGroup G
inst✝¹² : SeminormedAddCommGroup Gₗ
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NontriviallyNormedField 𝕜₂
inst✝⁹ : NontriviallyNormedField 𝕜₃
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedSpace 𝕜 Eₗ
inst✝⁶ : NormedSpace 𝕜₂ F
inst✝⁵ : NormedSpace 𝕜 Fₗ
inst✝⁴ : NormedSpace 𝕜₃ G
inst✝³ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝² : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : RingHomIsometric σ₂₃
f g : E →SL[σ₁₂] F
h✝ : F →SL[σ₂₃] G
x : E
h : ∃ x, ‖x‖ ≠ 0
⊢ 1 ≤ ‖id 𝕜 E‖

tactic: have := (id 𝕜 E).ratio_le_op_norm x
state_before: 𝕜 : Type u_2
𝕜₂ : Type ?u.418441
𝕜₃ : Type ?u.418444
E : Type u_1
Eₗ : Type ?u.418450
F : Type ?u.418453
Fₗ : Type ?u.418456
G : Type ?u.418459
Gₗ : Type ?u.418462
𝓕 : Type ?u.418465
inst✝¹⁷ : SeminormedAddCommGroup E
inst✝¹⁶ : SeminormedAddCommGroup Eₗ
inst✝¹⁵ : SeminormedAddCommGroup F
inst✝¹⁴ : SeminormedAddCommGroup Fₗ
inst✝¹³ : SeminormedAddCommGroup G
inst✝¹² : SeminormedAddCommGroup Gₗ
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NontriviallyNormedField 𝕜₂
inst✝⁹ : NontriviallyNormedField 𝕜₃
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedSpace 𝕜 Eₗ
inst✝⁶ : NormedSpace 𝕜₂ F
inst✝⁵ : NormedSpace 𝕜 Fₗ
inst✝⁴ : NormedSpace 𝕜₃ G
inst✝³ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝² : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : RingHomIsometric σ₂₃
f g : E →SL[σ₁₂] F
h✝ : F →SL[σ₂₃] G
x✝ : E
h : ∃ x, ‖x‖ ≠ 0
x : E
hx : ‖x‖ ≠ 0
⊢ 1 ≤ ‖id 𝕜 E‖

tactic: rwa [id_apply, div_self hx] at this
state_before: 𝕜 : Type u_2
𝕜₂ : Type ?u.418441
𝕜₃ : Type ?u.418444
E : Type u_1
Eₗ : Type ?u.418450
F : Type ?u.418453
Fₗ : Type ?u.418456
G : Type ?u.418459
Gₗ : Type ?u.418462
𝓕 : Type ?u.418465
inst✝¹⁷ : SeminormedAddCommGroup E
inst✝¹⁶ : SeminormedAddCommGroup Eₗ
inst✝¹⁵ : SeminormedAddCommGroup F
inst✝¹⁴ : SeminormedAddCommGroup Fₗ
inst✝¹³ : SeminormedAddCommGroup G
inst✝¹² : SeminormedAddCommGroup Gₗ
inst✝¹¹ : NontriviallyNormedField 𝕜
inst✝¹⁰ : NontriviallyNormedField 𝕜₂
inst✝⁹ : NontriviallyNormedField 𝕜₃
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : NormedSpace 𝕜 Eₗ
inst✝⁶ : NormedSpace 𝕜₂ F
inst✝⁵ : NormedSpace 𝕜 Fₗ
inst✝⁴ : NormedSpace 𝕜₃ G
inst✝³ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝² : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : RingHomIsometric σ₂₃
f g : E →SL[σ₁₂] F
h✝ : F →SL[σ₂₃] G
x✝ : E
h : ∃ x, ‖x‖ ≠ 0
x : E
hx : ‖x‖ ≠ 0
this : ‖↑(id 𝕜 E) x‖ / ‖x‖ ≤ ‖id 𝕜 E‖
⊢ 1 ≤ ‖id 𝕜 E‖
Theorem: not_primrec_ack_self
File: Mathlib/Computability/Ackermann.lean

tactic: rw [Primrec.nat_iff]
state_before: ⊢ ¬Primrec fun n => ack n n

tactic: exact not_nat_primrec_ack_self
state_before: ⊢ ¬Nat.Primrec fun n => ack n n
Theorem: EReal.toReal_mul
File: Mathlib/Data/Real/EReal.lean

tactic: induction x, y using induction₂_symm with
| top_zero | zero_bot | top_top | top_bot | bot_bot => simp
| symm h => rwa [mul_comm, EReal.mul_comm]
| coe_coe => norm_cast
| top_pos _ h => simp [top_mul_coe_of_pos h]
| top_neg _ h => simp [top_mul_coe_of_neg h]
| pos_bot _ h => simp [coe_mul_bot_of_pos h]
| neg_bot _ h => simp [coe_mul_bot_of_neg h]
state_before: x y : EReal
⊢ toReal (x * y) = toReal x * toReal y

tactic: simp
state_before: case bot_bot

⊢ toReal (⊥ * ⊥) = toReal ⊥ * toReal ⊥

tactic: rwa [mul_comm, EReal.mul_comm]
state_before: case symm
x✝ y✝ : EReal
h : toReal (x✝ * y✝) = toReal x✝ * toReal y✝
⊢ toReal (y✝ * x✝) = toReal y✝ * toReal x✝

tactic: norm_cast
state_before: case coe_coe
x✝ y✝ : ℝ
⊢ toReal (↑x✝ * ↑y✝) = toReal ↑x✝ * toReal ↑y✝

tactic: simp [top_mul_coe_of_pos h]
state_before: case top_pos
x✝ : ℝ
h : 0 < x✝
⊢ toReal (⊤ * ↑x✝) = toReal ⊤ * toReal ↑x✝

tactic: simp [top_mul_coe_of_neg h]
state_before: case top_neg
x✝ : ℝ
h : x✝ < 0
⊢ toReal (⊤ * ↑x✝) = toReal ⊤ * toReal ↑x✝

tactic: simp [coe_mul_bot_of_pos h]
state_before: case pos_bot
x✝ : ℝ
h : 0 < x✝
⊢ toReal (↑x✝ * ⊥) = toReal ↑x✝ * toReal ⊥

tactic: simp [coe_mul_bot_of_neg h]
state_before: case neg_bot
x✝ : ℝ
h : x✝ < 0
⊢ toReal (↑x✝ * ⊥) = toReal ↑x✝ * toReal ⊥
Theorem: UniqueFactorizationMonoid.induction_on_prime
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: simp_rw [← UniqueFactorizationMonoid.irreducible_iff_prime] at h₃
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : UniqueFactorizationMonoid α
P : α → Prop
a : α
h₁ : P 0
h₂ : ∀ (x : α), IsUnit x → P x
h₃ : ∀ (a p : α), a ≠ 0 → Prime p → P a → P (p * a)
⊢ P a

tactic: exact WfDvdMonoid.induction_on_irreducible a h₁ h₂ h₃
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : UniqueFactorizationMonoid α
P : α → Prop
a : α
h₁ : P 0
h₂ : ∀ (x : α), IsUnit x → P x
h₃ : ∀ (a p : α), a ≠ 0 → Irreducible p → P a → P (p * a)
⊢ P a
Theorem: Function.Injective.exists_ne
File: Mathlib/Logic/Nontrivial.lean

tactic: rcases exists_pair_ne α with ⟨x₁, x₂, hx⟩
state_before: α : Type u_1
β : Type u_2
inst✝ : Nontrivial α
f : α → β
hf : Injective f
y : β
⊢ ∃ x, f x ≠ y

tactic: by_cases h:f x₂ = y
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝ : Nontrivial α
f : α → β
hf : Injective f
y : β
x₁ x₂ : α
hx : x₁ ≠ x₂
⊢ ∃ x, f x ≠ y

tactic: exact ⟨x₁, (hf.ne_iff' h).2 hx⟩
state_before: case pos
α : Type u_1
β : Type u_2
inst✝ : Nontrivial α
f : α → β
hf : Injective f
y : β
x₁ x₂ : α
hx : x₁ ≠ x₂
h : f x₂ = y
⊢ ∃ x, f x ≠ y

tactic: exact ⟨x₂, h⟩
state_before: case neg
α : Type u_1
β : Type u_2
inst✝ : Nontrivial α
f : α → β
hf : Injective f
y : β
x₁ x₂ : α
hx : x₁ ≠ x₂
h : ¬f x₂ = y
⊢ ∃ x, f x ≠ y
Theorem: QuadraticForm.polar_sub_left
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: rw [sub_eq_add_neg, sub_eq_add_neg, polar_add_left, polar_neg_left]
state_before: S : Type ?u.157043
R : Type u_1
R₁ : Type ?u.157049
M : Type u_2
inst✝³ : Ring R
inst✝² : CommRing R₁
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
x x' y : M
⊢ polar (↑Q) (x - x') y = polar (↑Q) x y - polar (↑Q) x' y
Theorem: Int.ediv_eq_of_eq_mul_left
File: Std/Data/Int/DivMod.lean

tactic: rw [Int.mul_comm, H2]
state_before: a b c : Int
H1 : b ≠ 0
H2 : a = c * b
⊢ a = b * c
Theorem: MeasureTheory.Measure.map_congr
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: by_cases hf : AEMeasurable f μ
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
⊢ map f μ = map g μ

tactic: have hg : AEMeasurable g μ := hf.congr h
state_before: case pos
α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : AEMeasurable f
⊢ map f μ = map g μ

tactic: simp only [← mapₗ_mk_apply_of_aemeasurable hf, ← mapₗ_mk_apply_of_aemeasurable hg]
state_before: case pos
α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : AEMeasurable f
hg : AEMeasurable g
⊢ map f μ = map g μ

tactic: exact
  mapₗ_congr hf.measurable_mk hg.measurable_mk (hf.ae_eq_mk.symm.trans (h.trans hg.ae_eq_mk))
state_before: case pos
α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : AEMeasurable f
hg : AEMeasurable g
⊢ ↑(mapₗ (AEMeasurable.mk f hf)) μ = ↑(mapₗ (AEMeasurable.mk g hg)) μ

tactic: have hg : ¬AEMeasurable g μ := by simpa [← aemeasurable_congr h] using hf
state_before: case neg
α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : ¬AEMeasurable f
⊢ map f μ = map g μ

tactic: simp [map_of_not_aemeasurable, hf, hg]
state_before: case neg
α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : ¬AEMeasurable f
hg : ¬AEMeasurable g
⊢ map f μ = map g μ

tactic: simpa [← aemeasurable_congr h] using hf
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.186508
δ : Type ?u.186511
ι : Type ?u.186514
R : Type ?u.186517
R' : Type ?u.186520
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f g : α → β
h : f =ᶠ[ae μ] g
hf : ¬AEMeasurable f
⊢ ¬AEMeasurable g
Theorem: Directed.disjoint_iSup_left
File: Mathlib/Order/CompactlyGenerated.lean

tactic: simp_rw [disjoint_iff, h.iSup_inf_eq, iSup_eq_bot]
state_before: ι : Sort u_2
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
h : Directed (fun x x_1 => x ≤ x_1) f
⊢ Disjoint (⨆ (i : ι), f i) a ↔ ∀ (i : ι), Disjoint (f i) a