tasksource/leandojo huggingface dataset:
Theorem: ConvexOn.secant_mono
File: Mathlib/Analysis/Convex/Slope.lean

tactic: rcases eq_or_lt_of_le hxy with (rfl | hxy)
state_before: 𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa : x ≠ a
hya : y ≠ a
hxy : x ≤ y
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)

tactic: cases' lt_or_gt_of_ne hxa with hxa hxa
state_before: case inr
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa : x ≠ a
hya : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)

tactic: simp
state_before: case inl
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x : 𝕜
ha : a ∈ s
hx : x ∈ s
hxa : x ≠ a
hy : x ∈ s
hya : x ≠ a
hxy : x ≤ x
⊢ (f x - f a) / (x - a) ≤ (f x - f a) / (x - a)

tactic: cases' lt_or_gt_of_ne hya with hya hya
state_before: case inr.inl
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x < a
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)

tactic: convert hf.secant_mono_aux3 hx ha hxy hya using 1 <;> rw [← neg_div_neg_eq] <;> field_simp
state_before: case inr.inl.inl
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya✝ : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x < a
hya : y < a
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)

tactic: convert hf.slope_mono_adjacent hx hy hxa hya using 1
state_before: case inr.inl.inr
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya✝ : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x < a
hya : y > a
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)

tactic: rw [← neg_div_neg_eq]
state_before: case h.e'_3
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya✝ : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x < a
hya : y > a
⊢ (f x - f a) / (x - a) = (f a - f x) / (a - x)

tactic: field_simp
state_before: case h.e'_3
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya✝ : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x < a
hya : y > a
⊢ -(f x - f a) / -(x - a) = (f a - f x) / (a - x)

tactic: exact hf.secant_mono_aux2 ha hy hxa hxy
state_before: case inr.inr
𝕜 : Type u_1
inst✝ : LinearOrderedField 𝕜
s : Set 𝕜
f : 𝕜 → 𝕜
hf : ConvexOn 𝕜 s f
a x y : 𝕜
ha : a ∈ s
hx : x ∈ s
hy : y ∈ s
hxa✝ : x ≠ a
hya : y ≠ a
hxy✝ : x ≤ y
hxy : x < y
hxa : x > a
⊢ (f x - f a) / (x - a) ≤ (f y - f a) / (y - a)
Theorem: BoundedContinuousFunction.dist_eq_iSup
File: Mathlib/Topology/ContinuousFunction/Bounded.lean

tactic: cases isEmpty_or_nonempty α
state_before: F : Type ?u.306605
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : PseudoMetricSpace β
inst✝ : PseudoMetricSpace γ
f g : α →ᵇ β
x : α
C : ℝ
⊢ dist f g = ⨆ (x : α), dist (↑f x) (↑g x)

tactic: refine' (dist_le_iff_of_nonempty.mpr <| le_ciSup _).antisymm (ciSup_le dist_coe_le_dist)
state_before: case inr
F : Type ?u.306605
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : PseudoMetricSpace β
inst✝ : PseudoMetricSpace γ
f g : α →ᵇ β
x : α
C : ℝ
h✝ : Nonempty α
⊢ dist f g = ⨆ (x : α), dist (↑f x) (↑g x)

tactic: exact dist_set_exists.imp fun C hC => forall_range_iff.2 hC.2
state_before: case inr
F : Type ?u.306605
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : PseudoMetricSpace β
inst✝ : PseudoMetricSpace γ
f g : α →ᵇ β
x : α
C : ℝ
h✝ : Nonempty α
⊢ BddAbove (range fun x => dist (↑f x) (↑g x))

tactic: rw [iSup_of_empty', Real.sSup_empty, dist_zero_of_empty]
state_before: case inl
F : Type ?u.306605
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : PseudoMetricSpace β
inst✝ : PseudoMetricSpace γ
f g : α →ᵇ β
x : α
C : ℝ
h✝ : IsEmpty α
⊢ dist f g = ⨆ (x : α), dist (↑f x) (↑g x)
Theorem: Finset.eq_one_of_prod_eq_one
File: Mathlib/Algebra/BigOperators/Basic.lean

tactic: intro x hx
state_before: ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
⊢ ∀ (x : α), x ∈ s → f x = 1

tactic: by_cases h : x = a
state_before: ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : x ∈ s
⊢ f x = 1

tactic: rw [h]
state_before: case pos
ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : x ∈ s
h : x = a
⊢ f x = 1

tactic: rw [h] at hx
state_before: case pos
ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : x ∈ s
h : x = a
⊢ f a = 1

tactic: rw [← prod_subset (singleton_subset_iff.2 hx) fun t ht ha => h1 t ht (not_mem_singleton.1 ha),
  prod_singleton] at hp
state_before: case pos
ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : a ∈ s
h : x = a
⊢ f a = 1

tactic: exact hp
state_before: case pos
ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : f a = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : a ∈ s
h : x = a
⊢ f a = 1

tactic: exact h1 x hx h
state_before: case neg
ι : Type ?u.804263
β : Type u
α : Type v
γ : Type w
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
hp : ∏ x in s, f x = 1
h1 : ∀ (x : α), x ∈ s → x ≠ a → f x = 1
x : α
hx : x ∈ s
h : ¬x = a
⊢ f x = 1
Theorem: intervalIntegral.integral_le_sub_of_hasDeriv_right_of_le
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: rw [← neg_le_neg_iff]
state_before: ι : Type ?u.1832713
𝕜 : Type ?u.1832716
E : Type ?u.1832719
F : Type ?u.1832722
A : Type ?u.1832725
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ioo a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ioo a b → φ x ≤ g' x
⊢ (∫ (y : ℝ) in a..b, φ y) ≤ g b - g a

tactic: convert sub_le_integral_of_hasDeriv_right_of_le hab hcont.neg (fun x hx => (hderiv x hx).neg)
  φint.neg fun x hx => neg_le_neg (hφg x hx) using 1
state_before: ι : Type ?u.1832713
𝕜 : Type ?u.1832716
E : Type ?u.1832719
F : Type ?u.1832722
A : Type ?u.1832725
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ioo a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ioo a b → φ x ≤ g' x
⊢ -(g b - g a) ≤ -∫ (y : ℝ) in a..b, φ y

tactic: abel
state_before: case h.e'_3
ι : Type ?u.1832713
𝕜 : Type ?u.1832716
E : Type ?u.1832719
F : Type ?u.1832722
A : Type ?u.1832725
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ioo a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ioo a b → φ x ≤ g' x
⊢ -(g b - g a) = -g b - -g a

tactic: simp only [← integral_neg]
state_before: case h.e'_4
ι : Type ?u.1832713
𝕜 : Type ?u.1832716
E : Type ?u.1832719
F : Type ?u.1832722
A : Type ?u.1832725
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ioo a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ioo a b → φ x ≤ g' x
⊢ (-∫ (y : ℝ) in a..b, φ y) = ∫ (y : ℝ) in a..b, (-φ) y

tactic: rfl
state_before: case h.e'_4
ι : Type ?u.1832713
𝕜 : Type ?u.1832716
E : Type ?u.1832719
F : Type ?u.1832722
A : Type ?u.1832725
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f : ℝ → E
g' g φ : ℝ → ℝ
a b : ℝ
hab : a ≤ b
hcont : ContinuousOn g (Icc a b)
hderiv : ∀ (x : ℝ), x ∈ Ioo a b → HasDerivWithinAt g (g' x) (Ioi x) x
φint : IntegrableOn φ (Icc a b)
hφg : ∀ (x : ℝ), x ∈ Ioo a b → φ x ≤ g' x
⊢ (∫ (x : ℝ) in a..b, -φ x) = ∫ (y : ℝ) in a..b, (-φ) y
Theorem: Set.pi_univ_Ioc_update_right
File: Mathlib/Data/Set/Intervals/Pi.lean

tactic: have : Ioc (x i₀) m = Iic m ∩ Ioc (x i₀) (y i₀) := by
  rw [← Ioi_inter_Iic, ← Ioi_inter_Iic, inter_left_comm,
    inter_eq_self_of_subset_left (Iic_subset_Iic.2 hm)]
state_before: ι : Type u_2
α : ι → Type u_1
inst✝¹ : (i : ι) → Preorder (α i)
x✝ y✝ : (i : ι) → α i
inst✝ : DecidableEq ι
x y : (i : ι) → α i
i₀ : ι
m : α i₀
hm : m ≤ y i₀
⊢ (pi univ fun i => Ioc (x i) (update y i₀ m i)) = {z | z i₀ ≤ m} ∩ pi univ fun i => Ioc (x i) (y i)

tactic: simp_rw [univ_pi_update i₀ y m fun i z ↦ Ioc (x i) z, ← pi_inter_compl ({i₀} : Set ι),
  singleton_pi', ← inter_assoc, this]
state_before: ι : Type u_2
α : ι → Type u_1
inst✝¹ : (i : ι) → Preorder (α i)
x✝ y✝ : (i : ι) → α i
inst✝ : DecidableEq ι
x y : (i : ι) → α i
i₀ : ι
m : α i₀
hm : m ≤ y i₀
this : Ioc (x i₀) m = Iic m ∩ Ioc (x i₀) (y i₀)
⊢ (pi univ fun i => Ioc (x i) (update y i₀ m i)) = {z | z i₀ ≤ m} ∩ pi univ fun i => Ioc (x i) (y i)

tactic: rfl
state_before: ι : Type u_2
α : ι → Type u_1
inst✝¹ : (i : ι) → Preorder (α i)
x✝ y✝ : (i : ι) → α i
inst✝ : DecidableEq ι
x y : (i : ι) → α i
i₀ : ι
m : α i₀
hm : m ≤ y i₀
this : Ioc (x i₀) m = Iic m ∩ Ioc (x i₀) (y i₀)
⊢ ({x_1 | x_1 i₀ ∈ Iic m ∩ Ioc (x i₀) (y i₀)} ∩ pi ({i₀}ᶜ) fun j => Ioc (x j) (y j)) =
    {z | z i₀ ≤ m} ∩ {x_1 | x_1 i₀ ∈ Ioc (x i₀) (y i₀)} ∩ pi ({i₀}ᶜ) fun j => Ioc (x j) (y j)

tactic: rw [← Ioi_inter_Iic, ← Ioi_inter_Iic, inter_left_comm,
  inter_eq_self_of_subset_left (Iic_subset_Iic.2 hm)]
state_before: ι : Type u_2
α : ι → Type u_1
inst✝¹ : (i : ι) → Preorder (α i)
x✝ y✝ : (i : ι) → α i
inst✝ : DecidableEq ι
x y : (i : ι) → α i
i₀ : ι
m : α i₀
hm : m ≤ y i₀
⊢ Ioc (x i₀) m = Iic m ∩ Ioc (x i₀) (y i₀)
Theorem: AddCommGroup.ModEq.trans
File: Mathlib/Algebra/ModEq.lean

tactic: simp [add_smul, ← hm, ← hn]
state_before: α : Type u_1
inst✝ : AddCommGroup α
p a a₁ a₂ b b₁ b₂ c : α
n✝ : ℕ
z : ℤ
x✝¹ : a ≡ b [PMOD p]
x✝ : b ≡ c [PMOD p]
m : ℤ
hm : b - a = m • p
n : ℤ
hn : c - b = n • p
⊢ c - a = (m + n) • p
Theorem: Set.toFinset_ssubset_toFinset
File: Mathlib/Data/Fintype/Basic.lean

tactic: simp only [Finset.ssubset_def, toFinset_subset_toFinset, ssubset_def]
state_before: α : Type u_1
β : Type ?u.85081
γ : Type ?u.85084
s t : Set α
inst✝¹ : Fintype ↑s
inst✝ : Fintype ↑t
⊢ toFinset s ⊂ toFinset t ↔ s ⊂ t
Theorem: Pi.segment_subset
File: Mathlib/Analysis/Convex/Segment.lean

tactic: rintro z ⟨a, b, ha, hb, hab, hz⟩ i -
state_before: 𝕜 : Type u_3
E : Type ?u.376048
F : Type ?u.376051
G : Type ?u.376054
ι : Type u_1
π : ι → Type u_2
inst✝² : OrderedSemiring 𝕜
inst✝¹ : (i : ι) → AddCommMonoid (π i)
inst✝ : (i : ι) → Module 𝕜 (π i)
s : Set ι
x y : (i : ι) → π i
⊢ [x-[𝕜]y] ⊆ pi s fun i => [x i-[𝕜]y i]

tactic: exact ⟨a, b, ha, hb, hab, congr_fun hz i⟩
state_before: case intro.intro.intro.intro.intro
𝕜 : Type u_3
E : Type ?u.376048
F : Type ?u.376051
G : Type ?u.376054
ι : Type u_1
π : ι → Type u_2
inst✝² : OrderedSemiring 𝕜
inst✝¹ : (i : ι) → AddCommMonoid (π i)
inst✝ : (i : ι) → Module 𝕜 (π i)
s : Set ι
x y z : (i : ι) → π i
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
hz : a • x + b • y = z
i : ι
⊢ z i ∈ (fun i => [x i-[𝕜]y i]) i
Theorem: Set.unbounded_lt_iff
File: Mathlib/Order/Bounded.lean

tactic: simp only [Unbounded, not_lt]
state_before: α : Type u_1
r : α → α → Prop
s t : Set α
inst✝ : LinearOrder α
⊢ Unbounded (fun x x_1 => x < x_1) s ↔ ∀ (a : α), ∃ b, b ∈ s ∧ a ≤ b
Theorem: IsIntegralClosure.mk'_zero
File: Mathlib/RingTheory/IntegralClosure.lean

tactic: rw [algebraMap_mk', RingHom.map_zero]
state_before: R : Type u_1
A : Type u_3
B : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R B
inst✝¹ : Algebra A B
inst✝ : IsIntegralClosure A R B
h : optParam (IsIntegral R 0) (_ : IsIntegral R 0)
⊢ ↑(algebraMap A B) (mk' A 0 h) = ↑(algebraMap A B) 0
Theorem: MeasureTheory.MeasurePreserving.comp_right_iff
File: Mathlib/Dynamics/Ergodic/MeasurePreserving.lean

tactic: refine' ⟨fun hg => _, fun hg => hg.comp h⟩
state_before: α : Type u_2
β : Type u_3
γ : Type u_1
δ : Type ?u.163029
inst✝³ : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
μa : Measure α
μb : Measure β
μc : Measure γ
μd : Measure δ
g : α → β
e : γ ≃ᵐ α
h : MeasurePreserving ↑e
⊢ MeasurePreserving (g ∘ ↑e) ↔ MeasurePreserving g

tactic: convert hg.comp (MeasurePreserving.symm e h)
state_before: α : Type u_2
β : Type u_3
γ : Type u_1
δ : Type ?u.163029
inst✝³ : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
μa : Measure α
μb : Measure β
μc : Measure γ
μd : Measure δ
g : α → β
e : γ ≃ᵐ α
h : MeasurePreserving ↑e
hg : MeasurePreserving (g ∘ ↑e)
⊢ MeasurePreserving g

tactic: simp [Function.comp.assoc g e e.symm]
state_before: case h.e'_5
α : Type u_2
β : Type u_3
γ : Type u_1
δ : Type ?u.163029
inst✝³ : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
inst✝ : MeasurableSpace δ
μa : Measure α
μb : Measure β
μc : Measure γ
μd : Measure δ
g : α → β
e : γ ≃ᵐ α
h : MeasurePreserving ↑e
hg : MeasurePreserving (g ∘ ↑e)
⊢ g = (g ∘ ↑e) ∘ ↑(MeasurableEquiv.symm e)
Theorem: String.Iterator.Valid.remainingToString
File: Std/Data/String/Lemmas.lean

tactic: cases h.out
state_before: l r : List Char
it : Iterator
h : ValidFor l r it
⊢ Iterator.remainingToString it = { data := r }

tactic: simpa [Iterator.remainingToString, List.reverseAux_eq] using extract_of_valid l.reverse r []
state_before: case refl
l r : List Char
h : ValidFor l r { s := { data := List.reverseAux l r }, i := { byteIdx := utf8Len l } }
⊢ Iterator.remainingToString { s := { data := List.reverseAux l r }, i := { byteIdx := utf8Len l } } = { data := r }
Theorem: padicNormE.image
File: Mathlib/NumberTheory/Padics/PadicNumbers.lean

tactic: rw [← hn]
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ_[p]
f : CauSeq ℚ (padicNorm p)
hf : Quotient.mk equiv f ≠ 0
this : ¬f ≈ 0
n : ℤ
hn : PadicSeq.norm f = ↑p ^ (-n)
⊢ ‖Quotient.mk equiv f‖ = ↑(↑p ^ (-n))

tactic: rfl
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ_[p]
f : CauSeq ℚ (padicNorm p)
hf : Quotient.mk equiv f ≠ 0
this : ¬f ≈ 0
n : ℤ
hn : PadicSeq.norm f = ↑p ^ (-n)
⊢ ‖Quotient.mk equiv f‖ = ↑(PadicSeq.norm f)
Theorem: MeasureTheory.SimpleFunc.lintegral_sum
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

tactic: simp only [lintegral, Measure.sum_apply, f.measurableSet_preimage, ← Finset.tsum_subtype, ←
  ENNReal.tsum_mul_left]
state_before: α : Type u_1
β : Type ?u.884606
γ : Type ?u.884609
δ : Type ?u.884612
m✝ : MeasurableSpace α
μ✝ ν : Measure α
m : MeasurableSpace α
ι : Type u_2
f : α →ₛ ℝ≥0∞
μ : ι → Measure α
⊢ lintegral f (Measure.sum μ) = ∑' (i : ι), lintegral f (μ i)

tactic: apply ENNReal.tsum_comm
state_before: α : Type u_1
β : Type ?u.884606
γ : Type ?u.884609
δ : Type ?u.884612
m✝ : MeasurableSpace α
μ✝ ν : Measure α
m : MeasurableSpace α
ι : Type u_2
f : α →ₛ ℝ≥0∞
μ : ι → Measure α
⊢ (∑' (x : { x // x ∈ SimpleFunc.range f }) (i : ι), ↑x * ↑↑(μ i) (↑f ⁻¹' {↑x})) =
    ∑' (i : ι) (x : { x // x ∈ SimpleFunc.range f }), ↑x * ↑↑(μ i) (↑f ⁻¹' {↑x})
Theorem: ENNReal.embedding_coe
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: rw [range_coe']
state_before: α : Type ?u.1479
β : Type ?u.1482
γ : Type ?u.1485
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
⊢ OrdConnected (range some)

tactic: exact ordConnected_Iio
state_before: α : Type ?u.1479
β : Type ?u.1482
γ : Type ?u.1485
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
⊢ OrdConnected (Iio ⊤)
Theorem: Finset.strongInductionOn_eq
File: Mathlib/Data/Finset/Card.lean

tactic: dsimp only [strongInductionOn]
state_before: α : Type u_1
β : Type ?u.74655
s✝ t : Finset α
f : α → β
n : ℕ
p : Finset α → Sort u_2
s : Finset α
H : (s : Finset α) → ((t : Finset α) → t ⊂ s → p t) → p s
⊢ strongInductionOn s H = H s fun t x => strongInductionOn t H

tactic: rw [strongInduction]
state_before: α : Type u_1
β : Type ?u.74655
s✝ t : Finset α
f : α → β
n : ℕ
p : Finset α → Sort u_2
s : Finset α
H : (s : Finset α) → ((t : Finset α) → t ⊂ s → p t) → p s
⊢ strongInduction H s = H s fun t x => strongInduction H t
Theorem: Ordnode.node4L_size
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: cases m <;> simp [node4L, node3L, node'] <;> [skip; simp [size, hm.1]] <;> abel
state_before: α : Type u_1
l : Ordnode α
x : α
m : Ordnode α
y : α
r : Ordnode α
hm : Sized m
⊢ size (node4L l x m y r) = size l + size m + size r + 2
Theorem: pow_dvd_pow
File: Mathlib/Algebra/GroupPower/Basic.lean

tactic: rw [← pow_add, Nat.add_comm, Nat.sub_add_cancel h]
state_before: α : Type ?u.103818
M : Type u
N : Type v
G : Type w
H : Type x
A : Type y
B : Type z
R : Type u₁
S : Type u₂
inst✝ : Monoid R
a : R
m n : ℕ
h : m ≤ n
⊢ a ^ n = a ^ m * a ^ (n - m)
Theorem: MvQPF.comp_map
File: Mathlib/Data/QPF/Multivariate/Basic.lean

tactic: rw [← abs_repr x]
state_before: n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α β γ : TypeVec n
f : α ⟹ β
g : β ⟹ γ
x : F α
⊢ (g ⊚ f) <$$> x = g <$$> f <$$> x

tactic: cases' repr x with a f
state_before: n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α β γ : TypeVec n
f : α ⟹ β
g : β ⟹ γ
x : F α
⊢ (g ⊚ f) <$$> abs (repr x) = g <$$> f <$$> abs (repr x)

tactic: rw [← abs_map, ← abs_map, ← abs_map]
state_before: case mk
n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α β γ : TypeVec n
f✝ : α ⟹ β
g : β ⟹ γ
x : F α
a : (P F).A
f : MvPFunctor.B (P F) a ⟹ α
⊢ (g ⊚ f✝) <$$> abs { fst := a, snd := f } = g <$$> f✝ <$$> abs { fst := a, snd := f }

tactic: rfl
state_before: case mk
n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α β γ : TypeVec n
f✝ : α ⟹ β
g : β ⟹ γ
x : F α
a : (P F).A
f : MvPFunctor.B (P F) a ⟹ α
⊢ abs ((g ⊚ f✝) <$$> { fst := a, snd := f }) = abs (g <$$> f✝ <$$> { fst := a, snd := f })
Theorem: ContinuousMap.hasSum_of_hasSum_Lp
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: convert Summable.hasSum hg
state_before: α : Type u_2
E : Type u_4
F : Type ?u.15733246
G : Type ?u.15733249
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : MeasureTheory.Measure α
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedAddCommGroup G
inst✝⁸ : TopologicalSpace α
inst✝⁷ : BorelSpace α
inst✝⁶ : SecondCountableTopologyEither α E
inst✝⁵ : CompactSpace α
inst✝⁴ : IsFiniteMeasure μ
𝕜 : Type u_3
inst✝³ : Fact (1 ≤ p)
β : Type u_1
inst✝² : Measure.IsOpenPosMeasure μ
inst✝¹ : NormedField 𝕜
inst✝ : NormedSpace 𝕜 E
g : β → C(α, E)
f : C(α, E)
hg : Summable g
hg2 : HasSum (↑(toLp p μ 𝕜) ∘ g) (↑(toLp p μ 𝕜) f)
⊢ HasSum g f

tactic: exact toLp_injective μ (hg2.unique ((toLp p μ 𝕜).hasSum <| Summable.hasSum hg))
state_before: case h.e'_6
α : Type u_2
E : Type u_4
F : Type ?u.15733246
G : Type ?u.15733249
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : MeasureTheory.Measure α
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedAddCommGroup G
inst✝⁸ : TopologicalSpace α
inst✝⁷ : BorelSpace α
inst✝⁶ : SecondCountableTopologyEither α E
inst✝⁵ : CompactSpace α
inst✝⁴ : IsFiniteMeasure μ
𝕜 : Type u_3
inst✝³ : Fact (1 ≤ p)
β : Type u_1
inst✝² : Measure.IsOpenPosMeasure μ
inst✝¹ : NormedField 𝕜
inst✝ : NormedSpace 𝕜 E
g : β → C(α, E)
f : C(α, E)
hg : Summable g
hg2 : HasSum (↑(toLp p μ 𝕜) ∘ g) (↑(toLp p μ 𝕜) f)
⊢ f = ∑' (b : β), g b
Theorem: CategoryTheory.Bicategory.pentagon_inv_hom_hom_hom_inv
File: Mathlib/CategoryTheory/Bicategory/Basic.lean

tactic: simp
state_before: B : Type u
inst✝ : Bicategory B
a b c d e : B
f : a ⟶ b
g : b ⟶ c
h : c ⟶ d
i : d ⟶ e
⊢ inv ((α_ (f ≫ g) h i).inv ≫ (α_ f g h).hom ▷ i ≫ (α_ f (g ≫ h) i).hom) =
    inv ((α_ f g (h ≫ i)).hom ≫ f ◁ (α_ g h i).inv)
Theorem: LinearMap.linearIndependent_iff
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: simp only [hf_inj, disjoint_bot_right]
state_before: ι : Type u'
ι' : Type ?u.109994
R : Type u_1
K : Type ?u.110000
M : Type u_2
M' : Type u_3
M'' : Type ?u.110009
V : Type u
V' : Type ?u.110014
v : ι → M
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x y : M
f : M →ₗ[R] M'
hf_inj : ker f = ⊥
h : LinearIndependent R v
⊢ Disjoint (span R (Set.range v)) (ker f)
Theorem: Cardinal.eq_aleph_of_eq_card_ord
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: cases' eq_aleph'_of_eq_card_ord ho with a ha
state_before: o : Ordinal
ho : ord (card o) = o
ho' : ω ≤ o
⊢ ∃ a, ord (aleph a) = o

tactic: use a - ω
state_before: case intro
o : Ordinal
ho : ord (card o) = o
ho' : ω ≤ o
a : Ordinal
ha : ord (aleph' a) = o
⊢ ∃ a, ord (aleph a) = o

tactic: unfold aleph
state_before: case intro
o : Ordinal
ho : ord (card o) = o
ho' : ω ≤ o
a : Ordinal
ha : ord (aleph' a) = o
⊢ ord (aleph (a - ω)) = o

tactic: rwa [Ordinal.add_sub_cancel_of_le]
state_before: case intro
o : Ordinal
ho : ord (card o) = o
ho' : ω ≤ o
a : Ordinal
ha : ord (aleph' a) = o
⊢ ord (aleph' (ω + (a - ω))) = o

tactic: rwa [← aleph0_le_aleph', ← ord_le_ord, ha, ord_aleph0]
state_before: case intro
o : Ordinal
ho : ord (card o) = o
ho' : ω ≤ o
a : Ordinal
ha : ord (aleph' a) = o
⊢ ω ≤ a
Theorem: Cardinal.one_lt_iff_nontrivial
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [← not_le, le_one_iff_subsingleton, ← not_nontrivial_iff_subsingleton, Classical.not_not]
state_before: α✝ β α : Type u
⊢ 1 < (#α) ↔ Nontrivial α
Theorem: Rat.num_div_den
File: Mathlib/Data/Rat/Defs.lean

tactic: rw [← Int.cast_ofNat]
state_before: a b c r : ℚ
⊢ ↑r.num / ↑r.den = r

tactic: erw [← divInt_eq_div, num_den]
state_before: a b c r : ℚ
⊢ ↑r.num / ↑↑r.den = r
Theorem: Ordinal.IsNormal.apply_lt_nfp
File: Mathlib/SetTheory/Ordinal/FixedPoint.lean

tactic: unfold nfp
state_before: f✝ : Ordinal → Ordinal
f : Ordinal → Ordinal
H : IsNormal f
a b : Ordinal
⊢ f b < nfp f a ↔ b < nfp f a

tactic: rw [← @apply_lt_nfpFamily_iff Unit (fun _ => f) _ (fun _ => H) a b]
state_before: f✝ : Ordinal → Ordinal
f : Ordinal → Ordinal
H : IsNormal f
a b : Ordinal
⊢ f b < nfpFamily (fun x => f) a ↔ b < nfpFamily (fun x => f) a

tactic: exact ⟨fun h _ => h, fun h => h Unit.unit⟩
state_before: f✝ : Ordinal → Ordinal
f : Ordinal → Ordinal
H : IsNormal f
a b : Ordinal
⊢ f b < nfpFamily (fun x => f) a ↔ Unit → f b < nfpFamily (fun x => f) a
Theorem: Set.preimage_inr_range_inl
File: Mathlib/Data/Set/Image.lean

tactic: rw [← image_univ, preimage_inr_image_inl]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.85765
ι : Sort ?u.85768
ι' : Sort ?u.85771
f : ι → α
s t : Set α
⊢ Sum.inr ⁻¹' range Sum.inl = ∅
Theorem: Set.biInter_and'
File: Mathlib/Data/Set/Lattice.lean

tactic: simp only [iInter_and, @iInter_comm _ ι]
state_before: α : Type u_1
β : Type ?u.92502
γ : Type ?u.92505
ι : Sort u_2
ι' : Sort u_3
ι₂ : Sort ?u.92514
κ : ι → Sort ?u.92519
κ₁ : ι → Sort ?u.92524
κ₂ : ι → Sort ?u.92529
κ' : ι' → Sort ?u.92534
p : ι' → Prop
q : ι → ι' → Prop
s : (x : ι) → (y : ι') → p y ∧ q x y → Set α
⊢ (⋂ (x : ι) (y : ι') (h : p y ∧ q x y), s x y h) = ⋂ (y : ι') (hy : p y) (x : ι) (hx : q x y), s x y (_ : p y ∧ q x y)
Theorem: AbsoluteValue.map_one_of_isLeftRegular
File: Mathlib/Algebra/Order/AbsoluteValue.lean

tactic: simp [← map_mul]
state_before: R : Type u_2
S : Type u_1
inst✝¹ : Semiring R
inst✝ : OrderedSemiring S
abv : AbsoluteValue R S
h : IsLeftRegular (↑abv 1)
⊢ (fun x => ↑abv 1 * x) (↑abv 1) = (fun x => ↑abv 1 * x) 1