1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: isPiSystem_iUnion_of_directed_le
File: Mathlib/MeasureTheory/PiSystem.lean

tactic: intro t1 ht1 t2 ht2 h
state_before: α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
⊢ IsPiSystem (⋃ n, p n)
state_after: α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 : Set α
ht1 : t1 ∈ ⋃ n, p n
t2 : Set α
ht2 : t2 ∈ ⋃ n, p n
h : (t1 ∩ t2).Nonempty
⊢ t1 ∩ t2 ∈ ⋃ n, p n

tactic: rw [Set.mem_iUnion] at ht1 ht2 ⊢
state_before: α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 : Set α
ht1 : t1 ∈ ⋃ n, p n
t2 : Set α
ht2 : t2 ∈ ⋃ n, p n
h : (t1 ∩ t2).Nonempty
⊢ t1 ∩ t2 ∈ ⋃ n, p n
state_after: α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 : Set α
ht1 : ∃ i, t1 ∈ p i
t2 : Set α
ht2 : ∃ i, t2 ∈ p i
h : (t1 ∩ t2).Nonempty
⊢ ∃ i, t1 ∩ t2 ∈ p i

tactic: cases' ht1 with n ht1
state_before: α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 : Set α
ht1 : ∃ i, t1 ∈ p i
t2 : Set α
ht2 : ∃ i, t2 ∈ p i
h : (t1 ∩ t2).Nonempty
⊢ ∃ i, t1 ∩ t2 ∈ p i
state_after: case intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
ht2 : ∃ i, t2 ∈ p i
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
⊢ ∃ i, t1 ∩ t2 ∈ p i

tactic: cases' ht2 with m ht2
state_before: case intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
ht2 : ∃ i, t2 ∈ p i
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
⊢ ∃ i, t1 ∩ t2 ∈ p i
state_after: case intro.intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
m : ι
ht2 : t2 ∈ p m
⊢ ∃ i, t1 ∩ t2 ∈ p i

tactic: obtain ⟨k, hpnk, hpmk⟩ : ∃ k, p n ≤ p k ∧ p m ≤ p k := hp_directed n m
state_before: case intro.intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
m : ι
ht2 : t2 ∈ p m
⊢ ∃ i, t1 ∩ t2 ∈ p i
state_after: case intro.intro.intro.intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
m : ι
ht2 : t2 ∈ p m
k : ι
hpnk : p n ≤ p k
hpmk : p m ≤ p k
⊢ ∃ i, t1 ∩ t2 ∈ p i

tactic: exact ⟨k, hp_pi k t1 (hpnk ht1) t2 (hpmk ht2) h⟩
state_before: case intro.intro.intro.intro
α : Type u_1
ι : Sort u_2
p : ι → Set (Set α)
hp_pi : ∀ (n : ι), IsPiSystem (p n)
hp_directed : Directed (fun x x_1 => x ≤ x_1) p
t1 t2 : Set α
h : (t1 ∩ t2).Nonempty
n : ι
ht1 : t1 ∈ p n
m : ι
ht2 : t2 ∈ p m
k : ι
hpnk : p n ≤ p k
hpmk : p m ≤ p k
⊢ ∃ i, t1 ∩ t2 ∈ p i
state_after: no goals
Theorem: Int.uniformEmbedding_coe_rat
File: Mathlib/Topology/Instances/Rat.lean

tactic: simpa using Int.pairwise_one_le_dist
state_before: ⊢ Pairwise fun x y => 1 ≤ dist ↑x ↑y
state_after: no goals
Theorem: Function.Injective.image_injective
File: Mathlib/Data/Set/Image.lean

tactic: intro s t h
state_before: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Injective f
⊢ Injective (image f)
state_after: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Injective f
s t : Set α
h : f '' s = f '' t
⊢ s = t

tactic: rw [← preimage_image_eq s hf, ← preimage_image_eq t hf, h]
state_before: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Injective f
s t : Set α
h : f '' s = f '' t
⊢ s = t
state_after: no goals
Theorem: Sum.elim_eq_iff
File: .lake/packages/batteries/Batteries/Data/Sum/Lemmas.lean

tactic: simp [funext_iff]
state_before: α : Type u_1
γ : Sort u_2
β : Type u_3
u u' : α → γ
v v' : β → γ
⊢ Sum.elim u v = Sum.elim u' v' ↔ u = u' ∧ v = v'
state_after: no goals
Theorem: lp.norm_le_of_forall_le'
File: Mathlib/Analysis/NormedSpace/lpSpace.lean

tactic: refine (isLUB_norm f).2 ?_
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
inst✝ : Nonempty α
f : ↥(lp E ⊤)
C : ℝ
hCf : ∀ (i : α), ‖↑f i‖ ≤ C
⊢ ‖f‖ ≤ C
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
inst✝ : Nonempty α
f : ↥(lp E ⊤)
C : ℝ
hCf : ∀ (i : α), ‖↑f i‖ ≤ C
⊢ C ∈ upperBounds (Set.range fun i => ‖↑f i‖)

tactic: rintro - ⟨i, rfl⟩
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
inst✝ : Nonempty α
f : ↥(lp E ⊤)
C : ℝ
hCf : ∀ (i : α), ‖↑f i‖ ≤ C
⊢ C ∈ upperBounds (Set.range fun i => ‖↑f i‖)
state_after: case intro
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
inst✝ : Nonempty α
f : ↥(lp E ⊤)
C : ℝ
hCf : ∀ (i : α), ‖↑f i‖ ≤ C
i : α
⊢ (fun i => ‖↑f i‖) i ≤ C

tactic: exact hCf i
state_before: case intro
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
inst✝ : Nonempty α
f : ↥(lp E ⊤)
C : ℝ
hCf : ∀ (i : α), ‖↑f i‖ ≤ C
i : α
⊢ (fun i => ‖↑f i‖) i ≤ C
state_after: no goals
Theorem: Subgroup.conj_smul_le_of_le
File: Mathlib/Algebra/Group/Subgroup/Pointwise.lean

tactic: rintro - ⟨g, hg, rfl⟩
state_before: α : Type u_1
G : Type u_2
A : Type u_3
S : Type u_4
inst✝³ : Group G
inst✝² : AddGroup A
s : Set G
inst✝¹ : Monoid α
inst✝ : MulDistribMulAction α G
P H : Subgroup G
hP : P ≤ H
h : ↥H
⊢ MulAut.conj ↑h • P ≤ H
state_after: case intro.intro
α : Type u_1
G : Type u_2
A : Type u_3
S : Type u_4
inst✝³ : Group G
inst✝² : AddGroup A
s : Set G
inst✝¹ : Monoid α
inst✝ : MulDistribMulAction α G
P H : Subgroup G
hP : P ≤ H
h : ↥H
g : G
hg : g ∈ ↑P
⊢ ((MulDistribMulAction.toMonoidEnd (MulAut G) G) (MulAut.conj ↑h)) g ∈ H

tactic: exact H.mul_mem (H.mul_mem h.2 (hP hg)) (H.inv_mem h.2)
state_before: case intro.intro
α : Type u_1
G : Type u_2
A : Type u_3
S : Type u_4
inst✝³ : Group G
inst✝² : AddGroup A
s : Set G
inst✝¹ : Monoid α
inst✝ : MulDistribMulAction α G
P H : Subgroup G
hP : P ≤ H
h : ↥H
g : G
hg : g ∈ ↑P
⊢ ((MulDistribMulAction.toMonoidEnd (MulAut G) G) (MulAut.conj ↑h)) g ∈ H
state_after: no goals
Theorem: List.of_mem_dlookup
File: Mathlib/Data/List/Sigma.lean

tactic: by_cases h : a = a'
state_before: α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
H : b ∈ dlookup a (⟨a', b'⟩ :: l)
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l
state_after: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
H : b ∈ dlookup a (⟨a', b'⟩ :: l)
h : a = a'
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l

case neg
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
H : b ∈ dlookup a (⟨a', b'⟩ :: l)
h : ¬a = a'
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l

tactic: subst a'
state_before: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
H : b ∈ dlookup a (⟨a', b'⟩ :: l)
h : a = a'
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l
state_after: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b ∈ dlookup a (⟨a, b'⟩ :: l)
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l

tactic: simp? at H says simp only [dlookup_cons_eq, Option.mem_def, Option.some.injEq] at H
state_before: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b ∈ dlookup a (⟨a, b'⟩ :: l)
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l
state_after: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b' = b
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l

tactic: simp [H]
state_before: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b' = b
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l
state_after: no goals

tactic: simp only [dlookup_cons_eq, Option.mem_def, Option.some.injEq] at H
state_before: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b ∈ dlookup a (⟨a, b'⟩ :: l)
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l
state_after: case pos
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
l : List (Sigma β)
b' : β a
H : b' = b
⊢ ⟨a, b⟩ ∈ ⟨a, b'⟩ :: l

tactic: simp only [ne_eq, h, not_false_iff, dlookup_cons_ne] at H
state_before: case neg
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
H : b ∈ dlookup a (⟨a', b'⟩ :: l)
h : ¬a = a'
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l
state_after: case neg
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
h : ¬a = a'
H : b ∈ dlookup a l
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l

tactic: simp [of_mem_dlookup H]
state_before: case neg
α : Type u
β : α → Type v
l✝ l₁ l₂ : List (Sigma β)
inst✝ : DecidableEq α
a : α
b : β a
a' : α
b' : β a'
l : List (Sigma β)
h : ¬a = a'
H : b ∈ dlookup a l
⊢ ⟨a, b⟩ ∈ ⟨a', b'⟩ :: l
state_after: no goals
Theorem: ball_div
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp [div_eq_mul_inv]
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ ball x δ / s = x • thickening δ s⁻¹
state_after: no goals
Theorem: MeasureTheory.isProbabilityMeasure_tilted
File: Mathlib/MeasureTheory/Measure/Tilted.lean

tactic: constructor
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ IsProbabilityMeasure (μ.tilted f)
state_after: case measure_univ
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ (μ.tilted f) Set.univ = 1

tactic: simp_rw [tilted_apply' _ _ MeasurableSet.univ, setLIntegral_univ,
  ENNReal.ofReal_div_of_pos (integral_exp_pos hf), div_eq_mul_inv]
state_before: case measure_univ
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ (μ.tilted f) Set.univ = 1
state_after: case measure_univ
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ∫⁻ (a : α), ENNReal.ofReal (rexp (f a)) * (ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ))⁻¹ ∂μ = 1

tactic: rw [lintegral_mul_const'' _ hf.1.aemeasurable.ennreal_ofReal,
  ← ofReal_integral_eq_lintegral_ofReal hf (ae_of_all _ fun _ ↦ (exp_pos _).le),
  ENNReal.mul_inv_cancel]
state_before: case measure_univ
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ∫⁻ (a : α), ENNReal.ofReal (rexp (f a)) * (ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ))⁻¹ ∂μ = 1
state_after: case measure_univ.h0
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ) ≠ 0

case measure_univ.ht
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ) ≠ ⊤

tactic: simp only [ne_eq, ENNReal.ofReal_eq_zero, not_le]
state_before: case measure_univ.h0
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ) ≠ 0
state_after: case measure_univ.h0
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ 0 < ∫ (x : α), rexp (f x) ∂μ

tactic: exact integral_exp_pos hf
state_before: case measure_univ.h0
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ 0 < ∫ (x : α), rexp (f x) ∂μ
state_after: no goals

tactic: simp
state_before: case measure_univ.ht
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : NeZero μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ ENNReal.ofReal (∫ (x : α), rexp (f x) ∂μ) ≠ ⊤
state_after: no goals
Theorem: normEDS_two
File: Mathlib/NumberTheory/EllipticDivisibilitySequence.lean

tactic: erw [normEDS_ofNat, preNormEDS'_two, one_mul, if_pos even_two]
state_before: R : Type u
S : Type v
inst✝¹ : CommRing R
inst✝ : CommRing S
W : ℤ → R
f : R →+* S
b c d : R
⊢ normEDS b c d 2 = b
state_after: no goals
Theorem: Nat.factors_sublist_of_dvd
File: Mathlib/Data/Nat/Factors.lean

tactic: obtain ⟨a, rfl⟩ := h
state_before: n k : ℕ
h : n ∣ k
h' : k ≠ 0
⊢ n.factors <+ k.factors
state_after: case intro
n a : ℕ
h' : n * a ≠ 0
⊢ n.factors <+ (n * a).factors

tactic: exact factors_sublist_right (right_ne_zero_of_mul h')
state_before: case intro
n a : ℕ
h' : n * a ≠ 0
⊢ n.factors <+ (n * a).factors
state_after: no goals
Theorem: contMDiffAt_iff_contDiffAt
File: Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean

tactic: rw [← contMDiffWithinAt_univ, contMDiffWithinAt_iff_contDiffWithinAt, contDiffWithinAt_univ]
state_before: 𝕜 : Type u_1
inst✝³² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³¹ : NormedAddCommGroup E
inst✝³⁰ : NormedSpace 𝕜 E
H : Type u_3
inst✝²⁹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝²⁸ : TopologicalSpace M
inst✝²⁷ : ChartedSpace H M
inst✝²⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝²⁵ : NormedAddCommGroup E'
inst✝²⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝²³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝²² : TopologicalSpace M'
inst✝²¹ : ChartedSpace H' M'
inst✝²⁰ : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹⁹ : NormedAddCommGroup F
inst✝¹⁸ : NormedSpace 𝕜 F
G : Type u_9
inst✝¹⁷ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_10
inst✝¹⁶ : TopologicalSpace N
inst✝¹⁵ : ChartedSpace G N
inst✝¹⁴ : SmoothManifoldWithCorners J N
F' : Type u_11
inst✝¹³ : NormedAddCommGroup F'
inst✝¹² : NormedSpace 𝕜 F'
G' : Type u_12
inst✝¹¹ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_13
inst✝¹⁰ : TopologicalSpace N'
inst✝⁹ : ChartedSpace G' N'
inst✝⁸ : SmoothManifoldWithCorners J' N'
F₁ : Type u_14
inst✝⁷ : NormedAddCommGroup F₁
inst✝⁶ : NormedSpace 𝕜 F₁
F₂ : Type u_15
inst✝⁵ : NormedAddCommGroup F₂
inst✝⁴ : NormedSpace 𝕜 F₂
F₃ : Type u_16
inst✝³ : NormedAddCommGroup F₃
inst✝² : NormedSpace 𝕜 F₃
F₄ : Type u_17
inst✝¹ : NormedAddCommGroup F₄
inst✝ : NormedSpace 𝕜 F₄
f✝ f₁ : M → M'
s t : Set M
x✝ : M
m n : ℕ∞
f : E → E'
x : E
⊢ ContMDiffAt 𝓘(𝕜, E) 𝓘(𝕜, E') n f x ↔ ContDiffAt 𝕜 n f x
state_after: no goals
Theorem: Rat.den_div_eq_of_coprime
File: Mathlib/Data/Rat/Lemmas.lean

tactic: rw [← Int.natAbs_of_nonneg hb0.le, ← Rat.divInt_eq_div,
  ← mk_eq_divInt _ _ (Int.natAbs_ne_zero.mpr hb0.ne') h]
state_before: a b : ℤ
hb0 : 0 < b
h : a.natAbs.Coprime b.natAbs
⊢ ↑(↑a / ↑b).den = b
state_after: no goals
Theorem: Compactum.subset_cl
File: Mathlib/Topology/Category/Compactum.lean

tactic: simp
state_before: X : Compactum
A : Set X.A
a : X.A
ha : a ∈ A
⊢ X.str (X.incl a) = a
state_after: no goals
Theorem: Set.biUnion_finsetSigma_univ
File: Mathlib/Data/Fintype/Sigma.lean

tactic: aesop
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
κ : ι → Type u_5
inst✝ : (i : ι) → Fintype (κ i)
s : Finset ι
f : Sigma κ → Set α
⊢ ⋃ ij ∈ s.sigma fun x => Finset.univ, f ij = ⋃ i ∈ s, ⋃ j, f ⟨i, j⟩
state_after: no goals
Theorem: List.length_mem_cyclicPermutations
File: Mathlib/Data/List/Rotate.lean

tactic: obtain ⟨k, hk, rfl⟩ := get_of_mem h
state_before: α : Type u
l✝ l' l : List α
h : l' ∈ l.cyclicPermutations
⊢ l'.length = l.length
state_after: case intro.refl
α : Type u
l✝ l : List α
k : Fin l.cyclicPermutations.length
h : l.cyclicPermutations.get k ∈ l.cyclicPermutations
⊢ (l.cyclicPermutations.get k).length = l.length

tactic: simp
state_before: case intro.refl
α : Type u
l✝ l : List α
k : Fin l.cyclicPermutations.length
h : l.cyclicPermutations.get k ∈ l.cyclicPermutations
⊢ (l.cyclicPermutations.get k).length = l.length
state_after: no goals
Theorem: Finset.card_Iio_finset
File: Mathlib/Data/Finset/Interval.lean

tactic: rw [Iio_eq_ssubsets, ssubsets, card_erase_of_mem (mem_powerset_self _), card_powerset]
state_before: α : Type u_1
β : Type u_2
inst✝ : DecidableEq α
s t : Finset α
⊢ (Iio s).card = 2 ^ s.card - 1
state_after: no goals
Theorem: HomotopyCategory.Pretriangulated.rotate_distinguished_triangle
File: Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean

tactic: constructor
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
⊢ T ∈ distinguishedTriangles C ↔ T.rotate ∈ distinguishedTriangles C
state_after: case mp
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
⊢ T ∈ distinguishedTriangles C → T.rotate ∈ distinguishedTriangles C

case mpr
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
⊢ T.rotate ∈ distinguishedTriangles C → T ∈ distinguishedTriangles C

tactic: exact rotate_distinguished_triangle' T
state_before: case mp
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
⊢ T ∈ distinguishedTriangles C → T.rotate ∈ distinguishedTriangles C
state_after: no goals

tactic: intro hT
state_before: case mpr
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
⊢ T.rotate ∈ distinguishedTriangles C → T ∈ distinguishedTriangles C
state_after: case mpr
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
hT : T.rotate ∈ distinguishedTriangles C
⊢ T ∈ distinguishedTriangles C

tactic: exact isomorphic_distinguished _ (invRotate_distinguished_triangle' T.rotate hT) _
  ((triangleRotation _).unitIso.app T)
state_before: case mpr
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
K L : CochainComplex C ℤ
φ : K ⟶ L
T : Triangle (HomotopyCategory C (ComplexShape.up ℤ))
hT : T.rotate ∈ distinguishedTriangles C
⊢ T ∈ distinguishedTriangles C
state_after: no goals
Theorem: rpow_neg_one_add_norm_sq_le
File: Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean

tactic: rw [rpow_div_two_eq_sqrt, rpow_div_two_eq_sqrt, mul_rpow, mul_inv, rpow_neg,
  mul_inv_cancel_left₀] <;> positivity
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ (1 + ‖x‖ ^ 2) ^ (-r / 2) = 2 ^ (r / 2) * ((√2 * √(1 + ‖x‖ ^ 2)) ^ r)⁻¹
state_after: no goals

tactic: gcongr
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 2 ^ (r / 2) * ((√2 * √(1 + ‖x‖ ^ 2)) ^ r)⁻¹ ≤ 2 ^ (r / 2) * ((1 + ‖x‖) ^ r)⁻¹
state_after: case h.h.h₁
E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 1 + ‖x‖ ≤ √2 * √(1 + ‖x‖ ^ 2)

tactic: apply one_add_norm_le_sqrt_two_mul_sqrt
state_before: case h.h.h₁
E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 1 + ‖x‖ ≤ √2 * √(1 + ‖x‖ ^ 2)
state_after: no goals

tactic: rw [rpow_neg]
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 2 ^ (r / 2) * ((1 + ‖x‖) ^ r)⁻¹ = 2 ^ (r / 2) * (1 + ‖x‖) ^ (-r)
state_after: case hx
E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 0 ≤ 1 + ‖x‖

tactic: positivity
state_before: case hx
E : Type u_1
inst✝ : NormedAddCommGroup E
r : ℝ
x : E
hr : 0 < r
⊢ 0 ≤ 1 + ‖x‖
state_after: no goals
Theorem: ContinuousLinearMap.IsPositive.add
File: Mathlib/Analysis/InnerProductSpace/Positive.lean

tactic: refine ⟨hT.isSelfAdjoint.add hS.isSelfAdjoint, fun x => ?_⟩
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T S : E →L[𝕜] E
hT : T.IsPositive
hS : S.IsPositive
⊢ (T + S).IsPositive
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T S : E →L[𝕜] E
hT : T.IsPositive
hS : S.IsPositive
x : E
⊢ 0 ≤ (T + S).reApplyInnerSelf x

tactic: rw [reApplyInnerSelf, add_apply, inner_add_left, map_add]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T S : E →L[𝕜] E
hT : T.IsPositive
hS : S.IsPositive
x : E
⊢ 0 ≤ (T + S).reApplyInnerSelf x
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T S : E →L[𝕜] E
hT : T.IsPositive
hS : S.IsPositive
x : E
⊢ 0 ≤ re ⟪T x, x⟫_𝕜 + re ⟪S x, x⟫_𝕜

tactic: exact add_nonneg (hT.inner_nonneg_left x) (hS.inner_nonneg_left x)
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T S : E →L[𝕜] E
hT : T.IsPositive
hS : S.IsPositive
x : E
⊢ 0 ≤ re ⟪T x, x⟫_𝕜 + re ⟪S x, x⟫_𝕜
state_after: no goals
Theorem: MeasureTheory.SimpleFunc.lintegral_eq_lintegral
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [MeasureTheory.lintegral]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m✝ : MeasurableSpace α
μ✝ ν : Measure α
m : MeasurableSpace α
f : α →ₛ ℝ≥0∞
μ : Measure α
⊢ ∫⁻ (a : α), ↑f a ∂μ = f.lintegral μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m✝ : MeasurableSpace α
μ✝ ν : Measure α
m : MeasurableSpace α
f : α →ₛ ℝ≥0∞
μ : Measure α
⊢ ⨆ g, ⨆ (_ : ↑g ≤ fun a => ↑f a), g.lintegral μ = f.lintegral μ

tactic: exact le_antisymm (iSup₂_le fun g hg => lintegral_mono hg <| le_rfl)
  (le_iSup₂_of_le f le_rfl le_rfl)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m✝ : MeasurableSpace α
μ✝ ν : Measure α
m : MeasurableSpace α
f : α →ₛ ℝ≥0∞
μ : Measure α
⊢ ⨆ g, ⨆ (_ : ↑g ≤ fun a => ↑f a), g.lintegral μ = f.lintegral μ
state_after: no goals
Theorem: AlgebraicGeometry.morphismRestrict_appLE
File: Mathlib/AlgebraicGeometry/Restrict.lean

tactic: rw [Scheme.Hom.appLE, morphismRestrict_app', Scheme.restrict_presheaf_map, Scheme.Hom.appLE_map]
state_before: C : Type u₁
inst✝ : Category.{v, u₁} C
X Y : Scheme
f : X ⟶ Y
U : Opens ↑↑Y.toPresheafedSpace
V : Opens ↑↑(Y ∣_ᵤ U).toPresheafedSpace
W : Opens ↑↑(X ∣_ᵤ f ⁻¹ᵁ U).toPresheafedSpace
e : W ≤ (f ∣_ U) ⁻¹ᵁ V
⊢ Scheme.Hom.appLE (f ∣_ U) V W e = Scheme.Hom.appLE f (Scheme.ιOpens U ''ᵁ V) (Scheme.ιOpens (f ⁻¹ᵁ U) ''ᵁ W) ⋯
state_after: no goals
Theorem: Filter.disjoint_principal_right
File: Mathlib/Order/Filter/Bases.lean

tactic: rw [mem_iff_inf_principal_compl, compl_compl, disjoint_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s✝ : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
f : Filter α
s : Set α
⊢ Disjoint f (𝓟 s) ↔ sᶜ ∈ f
state_after: no goals