1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: OrthonormalBasis.orientation_adjustToOrientation
File: Mathlib/Analysis/InnerProductSpace/Orientation.lean

tactic: rw [e.toBasis_adjustToOrientation]
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace ℝ E
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
ne : Nonempty ι
e f : OrthonormalBasis ι ℝ E
x : Orientation ℝ E ι
⊢ (e.adjustToOrientation x).toBasis.orientation = x
state_after: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace ℝ E
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
ne : Nonempty ι
e f : OrthonormalBasis ι ℝ E
x : Orientation ℝ E ι
⊢ (e.toBasis.adjustToOrientation x).orientation = x

tactic: exact e.toBasis.orientation_adjustToOrientation x
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace ℝ E
ι : Type u_2
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
ne : Nonempty ι
e f : OrthonormalBasis ι ℝ E
x : Orientation ℝ E ι
⊢ (e.toBasis.adjustToOrientation x).orientation = x
state_after: no goals
Theorem: MeasureTheory.withDensity_absolutelyContinuous
File: Mathlib/MeasureTheory/Measure/WithDensity.lean

tactic: refine AbsolutelyContinuous.mk fun s hs₁ hs₂ => ?_
state_before: α : Type u_1
m0 : MeasurableSpace α
μ✝ : Measure α
m : MeasurableSpace α
μ : Measure α
f : α → ℝ≥0∞
⊢ μ.withDensity f ≪ μ
state_after: α : Type u_1
m0 : MeasurableSpace α
μ✝ : Measure α
m : MeasurableSpace α
μ : Measure α
f : α → ℝ≥0∞
s : Set α
hs₁ : MeasurableSet s
hs₂ : μ s = 0
⊢ (μ.withDensity f) s = 0

tactic: rw [withDensity_apply _ hs₁]
state_before: α : Type u_1
m0 : MeasurableSpace α
μ✝ : Measure α
m : MeasurableSpace α
μ : Measure α
f : α → ℝ≥0∞
s : Set α
hs₁ : MeasurableSet s
hs₂ : μ s = 0
⊢ (μ.withDensity f) s = 0
state_after: α : Type u_1
m0 : MeasurableSpace α
μ✝ : Measure α
m : MeasurableSpace α
μ : Measure α
f : α → ℝ≥0∞
s : Set α
hs₁ : MeasurableSet s
hs₂ : μ s = 0
⊢ ∫⁻ (a : α) in s, f a ∂μ = 0

tactic: exact setLIntegral_measure_zero _ _ hs₂
state_before: α : Type u_1
m0 : MeasurableSpace α
μ✝ : Measure α
m : MeasurableSpace α
μ : Measure α
f : α → ℝ≥0∞
s : Set α
hs₁ : MeasurableSet s
hs₂ : μ s = 0
⊢ ∫⁻ (a : α) in s, f a ∂μ = 0
state_after: no goals
Theorem: Nat.lt_one_add_iff
File: Mathlib/Data/Nat/Defs.lean

tactic: simp only [Nat.add_comm, Nat.lt_succ_iff]
state_before: a b c d m n k : ℕ
p q : ℕ → Prop
⊢ m < 1 + n ↔ m ≤ n
state_after: no goals
Theorem: spectrum.map_polynomial_aeval_of_nonempty
File: Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean

tactic: nontriviality A
state_before: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
⊢ σ ((aeval a) p) = (fun k => eval k p) '' σ a
state_after: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
⊢ σ ((aeval a) p) = (fun k => eval k p) '' σ a

tactic: refine Or.elim (le_or_gt (degree p) 0) (fun h => ?_) (map_polynomial_aeval_of_degree_pos a p)
state_before: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
⊢ σ ((aeval a) p) = (fun k => eval k p) '' σ a
state_after: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
h : p.degree ≤ 0
⊢ σ ((aeval a) p) = (fun k => eval k p) '' σ a

tactic: rw [eq_C_of_degree_le_zero h]
state_before: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
h : p.degree ≤ 0
⊢ σ ((aeval a) p) = (fun k => eval k p) '' σ a
state_after: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
h : p.degree ≤ 0
⊢ σ ((aeval a) (C (p.coeff 0))) = (fun k => eval k (C (p.coeff 0))) '' σ a

tactic: simp only [Set.image_congr, eval_C, aeval_C, scalar_eq, Set.Nonempty.image_const hnon]
state_before: 𝕜 : Type u
A : Type v
inst✝³ : Field 𝕜
inst✝² : Ring A
inst✝¹ : Algebra 𝕜 A
inst✝ : IsAlgClosed 𝕜
a : A
p : 𝕜[X]
hnon : (σ a).Nonempty
a✝ : Nontrivial A
h : p.degree ≤ 0
⊢ σ ((aeval a) (C (p.coeff 0))) = (fun k => eval k (C (p.coeff 0))) '' σ a
state_after: no goals
Theorem: Matrix.one_dotProduct_one
File: Mathlib/Data/Matrix/Basic.lean

tactic: simp [dotProduct]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : Fintype m
inst✝¹ : Fintype n
inst✝ : NonAssocSemiring α
⊢ 1 ⬝ᵥ 1 = ↑(Fintype.card n)
state_after: no goals
Theorem: IntermediateField.fixingSubgroup_isOpen
File: Mathlib/FieldTheory/KrullTopology.lean

tactic: have h_basis : E.fixingSubgroup.carrier ∈ galGroupBasis K L :=
  ⟨E.fixingSubgroup, ⟨E, ‹_›, rfl⟩, rfl⟩
state_before: K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
E : IntermediateField K L
inst✝ : FiniteDimensional K ↥E
⊢ IsOpen ↑E.fixingSubgroup
state_after: K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
E : IntermediateField K L
inst✝ : FiniteDimensional K ↥E
h_basis : E.fixingSubgroup.carrier ∈ galGroupBasis K L
⊢ IsOpen ↑E.fixingSubgroup

tactic: have h_nhd := GroupFilterBasis.mem_nhds_one (galGroupBasis K L) h_basis
state_before: K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
E : IntermediateField K L
inst✝ : FiniteDimensional K ↥E
h_basis : E.fixingSubgroup.carrier ∈ galGroupBasis K L
⊢ IsOpen ↑E.fixingSubgroup
state_after: K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
E : IntermediateField K L
inst✝ : FiniteDimensional K ↥E
h_basis : E.fixingSubgroup.carrier ∈ galGroupBasis K L
h_nhd : E.fixingSubgroup.carrier ∈ 𝓝 1
⊢ IsOpen ↑E.fixingSubgroup

tactic: exact Subgroup.isOpen_of_mem_nhds _ h_nhd
state_before: K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
E : IntermediateField K L
inst✝ : FiniteDimensional K ↥E
h_basis : E.fixingSubgroup.carrier ∈ galGroupBasis K L
h_nhd : E.fixingSubgroup.carrier ∈ 𝓝 1
⊢ IsOpen ↑E.fixingSubgroup
state_after: no goals
Theorem: IsRelPrime.isCoprime
File: Mathlib/RingTheory/PrincipalIdealDomain.lean

tactic: rw [← Ideal.isCoprime_span_singleton_iff, Ideal.isCoprime_iff_sup_eq, ← Ideal.span_union,
  Set.singleton_union, ← span_gcd, Ideal.span_singleton_eq_top]
state_before: R : Type u
M : Type v
inst✝¹ : CommRing R
x y z : R
inst✝ : IsPrincipal (Ideal.span {x, y})
h : IsRelPrime x y
⊢ IsCoprime x y
state_after: R : Type u
M : Type v
inst✝¹ : CommRing R
x y z : R
inst✝ : IsPrincipal (Ideal.span {x, y})
h : IsRelPrime x y
⊢ IsUnit (gcd x y)

tactic: exact h (gcd_dvd_left x y) (gcd_dvd_right x y)
state_before: R : Type u
M : Type v
inst✝¹ : CommRing R
x y z : R
inst✝ : IsPrincipal (Ideal.span {x, y})
h : IsRelPrime x y
⊢ IsUnit (gcd x y)
state_after: no goals
Theorem: MeasureTheory.IntegrableAtFilter.sup_iff
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: constructor
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l'✝ l l' : Filter α
⊢ IntegrableAtFilter f (l ⊔ l') μ ↔ IntegrableAtFilter f l μ ∧ IntegrableAtFilter f l' μ
state_after: case mp
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l'✝ l l' : Filter α
⊢ IntegrableAtFilter f (l ⊔ l') μ → IntegrableAtFilter f l μ ∧ IntegrableAtFilter f l' μ

case mpr
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l'✝ l l' : Filter α
⊢ IntegrableAtFilter f l μ ∧ IntegrableAtFilter f l' μ → IntegrableAtFilter f (l ⊔ l') μ

tactic: exact fun h => ⟨h.filter_mono le_sup_left, h.filter_mono le_sup_right⟩
state_before: case mp
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l'✝ l l' : Filter α
⊢ IntegrableAtFilter f (l ⊔ l') μ → IntegrableAtFilter f l μ ∧ IntegrableAtFilter f l' μ
state_after: no goals

tactic: exact fun ⟨⟨s, hsl, hs⟩, ⟨t, htl, ht⟩⟩ ↦ ⟨s ∪ t, union_mem_sup hsl htl, hs.union ht⟩
state_before: case mpr
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l'✝ l l' : Filter α
⊢ IntegrableAtFilter f l μ ∧ IntegrableAtFilter f l' μ → IntegrableAtFilter f (l ⊔ l') μ
state_after: no goals
Theorem: MvPolynomial.rename_rename
File: Mathlib/Algebra/MvPolynomial/Rename.lean

tactic: simp only [rename, aeval_eq_eval₂Hom]
state_before: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ (rename g) (eval₂ C (X ∘ f) p) = (rename (g ∘ f)) p
state_after: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g)) (eval₂ C (X ∘ f) p) =
    (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g ∘ f)) p

tactic: rw [eval₂_comp_left (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g)) C (X ∘ f) p]
state_before: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g)) (eval₂ C (X ∘ f) p) =
    (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g ∘ f)) p
state_after: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ eval₂ ((eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g)).comp C)
      (⇑(eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g)) ∘ X ∘ f) p =
    (eval₂Hom (algebraMap R (MvPolynomial α R)) (X ∘ g ∘ f)) p

tactic: refine eval₂Hom_congr ?_ rfl rfl
state_before: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ eval₂ ((eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g x)).comp C) (fun x => X (g (f x))) p =
    (eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g (f x))) p
state_after: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ (eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g x)).comp C = algebraMap R (MvPolynomial α R)

tactic: ext1
state_before: σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
⊢ (eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g x)).comp C = algebraMap R (MvPolynomial α R)
state_after: case a
σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
x✝ : R
⊢ ((eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g x)).comp C) x✝ = (algebraMap R (MvPolynomial α R)) x✝

tactic: simp only [comp_apply, RingHom.coe_comp, eval₂Hom_C]
state_before: case a
σ : Type u_1
τ : Type u_2
α : Type u_3
R : Type u_4
S : Type u_5
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
g : τ → α
p : MvPolynomial σ R
x✝ : R
⊢ ((eval₂Hom (algebraMap R (MvPolynomial α R)) fun x => X (g x)).comp C) x✝ = (algebraMap R (MvPolynomial α R)) x✝
state_after: no goals
Theorem: Polynomial.coeff_natCast_ite
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: simp only [← C_eq_natCast, coeff_C, Nat.cast_ite, Nat.cast_zero]
state_before: R : Type u
a b : R
m n : ℕ
inst✝ : Semiring R
p q : R[X]
⊢ (↑m).coeff n = ↑(if n = 0 then m else 0)
state_after: no goals
Theorem: Ordinal.one_CNF
File: Mathlib/SetTheory/Ordinal/CantorNormalForm.lean

tactic: simp [CNF_ne_zero ho]
state_before: o : Ordinal.{u_1}
ho : o ≠ 0
⊢ CNF 1 o = [(0, o)]
state_after: no goals
Theorem: dist_self_homothety
File: Mathlib/Analysis/NormedSpace/AddTorsor.lean

tactic: rw [dist_comm, dist_homothety_self]
state_before: α : Type u_1
V : Type u_2
P : Type u_3
W : Type u_4
Q : Type u_5
inst✝⁸ : SeminormedAddCommGroup V
inst✝⁷ : PseudoMetricSpace P
inst✝⁶ : NormedAddTorsor V P
inst✝⁵ : NormedAddCommGroup W
inst✝⁴ : MetricSpace Q
inst✝³ : NormedAddTorsor W Q
𝕜 : Type u_6
inst✝² : NormedField 𝕜
inst✝¹ : NormedSpace 𝕜 V
inst✝ : NormedSpace 𝕜 W
p₁ p₂ : P
c : 𝕜
⊢ dist p₂ ((homothety p₁ c) p₂) = ‖1 - c‖ * dist p₁ p₂
state_after: no goals
Theorem: tprod_inv
File: Mathlib/Topology/Algebra/InfiniteSum/Group.lean

tactic: by_cases hf : Multipliable f
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : CommGroup α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalGroup α
f g : β → α
a a₁ a₂ : α
inst✝ : T2Space α
⊢ ∏' (b : β), (f b)⁻¹ = (∏' (b : β), f b)⁻¹
state_after: case pos
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : CommGroup α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalGroup α
f g : β → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : Multipliable f
⊢ ∏' (b : β), (f b)⁻¹ = (∏' (b : β), f b)⁻¹

case neg
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : CommGroup α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalGroup α
f g : β → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : ¬Multipliable f
⊢ ∏' (b : β), (f b)⁻¹ = (∏' (b : β), f b)⁻¹

tactic: exact hf.hasProd.inv.tprod_eq
state_before: case pos
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : CommGroup α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalGroup α
f g : β → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : Multipliable f
⊢ ∏' (b : β), (f b)⁻¹ = (∏' (b : β), f b)⁻¹
state_after: no goals

tactic: simp [tprod_eq_one_of_not_multipliable hf,
  tprod_eq_one_of_not_multipliable (mt Multipliable.of_inv hf)]
state_before: case neg
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝³ : CommGroup α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalGroup α
f g : β → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : ¬Multipliable f
⊢ ∏' (b : β), (f b)⁻¹ = (∏' (b : β), f b)⁻¹
state_after: no goals
Theorem: Polynomial.roots_X
File: Mathlib/Algebra/Polynomial/Roots.lean

tactic: rw [← roots_X_sub_C, C_0, sub_zero]
state_before: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p q : R[X]
⊢ X.roots = {0}
state_after: no goals
Theorem: Set.exists_subset_range_iff
File: Mathlib/Data/Set/Image.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s t : Set α
f : α → β
p : Set β → Prop
⊢ (∃ s, ∃ (_ : s ⊆ range f), p s) ↔ ∃ s, p (f '' s)
state_after: no goals
Theorem: MeasureTheory.measure_sUnion_null_iff
File: Mathlib/MeasureTheory/OuterMeasure/Basic.lean

tactic: rw [sUnion_eq_biUnion, measure_biUnion_null_iff hS]
state_before: α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
S : Set (Set α)
hS : S.Countable
⊢ μ (⋃₀ S) = 0 ↔ ∀ s ∈ S, μ s = 0
state_after: no goals
Theorem: MeasureTheory.Measure.setIntegral_condKernel_univ_left
File: Mathlib/Probability/Kernel/Disintegration/Integral.lean

tactic: rw [← setIntegral_condKernel MeasurableSet.univ ht hf]
state_before: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁵ : MeasurableSpace Ω
inst✝⁴ : StandardBorelSpace Ω
inst✝³ : Nonempty Ω
ρ : Measure (β × Ω)
inst✝² : IsFiniteMeasure ρ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) ρ
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂ρ.condKernel b ∂ρ.fst = ∫ (x : β × Ω) in Set.univ ×ˢ t, f x ∂ρ
state_after: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁵ : MeasurableSpace Ω
inst✝⁴ : StandardBorelSpace Ω
inst✝³ : Nonempty Ω
ρ : Measure (β × Ω)
inst✝² : IsFiniteMeasure ρ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) ρ
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂ρ.condKernel b ∂ρ.fst =
    ∫ (b : β) in Set.univ, ∫ (ω : Ω) in t, f (b, ω) ∂ρ.condKernel b ∂ρ.fst

tactic: simp_rw [Measure.restrict_univ]
state_before: α : Type u_1
β : Type u_2
Ω : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
inst✝⁵ : MeasurableSpace Ω
inst✝⁴ : StandardBorelSpace Ω
inst✝³ : Nonempty Ω
ρ : Measure (β × Ω)
inst✝² : IsFiniteMeasure ρ
E : Type u_4
f : β × Ω → E
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
t : Set Ω
ht : MeasurableSet t
hf : IntegrableOn f (Set.univ ×ˢ t) ρ
⊢ ∫ (b : β), ∫ (ω : Ω) in t, f (b, ω) ∂ρ.condKernel b ∂ρ.fst =
    ∫ (b : β) in Set.univ, ∫ (ω : Ω) in t, f (b, ω) ∂ρ.condKernel b ∂ρ.fst
state_after: no goals
Theorem: invOf_nonpos
File: Mathlib/Algebra/Order/Invertible.lean

tactic: simp only [← not_lt, invOf_pos]
state_before: α : Type u_1
inst✝¹ : LinearOrderedSemiring α
a : α
inst✝ : Invertible a
⊢ ⅟a ≤ 0 ↔ a ≤ 0
state_after: no goals
Theorem: Complex.sin_conj
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [← mul_left_inj' I_ne_zero, ← sinh_mul_I, ← conj_neg_I, ← RingHom.map_mul, ← RingHom.map_mul,
  sinh_conj, mul_neg, sinh_neg, sinh_mul_I, mul_neg]
state_before: x y : ℂ
⊢ sin ((starRingEnd ℂ) x) = (starRingEnd ℂ) (sin x)
state_after: no goals
Theorem: Nat.factorization_prod_pow_eq_self
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: rw [factorization_eq_factors_multiset n]
state_before: a b m n✝ p n : ℕ
hn : n ≠ 0
⊢ (n.factorization.prod fun x x_1 => x ^ x_1) = n
state_after: a b m n✝ p n : ℕ
hn : n ≠ 0
⊢ ((Multiset.toFinsupp ↑n.factors).prod fun x x_1 => x ^ x_1) = n

tactic: simp only [← prod_toMultiset, factorization, Multiset.prod_coe, Multiset.toFinsupp_toMultiset]
state_before: a b m n✝ p n : ℕ
hn : n ≠ 0
⊢ ((Multiset.toFinsupp ↑n.factors).prod fun x x_1 => x ^ x_1) = n
state_after: a b m n✝ p n : ℕ
hn : n ≠ 0
⊢ n.factors.prod = n

tactic: exact prod_factors hn
state_before: a b m n✝ p n : ℕ
hn : n ≠ 0
⊢ n.factors.prod = n
state_after: no goals
Theorem: CategoryTheory.isCoseparating_op_iff
File: Mathlib/CategoryTheory/Generator.lean

tactic: refine ⟨fun h𝒢 X Y f g hfg => ?_, fun h𝒢 X Y f g hfg => ?_⟩
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
⊢ IsCoseparating 𝒢.op ↔ IsSeparating 𝒢
state_after: case refine_1
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsCoseparating 𝒢.op
X Y : C
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢, ∀ (h : G ⟶ X), h ≫ f = h ≫ g
⊢ f = g

case refine_2
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsSeparating 𝒢
X Y : Cᵒᵖ
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢.op, ∀ (h : Y ⟶ G), f ≫ h = g ≫ h
⊢ f = g

tactic: refine Quiver.Hom.op_inj (h𝒢 _ _ fun G hG h => Quiver.Hom.unop_inj ?_)
state_before: case refine_1
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsCoseparating 𝒢.op
X Y : C
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢, ∀ (h : G ⟶ X), h ≫ f = h ≫ g
⊢ f = g
state_after: case refine_1
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsCoseparating 𝒢.op
X Y : C
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢, ∀ (h : G ⟶ X), h ≫ f = h ≫ g
G : Cᵒᵖ
hG : G ∈ 𝒢.op
h : { unop := X } ⟶ G
⊢ (f.op ≫ h).unop = (g.op ≫ h).unop

tactic: simpa only [unop_comp, Quiver.Hom.unop_op] using hfg _ (Set.mem_op.1 hG) _
state_before: case refine_1
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsCoseparating 𝒢.op
X Y : C
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢, ∀ (h : G ⟶ X), h ≫ f = h ≫ g
G : Cᵒᵖ
hG : G ∈ 𝒢.op
h : { unop := X } ⟶ G
⊢ (f.op ≫ h).unop = (g.op ≫ h).unop
state_after: no goals

tactic: refine Quiver.Hom.unop_inj (h𝒢 _ _ fun G hG h => Quiver.Hom.op_inj ?_)
state_before: case refine_2
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsSeparating 𝒢
X Y : Cᵒᵖ
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢.op, ∀ (h : Y ⟶ G), f ≫ h = g ≫ h
⊢ f = g
state_after: case refine_2
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsSeparating 𝒢
X Y : Cᵒᵖ
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢.op, ∀ (h : Y ⟶ G), f ≫ h = g ≫ h
G : C
hG : G ∈ 𝒢
h : G ⟶ Y.unop
⊢ (h ≫ f.unop).op = (h ≫ g.unop).op

tactic: simpa only [op_comp, Quiver.Hom.op_unop] using hfg _ (Set.op_mem_op.2 hG) _
state_before: case refine_2
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
𝒢 : Set C
h𝒢 : IsSeparating 𝒢
X Y : Cᵒᵖ
f g : X ⟶ Y
hfg : ∀ G ∈ 𝒢.op, ∀ (h : Y ⟶ G), f ≫ h = g ≫ h
G : C
hG : G ∈ 𝒢
h : G ⟶ Y.unop
⊢ (h ≫ f.unop).op = (h ≫ g.unop).op
state_after: no goals
Theorem: Cardinal.card_typein_lt
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: rw [← lt_ord, h]
state_before: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
x : α
h : (#α).ord = type r
⊢ (typein r x).card < #α
state_after: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
x : α
h : (#α).ord = type r
⊢ typein r x < type r

tactic: apply typein_lt_type
state_before: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
x : α
h : (#α).ord = type r
⊢ typein r x < type r
state_after: no goals
Theorem: MeasurableEmbedding.setIntegral_map
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: rw [hf.restrict_map, hf.integral_map]
state_before: X : Type u_1
Y✝ : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g✝ : X → E
s✝ t : Set X
μ ν : Measure X
l l' : Filter X
Y : Type u_5
x✝ : MeasurableSpace Y
f : X → Y
hf : MeasurableEmbedding f
g : Y → E
s : Set Y
⊢ ∫ (y : Y) in s, g y ∂Measure.map f μ = ∫ (x : X) in f ⁻¹' s, g (f x) ∂μ
state_after: no goals
Theorem: Finset.Ioc_mul_Ico_subset'
File: Mathlib/Data/Finset/Pointwise/Interval.lean

tactic: simpa using Set.Ioc_mul_Ico_subset' _ _ _ _
state_before: α : Type u_1
inst✝⁵ : Mul α
inst✝⁴ : PartialOrder α
inst✝³ : DecidableEq α
inst✝² : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝¹ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
inst✝ : LocallyFiniteOrder α
a b c d : α
⊢ ↑(Ioc a b * Ico c d) ⊆ ↑(Ioo (a * c) (b * d))
state_after: no goals
Theorem: PresheafOfModules.Derivation.congr_d
File: Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean

tactic: rw [h]
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
S : Cᵒᵖ ⥤ CommRingCat
F : C ⥤ D
S' R : Dᵒᵖ ⥤ CommRingCat
M N : PresheafOfModules (R ⋙ forget₂ CommRingCat RingCat)
φ : S ⟶ F.op ⋙ R
φ' : S' ⟶ R
d d' : M.Derivation φ
h : d = d'
X : Dᵒᵖ
b : ↑(R.obj X)
⊢ d.d b = d'.d b
state_after: no goals
Theorem: Matrix.UnitaryGroup.toGL_one
File: Mathlib/LinearAlgebra/UnitaryGroup.lean

tactic: simp only [coe_toGL, toLin'_one]
state_before: n : Type u
inst✝³ : DecidableEq n
inst✝² : Fintype n
α : Type v
inst✝¹ : CommRing α
inst✝ : StarRing α
A : Matrix n n α
⊢ ↑(toGL 1) = ↑1
state_after: n : Type u
inst✝³ : DecidableEq n
inst✝² : Fintype n
α : Type v
inst✝¹ : CommRing α
inst✝ : StarRing α
A : Matrix n n α
⊢ LinearMap.id = ↑1

tactic: rfl
state_before: n : Type u
inst✝³ : DecidableEq n
inst✝² : Fintype n
α : Type v
inst✝¹ : CommRing α
inst✝ : StarRing α
A : Matrix n n α
⊢ LinearMap.id = ↑1
state_after: no goals
Theorem: Cardinal.card_le_iff
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: rw [lt_ord, lt_succ_iff]
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{u_3}
c : Cardinal.{u_3}
⊢ o.card ≤ c ↔ o < (succ c).ord
state_after: no goals