tasksource/leandojo huggingface dataset:
Theorem: Int.ediv_of_neg_of_pos
File: Mathlib/Data/Int/Basic.lean

tactic: rw [show (- -[m+1] : ℤ) = (m + 1 : ℤ) by rfl]
state_before: a b : ℤ
m n : ℕ
Ha : -[m+1] < 0
Hb : 0 < ↑(Nat.succ n)
⊢ ediv -[m+1] ↑(Nat.succ n) = -((- -[m+1] - 1) / ↑(Nat.succ n) + 1)

tactic: rw [add_sub_cancel]
state_before: a b : ℤ
m n : ℕ
Ha : -[m+1] < 0
Hb : 0 < ↑(Nat.succ n)
⊢ ediv -[m+1] ↑(Nat.succ n) = -((↑m + 1 - 1) / ↑(Nat.succ n) + 1)

tactic: rfl
state_before: a b : ℤ
m n : ℕ
Ha : -[m+1] < 0
Hb : 0 < ↑(Nat.succ n)
⊢ ediv -[m+1] ↑(Nat.succ n) = -(↑m / ↑(Nat.succ n) + 1)

tactic: rfl
state_before: a b : ℤ
m n : ℕ
Ha : -[m+1] < 0
Hb : 0 < ↑(Nat.succ n)
⊢ - -[m+1] = ↑m + 1
Theorem: LinearMap.isAdjointPair_inner
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

tactic: intro x y
state_before: 𝕜 : Type ?u.2218410
E : Type ?u.2218413
F : Type ?u.2218416
G : Type ?u.2218419
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedAddCommGroup G
inst✝¹¹ : InnerProductSpace 𝕜 E
inst✝¹⁰ : InnerProductSpace 𝕜 F
inst✝⁹ : InnerProductSpace 𝕜 G
inst✝⁸ : FiniteDimensional 𝕜 E
inst✝⁷ : FiniteDimensional 𝕜 F
inst✝⁶ : FiniteDimensional 𝕜 G
E' : Type u_1
F' : Type u_2
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : InnerProductSpace ℝ E'
inst✝² : InnerProductSpace ℝ F'
inst✝¹ : FiniteDimensional ℝ E'
inst✝ : FiniteDimensional ℝ F'
A : E' →ₗ[ℝ] F'
⊢ IsAdjointPair sesqFormOfInner sesqFormOfInner A (↑adjoint A)

tactic: simp only [sesqFormOfInner_apply_apply, adjoint_inner_left]
state_before: 𝕜 : Type ?u.2218410
E : Type ?u.2218413
F : Type ?u.2218416
G : Type ?u.2218419
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedAddCommGroup F
inst✝¹² : NormedAddCommGroup G
inst✝¹¹ : InnerProductSpace 𝕜 E
inst✝¹⁰ : InnerProductSpace 𝕜 F
inst✝⁹ : InnerProductSpace 𝕜 G
inst✝⁸ : FiniteDimensional 𝕜 E
inst✝⁷ : FiniteDimensional 𝕜 F
inst✝⁶ : FiniteDimensional 𝕜 G
E' : Type u_1
F' : Type u_2
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : InnerProductSpace ℝ E'
inst✝² : InnerProductSpace ℝ F'
inst✝¹ : FiniteDimensional ℝ E'
inst✝ : FiniteDimensional ℝ F'
A : E' →ₗ[ℝ] F'
x : E'
y : F'
⊢ ↑(↑sesqFormOfInner (↑A x)) y = ↑(↑sesqFormOfInner x) (↑(↑adjoint A) y)
Theorem: Multiset.inf_ndunion
File: Mathlib/Data/Multiset/Lattice.lean

tactic: rw [← inf_dedup, dedup_ext.2, inf_dedup, inf_add]
state_before: α : Type u_1
inst✝² : SemilatticeInf α
inst✝¹ : OrderTop α
inst✝ : DecidableEq α
s₁ s₂ : Multiset α
⊢ inf (ndunion s₁ s₂) = inf s₁ ⊓ inf s₂

tactic: simp
state_before: α : Type u_1
inst✝² : SemilatticeInf α
inst✝¹ : OrderTop α
inst✝ : DecidableEq α
s₁ s₂ : Multiset α
⊢ ∀ (a : α), a ∈ ndunion s₁ s₂ ↔ a ∈ s₁ + s₂
Theorem: Ordinal.principal_iff_principal_swap
File: Mathlib/SetTheory/Ordinal/Principal.lean

tactic: constructor <;> exact fun h a b ha hb => h hb ha
state_before: op : Ordinal → Ordinal → Ordinal
o : Ordinal
⊢ Principal op o ↔ Principal (Function.swap op) o
Theorem: mulSalemSpencer_mul_left_iff
File: Mathlib/Combinatorics/Additive/SalemSpencer.lean

tactic: rw [mul_mul_mul_comm, h, mul_mul_mul_comm]
state_before: F : Type ?u.83442
α : Type u_1
β : Type ?u.83448
𝕜 : Type ?u.83451
E : Type ?u.83454
inst✝ : CancelCommMonoid α
s : Set α
a : α
hs : MulSalemSpencer ((fun x x_1 => x * x_1) a '' s)
b c d : α
hb : b ∈ s
hc : c ∈ s
hd : d ∈ s
h : b * c = d * d
⊢ a * b * (a * c) = (fun x x_1 => x * x_1) a d * (fun x x_1 => x * x_1) a d
Theorem: bernstein_nonneg
File: Mathlib/Analysis/SpecialFunctions/Bernstein.lean

tactic: simp only [bernstein_apply]
state_before: n ν : ℕ
x : ↑I
⊢ 0 ≤ ↑(bernstein n ν) x

tactic: have h₁ : (0:ℝ) ≤ x := by unit_interval
state_before: n ν : ℕ
x : ↑I
⊢ 0 ≤ ↑(Nat.choose n ν) * ↑x ^ ν * (1 - ↑x) ^ (n - ν)

tactic: have h₂ : (0:ℝ) ≤ 1 - x := by unit_interval
state_before: n ν : ℕ
x : ↑I
h₁ : 0 ≤ ↑x
⊢ 0 ≤ ↑(Nat.choose n ν) * ↑x ^ ν * (1 - ↑x) ^ (n - ν)

tactic: positivity
state_before: n ν : ℕ
x : ↑I
h₁ : 0 ≤ ↑x
h₂ : 0 ≤ 1 - ↑x
⊢ 0 ≤ ↑(Nat.choose n ν) * ↑x ^ ν * (1 - ↑x) ^ (n - ν)

tactic: unit_interval
state_before: n ν : ℕ
x : ↑I
⊢ 0 ≤ ↑x

tactic: unit_interval
state_before: n ν : ℕ
x : ↑I
h₁ : 0 ≤ ↑x
⊢ 0 ≤ 1 - ↑x
Theorem: AddCommGroup.nat_cast_modEq_nat_cast
File: Mathlib/Algebra/ModEq.lean

tactic: simp_rw [← Int.coe_nat_modEq_iff, ← modEq_iff_int_modEq, ← @int_cast_modEq_int_cast α,
  Int.cast_ofNat]
state_before: α : Type u_1
inst✝¹ : AddCommGroupWithOne α
inst✝ : CharZero α
a b n : ℕ
⊢ ↑a ≡ ↑b [PMOD ↑n] ↔ a ≡ b [MOD n]
Theorem: CategoryTheory.Limits.cospanExt_app_left
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: dsimp [cospanExt]
state_before: C : Type u
inst✝¹ : Category C
D : Type u₂
inst✝ : Category D
X Y Z X' Y' Z' : C
iX : X ≅ X'
iY : Y ≅ Y'
iZ : Z ≅ Z'
f : X ⟶ Z
g : Y ⟶ Z
f' : X' ⟶ Z'
g' : Y' ⟶ Z'
wf : iX.hom ≫ f' = f ≫ iZ.hom
wg : iY.hom ≫ g' = g ≫ iZ.hom
⊢ (cospanExt iX iY iZ wf wg).app WalkingCospan.left = iX
Theorem: sInf_image2_eq_sInf_sInf
File: Mathlib/Order/GaloisConnection.lean

tactic: simp_rw [sInf_image2, ← (h₂ _).u_sInf, ← (h₁ _).u_sInf]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
κ : ι → Sort ?u.28827
a a₁ a₂ : α
b b₁ b₂ : β
inst✝² : CompleteLattice α
inst✝¹ : CompleteLattice β
inst✝ : CompleteLattice γ
f : α → β → γ
s : Set α
t : Set β
l u : α → β → γ
l₁ u₁ : β → γ → α
l₂ u₂ : α → γ → β
h₁ : ∀ (b : β), GaloisConnection (l₁ b) (swap u b)
h₂ : ∀ (a : α), GaloisConnection (l₂ a) (u a)
⊢ sInf (image2 u s t) = u (sInf s) (sInf t)
Theorem: CategoryTheory.isSeparating_unop_iff
File: Mathlib/CategoryTheory/Generator.lean

tactic: rw [← isCoseparating_op_iff, Set.unop_op]
state_before: C : Type u₁
inst✝¹ : Category C
D : Type u₂
inst✝ : Category D
𝒢 : Set Cᵒᵖ
⊢ IsSeparating (Set.unop 𝒢) ↔ IsCoseparating 𝒢
Theorem: Orientation.abs_volumeForm_apply_of_orthonormal
File: Mathlib/Analysis/InnerProductSpace/Orientation.lean

tactic: simpa [o.volumeForm_robust' v v] using congr_arg abs v.toBasis.det_self
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
n : ℕ
_i : Fact (finrank ℝ E = n)
o : Orientation ℝ E (Fin n)
v : OrthonormalBasis (Fin n) ℝ E
⊢ abs (↑(volumeForm o) ↑v) = 1
Theorem: Set.Finite.einfsep
File: Mathlib/Topology/MetricSpace/Infsep.lean

tactic: refine' eq_of_forall_le_iff fun _ => _
state_before: α : Type u_1
β : Type ?u.33000
inst✝ : EDist α
x y : α
s t : Set α
hs : Set.Finite s
⊢ Set.einfsep s = Finset.inf (Finite.toFinset (_ : Set.Finite (offDiag s))) (uncurry edist)

tactic: simp_rw [le_einfsep_iff, imp_forall_iff, Finset.le_inf_iff, Finite.mem_toFinset, mem_offDiag,
  Prod.forall, uncurry_apply_pair, and_imp]
state_before: α : Type u_1
β : Type ?u.33000
inst✝ : EDist α
x y : α
s t : Set α
hs : Set.Finite s
x✝ : ℝ≥0∞
⊢ x✝ ≤ Set.einfsep s ↔ x✝ ≤ Finset.inf (Finite.toFinset (_ : Set.Finite (offDiag s))) (uncurry edist)
Theorem: Filter.HasBasis.map
File: Mathlib/Order/Filter/Bases.lean

tactic: simp only [mem_map, image_subset_iff, hl.mem_iff, preimage]
state_before: α : Type u_1
β : Type u_3
γ : Type ?u.65267
ι : Sort u_2
ι' : Sort ?u.65273
l l' : Filter α
p : ι → Prop
s : ι → Set α
t✝ : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
f : α → β
hl : HasBasis l p s
t : Set β
⊢ t ∈ Filter.map f l ↔ ∃ i, p i ∧ f '' s i ⊆ t
Theorem: CategoryTheory.Limits.IsLimit.lift_comp_conePointUniqueUpToIso_hom
File: Mathlib/CategoryTheory/Limits/IsLimit.lean

tactic: simp
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
r s t : Cone F
P : IsLimit s
Q : IsLimit t
⊢ ∀ (j : J), (lift P r ≫ (conePointUniqueUpToIso P Q).hom) ≫ t.π.app j = r.π.app j
Theorem: Real.ediam_Icc
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: rcases le_or_lt a b with (h | h)
state_before: α : Type ?u.556633
β : Type ?u.556636
γ : Type ?u.556639
inst✝ : PseudoEMetricSpace α
a b : ℝ
⊢ EMetric.diam (Icc a b) = ENNReal.ofReal (b - a)

tactic: rw [Real.ediam_eq (bounded_Icc _ _), csSup_Icc h, csInf_Icc h]
state_before: case inl
α : Type ?u.556633
β : Type ?u.556636
γ : Type ?u.556639
inst✝ : PseudoEMetricSpace α
a b : ℝ
h : a ≤ b
⊢ EMetric.diam (Icc a b) = ENNReal.ofReal (b - a)

tactic: simp [h, h.le]
state_before: case inr
α : Type ?u.556633
β : Type ?u.556636
γ : Type ?u.556639
inst✝ : PseudoEMetricSpace α
a b : ℝ
h : b < a
⊢ EMetric.diam (Icc a b) = ENNReal.ofReal (b - a)
Theorem: Nat.Partrec'.bind
File: Mathlib/Computability/Halting.lean

tactic: refine' Fin.cases _ (fun i => _) i <;> simp [*]
state_before: n : ℕ
f : Vector ℕ n →. ℕ
g : Vector ℕ (n + 1) →. ℕ
hf : Partrec' f
hg : Partrec' g
i : Fin (n + 1)
⊢ Partrec' ((fun i => Fin.cases f (fun i v => ↑(some (Vector.get v i))) i) i)

tactic: exact prim (Nat.Primrec'.get _)
state_before: case refine'_2
n : ℕ
f : Vector ℕ n →. ℕ
g : Vector ℕ (n + 1) →. ℕ
hf : Partrec' f
hg : Partrec' g
i✝ : Fin (n + 1)
i : Fin n
⊢ Partrec' fun v => Part.some (Vector.get v i)

tactic: simp [mOfFn, Part.bind_assoc, pure]
state_before: n : ℕ
f : Vector ℕ n →. ℕ
g : Vector ℕ (n + 1) →. ℕ
hf : Partrec' f
hg : Partrec' g
v : Vector ℕ n
⊢ (mOfFn fun i => Fin.cases f (fun i v => ↑(some (Vector.get v i))) i v) >>= g = Part.bind (f v) fun a => g (a ::ᵥ v)
Theorem: IsROrC.norm_sq_re_add_conj
File: Mathlib/Data/IsROrC/Basic.lean

tactic: rw [add_conj, ← ofReal_ofNat, ← ofReal_mul, norm_ofReal, sq_abs, ofReal_re]
state_before: K : Type u_1
E : Type ?u.7033014
inst✝ : IsROrC K
x : K
⊢ ‖x + ↑(starRingEnd K) x‖ ^ 2 = ↑re (x + ↑(starRingEnd K) x) ^ 2
Theorem: memℓp_infty_iff
File: Mathlib/Analysis/NormedSpace/lpSpace.lean

tactic: dsimp [Memℓp]
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
f : (i : α) → E i
⊢ Memℓp f ⊤ ↔ BddAbove (Set.range fun i => ‖f i‖)

tactic: rw [if_neg ENNReal.top_ne_zero, if_pos rfl]
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
f : (i : α) → E i
⊢ (if ⊤ = 0 then Set.Finite {i | ¬f i = 0}
    else if ⊤ = ⊤ then BddAbove (Set.range fun i => ‖f i‖) else Summable fun i => ‖f i‖ ^ 0) ↔
    BddAbove (Set.range fun i => ‖f i‖)
Theorem: affineSpan_induction'
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: refine' Exists.elim _ fun (hx : x ∈ affineSpan k s) (hc : p x hx) => hc
state_before: k : Type u_2
V : Type u_3
P : Type u_1
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type ?u.343274
s : Set P
p : (x : P) → x ∈ affineSpan k s → Prop
Hs : ∀ (y : P) (hys : y ∈ s), p y (_ : y ∈ ↑(affineSpan k s))
Hc :
  ∀ (c : k) (u : P) (hu : u ∈ affineSpan k s) (v : P) (hv : v ∈ affineSpan k s) (w : P) (hw : w ∈ affineSpan k s),
    p u hu → p v hv → p w hw → p (c • (u -ᵥ v) +ᵥ w) (_ : c • (u -ᵥ v) +ᵥ w ∈ (affineSpan k s).carrier)
x : P
h : x ∈ affineSpan k s
⊢ p x h

tactic: refine' @affineSpan_induction k V P _ _ _ _ _ _ (fun y => ∃ z, p y z) h _ _
state_before: k : Type u_2
V : Type u_3
P : Type u_1
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type ?u.343274
s : Set P
p : (x : P) → x ∈ affineSpan k s → Prop
Hs : ∀ (y : P) (hys : y ∈ s), p y (_ : y ∈ ↑(affineSpan k s))
Hc :
  ∀ (c : k) (u : P) (hu : u ∈ affineSpan k s) (v : P) (hv : v ∈ affineSpan k s) (w : P) (hw : w ∈ affineSpan k s),
    p u hu → p v hv → p w hw → p (c • (u -ᵥ v) +ᵥ w) (_ : c • (u -ᵥ v) +ᵥ w ∈ (affineSpan k s).carrier)
x : P
h : x ∈ affineSpan k s
⊢ ∃ x_1, p x x_1

tactic: exact fun y hy => ⟨subset_affineSpan _ _ hy, Hs y hy⟩
state_before: case refine'_1
k : Type u_2
V : Type u_3
P : Type u_1
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type ?u.343274
s : Set P
p : (x : P) → x ∈ affineSpan k s → Prop
Hs : ∀ (y : P) (hys : y ∈ s), p y (_ : y ∈ ↑(affineSpan k s))
Hc :
  ∀ (c : k) (u : P) (hu : u ∈ affineSpan k s) (v : P) (hv : v ∈ affineSpan k s) (w : P) (hw : w ∈ affineSpan k s),
    p u hu → p v hv → p w hw → p (c • (u -ᵥ v) +ᵥ w) (_ : c • (u -ᵥ v) +ᵥ w ∈ (affineSpan k s).carrier)
x : P
h : x ∈ affineSpan k s
⊢ ∀ (x : P), x ∈ s → (fun y => ∃ z, p y z) x

tactic: exact fun c u v w hu hv hw =>
  Exists.elim hu fun hu' hu =>
    Exists.elim hv fun hv' hv =>
      Exists.elim hw fun hw' hw =>
        ⟨AffineSubspace.smul_vsub_vadd_mem _ _ hu' hv' hw', Hc _ _ _ _ _ _ _ hu hv hw⟩
state_before: case refine'_2
k : Type u_2
V : Type u_3
P : Type u_1
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type ?u.343274
s : Set P
p : (x : P) → x ∈ affineSpan k s → Prop
Hs : ∀ (y : P) (hys : y ∈ s), p y (_ : y ∈ ↑(affineSpan k s))
Hc :
  ∀ (c : k) (u : P) (hu : u ∈ affineSpan k s) (v : P) (hv : v ∈ affineSpan k s) (w : P) (hw : w ∈ affineSpan k s),
    p u hu → p v hv → p w hw → p (c • (u -ᵥ v) +ᵥ w) (_ : c • (u -ᵥ v) +ᵥ w ∈ (affineSpan k s).carrier)
x : P
h : x ∈ affineSpan k s
⊢ ∀ (c : k) (u v w : P),
    (fun y => ∃ z, p y z) u →
      (fun y => ∃ z, p y z) v → (fun y => ∃ z, p y z) w → (fun y => ∃ z, p y z) (c • (u -ᵥ v) +ᵥ w)
Theorem: Nat.periodic_gcd
File: Mathlib/Data/Nat/Periodic.lean

tactic: simp only [forall_const, gcd_add_self_right, eq_self_iff_true, Periodic]
state_before: a : ℕ
⊢ Periodic (gcd a) a
Theorem: cauchy_map_iff
File: Mathlib/Topology/UniformSpace/Cauchy.lean

tactic: rw [Cauchy, map_neBot_iff, prod_map_map_eq, Tendsto]
state_before: α : Type u
β : Type v
inst✝ : UniformSpace α
l : Filter β
f : β → α
⊢ Cauchy (map f l) ↔ NeBot l ∧ Tendsto (fun p => (f p.fst, f p.snd)) (l ×ˢ l) (𝓤 α)
Theorem: Submodule.sub_mem_orthogonal_of_inner_right
File: Mathlib/Analysis/InnerProductSpace/Orthogonal.lean

tactic: intro u hu
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.34324
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : { x // x ∈ K }), inner (↑v) x = inner (↑v) y
⊢ x - y ∈ Kᗮ

tactic: rw [inner_sub_right, sub_eq_zero]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.34324
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : { x // x ∈ K }), inner (↑v) x = inner (↑v) y
u : E
hu : u ∈ K
⊢ inner u (x - y) = 0

tactic: exact h ⟨u, hu⟩
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.34324
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : { x // x ∈ K }), inner (↑v) x = inner (↑v) y
u : E
hu : u ∈ K
⊢ inner u x = inner u y
Theorem: Balanced.interior
File: Mathlib/Analysis/LocallyConvex/Basic.lean

tactic: rw [← union_eq_self_of_subset_left (singleton_subset_iff.2 h)]
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.185016
E : Type u_2
ι : Sort ?u.185022
κ : ι → Sort ?u.185027
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedRing 𝕝
inst✝⁶ : NormedSpace 𝕜 𝕝
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SMulWithZero 𝕝 E
inst✝² : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a b : 𝕜
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul 𝕜 E
hA : Balanced 𝕜 A
h : 0 ∈ _root_.interior A
⊢ Balanced 𝕜 (_root_.interior A)

tactic: exact balanced_zero_union_interior hA
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.185016
E : Type u_2
ι : Sort ?u.185022
κ : ι → Sort ?u.185027
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedRing 𝕝
inst✝⁶ : NormedSpace 𝕜 𝕝
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SMulWithZero 𝕝 E
inst✝² : IsScalarTower 𝕜 𝕝 E
s t u v A B : Set E
x : E
a b : 𝕜
inst✝¹ : TopologicalSpace E
inst✝ : ContinuousSMul 𝕜 E
hA : Balanced 𝕜 A
h : 0 ∈ _root_.interior A
⊢ Balanced 𝕜 ({0} ∪ _root_.interior A)
Theorem: Set.iUnion_Ioo_right
File: Mathlib/Data/Set/Intervals/Disjoint.lean

tactic: simp only [← Ioi_inter_Iio, ← inter_iUnion, iUnion_Iio, inter_univ]
state_before: ι : Sort u
α : Type v
β : Type w
inst✝¹ : Preorder α
a✝ b c : α
inst✝ : NoMaxOrder α
a : α
⊢ (⋃ (b : α), Ioo a b) = Ioi a
Theorem: MeasureTheory.set_lintegral_one
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [set_lintegral_const, one_mul]
state_before: α : Type u_1
β : Type ?u.75773
γ : Type ?u.75776
δ : Type ?u.75779
m : MeasurableSpace α
μ ν : Measure α
s : Set α
⊢ (∫⁻ (x : α) in s, 1 ∂μ) = ↑↑μ s
Theorem: Nat.ArithmeticFunction.sum_moebius_mul_log_eq
File: Mathlib/NumberTheory/VonMangoldt.lean

tactic: simp only [← log_mul_moebius_eq_vonMangoldt, mul_comm log, mul_apply, log_apply, intCoe_apply, ←
  Finset.sum_neg_distrib, neg_mul_eq_mul_neg]
state_before: n : ℕ
⊢ ∑ d in divisors n, ↑(↑μ d) * ↑log d = -↑Λ n

tactic: rw [sum_divisorsAntidiagonal fun i j => (μ i : ℝ) * -Real.log j]
state_before: n : ℕ
⊢ ∑ x in divisors n, ↑(↑μ x) * Real.log ↑x = ∑ x in divisorsAntidiagonal n, ↑(↑μ x.fst) * -Real.log ↑x.snd

tactic: have : (∑ i : ℕ in n.divisors, (μ i : ℝ) * -Real.log (n / i : ℕ)) =
    ∑ i : ℕ in n.divisors, ((μ i : ℝ) * Real.log i - μ i * Real.log n) := by
  apply sum_congr rfl
  simp only [and_imp, Int.cast_eq_zero, mul_eq_mul_left_iff, Ne.def, neg_inj, mem_divisors]
  intro m mn hn
  have : (m : ℝ) ≠ 0 := by
    rw [cast_ne_zero]
    rintro rfl
    exact hn (by simpa using mn)
  rw [Nat.cast_div mn this, Real.log_div (cast_ne_zero.2 hn) this, neg_sub, mul_sub]
state_before: n : ℕ
⊢ ∑ x in divisors n, ↑(↑μ x) * Real.log ↑x = ∑ i in divisors n, ↑(↑μ i) * -Real.log ↑(n / i)

tactic: rw [this, sum_sub_distrib, ← sum_mul, ← Int.cast_sum, ← coe_mul_zeta_apply, eq_comm, sub_eq_self,
  moebius_mul_coe_zeta]
state_before: n : ℕ
this :
  ∑ i in divisors n, ↑(↑μ i) * -Real.log ↑(n / i) = ∑ i in divisors n, (↑(↑μ i) * Real.log ↑i - ↑(↑μ i) * Real.log ↑n)
⊢ ∑ x in divisors n, ↑(↑μ x) * Real.log ↑x = ∑ i in divisors n, ↑(↑μ i) * -Real.log ↑(n / i)

tactic: rcases eq_or_ne n 1 with (hn | hn) <;> simp [hn]
state_before: n : ℕ
this :
  ∑ i in divisors n, ↑(↑μ i) * -Real.log ↑(n / i) = ∑ i in divisors n, (↑(↑μ i) * Real.log ↑i - ↑(↑μ i) * Real.log ↑n)
⊢ ↑(↑1 n) * Real.log ↑n = 0

tactic: apply sum_congr rfl
state_before: n : ℕ
⊢ ∑ i in divisors n, ↑(↑μ i) * -Real.log ↑(n / i) = ∑ i in divisors n, (↑(↑μ i) * Real.log ↑i - ↑(↑μ i) * Real.log ↑n)

tactic: simp only [and_imp, Int.cast_eq_zero, mul_eq_mul_left_iff, Ne.def, neg_inj, mem_divisors]
state_before: n : ℕ
⊢ ∀ (x : ℕ), x ∈ divisors n → ↑(↑μ x) * -Real.log ↑(n / x) = ↑(↑μ x) * Real.log ↑x - ↑(↑μ x) * Real.log ↑n

tactic: intro m mn hn
state_before: n : ℕ
⊢ ∀ (x : ℕ), x ∣ n → ¬n = 0 → ↑(↑μ x) * -Real.log ↑(n / x) = ↑(↑μ x) * Real.log ↑x - ↑(↑μ x) * Real.log ↑n

tactic: have : (m : ℝ) ≠ 0 := by
  rw [cast_ne_zero]
  rintro rfl
  exact hn (by simpa using mn)
state_before: n m : ℕ
mn : m ∣ n
hn : ¬n = 0
⊢ ↑(↑μ m) * -Real.log ↑(n / m) = ↑(↑μ m) * Real.log ↑m - ↑(↑μ m) * Real.log ↑n

tactic: rw [Nat.cast_div mn this, Real.log_div (cast_ne_zero.2 hn) this, neg_sub, mul_sub]
state_before: n m : ℕ
mn : m ∣ n
hn : ¬n = 0
this : ↑m ≠ 0
⊢ ↑(↑μ m) * -Real.log ↑(n / m) = ↑(↑μ m) * Real.log ↑m - ↑(↑μ m) * Real.log ↑n

tactic: rw [cast_ne_zero]
state_before: n m : ℕ
mn : m ∣ n
hn : ¬n = 0
⊢ ↑m ≠ 0

tactic: rintro rfl
state_before: n m : ℕ
mn : m ∣ n
hn : ¬n = 0
⊢ m ≠ 0

tactic: exact hn (by simpa using mn)
state_before: n : ℕ
hn : ¬n = 0
mn : 0 ∣ n
⊢ False

tactic: simpa using mn
state_before: n : ℕ
hn : ¬n = 0
mn : 0 ∣ n
⊢ n = 0
Theorem: dist_inv_inv₀
File: Mathlib/Analysis/Normed/Field/Basic.lean

tactic: rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
  mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
state_before: α : Type u_1
β : Type ?u.269625
γ : Type ?u.269628
ι : Type ?u.269631
inst✝ : NormedDivisionRing α
z w : α
hz : z ≠ 0
hw : w ≠ 0
⊢ dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖)
Theorem: round_sub_nat
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [sub_eq_add_neg, ← Int.cast_ofNat]
state_before: F : Type ?u.257064
α : Type u_1
β : Type ?u.257070
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
x : α
y : ℕ
⊢ round (x - ↑y) = round x - ↑y

tactic: norm_cast
state_before: F : Type ?u.257064
α : Type u_1
β : Type ?u.257070
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
x : α
y : ℕ
⊢ round (x + -↑↑y) = round x - ↑y

tactic: rw [round_add_int, sub_eq_add_neg]
state_before: F : Type ?u.257064
α : Type u_1
β : Type ?u.257070
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
x : α
y : ℕ
⊢ round (x + ↑(-↑y)) = round x - ↑y
Theorem: Multiset.noncommFold_cons
File: Mathlib/Data/Finset/NoncommProd.lean

tactic: induction s using Quotient.inductionOn
state_before: F : Type ?u.4278
ι : Type ?u.4281
α : Type u_1
β : Type ?u.4287
γ : Type ?u.4290
f : α → β → β
op : α → α → α
assoc : IsAssociative α op
s : Multiset α
a : α
h : Set.Pairwise {x | x ∈ a ::ₘ s} fun x y => op x y = op y x
h' : Set.Pairwise {x | x ∈ s} fun x y => op x y = op y x
x : α
⊢ noncommFold op (a ::ₘ s) h x = op a (noncommFold op s h' x)

tactic: simp
state_before: case h
F : Type ?u.4278
ι : Type ?u.4281
α : Type u_1
β : Type ?u.4287
γ : Type ?u.4290
f : α → β → β
op : α → α → α
assoc : IsAssociative α op
a x : α
a✝ : List α
h : Set.Pairwise {x | x ∈ a ::ₘ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
h' : Set.Pairwise {x | x ∈ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
⊢ noncommFold op (a ::ₘ Quotient.mk (List.isSetoid α) a✝) h x =
    op a (noncommFold op (Quotient.mk (List.isSetoid α) a✝) h' x)
Theorem: WellFounded.monotone_chain_condition
File: Mathlib/Order/OrderIsoNat.lean

tactic: congr! 4
state_before: α : Type u_1
inst✝ : PartialOrder α
⊢ (∀ (a : ℕ →o α), ∃ n, ∀ (m : ℕ), n ≤ m → ¬↑a n < ↑a m) ↔ ∀ (a : ℕ →o α), ∃ n, ∀ (m : ℕ), n ≤ m → ↑a n = ↑a m

tactic: rename_i a n m
state_before: case a.h.h.e'_2.h.h.a
α : Type u_1
inst✝ : PartialOrder α
a✝¹ : ℕ →o α
x✝ a✝ : ℕ
⊢ x✝ ≤ a✝ → ¬↑a✝¹ x✝ < ↑a✝¹ a✝ ↔ x✝ ≤ a✝ → ↑a✝¹ x✝ = ↑a✝¹ a✝

tactic: simp (config := {contextual := true}) [lt_iff_le_and_ne, fun h => a.mono h]
state_before: case a.h.h.e'_2.h.h.a
α : Type u_1
inst✝ : PartialOrder α
a : ℕ →o α
n m : ℕ
⊢ n ≤ m → ¬↑a n < ↑a m ↔ n ≤ m → ↑a n = ↑a m
Theorem: Filter.IsBoundedUnder.mono_le
File: Mathlib/Order/LiminfLimsup.lean

tactic: apply hu.imp
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.9288
ι : Type ?u.9291
r : α → α → Prop
f g : Filter α
inst✝ : Preorder β
l : Filter α
u v : α → β
hu : IsBoundedUnder (fun x x_1 => x ≤ x_1) l u
hv : v ≤ᶠ[l] u
⊢ IsBoundedUnder (fun x x_1 => x ≤ x_1) l v

tactic: exact fun b hb => (eventually_map.1 hb).mp <| hv.mono fun x => le_trans
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.9288
ι : Type ?u.9291
r : α → α → Prop
f g : Filter α
inst✝ : Preorder β
l : Filter α
u v : α → β
hu : IsBoundedUnder (fun x x_1 => x ≤ x_1) l u
hv : v ≤ᶠ[l] u
⊢ ∀ (a : β), (∀ᶠ (x : β) in map u l, (fun x x_1 => x ≤ x_1) x a) → ∀ᶠ (x : β) in map v l, (fun x x_1 => x ≤ x_1) x a
Theorem: MeasureTheory.tendsto_integral_of_L1
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_3
E : Type u_2
F✝ : Type ?u.983342
𝕜 : Type ?u.983345
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : CompleteSpace E
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : SMulCommClass ℝ 𝕜 E
inst✝² : NormedAddCommGroup F✝
inst✝¹ : NormedSpace ℝ F✝
inst✝ : CompleteSpace F✝
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
ι : Type u_1
f : α → E
hfi : Integrable f
F : ι → α → E
l : Filter ι
hFi : ∀ᶠ (i : ι) in l, Integrable (F i)
hF : Tendsto (fun i => ∫⁻ (x : α), ↑‖F i x - f x‖₊ ∂μ) l (𝓝 0)
⊢ Tendsto (fun i => ∫ (x : α), F i x ∂μ) l (𝓝 (∫ (x : α), f x ∂μ))

tactic: exact tendsto_setToFun_of_L1 (dominatedFinMeasAdditive_weightedSMul μ) f hfi hFi hF
state_before: α : Type u_3
E : Type u_2
F✝ : Type ?u.983342
𝕜 : Type ?u.983345
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : CompleteSpace E
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : SMulCommClass ℝ 𝕜 E
inst✝² : NormedAddCommGroup F✝
inst✝¹ : NormedSpace ℝ F✝
inst✝ : CompleteSpace F✝
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
ι : Type u_1
f : α → E
hfi : Integrable f
F : ι → α → E
l : Filter ι
hFi : ∀ᶠ (i : ι) in l, Integrable (F i)
hF : Tendsto (fun i => ∫⁻ (x : α), ↑‖F i x - f x‖₊ ∂μ) l (𝓝 0)
⊢ Tendsto (fun i => if hf : Integrable fun x => F i x then ↑L1.integralCLM (Integrable.toL1 (fun x => F i x) hf) else 0)
    l (𝓝 (if hf : Integrable fun x => f x then ↑L1.integralCLM (Integrable.toL1 (fun x => f x) hf) else 0))