1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: LieSubmodule.comap_normalizer
File: Mathlib/Algebra/Lie/Normalizer.lean

tactic: ext
state_before: R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
f : M' →ₗ⁅R,L⁆ M
⊢ comap f N.normalizer = (comap f N).normalizer
state_after: case h
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
f : M' →ₗ⁅R,L⁆ M
m✝ : M'
⊢ m✝ ∈ comap f N.normalizer ↔ m✝ ∈ (comap f N).normalizer

tactic: simp
state_before: case h
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
f : M' →ₗ⁅R,L⁆ M
m✝ : M'
⊢ m✝ ∈ comap f N.normalizer ↔ m✝ ∈ (comap f N).normalizer
state_after: no goals
Theorem: HasDerivAtFilter.congr_of_eventuallyEq
File: Mathlib/Analysis/Calculus/Deriv/Basic.lean

tactic: rwa [hL.hasDerivAtFilter_iff hx rfl]
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
h : HasDerivAtFilter f f' x L
hL : f₁ =ᶠ[L] f
hx : f₁ x = f x
⊢ HasDerivAtFilter f₁ f' x L
state_after: no goals
Theorem: FiniteDimensional.finrank_pi_fintype
File: Mathlib/LinearAlgebra/Dimension/Constructions.lean

tactic: letI := nontrivial_of_invariantBasisNumber R
state_before: R S : Type u
M✝ : Type v
M' : Type v'
M₁ : Type v
ι✝ : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type u_1
inst✝¹⁷ : Ring R
inst✝¹⁶ : CommRing S
inst✝¹⁵ : AddCommGroup M✝
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : AddCommGroup M₁
inst✝¹² : Module R M✝
inst✝¹¹ : Module R M'
inst✝¹⁰ : Module R M₁
inst✝⁹ : StrongRankCondition R
inst✝⁸ : Module.Free R M✝
inst✝⁷ : (i : η) → AddCommGroup (φ i)
inst✝⁶ : (i : η) → Module R (φ i)
inst✝⁵ : ∀ (i : η), Module.Free R (φ i)
ι : Type v
inst✝⁴ : Fintype ι
M : ι → Type w
inst✝³ : (i : ι) → AddCommGroup (M i)
inst✝² : (i : ι) → Module R (M i)
inst✝¹ : ∀ (i : ι), Module.Free R (M i)
inst✝ : ∀ (i : ι), Module.Finite R (M i)
⊢ finrank R ((i : ι) → M i) = ∑ i : ι, finrank R (M i)
state_after: R S : Type u
M✝ : Type v
M' : Type v'
M₁ : Type v
ι✝ : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type u_1
inst✝¹⁷ : Ring R
inst✝¹⁶ : CommRing S
inst✝¹⁵ : AddCommGroup M✝
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : AddCommGroup M₁
inst✝¹² : Module R M✝
inst✝¹¹ : Module R M'
inst✝¹⁰ : Module R M₁
inst✝⁹ : StrongRankCondition R
inst✝⁸ : Module.Free R M✝
inst✝⁷ : (i : η) → AddCommGroup (φ i)
inst✝⁶ : (i : η) → Module R (φ i)
inst✝⁵ : ∀ (i : η), Module.Free R (φ i)
ι : Type v
inst✝⁴ : Fintype ι
M : ι → Type w
inst✝³ : (i : ι) → AddCommGroup (M i)
inst✝² : (i : ι) → Module R (M i)
inst✝¹ : ∀ (i : ι), Module.Free R (M i)
inst✝ : ∀ (i : ι), Module.Finite R (M i)
this : Nontrivial R := nontrivial_of_invariantBasisNumber R
⊢ finrank R ((i : ι) → M i) = ∑ i : ι, finrank R (M i)

tactic: simp only [finrank, fun i => rank_eq_card_chooseBasisIndex R (M i), rank_pi, ← mk_sigma,
  mk_toNat_eq_card, Fintype.card_sigma]
state_before: R S : Type u
M✝ : Type v
M' : Type v'
M₁ : Type v
ι✝ : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type u_1
inst✝¹⁷ : Ring R
inst✝¹⁶ : CommRing S
inst✝¹⁵ : AddCommGroup M✝
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : AddCommGroup M₁
inst✝¹² : Module R M✝
inst✝¹¹ : Module R M'
inst✝¹⁰ : Module R M₁
inst✝⁹ : StrongRankCondition R
inst✝⁸ : Module.Free R M✝
inst✝⁷ : (i : η) → AddCommGroup (φ i)
inst✝⁶ : (i : η) → Module R (φ i)
inst✝⁵ : ∀ (i : η), Module.Free R (φ i)
ι : Type v
inst✝⁴ : Fintype ι
M : ι → Type w
inst✝³ : (i : ι) → AddCommGroup (M i)
inst✝² : (i : ι) → Module R (M i)
inst✝¹ : ∀ (i : ι), Module.Free R (M i)
inst✝ : ∀ (i : ι), Module.Finite R (M i)
this : Nontrivial R := nontrivial_of_invariantBasisNumber R
⊢ finrank R ((i : ι) → M i) = ∑ i : ι, finrank R (M i)
state_after: no goals
Theorem: AlgebraicTopology.DoldKan.PInfty_comp_PInftyToNormalizedMooreComplex
File: Mathlib/AlgebraicTopology/DoldKan/Normalized.lean

tactic: aesop_cat
state_before: A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ PInfty ≫ PInftyToNormalizedMooreComplex X = PInftyToNormalizedMooreComplex X
state_after: no goals
Theorem: inner_map_complex
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← Complex.inner, f.inner_map_map]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
G : Type u_4
inst✝¹ : NormedAddCommGroup G
inst✝ : InnerProductSpace ℝ G
f : G ≃ₗᵢ[ℝ] ℂ
x y : G
⊢ ⟪x, y⟫_ℝ = ((starRingEnd ℂ) (f x) * f y).re
state_after: no goals
Theorem: Complex.antilipschitz_equivRealProd
File: Mathlib/Analysis/Complex/Basic.lean

tactic: simpa only [Real.coe_sqrt, NNReal.coe_ofNat] using abs_le_sqrt_two_mul_max z
state_before: z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z : ℂ
⊢ ‖z‖ ≤ ↑(NNReal.sqrt 2) * ‖equivRealProdLm z‖
state_after: no goals
Theorem: Continuous.inner_
File: Mathlib/Analysis/InnerProductSpace/OfNorm.lean

tactic: unfold inner_
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f g : ℝ → E
hf : Continuous f
hg : Continuous g
⊢ Continuous fun x => _root_.inner_ 𝕜 (f x) (g x)
state_after: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f g : ℝ → E
hf : Continuous f
hg : Continuous g
⊢ Continuous fun x =>
    4⁻¹ *
      (𝓚 ‖f x + g x‖ * 𝓚 ‖f x + g x‖ - 𝓚 ‖f x - g x‖ * 𝓚 ‖f x - g x‖ + I * 𝓚 ‖I • f x + g x‖ * 𝓚 ‖I • f x + g x‖ -
        I * 𝓚 ‖I • f x - g x‖ * 𝓚 ‖I • f x - g x‖)

tactic: fun_prop
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f g : ℝ → E
hf : Continuous f
hg : Continuous g
⊢ Continuous fun x =>
    4⁻¹ *
      (𝓚 ‖f x + g x‖ * 𝓚 ‖f x + g x‖ - 𝓚 ‖f x - g x‖ * 𝓚 ‖f x - g x‖ + I * 𝓚 ‖I • f x + g x‖ * 𝓚 ‖I • f x + g x‖ -
        I * 𝓚 ‖I • f x - g x‖ * 𝓚 ‖I • f x - g x‖)
state_after: no goals
Theorem: LinearPMap.adjointAux_inner
File: Mathlib/Analysis/InnerProductSpace/LinearPMap.lean

tactic: simp only [adjointAux, LinearMap.coe_mk, InnerProductSpace.toDual_symm_apply,
  adjointDomainMkCLMExtend_apply]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace 𝕜 F
T : E →ₗ.[𝕜] F
S : F →ₗ.[𝕜] E
hT : Dense ↑T.domain
inst✝ : CompleteSpace E
y : ↥T.adjointDomain
x : ↥T.domain
⊢ ⟪(adjointAux hT) y, ↑x⟫_𝕜 = ⟪↑y, ↑T x⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace 𝕜 F
T : E →ₗ.[𝕜] F
S : F →ₗ.[𝕜] E
hT : Dense ↑T.domain
inst✝ : CompleteSpace E
y : ↥T.adjointDomain
x : ↥T.domain
⊢ ⟪{ toFun := fun y => (InnerProductSpace.toDual 𝕜 E).symm (adjointDomainMkCLMExtend hT y), map_add' := ⋯ } y, ↑x⟫_𝕜 =
    ⟪↑y, ↑T x⟫_𝕜

tactic: simp only [AddHom.coe_mk, InnerProductSpace.toDual_symm_apply]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace 𝕜 F
T : E →ₗ.[𝕜] F
S : F →ₗ.[𝕜] E
hT : Dense ↑T.domain
inst✝ : CompleteSpace E
y : ↥T.adjointDomain
x : ↥T.domain
⊢ ⟪{ toFun := fun y => (InnerProductSpace.toDual 𝕜 E).symm (adjointDomainMkCLMExtend hT y), map_add' := ⋯ } y, ↑x⟫_𝕜 =
    ⟪↑y, ↑T x⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace 𝕜 F
T : E →ₗ.[𝕜] F
S : F →ₗ.[𝕜] E
hT : Dense ↑T.domain
inst✝ : CompleteSpace E
y : ↥T.adjointDomain
x : ↥T.domain
⊢ (adjointDomainMkCLMExtend hT y) ↑x = ⟪↑y, ↑T x⟫_𝕜

tactic: rw [adjointDomainMkCLMExtend_apply]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace 𝕜 F
T : E →ₗ.[𝕜] F
S : F →ₗ.[𝕜] E
hT : Dense ↑T.domain
inst✝ : CompleteSpace E
y : ↥T.adjointDomain
x : ↥T.domain
⊢ (adjointDomainMkCLMExtend hT y) ↑x = ⟪↑y, ↑T x⟫_𝕜
state_after: no goals
Theorem: Option.casesOn'_none_coe
File: Mathlib/Data/Option/Basic.lean

tactic: cases o <;> rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
f : Option α → β
o : Option α
⊢ o.casesOn' (f none) (f ∘ fun a => some a) = f o
state_after: no goals
Theorem: Finset.Nontrivial.sdiff_singleton_nonempty
File: Mathlib/Data/Finset/Basic.lean

tactic: rw [Finset.sdiff_nonempty, Finset.subset_singleton_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ (s \ {c}).Nonempty
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ ¬(s = ∅ ∨ s = {c})

tactic: push_neg
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ ¬(s = ∅ ∨ s = {c})
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ s ≠ ∅ ∧ s ≠ {c}

tactic: exact ⟨by rintro rfl; exact Finset.not_nontrivial_empty hS, hS.ne_singleton⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ s ≠ ∅ ∧ s ≠ {c}
state_after: no goals

tactic: rintro rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s✝ t u v : Finset α
a b c : α
s : Finset α
hS : s.Nontrivial
⊢ s ≠ ∅
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b c : α
hS : ∅.Nontrivial
⊢ False

tactic: exact Finset.not_nontrivial_empty hS
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b c : α
hS : ∅.Nontrivial
⊢ False
state_after: no goals
Theorem: Int.dist_cast_rat
File: Mathlib/Topology/Instances/Rat.lean

tactic: rw [← Int.dist_cast_real, ← Rat.dist_cast]
state_before: x y : ℤ
⊢ dist ↑x ↑y = dist x y
state_after: x y : ℤ
⊢ dist ↑↑x ↑↑y = dist ↑x ↑y

tactic: congr
state_before: x y : ℤ
⊢ dist ↑↑x ↑↑y = dist ↑x ↑y
state_after: no goals
Theorem: Set.prod_sInter
File: Mathlib/Data/Set/Lattice.lean

tactic: rw [← sInter_singleton s, sInter_prod_sInter (singleton_nonempty s) hT, sInter_singleton]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
T : Set (Set β)
hT : T.Nonempty
s : Set α
⊢ s ×ˢ ⋂₀ T = ⋂ t ∈ T, s ×ˢ t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
T : Set (Set β)
hT : T.Nonempty
s : Set α
⊢ ⋂ r ∈ {s} ×ˢ T, r.1 ×ˢ r.2 = ⋂ t ∈ T, s ×ˢ t

tactic: simp_rw [singleton_prod, mem_image, iInter_exists, biInter_and', iInter_iInter_eq_right]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
T : Set (Set β)
hT : T.Nonempty
s : Set α
⊢ ⋂ r ∈ {s} ×ˢ T, r.1 ×ˢ r.2 = ⋂ t ∈ T, s ×ˢ t
state_after: no goals
Theorem: inner_neg_neg
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ ⟪-x, -y⟫_𝕜 = ⟪x, y⟫_𝕜
state_after: no goals
Theorem: Finset.weightedVSubOfPoint_const_smul
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: simp_rw [weightedVSubOfPoint_apply, smul_sum, Pi.smul_apply, smul_smul, smul_eq_mul]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_4
s : Finset ι
ι₂ : Type u_5
s₂ : Finset ι₂
w : ι → k
p : ι → P
b : P
c : k
⊢ (s.weightedVSubOfPoint p b) (c • w) = c • (s.weightedVSubOfPoint p b) w
state_after: no goals
Theorem: orthogonalProjection_comp_subtypeL_eq_zero_iff
File: Mathlib/Analysis/InnerProductSpace/Projection.lean

tactic: convert orthogonalProjection_inner_eq_zero v u hu using 2
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K U V : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection U
h : (orthogonalProjection U).comp V.subtypeL = 0
u : E
hu : u ∈ U
v : E
hv : v ∈ V
⊢ ⟪v, u⟫_𝕜 = 0
state_after: case h.e'_2.h.e'_4
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K U V : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection U
h : (orthogonalProjection U).comp V.subtypeL = 0
u : E
hu : u ∈ U
v : E
hv : v ∈ V
⊢ v = v - ↑((orthogonalProjection U) v)

tactic: have : orthogonalProjection U v = 0 := DFunLike.congr_fun h (⟨_, hv⟩ : V)
state_before: case h.e'_2.h.e'_4
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K U V : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection U
h : (orthogonalProjection U).comp V.subtypeL = 0
u : E
hu : u ∈ U
v : E
hv : v ∈ V
⊢ v = v - ↑((orthogonalProjection U) v)
state_after: case h.e'_2.h.e'_4
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K U V : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection U
h : (orthogonalProjection U).comp V.subtypeL = 0
u : E
hu : u ∈ U
v : E
hv : v ∈ V
this : (orthogonalProjection U) v = 0
⊢ v = v - ↑((orthogonalProjection U) v)

tactic: rw [this, Submodule.coe_zero, sub_zero]
state_before: case h.e'_2.h.e'_4
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K U V : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection U
h : (orthogonalProjection U).comp V.subtypeL = 0
u : E
hu : u ∈ U
v : E
hv : v ∈ V
this : (orthogonalProjection U) v = 0
⊢ v = v - ↑((orthogonalProjection U) v)
state_after: no goals
Theorem: eqRec_eq_cast
File: .lake/packages/batteries/Batteries/Logic.lean

tactic: subst e
state_before: α : Sort u_1
a : α
motive : (a' : α) → a = a' → Sort u_2
x : motive a ⋯
a' : α
e : a = a'
⊢ e ▸ x = cast ⋯ x
state_after: α : Sort u_1
a : α
motive : (a' : α) → a = a' → Sort u_2
x : motive a ⋯
⊢ ⋯ ▸ x = cast ⋯ x

tactic: rfl
state_before: α : Sort u_1
a : α
motive : (a' : α) → a = a' → Sort u_2
x : motive a ⋯
⊢ ⋯ ▸ x = cast ⋯ x
state_after: no goals
Theorem: AlgEquiv.restrictNormal_trans
File: Mathlib/FieldTheory/Normal.lean

tactic: simp only [AlgEquiv.trans_apply, AlgEquiv.restrictNormal_commutes]
state_before: F : Type u_1
K : Type u_2
inst✝¹⁸ : Field F
inst✝¹⁷ : Field K
inst✝¹⁶ : Algebra F K
K₁ : Type u_3
K₂ : Type u_4
K₃ : Type u_5
inst✝¹⁵ : Field F
inst✝¹⁴ : Field K₁
inst✝¹³ : Field K₂
inst✝¹² : Field K₃
inst✝¹¹ : Algebra F K₁
inst✝¹⁰ : Algebra F K₂
inst✝⁹ : Algebra F K₃
ϕ : K₁ →ₐ[F] K₂
χ : K₁ ≃ₐ[F] K₂
ψ : K₂ →ₐ[F] K₃
ω : K₂ ≃ₐ[F] K₃
E : Type u_6
inst✝⁸ : Field E
inst✝⁷ : Algebra F E
inst✝⁶ : Algebra E K₁
inst✝⁵ : Algebra E K₂
inst✝⁴ : Algebra E K₃
inst✝³ : IsScalarTower F E K₁
inst✝² : IsScalarTower F E K₂
inst✝¹ : IsScalarTower F E K₃
inst✝ : Normal F E
x✝ : E
⊢ (algebraMap E K₃) (((χ.trans ω).restrictNormal E) x✝) =
    (algebraMap E K₃) (((χ.restrictNormal E).trans (ω.restrictNormal E)) x✝)
state_after: no goals
Theorem: sSup_within_of_ordConnected
File: Mathlib/Order/CompleteLatticeIntervals.lean

tactic: obtain ⟨c, hct⟩ : ∃ c, c ∈ t := ht
state_before: ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
ht : t.Nonempty
h_bdd : BddAbove t
⊢ sSup (Subtype.val '' t) ∈ s
state_after: case intro
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
h_bdd : BddAbove t
c : ↑s
hct : c ∈ t
⊢ sSup (Subtype.val '' t) ∈ s

tactic: obtain ⟨B, hB⟩ : ∃ B, B ∈ upperBounds t := h_bdd
state_before: case intro
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
h_bdd : BddAbove t
c : ↑s
hct : c ∈ t
⊢ sSup (Subtype.val '' t) ∈ s
state_after: case intro.intro
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ sSup (Subtype.val '' t) ∈ s

tactic: refine hs.out c.2 B.2 ⟨?_, ?_⟩
state_before: case intro.intro
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ sSup (Subtype.val '' t) ∈ s
state_after: case intro.intro.refine_1
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ ↑c ≤ sSup (Subtype.val '' t)

case intro.intro.refine_2
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ sSup (Subtype.val '' t) ≤ ↑B

tactic: exact (Subtype.mono_coe s).le_csSup_image hct ⟨B, hB⟩
state_before: case intro.intro.refine_1
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ ↑c ≤ sSup (Subtype.val '' t)
state_after: no goals

tactic: exact (Subtype.mono_coe s).csSup_image_le ⟨c, hct⟩ hB
state_before: case intro.intro.refine_2
ι : Sort u_1
α : Type u_2
s✝ : Set α
inst✝ : ConditionallyCompleteLinearOrder α
s : Set α
hs : s.OrdConnected
t : Set ↑s
c : ↑s
hct : c ∈ t
B : ↑s
hB : B ∈ upperBounds t
⊢ sSup (Subtype.val '' t) ≤ ↑B
state_after: no goals
Theorem: CategoryTheory.Localization.exists_rightFraction
File: Mathlib/CategoryTheory/Localization/CalculusOfFractions.lean

tactic: obtain ⟨φ, eq⟩ := Localization.exists_leftFraction L.op W.op f.op
state_before: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
⊢ ∃ φ, f = φ.map L ⋯
state_after: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ ∃ φ, f = φ.map L ⋯

tactic: refine ⟨φ.unop, Quiver.Hom.op_inj ?_⟩
state_before: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ ∃ φ, f = φ.map L ⋯
state_after: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ f.op = (φ.unop.map L ⋯).op

tactic: rw [eq, MorphismProperty.RightFraction.op_map]
state_before: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ f.op = (φ.unop.map L ⋯).op
state_after: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ φ.map L.op ⋯ = φ.unop.op.map L.op ⋯

tactic: rfl
state_before: case intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_4, u_1} C
inst✝² : Category.{u_3, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasRightCalculusOfFractions
X Y : C
f : L.obj X ⟶ L.obj Y
φ : W.op.LeftFraction { unop := Y } { unop := X }
eq : f.op = φ.map L.op ⋯
⊢ φ.map L.op ⋯ = φ.unop.op.map L.op ⋯
state_after: no goals
Theorem: disjoint_right_comm
File: Mathlib/Order/Disjoint.lean

tactic: simp_rw [disjoint_iff_inf_le, inf_right_comm]
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
a b c d : α
⊢ Disjoint (a ⊓ b) c ↔ Disjoint (a ⊓ c) b
state_after: no goals
Theorem: not_intervalIntegrable_of_tendsto_norm_atTop_of_deriv_isBigO_filter
File: Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean

tactic: rw [intervalIntegrable_iff']
state_before: E : Type u_1
F : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : l.NeBot
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
⊢ ¬IntervalIntegrable g volume a b
state_after: E : Type u_1
F : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : l.NeBot
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
⊢ ¬IntegrableOn g [[a, b]] volume

tactic: exact not_integrableOn_of_tendsto_norm_atTop_of_deriv_isBigO_filter _ hl hd hf hfg
state_before: E : Type u_1
F : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
f : ℝ → E
g : ℝ → F
a b : ℝ
l : Filter ℝ
inst✝¹ : l.NeBot
inst✝ : TendstoIxxClass Icc l l
hl : [[a, b]] ∈ l
hd : ∀ᶠ (x : ℝ) in l, DifferentiableAt ℝ f x
hf : Tendsto (fun x => ‖f x‖) l atTop
hfg : deriv f =O[l] g
⊢ ¬IntegrableOn g [[a, b]] volume
state_after: no goals
Theorem: MeasureTheory.FiniteMeasure.map_smul
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: ext s _
state_before: Ω : Type u_1
Ω' : Type u_2
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSpace Ω'
f : Ω → Ω'
c : ℝ≥0
ν : FiniteMeasure Ω
⊢ (c • ν).map f = c • ν.map f
state_after: case h
Ω : Type u_1
Ω' : Type u_2
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSpace Ω'
f : Ω → Ω'
c : ℝ≥0
ν : FiniteMeasure Ω
s : Set Ω'
a✝ : MeasurableSet s
⊢ ↑((c • ν).map f) s = ↑(c • ν.map f) s

tactic: simp [toMeasure_smul]
state_before: case h
Ω : Type u_1
Ω' : Type u_2
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSpace Ω'
f : Ω → Ω'
c : ℝ≥0
ν : FiniteMeasure Ω
s : Set Ω'
a✝ : MeasurableSet s
⊢ ↑((c • ν).map f) s = ↑(c • ν.map f) s
state_after: no goals