1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.IsStoppingTime.measurableSet_ge
File: Mathlib/Probability/Process/Stopping.lean

tactic: have : {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ := by
  ext1 ω; simp only [Set.mem_setOf_eq, Set.mem_compl_iff, not_lt]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
⊢ MeasurableSet {ω | i ≤ τ ω}
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ
⊢ MeasurableSet {ω | i ≤ τ ω}

tactic: rw [this]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ
⊢ MeasurableSet {ω | i ≤ τ ω}
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ
⊢ MeasurableSet {ω | τ ω < i}ᶜ

tactic: exact (hτ.measurableSet_lt i).compl
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
this : {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ
⊢ MeasurableSet {ω | τ ω < i}ᶜ
state_after: no goals

tactic: ext1 ω
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
⊢ {ω | i ≤ τ ω} = {ω | τ ω < i}ᶜ
state_after: case h
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
ω : Ω
⊢ ω ∈ {ω | i ≤ τ ω} ↔ ω ∈ {ω | τ ω < i}ᶜ

tactic: simp only [Set.mem_setOf_eq, Set.mem_compl_iff, not_lt]
state_before: case h
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝³ : LinearOrder ι
f : Filtration ι m
τ : Ω → ι
inst✝² : TopologicalSpace ι
inst✝¹ : OrderTopology ι
inst✝ : FirstCountableTopology ι
hτ : IsStoppingTime f τ
i : ι
ω : Ω
⊢ ω ∈ {ω | i ≤ τ ω} ↔ ω ∈ {ω | τ ω < i}ᶜ
state_after: no goals
Theorem: CategoryTheory.shift_shiftFunctorCompIsoId_neg_add_self_hom_app
File: Mathlib/CategoryTheory/Shift/Basic.lean

tactic: apply shift_shiftFunctorCompIsoId_hom_app
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddGroup A
inst✝ : HasShift C A
X✝ Y : C
f : X✝ ⟶ Y
n : A
X : C
⊢ (shiftFunctor C (-n)).map ((shiftFunctorCompIsoId C (-n) n ⋯).hom.app X) =
    (shiftFunctorCompIsoId C n (-n) ⋯).hom.app ((shiftFunctor C (-n)).obj X)
state_after: no goals
Theorem: Set.prod_eq_prod_iff_of_nonempty
File: Mathlib/Data/Set/Prod.lean

tactic: constructor
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s ×ˢ t = s₁ ×ˢ t₁ ↔ s = s₁ ∧ t = t₁
state_after: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s ×ˢ t = s₁ ×ˢ t₁ → s = s₁ ∧ t = t₁

case mpr
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s = s₁ ∧ t = t₁ → s ×ˢ t = s₁ ×ˢ t₁

tactic: intro heq
state_before: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s ×ˢ t = s₁ ×ˢ t₁ → s = s₁ ∧ t = t₁
state_after: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
⊢ s = s₁ ∧ t = t₁

tactic: have h₁ : (s₁ ×ˢ t₁ : Set _).Nonempty := by rwa [← heq]
state_before: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
⊢ s = s₁ ∧ t = t₁
state_after: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
h₁ : (s₁ ×ˢ t₁).Nonempty
⊢ s = s₁ ∧ t = t₁

tactic: rw [prod_nonempty_iff] at h h₁
state_before: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
h₁ : (s₁ ×ˢ t₁).Nonempty
⊢ s = s₁ ∧ t = t₁
state_after: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : s.Nonempty ∧ t.Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
h₁ : s₁.Nonempty ∧ t₁.Nonempty
⊢ s = s₁ ∧ t = t₁

tactic: rw [← fst_image_prod s h.2, ← fst_image_prod s₁ h₁.2, heq, eq_self_iff_true, true_and_iff, ←
  snd_image_prod h.1 t, ← snd_image_prod h₁.1 t₁, heq]
state_before: case mp
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : s.Nonempty ∧ t.Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
h₁ : s₁.Nonempty ∧ t₁.Nonempty
⊢ s = s₁ ∧ t = t₁
state_after: no goals

tactic: rwa [← heq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
heq : s ×ˢ t = s₁ ×ˢ t₁
⊢ (s₁ ×ˢ t₁).Nonempty
state_after: no goals

tactic: rintro ⟨rfl, rfl⟩
state_before: case mpr
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s = s₁ ∧ t = t₁ → s ×ˢ t = s₁ ×ˢ t₁
state_after: case mpr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₂ : Set α
t t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s ×ˢ t = s ×ˢ t

tactic: rfl
state_before: case mpr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
s s₂ : Set α
t t₂ : Set β
a : α
b : β
h : (s ×ˢ t).Nonempty
⊢ s ×ˢ t = s ×ˢ t
state_after: no goals
Theorem: Set.pi_eq_empty_iff
File: Mathlib/Data/Set/Prod.lean

tactic: rw [← not_nonempty_iff_eq_empty, pi_nonempty_iff]
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ s.pi t = ∅ ↔ ∃ i, IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅
state_after: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ (¬∀ (i : ι), ∃ x, i ∈ s → x ∈ t i) ↔ ∃ i, IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅

tactic: push_neg
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ (¬∀ (i : ι), ∃ x, i ∈ s → x ∈ t i) ↔ ∃ i, IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅
state_after: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ (∃ i, ∀ (x : α i), i ∈ s ∧ x ∉ t i) ↔ ∃ i, IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅

tactic: refine exists_congr fun i => ?_
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
⊢ (∃ i, ∀ (x : α i), i ∈ s ∧ x ∉ t i) ↔ ∃ i, IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅
state_after: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i✝ i : ι
⊢ (∀ (x : α i), i ∈ s ∧ x ∉ t i) ↔ IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅

tactic: cases isEmpty_or_nonempty (α i) <;> simp [*, forall_and, eq_empty_iff_forall_not_mem]
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i✝ i : ι
⊢ (∀ (x : α i), i ∈ s ∧ x ∉ t i) ↔ IsEmpty (α i) ∨ i ∈ s ∧ t i = ∅
state_after: no goals
Theorem: Filter.tendsto_sub_const_iff
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: refine ⟨fun h ↦ ?_, fun h ↦ Filter.Tendsto.sub_const h b⟩
state_before: G✝ : Type w
H : Type x
α : Type u
β : Type v
inst✝⁵ : TopologicalSpace G✝
inst✝⁴ : Div G✝
inst✝³ : ContinuousDiv G✝
G : Type u_1
inst✝² : AddCommGroup G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousSub G
b c : G
f : α → G
l : Filter α
⊢ Tendsto (fun x => f x - b) l (𝓝 (c - b)) ↔ Tendsto f l (𝓝 c)
state_after: G✝ : Type w
H : Type x
α : Type u
β : Type v
inst✝⁵ : TopologicalSpace G✝
inst✝⁴ : Div G✝
inst✝³ : ContinuousDiv G✝
G : Type u_1
inst✝² : AddCommGroup G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousSub G
b c : G
f : α → G
l : Filter α
h : Tendsto (fun x => f x - b) l (𝓝 (c - b))
⊢ Tendsto f l (𝓝 c)

tactic: convert h.sub_const (-b) with k <;> rw [sub_sub, ← sub_eq_add_neg, sub_self, sub_zero]
state_before: G✝ : Type w
H : Type x
α : Type u
β : Type v
inst✝⁵ : TopologicalSpace G✝
inst✝⁴ : Div G✝
inst✝³ : ContinuousDiv G✝
G : Type u_1
inst✝² : AddCommGroup G
inst✝¹ : TopologicalSpace G
inst✝ : ContinuousSub G
b c : G
f : α → G
l : Filter α
h : Tendsto (fun x => f x - b) l (𝓝 (c - b))
⊢ Tendsto f l (𝓝 c)
state_after: no goals
Theorem: CochainComplex.HomComplex.Cochain.ofHom_neg
File: Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean

tactic: aesop_cat
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
⊢ ofHom (-φ) = -ofHom φ
state_after: no goals
Theorem: SeparationQuotient.completeSpace_iff
File: Mathlib/Topology/UniformSpace/UniformEmbedding.lean

tactic: rw [completeSpace_iff_isComplete_univ, ← range_mk,
  ← completeSpace_iff_isComplete_range uniformInducing_mk]
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
⊢ CompleteSpace (SeparationQuotient α) ↔ CompleteSpace α
state_after: no goals
Theorem: CharZero.of_noZeroSMulDivisors
File: Mathlib/Algebra/Module/Defs.lean

tactic: refine ⟨fun {n m h} ↦ ?_⟩
state_before: α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
⊢ CharZero R
state_after: α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
h : ↑n = ↑m
⊢ n = m

tactic: obtain ⟨x, hx⟩ := exists_ne (0 : M)
state_before: α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
h : ↑n = ↑m
⊢ n = m
state_after: case intro
α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
h : ↑n = ↑m
x : M
hx : x ≠ 0
⊢ n = m

tactic: replace h : (n : ℤ) • x = (m : ℤ) • x := by simp [zsmul_eq_smul_cast R, h]
state_before: case intro
α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
h : ↑n = ↑m
x : M
hx : x ≠ 0
⊢ n = m
state_after: case intro
α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
x : M
hx : x ≠ 0
h : ↑n • x = ↑m • x
⊢ n = m

tactic: simpa using smul_left_injective ℤ hx h
state_before: case intro
α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
x : M
hx : x ≠ 0
h : ↑n • x = ↑m • x
⊢ n = m
state_after: no goals

tactic: simp [zsmul_eq_smul_cast R, h]
state_before: α : Type u_1
R : Type u_2
k : Type u_3
S : Type u_4
M : Type u_5
M₂ : Type u_6
M₃ : Type u_7
ι : Type u_8
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : Nontrivial M
inst✝ : NoZeroSMulDivisors ℤ M
n m : ℕ
h : ↑n = ↑m
x : M
hx : x ≠ 0
⊢ ↑n • x = ↑m • x
state_after: no goals
Theorem: ProbabilityTheory.gaussianPDFReal_pos
File: Mathlib/Probability/Distributions/Gaussian.lean

tactic: rw [gaussianPDFReal]
state_before: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < gaussianPDFReal μ v x
state_after: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < (√(2 * π * ↑v))⁻¹ * rexp (-(x - μ) ^ 2 / (2 * ↑v))

tactic: positivity
state_before: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < (√(2 * π * ↑v))⁻¹ * rexp (-(x - μ) ^ 2 / (2 * ↑v))
state_after: no goals
Theorem: Nat.Prime.mod_two_eq_one_iff_ne_two
File: Mathlib/Data/Nat/Prime.lean

tactic: refine ⟨fun h hf => ?_, (Nat.Prime.eq_two_or_odd <| @Fact.out p.Prime _).resolve_left⟩
state_before: n p : ℕ
inst✝ : Fact (Prime p)
⊢ p % 2 = 1 ↔ p ≠ 2
state_after: n p : ℕ
inst✝ : Fact (Prime p)
h : p % 2 = 1
hf : p = 2
⊢ False

tactic: rw [hf] at h
state_before: n p : ℕ
inst✝ : Fact (Prime p)
h : p % 2 = 1
hf : p = 2
⊢ False
state_after: n p : ℕ
inst✝ : Fact (Prime p)
h : 2 % 2 = 1
hf : p = 2
⊢ False

tactic: simp at h
state_before: n p : ℕ
inst✝ : Fact (Prime p)
h : 2 % 2 = 1
hf : p = 2
⊢ False
state_after: no goals
Theorem: inf_lt_sup
File: Mathlib/Order/Lattice.lean

tactic: rw [inf_le_sup.lt_iff_ne, Ne, inf_eq_sup]
state_before: α : Type u
β : Type v
inst✝ : Lattice α
a b c d : α
⊢ a ⊓ b < a ⊔ b ↔ a ≠ b
state_after: no goals
Theorem: Set.not_subset_iff_exists_mem_not_mem
File: Mathlib/Data/Set/Basic.lean

tactic: simp [subset_def]
state_before: α✝ : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α✝
s✝ s₁ s₂ t✝ t₁ t₂ u : Set α✝
α : Type u_1
s t : Set α
⊢ ¬s ⊆ t ↔ ∃ x ∈ s, x ∉ t
state_after: no goals
Theorem: Rat.le_floor
File: Mathlib/Data/Rat/Floor.lean

tactic: simp only [Rat.floor_def']
state_before: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
⊢ z ≤ { num := n, den := d, den_nz := h, reduced := c }.floor ↔ ↑z ≤ { num := n, den := d, den_nz := h, reduced := c }
state_after: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
⊢ z ≤ n / ↑d ↔ ↑z ≤ { num := n, den := d, den_nz := h, reduced := c }

tactic: rw [mk'_eq_divInt]
state_before: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
⊢ z ≤ n / ↑d ↔ ↑z ≤ { num := n, den := d, den_nz := h, reduced := c }
state_after: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
⊢ z ≤ n / ↑d ↔ ↑z ≤ n /. ↑d

tactic: have h' := Int.ofNat_lt.2 (Nat.pos_of_ne_zero h)
state_before: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
⊢ z ≤ n / ↑d ↔ ↑z ≤ n /. ↑d
state_after: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
h' : ↑0 < ↑d
⊢ z ≤ n / ↑d ↔ ↑z ≤ n /. ↑d

tactic: conv =>
  rhs
  rw [intCast_eq_divInt, Rat.divInt_le_divInt zero_lt_one h', mul_one]
state_before: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
h' : ↑0 < ↑d
⊢ z ≤ n / ↑d ↔ ↑z ≤ n /. ↑d
state_after: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
h' : ↑0 < ↑d
⊢ z ≤ n / ↑d ↔ z * ↑d ≤ n

tactic: exact Int.le_ediv_iff_mul_le h'
state_before: α : Type u_1
inst✝¹ : LinearOrderedField α
inst✝ : FloorRing α
z n : ℤ
d : ℕ
h : d ≠ 0
c : n.natAbs.Coprime d
h' : ↑0 < ↑d
⊢ z ≤ n / ↑d ↔ z * ↑d ≤ n
state_after: no goals
Theorem: RatFunc.monic_denom
File: Mathlib/FieldTheory/RatFunc/Basic.lean

tactic: induction x using RatFunc.induction_on with
| f p q hq =>
  rw [denom_div p hq, mul_comm]
  exact Polynomial.monic_mul_leadingCoeff_inv (right_div_gcd_ne_zero hq)
state_before: K : Type u
inst✝ : Field K
x : RatFunc K
⊢ x.denom.Monic
state_after: no goals

tactic: rw [denom_div p hq, mul_comm]
state_before: case f
K : Type u
inst✝ : Field K
p q : K[X]
hq : q ≠ 0
⊢ ((algebraMap K[X] (RatFunc K)) p / (algebraMap K[X] (RatFunc K)) q).denom.Monic
state_after: case f
K : Type u
inst✝ : Field K
p q : K[X]
hq : q ≠ 0
⊢ (q / gcd p q * C (q / gcd p q).leadingCoeff⁻¹).Monic

tactic: exact Polynomial.monic_mul_leadingCoeff_inv (right_div_gcd_ne_zero hq)
state_before: case f
K : Type u
inst✝ : Field K
p q : K[X]
hq : q ≠ 0
⊢ (q / gcd p q * C (q / gcd p q).leadingCoeff⁻¹).Monic
state_after: no goals
Theorem: Behrend.sphere_subset_preimage_metric_sphere
File: Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean

tactic: rw [Set.mem_preimage, mem_sphere_zero_iff_norm, norm_of_mem_sphere hx]
state_before: α : Type u_1
β : Type u_2
n d k N : ℕ
x✝ x : Fin n → ℕ
hx : x ∈ ↑(sphere n d k)
⊢ x ∈ (fun x => (WithLp.equiv 2 (Fin n → ℝ)).symm (Nat.cast ∘ x)) ⁻¹' Metric.sphere 0 √↑k
state_after: no goals
Theorem: sSup_image
File: Mathlib/Order/CompleteLattice.lean

tactic: rw [← iSup_subtype'', sSup_image']
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : CompleteLattice α
f✝ g s✝ t : ι → α
a b : α
s : Set β
f : β → α
⊢ sSup (f '' s) = ⨆ a ∈ s, f a
state_after: no goals
Theorem: norm_image_sub_le_of_norm_deriv_le_segment_01'
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: simpa only [sub_zero, mul_one] using
  norm_image_sub_le_of_norm_deriv_le_segment' hf bound 1 (right_mem_Icc.2 zero_le_one)
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f : ℝ → E
a b : ℝ
f' : ℝ → E
C : ℝ
hf : ∀ x ∈ Icc 0 1, HasDerivWithinAt f (f' x) (Icc 0 1) x
bound : ∀ x ∈ Ico 0 1, ‖f' x‖ ≤ C
⊢ ‖f 1 - f 0‖ ≤ C
state_after: no goals
Theorem: PiTensorProduct.map_add
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: ext x
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝¹² : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝¹¹ : (i : ι) → AddCommMonoid (s i)
inst✝¹⁰ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
E : Type u_9
inst✝⁷ : AddCommMonoid E
inst✝⁶ : Module R E
F : Type u_10
inst✝⁵ : AddCommMonoid F
t : ι → Type u_11
t' : ι → Type u_12
inst✝⁴ : (i : ι) → AddCommMonoid (t i)
inst✝³ : (i : ι) → Module R (t i)
inst✝² : (i : ι) → AddCommMonoid (t' i)
inst✝¹ : (i : ι) → Module R (t' i)
g : (i : ι) → t i →ₗ[R] t' i
f : (i : ι) → s i →ₗ[R] t i
inst✝ : DecidableEq ι
i : ι
u v : s i →ₗ[R] t i
⊢ map (update f i (u + v)) = map (update f i u) + map (update f i v)
state_after: case H.H
ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝¹² : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝¹¹ : (i : ι) → AddCommMonoid (s i)
inst✝¹⁰ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
E : Type u_9
inst✝⁷ : AddCommMonoid E
inst✝⁶ : Module R E
F : Type u_10
inst✝⁵ : AddCommMonoid F
t : ι → Type u_11
t' : ι → Type u_12
inst✝⁴ : (i : ι) → AddCommMonoid (t i)
inst✝³ : (i : ι) → Module R (t i)
inst✝² : (i : ι) → AddCommMonoid (t' i)
inst✝¹ : (i : ι) → Module R (t' i)
g : (i : ι) → t i →ₗ[R] t' i
f : (i : ι) → s i →ₗ[R] t i
inst✝ : DecidableEq ι
i : ι
u v : s i →ₗ[R] t i
x : (i : ι) → s i
⊢ ((map (update f i (u + v))).compMultilinearMap (tprod R)) x =
    ((map (update f i u) + map (update f i v)).compMultilinearMap (tprod R)) x

tactic: simp only [LinearMap.compMultilinearMap_apply, map_tprod, map_add_smul_aux, LinearMap.add_apply,
  MultilinearMap.map_add]
state_before: case H.H
ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝¹² : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝¹¹ : (i : ι) → AddCommMonoid (s i)
inst✝¹⁰ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
E : Type u_9
inst✝⁷ : AddCommMonoid E
inst✝⁶ : Module R E
F : Type u_10
inst✝⁵ : AddCommMonoid F
t : ι → Type u_11
t' : ι → Type u_12
inst✝⁴ : (i : ι) → AddCommMonoid (t i)
inst✝³ : (i : ι) → Module R (t i)
inst✝² : (i : ι) → AddCommMonoid (t' i)
inst✝¹ : (i : ι) → Module R (t' i)
g : (i : ι) → t i →ₗ[R] t' i
f : (i : ι) → s i →ₗ[R] t i
inst✝ : DecidableEq ι
i : ι
u v : s i →ₗ[R] t i
x : (i : ι) → s i
⊢ ((map (update f i (u + v))).compMultilinearMap (tprod R)) x =
    ((map (update f i u) + map (update f i v)).compMultilinearMap (tprod R)) x
state_after: no goals
Theorem: ProbabilityTheory.kernel.snd_map_prod
File: Mathlib/Probability/Kernel/Composition.lean

tactic: ext x s hs
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
⊢ snd (map κ (fun x => (f x, g x)) ⋯) = map κ g hg
state_after: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ ((snd (map κ (fun x => (f x, g x)) ⋯)) x) s = ((map κ g hg) x) s

tactic: rw [snd_apply' _ _ hs, map_apply', map_apply' _ _ _ hs]
state_before: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ ((snd (map κ (fun x => (f x, g x)) ⋯)) x) s = ((map κ g hg) x) s
state_after: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ (κ x) ((fun x => (f x, g x)) ⁻¹' {p | p.2 ∈ s}) = (κ x) (g ⁻¹' s)

case h.h.hs
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ MeasurableSet {p | p.2 ∈ s}

tactic: rfl
state_before: case h.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ (κ x) ((fun x => (f x, g x)) ⁻¹' {p | p.2 ∈ s}) = (κ x) (g ⁻¹' s)
state_after: no goals

tactic: exact measurable_snd hs
state_before: case h.h.hs
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
δ : Type u_4
mδ : MeasurableSpace δ
γ : Type u_5
mγ : MeasurableSpace γ
f✝ : β → γ
g✝ : γ → α
κ : ↥(kernel α β)
f : β → γ
g : β → δ
hf : Measurable f
hg : Measurable g
x : α
s : Set δ
hs : MeasurableSet s
⊢ MeasurableSet {p | p.2 ∈ s}
state_after: no goals