1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: fourierSubalgebra_separatesPoints
File: Mathlib/Analysis/Fourier/AddCircle.lean

tactic: intro x y hxy
state_before: T : ℝ
hT : Fact (0 < T)
⊢ fourierSubalgebra.SeparatesPoints
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ ∃ f ∈ (fun f => ⇑f) '' ↑fourierSubalgebra.toSubalgebra, f x ≠ f y

tactic: refine ⟨_, ⟨fourier 1, subset_adjoin ⟨1, rfl⟩, rfl⟩, ?_⟩
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ ∃ f ∈ (fun f => ⇑f) '' ↑fourierSubalgebra.toSubalgebra, f x ≠ f y
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ (fun f => ⇑f) (fourier 1) x ≠ (fun f => ⇑f) (fourier 1) y

tactic: dsimp only
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ (fun f => ⇑f) (fourier 1) x ≠ (fun f => ⇑f) (fourier 1) y
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ (fourier 1) x ≠ (fourier 1) y

tactic: rw [fourier_one, fourier_one]
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ (fourier 1) x ≠ (fourier 1) y
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ ↑x.toCircle ≠ ↑y.toCircle

tactic: contrapose! hxy
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x ≠ y
⊢ ↑x.toCircle ≠ ↑y.toCircle
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : ↑x.toCircle = ↑y.toCircle
⊢ x = y

tactic: rw [Subtype.coe_inj] at hxy
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : ↑x.toCircle = ↑y.toCircle
⊢ x = y
state_after: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x.toCircle = y.toCircle
⊢ x = y

tactic: exact injective_toCircle hT.elim.ne' hxy
state_before: T : ℝ
hT : Fact (0 < T)
x y : AddCircle T
hxy : x.toCircle = y.toCircle
⊢ x = y
state_after: no goals
Theorem: AntilipschitzWith.mul_div_lipschitzWith
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: simpa only [Pi.div_apply, mul_div_cancel] using hf.mul_lipschitzWith hg hK
state_before: 𝓕 : Type u_1
α✝ : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝³ : SeminormedCommGroup E✝
inst✝² : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E✝
r r₁ r₂ : ℝ
α : Type u_5
E : Type u_6
inst✝¹ : SeminormedCommGroup E
inst✝ : PseudoEMetricSpace α
K Kf Kg : ℝ≥0
f g : α → E
s : Set α
x : α
hf : AntilipschitzWith Kf f
hg : LipschitzWith Kg (g / f)
hK : Kg < Kf⁻¹
⊢ AntilipschitzWith (Kf⁻¹ - Kg)⁻¹ g
state_after: no goals
Theorem: bernoulli_eq_bernoulli'_of_ne_one
File: Mathlib/NumberTheory/Bernoulli.lean

tactic: by_cases h0 : n = 0
state_before: A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
⊢ bernoulli n = bernoulli' n
state_after: case pos
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : n = 0
⊢ bernoulli n = bernoulli' n

case neg
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
⊢ bernoulli n = bernoulli' n

tactic: rw [bernoulli, neg_one_pow_eq_pow_mod_two]
state_before: case neg
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
⊢ bernoulli n = bernoulli' n
state_after: case neg
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n

tactic: cases' mod_two_eq_zero_or_one n with h h
state_before: case neg
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n
state_after: case neg.inl
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
h : n % 2 = 0
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n

case neg.inr
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
h : n % 2 = 1
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n

tactic: simp [h0]
state_before: case pos
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : n = 0
⊢ bernoulli n = bernoulli' n
state_after: no goals

tactic: simp [h]
state_before: case neg.inl
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
h : n % 2 = 0
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n
state_after: no goals

tactic: simp [bernoulli'_odd_eq_zero (odd_iff.mpr h) (one_lt_iff_ne_zero_and_ne_one.mpr ⟨h0, hn⟩)]
state_before: case neg.inr
A : Type u_1
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
n : ℕ
hn : n ≠ 1
h0 : ¬n = 0
h : n % 2 = 1
⊢ (-1) ^ (n % 2) * bernoulli' n = bernoulli' n
state_after: no goals
Theorem: MeasureTheory.ae_eq_of_ae_subset_of_measure_ge
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: refine eventuallyLE_antisymm_iff.mpr ⟨h₁, ae_le_set.mpr ?_⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
h₂ : μ t ≤ μ s
hsm : MeasurableSet s
ht : μ t ≠ ⊤
⊢ s =ᶠ[ae μ] t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
h₂ : μ t ≤ μ s
hsm : MeasurableSet s
ht : μ t ≠ ⊤
⊢ μ (t \ s) = 0

tactic: replace h₂ : μ t = μ s := h₂.antisymm (measure_mono_ae h₁)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
h₂ : μ t ≤ μ s
hsm : MeasurableSet s
ht : μ t ≠ ⊤
⊢ μ (t \ s) = 0
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
hsm : MeasurableSet s
ht : μ t ≠ ⊤
h₂ : μ t = μ s
⊢ μ (t \ s) = 0

tactic: replace ht : μ s ≠ ∞ := h₂ ▸ ht
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
hsm : MeasurableSet s
ht : μ t ≠ ⊤
h₂ : μ t = μ s
⊢ μ (t \ s) = 0
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
hsm : MeasurableSet s
h₂ : μ t = μ s
ht : μ s ≠ ⊤
⊢ μ (t \ s) = 0

tactic: rw [measure_diff' t hsm ht, measure_congr (union_ae_eq_left_iff_ae_subset.mpr h₁), h₂, tsub_self]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
h₁ : s ≤ᶠ[ae μ] t
hsm : MeasurableSet s
h₂ : μ t = μ s
ht : μ s ≠ ⊤
⊢ μ (t \ s) = 0
state_after: no goals
Theorem: smoothSheafCommRing.nonunits_stalk
File: Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean

tactic: ext1 f
state_before: 𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : CompleteSpace 𝕜
EM : Type u_1
inst✝⁴ : NormedAddCommGroup EM
inst✝³ : NormedSpace 𝕜 EM
HM : Type u_2
inst✝² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
M : Type u
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace HM M
x : M
⊢ nonunits ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x) = ↑(RingHom.ker (eval IM 𝓘(𝕜, 𝕜) M 𝕜 x))
state_after: case h
𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : CompleteSpace 𝕜
EM : Type u_1
inst✝⁴ : NormedAddCommGroup EM
inst✝³ : NormedSpace 𝕜 EM
HM : Type u_2
inst✝² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
M : Type u
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace HM M
x : M
f : ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x)
⊢ f ∈ nonunits ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x) ↔ f ∈ ↑(RingHom.ker (eval IM 𝓘(𝕜, 𝕜) M 𝕜 x))

tactic: rw [mem_nonunits_iff, not_iff_comm, Iff.comm]
state_before: case h
𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : CompleteSpace 𝕜
EM : Type u_1
inst✝⁴ : NormedAddCommGroup EM
inst✝³ : NormedSpace 𝕜 EM
HM : Type u_2
inst✝² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
M : Type u
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace HM M
x : M
f : ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x)
⊢ f ∈ nonunits ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x) ↔ f ∈ ↑(RingHom.ker (eval IM 𝓘(𝕜, 𝕜) M 𝕜 x))
state_after: case h
𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : CompleteSpace 𝕜
EM : Type u_1
inst✝⁴ : NormedAddCommGroup EM
inst✝³ : NormedSpace 𝕜 EM
HM : Type u_2
inst✝² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
M : Type u
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace HM M
x : M
f : ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x)
⊢ IsUnit f ↔ f ∉ ↑(RingHom.ker (eval IM 𝓘(𝕜, 𝕜) M 𝕜 x))

tactic: apply smoothSheafCommRing.isUnit_stalk_iff
state_before: case h
𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : CompleteSpace 𝕜
EM : Type u_1
inst✝⁴ : NormedAddCommGroup EM
inst✝³ : NormedSpace 𝕜 EM
HM : Type u_2
inst✝² : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
M : Type u
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace HM M
x : M
f : ↑((smoothSheafCommRing IM 𝓘(𝕜, 𝕜) M 𝕜).presheaf.stalk x)
⊢ IsUnit f ↔ f ∉ ↑(RingHom.ker (eval IM 𝓘(𝕜, 𝕜) M 𝕜 x))
state_after: no goals
Theorem: Complex.arg_one
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: simp [arg, zero_le_one]
state_before: a x z : ℂ
⊢ arg 1 = 0
state_after: no goals
Theorem: List.length_erase_of_mem
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: rw [erase_eq_eraseP]
state_before: α : Type u_1
inst✝¹ : BEq α
inst✝ : LawfulBEq α
a : α
l : List α
h : a ∈ l
⊢ (l.erase a).length = l.length.pred
state_after: α : Type u_1
inst✝¹ : BEq α
inst✝ : LawfulBEq α
a : α
l : List α
h : a ∈ l
⊢ (eraseP (fun x => a == x) l).length = l.length.pred

tactic: exact length_eraseP_of_mem h (beq_self_eq_true a)
state_before: α : Type u_1
inst✝¹ : BEq α
inst✝ : LawfulBEq α
a : α
l : List α
h : a ∈ l
⊢ (eraseP (fun x => a == x) l).length = l.length.pred
state_after: no goals
Theorem: Equiv.Perm.sigmaCongrRightHom_injective
File: Mathlib/GroupTheory/Perm/Basic.lean

tactic: intro x y h
state_before: α✝ : Type u
β✝ : Type v
α : Type u_1
β : α → Type u_2
⊢ Function.Injective ⇑(sigmaCongrRightHom β)
state_after: α✝ : Type u
β✝ : Type v
α : Type u_1
β : α → Type u_2
x y : (a : α) → Perm (β a)
h : (sigmaCongrRightHom β) x = (sigmaCongrRightHom β) y
⊢ x = y

tactic: ext a b
state_before: α✝ : Type u
β✝ : Type v
α : Type u_1
β : α → Type u_2
x y : (a : α) → Perm (β a)
h : (sigmaCongrRightHom β) x = (sigmaCongrRightHom β) y
⊢ x = y
state_after: case h.H
α✝ : Type u
β✝ : Type v
α : Type u_1
β : α → Type u_2
x y : (a : α) → Perm (β a)
h : (sigmaCongrRightHom β) x = (sigmaCongrRightHom β) y
a : α
b : β a
⊢ (x a) b = (y a) b

tactic: simpa using Equiv.congr_fun h ⟨a, b⟩
state_before: case h.H
α✝ : Type u
β✝ : Type v
α : Type u_1
β : α → Type u_2
x y : (a : α) → Perm (β a)
h : (sigmaCongrRightHom β) x = (sigmaCongrRightHom β) y
a : α
b : β a
⊢ (x a) b = (y a) b
state_after: no goals
Theorem: Finset.exists_subset_card_eq
File: Mathlib/Data/Finset/Card.lean

tactic: simpa using exists_subsuperset_card_eq s.empty_subset (by simp) hns
state_before: α : Type u_1
β : Type u_2
R : Type u_3
s t u : Finset α
f : α → β
n : ℕ
hns : n ≤ s.card
⊢ ∃ t ⊆ s, t.card = n
state_after: no goals

tactic: simp
state_before: α : Type u_1
β : Type u_2
R : Type u_3
s t u : Finset α
f : α → β
n : ℕ
hns : n ≤ s.card
⊢ ∅.card ≤ n
state_after: no goals
Theorem: Behrend.exists_large_sphere_aux
File: Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean

tactic: refine exists_le_card_fiber_of_nsmul_le_card_of_maps_to (fun x hx => ?_) nonempty_range_succ ?_
state_before: α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x : Fin n✝ → ℕ
n d : ℕ
⊢ ∃ k ∈ range (n * (d - 1) ^ 2 + 1), ↑(d ^ n) / (↑(n * (d - 1) ^ 2) + 1) ≤ ↑(sphere n d k).card
state_after: case refine_1
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x✝ : Fin n✝ → ℕ
n d : ℕ
x : Fin n → ℕ
hx : x ∈ box n d
⊢ ∑ i : Fin n, x i ^ 2 ∈ range (n * (d - 1) ^ 2 + 1)

case refine_2
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x : Fin n✝ → ℕ
n d : ℕ
⊢ (range (n * (d - 1) ^ 2 + 1)).card • (↑(d ^ n) / (↑(n * (d - 1) ^ 2) + 1)) ≤ ↑(box n d).card

tactic: rw [mem_range, Nat.lt_succ_iff]
state_before: case refine_1
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x✝ : Fin n✝ → ℕ
n d : ℕ
x : Fin n → ℕ
hx : x ∈ box n d
⊢ ∑ i : Fin n, x i ^ 2 ∈ range (n * (d - 1) ^ 2 + 1)
state_after: case refine_1
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x✝ : Fin n✝ → ℕ
n d : ℕ
x : Fin n → ℕ
hx : x ∈ box n d
⊢ ∑ i : Fin n, x i ^ 2 ≤ n * (d - 1) ^ 2

tactic: exact sum_sq_le_of_mem_box hx
state_before: case refine_1
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x✝ : Fin n✝ → ℕ
n d : ℕ
x : Fin n → ℕ
hx : x ∈ box n d
⊢ ∑ i : Fin n, x i ^ 2 ≤ n * (d - 1) ^ 2
state_after: no goals

tactic: rw [card_range, _root_.nsmul_eq_mul, mul_div_assoc', cast_add_one, mul_div_cancel_left₀,
  card_box]
state_before: case refine_2
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x : Fin n✝ → ℕ
n d : ℕ
⊢ (range (n * (d - 1) ^ 2 + 1)).card • (↑(d ^ n) / (↑(n * (d - 1) ^ 2) + 1)) ≤ ↑(box n d).card
state_after: case refine_2.ha
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x : Fin n✝ → ℕ
n d : ℕ
⊢ ↑(n * (d - 1) ^ 2) + 1 ≠ 0

tactic: exact (cast_add_one_pos _).ne'
state_before: case refine_2.ha
α : Type u_1
β : Type u_2
n✝ d✝ k N : ℕ
x : Fin n✝ → ℕ
n d : ℕ
⊢ ↑(n * (d - 1) ^ 2) + 1 ≠ 0
state_after: no goals
Theorem: Submodule.IsOrtho.comap
File: Mathlib/Analysis/InnerProductSpace/Orthogonal.lean

tactic: rw [isOrtho_iff_inner_eq] at *
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : U ⟂ V
⊢ Submodule.comap f U ⟂ Submodule.comap f V
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
⊢ ∀ u ∈ Submodule.comap f U, ∀ v ∈ Submodule.comap f V, ⟪u, v⟫_𝕜 = 0

tactic: simp_rw [mem_comap, ← f.inner_map_map]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
⊢ ∀ u ∈ Submodule.comap f U, ∀ v ∈ Submodule.comap f V, ⟪u, v⟫_𝕜 = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
⊢ ∀ (u : E), f u ∈ U → ∀ (v : E), f v ∈ V → ⟪f u, f v⟫_𝕜 = 0

tactic: intro u hu v hv
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
⊢ ∀ (u : E), f u ∈ U → ∀ (v : E), f v ∈ V → ⟪f u, f v⟫_𝕜 = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
u : E
hu : f u ∈ U
v : E
hv : f v ∈ V
⊢ ⟪f u, f v⟫_𝕜 = 0

tactic: exact h _ hu _ hv
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
f : E →ₗᵢ[𝕜] F
U V : Submodule 𝕜 F
h : ∀ u ∈ U, ∀ v ∈ V, ⟪u, v⟫_𝕜 = 0
u : E
hu : f u ∈ U
v : E
hv : f v ∈ V
⊢ ⟪f u, f v⟫_𝕜 = 0
state_after: no goals
Theorem: MeasureTheory.measure_laverage_le_pos
File: Mathlib/MeasureTheory/Integral/Average.lean

tactic: simpa [hint] using
  @measure_setLaverage_le_pos _ _ _ _ f (measure_univ_ne_zero.2 hμ) nullMeasurableSet_univ
state_before: α : Type u_1
E : Type u_2
F : Type u_3
m0 : MeasurableSpace α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
μ ν : Measure α
s t N : Set α
f : α → ℝ≥0∞
hμ : μ ≠ 0
hint : ∫⁻ (a : α), f a ∂μ ≠ ⊤
⊢ 0 < μ {x | ⨍⁻ (a : α), f a ∂μ ≤ f x}
state_after: no goals
Theorem: toArithmeticFunction_congr
File: Mathlib/NumberTheory/LSeries/Convolution.lean

tactic: ext ⟨- | _⟩
state_before: R : Type u_1
inst✝ : Zero R
f f' : ℕ → R
h : ∀ {n : ℕ}, n ≠ 0 → f n = f' n
⊢ toArithmeticFunction f = toArithmeticFunction f'
state_after: case h.zero
R : Type u_1
inst✝ : Zero R
f f' : ℕ → R
h : ∀ {n : ℕ}, n ≠ 0 → f n = f' n
⊢ (toArithmeticFunction f) 0 = (toArithmeticFunction f') 0

case h.succ
R : Type u_1
inst✝ : Zero R
f f' : ℕ → R
h : ∀ {n : ℕ}, n ≠ 0 → f n = f' n
n✝ : ℕ
⊢ (toArithmeticFunction f) (n✝ + 1) = (toArithmeticFunction f') (n✝ + 1)

tactic: simp only [zero_eq, ArithmeticFunction.map_zero]
state_before: case h.zero
R : Type u_1
inst✝ : Zero R
f f' : ℕ → R
h : ∀ {n : ℕ}, n ≠ 0 → f n = f' n
⊢ (toArithmeticFunction f) 0 = (toArithmeticFunction f') 0
state_after: no goals

tactic: simp only [toArithmeticFunction, ArithmeticFunction.coe_mk, succ_ne_zero, ↓reduceIte,
  ne_eq, not_false_eq_true, h]
state_before: case h.succ
R : Type u_1
inst✝ : Zero R
f f' : ℕ → R
h : ∀ {n : ℕ}, n ≠ 0 → f n = f' n
n✝ : ℕ
⊢ (toArithmeticFunction f) (n✝ + 1) = (toArithmeticFunction f') (n✝ + 1)
state_after: no goals
Theorem: Bool.eq_true_of_not_eq_false'
File: Mathlib/Data/Bool/Basic.lean

tactic: cases a <;> decide
state_before: a : Bool
⊢ (!decide (a = false)) = true → a = true
state_after: no goals
Theorem: List.formPerm_apply_getLast
File: Mathlib/GroupTheory/Perm/List.lean

tactic: induction' xs using List.reverseRecOn with xs y _ generalizing x <;> simp
state_before: α : Type u_1
β : Type u_2
inst✝ : DecidableEq α
l : List α
x✝ x : α
xs : List α
⊢ (x :: xs).formPerm ((x :: xs).getLast ⋯) = x
state_after: no goals
Theorem: WithBot.preimage_coe_Ico
File: Mathlib/Order/Interval/Set/WithBotTop.lean

tactic: simp [← Ici_inter_Iio]
state_before: α : Type u_1
inst✝ : Preorder α
a b : α
⊢ some ⁻¹' Ico ↑a ↑b = Ico a b
state_after: no goals
Theorem: Finset.disjiUnion_empty
File: Mathlib/Data/Finset/Union.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
s s₁ s₂ : Finset α
t✝ t₁ t₂ t : α → Finset β
⊢ (↑∅).PairwiseDisjoint t
state_after: no goals
Theorem: PartialHomeomorph.univBall_target
File: Mathlib/Analysis/NormedSpace/HomeomorphBall.lean

tactic: rw [univBall, dif_pos hr]
state_before: E : Type u_1
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
P : Type u_2
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
c : P
r : ℝ
hr : 0 < r
⊢ (univBall c r).target = ball c r
state_after: E : Type u_1
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
P : Type u_2
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
c : P
r : ℝ
hr : 0 < r
⊢ (univUnitBall.trans' (unitBallBall c r hr) ⋯).target = ball c r

tactic: rfl
state_before: E : Type u_1
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
P : Type u_2
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
c : P
r : ℝ
hr : 0 < r
⊢ (univUnitBall.trans' (unitBallBall c r hr) ⋯).target = ball c r
state_after: no goals
Theorem: Ordinal.bsup_one
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simp_rw [← sup_eq_bsup, sup_unique, familyOfBFamily, familyOfBFamily', typein_one_out]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : (a : Ordinal.{u_4}) → a < 1 → Ordinal.{max u_4 u_5}
⊢ bsup 1 f = f 0 ⋯
state_after: no goals
Theorem: CategoryTheory.Iso.homCongr_comp
File: Mathlib/CategoryTheory/Conj.lean

tactic: simp
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y Z X₁ Y₁ Z₁ : C
α : X ≅ X₁
β : Y ≅ Y₁
γ : Z ≅ Z₁
f : X ⟶ Y
g : Y ⟶ Z
⊢ (α.homCongr γ) (f ≫ g) = (α.homCongr β) f ≫ (β.homCongr γ) g
state_after: no goals
Theorem: FirstOrder.Language.Equiv.symm_comp_self_toEmbedding
File: Mathlib/ModelTheory/Basic.lean

tactic: rw [← comp_toEmbedding, symm_comp_self, refl_toEmbedding]
state_before: L : Language
L' : Language
M : Type w
N : Type w'
inst✝³ : L.Structure M
inst✝² : L.Structure N
P : Type u_1
inst✝¹ : L.Structure P
Q : Type u_2
inst✝ : L.Structure Q
f : M ≃[L] N
⊢ f.symm.toEmbedding.comp f.toEmbedding = Embedding.refl L M
state_after: no goals
Theorem: Matrix.IsHermitian.coe_re_apply_self
File: Mathlib/LinearAlgebra/Matrix/Hermitian.lean

tactic: rw [← conj_eq_iff_re, ← star_def, ← conjTranspose_apply, h.eq]
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
A✝ : Matrix n n α
inst✝¹ : RCLike α
inst✝ : RCLike β
A : Matrix n n α
h : A.IsHermitian
i : n
⊢ ↑(re (A i i)) = A i i
state_after: no goals
Theorem: FirstOrder.Language.BoundedFormula.realize_foldr_inf
File: Mathlib/ModelTheory/Semantics.lean

tactic: induction' l with φ l ih
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l✝ : ℕ
φ ψ : L.BoundedFormula α l✝
θ : L.BoundedFormula α l✝.succ
v✝ : α → M
xs✝ : Fin l✝ → M
l : List (L.BoundedFormula α n)
v : α → M
xs : Fin n → M
⊢ (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ l).Realize v xs ↔ ∀ φ ∈ l, φ.Realize v xs
state_after: case nil
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l : ℕ
φ ψ : L.BoundedFormula α l
θ : L.BoundedFormula α l.succ
v✝ : α → M
xs✝ : Fin l → M
v : α → M
xs : Fin n → M
⊢ (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ []).Realize v xs ↔ ∀ φ ∈ [], φ.Realize v xs

case cons
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l✝ : ℕ
φ✝ ψ : L.BoundedFormula α l✝
θ : L.BoundedFormula α l✝.succ
v✝ : α → M
xs✝ : Fin l✝ → M
v : α → M
xs : Fin n → M
φ : L.BoundedFormula α n
l : List (L.BoundedFormula α n)
ih : (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ l).Realize v xs ↔ ∀ φ ∈ l, φ.Realize v xs
⊢ (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ (φ :: l)).Realize v xs ↔ ∀ φ_1 ∈ φ :: l, φ_1.Realize v xs

tactic: simp
state_before: case nil
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l : ℕ
φ ψ : L.BoundedFormula α l
θ : L.BoundedFormula α l.succ
v✝ : α → M
xs✝ : Fin l → M
v : α → M
xs : Fin n → M
⊢ (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ []).Realize v xs ↔ ∀ φ ∈ [], φ.Realize v xs
state_after: no goals

tactic: simp [ih]
state_before: case cons
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l✝ : ℕ
φ✝ ψ : L.BoundedFormula α l✝
θ : L.BoundedFormula α l✝.succ
v✝ : α → M
xs✝ : Fin l✝ → M
v : α → M
xs : Fin n → M
φ : L.BoundedFormula α n
l : List (L.BoundedFormula α n)
ih : (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ l).Realize v xs ↔ ∀ φ ∈ l, φ.Realize v xs
⊢ (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ (φ :: l)).Realize v xs ↔ ∀ φ_1 ∈ φ :: l, φ_1.Realize v xs
state_after: no goals
Theorem: trop_iInf
File: Mathlib/Algebra/Tropical/BigOperators.lean

tactic: rw [iInf, ← Set.image_univ, ← coe_univ, trop_sInf_image]
state_before: R : Type u_1
S : Type u_2
inst✝¹ : ConditionallyCompleteLinearOrder R
inst✝ : Fintype S
f : S → WithTop R
⊢ trop (⨅ i, f i) = ∑ i : S, trop (f i)
state_after: no goals