tasksource/leandojo huggingface dataset:
Theorem: map_hnot
File: Mathlib/Order/Heyting/Hom.lean

tactic: rw [← top_sdiff', ← top_sdiff', map_sdiff, map_top]
state_before: F : Type u_3
α : Type u_2
β : Type u_1
γ : Type ?u.37721
δ : Type ?u.37724
inst✝² : CoheytingAlgebra α
inst✝¹ : CoheytingAlgebra β
inst✝ : CoheytingHomClass F α β
f : F
a : α
⊢ ↑f (￢a) = ￢↑f a
Theorem: intervalIntegral.integral_comp_smul_deriv''
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: refine'
  integral_comp_smul_deriv''' hf hff' (hg.mono <| image_subset _ Ioo_subset_Icc_self) _
    (hf'.smul (hg.comp hf <| subset_preimage_image f _)).integrableOn_Icc
state_before: ι : Type ?u.1904826
𝕜 : Type ?u.1904829
E : Type u_1
F : Type ?u.1904835
A : Type ?u.1904838
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g✝ φ : ℝ → ℝ
f✝ f'✝ : ℝ → E
a b : ℝ
f f' : ℝ → ℝ
g : ℝ → E
hf : ContinuousOn f [[a, b]]
hff' : ∀ (x : ℝ), x ∈ Ioo (min a b) (max a b) → HasDerivWithinAt f (f' x) (Ioi x) x
hf' : ContinuousOn f' [[a, b]]
hg : ContinuousOn g (f '' [[a, b]])
⊢ (∫ (x : ℝ) in a..b, f' x • (g ∘ f) x) = ∫ (u : ℝ) in f a..f b, g u

tactic: rw [hf.image_uIcc] at hg ⊢
state_before: ι : Type ?u.1904826
𝕜 : Type ?u.1904829
E : Type u_1
F : Type ?u.1904835
A : Type ?u.1904838
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g✝ φ : ℝ → ℝ
f✝ f'✝ : ℝ → E
a b : ℝ
f f' : ℝ → ℝ
g : ℝ → E
hf : ContinuousOn f [[a, b]]
hff' : ∀ (x : ℝ), x ∈ Ioo (min a b) (max a b) → HasDerivWithinAt f (f' x) (Ioi x) x
hf' : ContinuousOn f' [[a, b]]
hg : ContinuousOn g (f '' [[a, b]])
⊢ IntegrableOn g (f '' [[a, b]])

tactic: exact hg.integrableOn_Icc
state_before: ι : Type ?u.1904826
𝕜 : Type ?u.1904829
E : Type u_1
F : Type ?u.1904835
A : Type ?u.1904838
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f✝¹ : ℝ → E
g' g✝ φ : ℝ → ℝ
f✝ f'✝ : ℝ → E
a b : ℝ
f f' : ℝ → ℝ
g : ℝ → E
hf : ContinuousOn f [[a, b]]
hff' : ∀ (x : ℝ), x ∈ Ioo (min a b) (max a b) → HasDerivWithinAt f (f' x) (Ioi x) x
hf' : ContinuousOn f' [[a, b]]
hg : ContinuousOn g [[sInf (f '' [[a, b]]), sSup (f '' [[a, b]])]]
⊢ IntegrableOn g [[sInf (f '' [[a, b]]), sSup (f '' [[a, b]])]]
Theorem: Mathlib.Meta.NormNum.isInt_cast
File: Mathlib/Tactic/NormNum/Basic.lean

tactic: rintro ⟨⟨⟩⟩
state_before: R : Type u_1
inst✝ : Ring R
n m : ℤ
⊢ IsInt n m → IsInt (↑n) m

tactic: exact ⟨rfl⟩
state_before: case mk.refl
R : Type u_1
inst✝ : Ring R
m : ℤ
⊢ IsInt (↑↑m) m
Theorem: Homeomorph.comp_isOpenMap_iff'
File: Mathlib/Topology/Homeomorph.lean

tactic: refine' ⟨_, fun hf => hf.comp h.isOpenMap⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type ?u.72743
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
f : β → γ
⊢ IsOpenMap (f ∘ ↑h) ↔ IsOpenMap f

tactic: intro hf
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type ?u.72743
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
f : β → γ
⊢ IsOpenMap (f ∘ ↑h) → IsOpenMap f

tactic: rw [← Function.comp.right_id f, ← h.self_comp_symm, ← Function.comp.assoc]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type ?u.72743
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
f : β → γ
hf : IsOpenMap (f ∘ ↑h)
⊢ IsOpenMap f

tactic: exact hf.comp h.symm.isOpenMap
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type ?u.72743
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
f : β → γ
hf : IsOpenMap (f ∘ ↑h)
⊢ IsOpenMap ((f ∘ ↑h) ∘ ↑(Homeomorph.symm h))
Theorem: List.foldl_map
File: Std/Data/List/Lemmas.lean

tactic: induction l generalizing init <;> simp [*]
state_before: β₁ : Type u_1
β₂ : Type u_2
α : Type u_3
f : β₁ → β₂
g : α → β₂ → α
l : List β₁
init : α
⊢ foldl g init (map f l) = foldl (fun x y => g x (f y)) init l
Theorem: Lagrange.values_eq_on_of_interpolate_eq
File: Mathlib/LinearAlgebra/Lagrange.lean

tactic: rw [← eval_interpolate_at_node r hvs hi, hrr', eval_interpolate_at_node r' hvs hi]
state_before: F : Type u_2
inst✝¹ : Field F
ι : Type u_1
inst✝ : DecidableEq ι
s t : Finset ι
i j : ι
v r r' : ι → F
hvs : Set.InjOn v ↑s
hrr' : ↑(interpolate s v) r = ↑(interpolate s v) r'
x✝ : ι
hi : x✝ ∈ s
⊢ r x✝ = r' x✝
Theorem: MeasureTheory.FinStronglyMeasurable.sup
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: refine'
  ⟨fun n => hf.approx n ⊔ hg.approx n, fun n => _, fun x =>
    (hf.tendsto_approx x).sup_right_nhds (hg.tendsto_approx x)⟩
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.278636
ι : Type ?u.278639
inst✝⁴ : Countable ι
m0 : MeasurableSpace α
μ : Measure α
f g : α → β
inst✝³ : TopologicalSpace β
inst✝² : Zero β
inst✝¹ : SemilatticeSup β
inst✝ : ContinuousSup β
hf : FinStronglyMeasurable f μ
hg : FinStronglyMeasurable g μ
⊢ FinStronglyMeasurable (f ⊔ g) μ

tactic: refine' (measure_mono (support_sup _ _)).trans_lt _
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.278636
ι : Type ?u.278639
inst✝⁴ : Countable ι
m0 : MeasurableSpace α
μ : Measure α
f g : α → β
inst✝³ : TopologicalSpace β
inst✝² : Zero β
inst✝¹ : SemilatticeSup β
inst✝ : ContinuousSup β
hf : FinStronglyMeasurable f μ
hg : FinStronglyMeasurable g μ
n : ℕ
⊢ ↑↑μ (support ↑((fun n => FinStronglyMeasurable.approx hf n ⊔ FinStronglyMeasurable.approx hg n) n)) < ⊤

tactic: exact measure_union_lt_top_iff.mpr ⟨hf.fin_support_approx n, hg.fin_support_approx n⟩
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.278636
ι : Type ?u.278639
inst✝⁴ : Countable ι
m0 : MeasurableSpace α
μ : Measure α
f g : α → β
inst✝³ : TopologicalSpace β
inst✝² : Zero β
inst✝¹ : SemilatticeSup β
inst✝ : ContinuousSup β
hf : FinStronglyMeasurable f μ
hg : FinStronglyMeasurable g μ
n : ℕ
⊢ ↑↑μ
      ((support fun x => ↑(FinStronglyMeasurable.approx hf n) x) ∪
        support fun x => ↑(FinStronglyMeasurable.approx hg n) x) <
    ⊤
Theorem: Rel.core_univ
File: Mathlib/Data/Rel.lean

tactic: simp [mem_core]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.23811
r : Rel α β
⊢ ∀ (x : α), x ∈ core r Set.univ ↔ x ∈ Set.univ
Theorem: Complex.closure_setOf_re_lt
File: Mathlib/Analysis/Complex/ReImTopology.lean

tactic: simpa only [closure_Iio] using closure_preimage_re (Iio a)
state_before: a : ℝ
⊢ closure {z | z.re < a} = {z | z.re ≤ a}
Theorem: Complex.I_zpow_bit1
File: Mathlib/Data/Complex/Basic.lean

tactic: rw [zpow_bit1', I_mul_I]
state_before: n : ℤ
⊢ I ^ bit1 n = (-1) ^ n * I
Theorem: MeasureTheory.Subsingleton.stronglyMeasurable'
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: rw [Subsingleton.elim x y]
state_before: α✝ : Type ?u.21646
β✝ : Type ?u.21649
γ : Type ?u.21652
ι : Type ?u.21655
inst✝³ : Countable ι
α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
inst✝¹ : TopologicalSpace β
inst✝ : Subsingleton α
f : α → β
x y : α
⊢ f x = f y
Theorem: FirstOrder.Language.Substructure.subset_closure_withConstants
File: Mathlib/ModelTheory/Substructures.lean

tactic: intro a ha
state_before: L : Language
M : Type w
N : Type ?u.681989
P : Type ?u.681992
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
A s : Set M
h : A ⊆ ↑S
⊢ A ⊆ ↑(LowerAdjoint.toFun (closure (L[[↑A]])) s)

tactic: simp only [SetLike.mem_coe]
state_before: L : Language
M : Type w
N : Type ?u.681989
P : Type ?u.681992
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ ↑(LowerAdjoint.toFun (closure (L[[↑A]])) s)

tactic: let a' : L[[A]].Constants := Sum.inr ⟨a, ha⟩
state_before: L : Language
M : Type w
N : Type ?u.681989
P : Type ?u.681992
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ LowerAdjoint.toFun (closure (L[[↑A]])) s

tactic: exact constants_mem a'
state_before: L : Language
M : Type w
N : Type ?u.681989
P : Type ?u.681992
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
a' : Language.Constants (L[[↑A]]) := Sum.inr { val := a, property := ha }
⊢ a ∈ LowerAdjoint.toFun (closure (L[[↑A]])) s
Theorem: Finset.one_lt_prod
File: Mathlib/Algebra/BigOperators/Order.lean

tactic: rw [prod_const_one]
state_before: ι : Type u_1
α : Type ?u.135473
β : Type ?u.135476
M : Type u_2
N : Type ?u.135482
G : Type ?u.135485
k : Type ?u.135488
R : Type ?u.135491
inst✝ : OrderedCancelCommMonoid M
f g : ι → M
s t : Finset ι
h : ∀ (i : ι), i ∈ s → 1 < f i
hs : Finset.Nonempty s
⊢ 1 ≤ ∏ i in s, 1
Theorem: intervalIntegral.integral_comp_add_div
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simpa only [div_eq_inv_mul, inv_inv] using integral_comp_add_mul f (inv_ne_zero hc) d
state_before: ι : Type ?u.14902596
𝕜 : Type ?u.14902599
E : Type u_1
F : Type ?u.14902605
A : Type ?u.14902608
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
hc : c ≠ 0
d : ℝ
⊢ (∫ (x : ℝ) in a..b, f (d + x / c)) = c • ∫ (x : ℝ) in d + a / c..d + b / c, f x
Theorem: Multiset.disjoint_union_right
File: Mathlib/Data/Multiset/Basic.lean

tactic: simp [Disjoint, or_imp, forall_and]
state_before: α : Type u_1
β : Type ?u.501362
γ : Type ?u.501365
inst✝ : DecidableEq α
s t u : Multiset α
⊢ Disjoint s (t ∪ u) ↔ Disjoint s t ∧ Disjoint s u
Theorem: Complex.cpow_int_cast
File: Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean

tactic: simp
state_before: x : ℂ
n : ℕ
⊢ x ^ ↑↑n = x ^ ↑n

tactic: rw [zpow_negSucc]
state_before: x : ℂ
n : ℕ
⊢ x ^ ↑-[n+1] = x ^ -[n+1]

tactic: simp only [Int.negSucc_coe, Int.cast_neg, Complex.cpow_neg, inv_eq_one_div, Int.cast_ofNat,
  cpow_nat_cast]
state_before: x : ℂ
n : ℕ
⊢ x ^ ↑-[n+1] = (x ^ (n + 1))⁻¹
Theorem: Complex.UnitDisc.coe_ne_neg_one
File: Mathlib/Analysis/Complex/UnitDisc/Basic.lean

tactic: rw [abs.map_neg, map_one]
state_before: z : 𝔻
⊢ ↑abs ↑z ≠ ↑abs (-1)

tactic: exact z.abs_ne_one
state_before: z : 𝔻
⊢ ↑abs ↑z ≠ 1
Theorem: AffineMap.lineMap_vadd_apply
File: Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean

tactic: rw [lineMap_apply, vadd_vsub]
state_before: k : Type u_2
V1 : Type u_3
P1 : Type u_1
V2 : Type ?u.423603
P2 : Type ?u.423606
V3 : Type ?u.423609
P3 : Type ?u.423612
V4 : Type ?u.423615
P4 : Type ?u.423618
inst✝¹² : Ring k
inst✝¹¹ : AddCommGroup V1
inst✝¹⁰ : Module k V1
inst✝⁹ : AffineSpace V1 P1
inst✝⁸ : AddCommGroup V2
inst✝⁷ : Module k V2
inst✝⁶ : AffineSpace V2 P2
inst✝⁵ : AddCommGroup V3
inst✝⁴ : Module k V3
inst✝³ : AffineSpace V3 P3
inst✝² : AddCommGroup V4
inst✝¹ : Module k V4
inst✝ : AffineSpace V4 P4
p : P1
v : V1
c : k
⊢ ↑(lineMap p (v +ᵥ p)) c = c • v +ᵥ p
Theorem: Submodule.ker_mkQ
File: Mathlib/LinearAlgebra/Quotient.lean

tactic: ext
state_before: R : Type u_2
M : Type u_1
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type ?u.220917
M₂ : Type ?u.220920
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
⊢ ker (mkQ p) = p

tactic: simp
state_before: case h
R : Type u_2
M : Type u_1
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p' : Submodule R M
R₂ : Type ?u.220917
M₂ : Type ?u.220920
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
x✝ : M
⊢ x✝ ∈ ker (mkQ p) ↔ x✝ ∈ p
Theorem: pow_two
File: Mathlib/Algebra/GroupPower/Basic.lean

tactic: rw [pow_succ, pow_one]
state_before: α : Type ?u.11869
M : Type u
N : Type v
G : Type w
H : Type x
A : Type y
B : Type z
R : Type u₁
S : Type u₂
inst✝¹ : Monoid M
inst✝ : AddMonoid A
a : M
⊢ a ^ 2 = a * a
Theorem: is_const_of_fderiv_eq_zero
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: rw [fderivWithin_univ]
state_before: E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.251275
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_1
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x✝² y✝ : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : Differentiable 𝕜 f
hf' : ∀ (x : E), fderiv 𝕜 f x = 0
x✝¹ y x : E
x✝ : x ∈ univ
⊢ fderivWithin 𝕜 f univ x = 0

tactic: exact hf' x
state_before: E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.251275
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_1
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x✝² y✝ : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : Differentiable 𝕜 f
hf' : ∀ (x : E), fderiv 𝕜 f x = 0
x✝¹ y x : E
x✝ : x ∈ univ
⊢ fderiv 𝕜 f x = 0
Theorem: Option.map_comp_map
File: Std/Data/Option/Lemmas.lean

tactic: funext x
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f : α → β
g : β → γ
⊢ Option.map g ∘ Option.map f = Option.map (g ∘ f)

tactic: simp
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
f : α → β
g : β → γ
x : Option α
⊢ (Option.map g ∘ Option.map f) x = Option.map (g ∘ f) x
Theorem: BoundedContinuousFunction.coe_zsmulRec
File: Mathlib/Topology/ContinuousFunction/Bounded.lean

tactic: rw [zsmulRec, Int.ofNat_eq_coe, coe_nsmulRec, coe_nat_zsmul]
state_before: F : Type ?u.1031657
α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : SeminormedAddCommGroup β
f g : α →ᵇ β
x : α
C : ℝ
n : ℕ
⊢ ↑(zsmulRec (Int.ofNat n) f) = Int.ofNat n • ↑f

tactic: rw [zsmulRec, negSucc_zsmul, coe_neg, coe_nsmulRec]
state_before: F : Type ?u.1031657
α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : SeminormedAddCommGroup β
f g : α →ᵇ β
x : α
C : ℝ
n : ℕ
⊢ ↑(zsmulRec (Int.negSucc n) f) = Int.negSucc n • ↑f
Theorem: Ordnode.Valid'.rotateR
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: refine' Valid'.dual_iff.2 _
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ Valid' o₁ (Ordnode.rotateR l x r) o₂

tactic: rw [dual_rotateR]
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ Valid' o₂ (Ordnode.dual (Ordnode.rotateR l x r)) o₁

tactic: refine' hr.dual.rotateL hl.dual _ _ _
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ Valid' o₂ (Ordnode.rotateL (Ordnode.dual r) x (Ordnode.dual l)) o₁

tactic: rwa [size_dual, size_dual, add_comm]
state_before: case refine'_1
α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ ¬size (Ordnode.dual r) + size (Ordnode.dual l) ≤ 1

tactic: rwa [size_dual, size_dual]
state_before: case refine'_2
α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ delta * size (Ordnode.dual r) < size (Ordnode.dual l)

tactic: rwa [size_dual, size_dual]
state_before: case refine'_3
α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H1 : ¬size l + size r ≤ 1
H2 : delta * size r < size l
H3 : 2 * size l ≤ 9 * size r + 5 ∨ size l ≤ 3
⊢ 2 * size (Ordnode.dual l) ≤ 9 * size (Ordnode.dual r) + 5 ∨ size (Ordnode.dual l) ≤ 3
Theorem: Real.mk_one
File: Mathlib/Data/Real/Basic.lean

tactic: rw [← ofCauchy_one]
state_before: x y : ℝ
⊢ mk 1 = 1

tactic: rfl
state_before: x y : ℝ
⊢ mk 1 = { cauchy := 1 }
Theorem: Set.LeftInvOn.image_image
File: Mathlib/Data/Set/Function.lean

tactic: rw [Set.image_image, image_congr hf, image_id']
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.60024
ι : Sort ?u.60027
π : α → Type ?u.60032
s s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a : α
b : β
hf : LeftInvOn f' f s
⊢ f' '' (f '' s) = s
Theorem: IsPathConnected.isConnected
File: Mathlib/Topology/PathConnected.lean

tactic: rw [isConnected_iff_connectedSpace]
state_before: X : Type u_1
Y : Type ?u.695184
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type ?u.695199
F : Set X
hF : IsPathConnected F
⊢ IsConnected F

tactic: rw [isPathConnected_iff_pathConnectedSpace] at hF
state_before: X : Type u_1
Y : Type ?u.695184
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type ?u.695199
F : Set X
hF : IsPathConnected F
⊢ ConnectedSpace ↑F

tactic: exact @PathConnectedSpace.connectedSpace _ _ hF
state_before: X : Type u_1
Y : Type ?u.695184
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type ?u.695199
F : Set X
hF : PathConnectedSpace ↑F
⊢ ConnectedSpace ↑F
Theorem: CategoryTheory.Limits.HasZeroMorphisms.ext
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: apply ext_aux
state_before: C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
⊢ I = J

tactic: intro X Y
state_before: case w
C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
⊢ ∀ (X Y : C), Zero.zero = Zero.zero

tactic: have : (I.Zero X Y).zero ≫ (J.Zero Y Y).zero = (I.Zero X Y).zero := by
  apply I.zero_comp X (J.Zero Y Y).zero
state_before: case w
C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
X Y : C
⊢ Zero.zero = Zero.zero

tactic: have that : (I.Zero X Y).zero ≫ (J.Zero Y Y).zero = (J.Zero X Y).zero := by
  apply J.comp_zero (I.Zero X Y).zero Y
state_before: case w
C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
X Y : C
this : Zero.zero ≫ Zero.zero = Zero.zero
⊢ Zero.zero = Zero.zero

tactic: rw[←this,←that]
state_before: case w
C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
X Y : C
this : Zero.zero ≫ Zero.zero = Zero.zero
that : Zero.zero ≫ Zero.zero = Zero.zero
⊢ Zero.zero = Zero.zero

tactic: apply I.zero_comp X (J.Zero Y Y).zero
state_before: C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
X Y : C
⊢ Zero.zero ≫ Zero.zero = Zero.zero

tactic: apply J.comp_zero (I.Zero X Y).zero Y
state_before: C : Type u
inst✝¹ : Category C
D : Type u'
inst✝ : Category D
I J : HasZeroMorphisms C
X Y : C
this : Zero.zero ≫ Zero.zero = Zero.zero
⊢ Zero.zero ≫ Zero.zero = Zero.zero
Theorem: CategoryTheory.Limits.hasZeroObject_of_hasInitial_object
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: refine' ⟨⟨⊥_ C, fun X => ⟨⟨⟨0⟩, by aesop_cat⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩⟩⟩
state_before: C : Type u
inst✝³ : Category C
D : Type u'
inst✝² : Category D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
⊢ HasZeroObject C

tactic: calc
  f = f ≫ 𝟙 _ := (Category.comp_id _).symm
  _ = f ≫ 0 := by congr!
  _ = 0 := HasZeroMorphisms.comp_zero _ _
state_before: C : Type u
inst✝³ : Category C
D : Type u'
inst✝² : Category D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ f = default

tactic: aesop_cat
state_before: C : Type u
inst✝³ : Category C
D : Type u'
inst✝² : Category D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
⊢ ∀ (a : ⊥_ C ⟶ X), a = default

tactic: congr!
state_before: C : Type u
inst✝³ : Category C
D : Type u'
inst✝² : Category D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasInitial C
X : C
f : X ⟶ ⊥_ C
⊢ f ≫ 𝟙 (⊥_ C) = f ≫ 0
Theorem: Module.Ray.ne_neg_self
File: Mathlib/LinearAlgebra/Ray.lean

tactic: induction' x using Module.Ray.ind with x hx
state_before: R : Type u_1
inst✝⁵ : StrictOrderedCommRing R
M : Type u_2
N : Type ?u.180935
inst✝⁴ : AddCommGroup M
inst✝³ : AddCommGroup N
inst✝² : Module R M
inst✝¹ : Module R N
x✝ y : M
inst✝ : NoZeroSMulDivisors R M
x : Ray R M
⊢ x ≠ -x

tactic: rw [neg_rayOfNeZero, Ne.def, ray_eq_iff]
state_before: case h
R : Type u_1
inst✝⁵ : StrictOrderedCommRing R
M : Type u_2
N : Type ?u.180935
inst✝⁴ : AddCommGroup M
inst✝³ : AddCommGroup N
inst✝² : Module R M
inst✝¹ : Module R N
x✝ y : M
inst✝ : NoZeroSMulDivisors R M
x : M
hx : x ≠ 0
⊢ rayOfNeZero R x hx ≠ -rayOfNeZero R x hx

tactic: exact mt eq_zero_of_sameRay_self_neg hx
state_before: case h
R : Type u_1
inst✝⁵ : StrictOrderedCommRing R
M : Type u_2
N : Type ?u.180935
inst✝⁴ : AddCommGroup M
inst✝³ : AddCommGroup N
inst✝² : Module R M
inst✝¹ : Module R N
x✝ y : M
inst✝ : NoZeroSMulDivisors R M
x : M
hx : x ≠ 0
⊢ ¬SameRay R x (-x)
Theorem: preimage_coe_mem_nhds_subtype
File: Mathlib/Topology/ContinuousOn.lean

tactic: rw [← map_nhds_subtype_val, mem_map]
state_before: α : Type u_1
β : Type ?u.304580
γ : Type ?u.304583
δ : Type ?u.304586
inst✝ : TopologicalSpace α
s t : Set α
a : ↑s
⊢ Subtype.val ⁻¹' t ∈ 𝓝 a ↔ t ∈ 𝓝[s] ↑a
Theorem: isClosed_imp
File: Mathlib/Topology/Basic.lean

tactic: simpa only [imp_iff_not_or] using hp.isClosed_compl.union hq
state_before: α : Type u
β : Type v
ι : Sort w
a : α
s s₁ s₂ t : Set α
p✝ p₁ p₂ : α → Prop
inst✝ : TopologicalSpace α
p q : α → Prop
hp : IsOpen {x | p x}
hq : IsClosed {x | q x}
⊢ IsClosed {x | p x → q x}
Theorem: MeasureTheory.ae_le_of_forall_set_integral_le
File: Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean

tactic: rw [← eventually_sub_nonneg]
state_before: α : Type u_1
E : Type ?u.79505
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f g : α → ℝ
hf : Integrable f
hg : Integrable g
hf_le : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → (∫ (x : α) in s, f x ∂μ) ≤ ∫ (x : α) in s, g x ∂μ
⊢ f ≤ᵐ[μ] g

tactic: refine' ae_nonneg_of_forall_set_integral_nonneg (hg.sub hf) fun s hs => _
state_before: α : Type u_1
E : Type ?u.79505
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f g : α → ℝ
hf : Integrable f
hg : Integrable g
hf_le : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → (∫ (x : α) in s, f x ∂μ) ≤ ∫ (x : α) in s, g x ∂μ
⊢ 0 ≤ᵐ[μ] g - f

tactic: rw [integral_sub' hg.integrableOn hf.integrableOn, sub_nonneg]
state_before: α : Type u_1
E : Type ?u.79505
m m0 : MeasurableSpace α
μ : Measure α
s✝ t : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f g : α → ℝ
hf : Integrable f
hg : Integrable g
hf_le : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → (∫ (x : α) in s, f x ∂μ) ≤ ∫ (x : α) in s, g x ∂μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, (g - f) x ∂μ

tactic: exact hf_le s hs
state_before: α : Type u_1
E : Type ?u.79505
m m0 : MeasurableSpace α
μ : Measure α
s✝ t : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f g : α → ℝ
hf : Integrable f
hg : Integrable g
hf_le : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → (∫ (x : α) in s, f x ∂μ) ≤ ∫ (x : α) in s, g x ∂μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑μ s < ⊤ → (∫ (a : α) in s, f a ∂μ) ≤ ∫ (a : α) in s, g a ∂μ
Theorem: ENNReal.toReal_div
File: Mathlib/Data/Real/ENNReal.lean

tactic: rw [div_eq_mul_inv, toReal_mul, toReal_inv, div_eq_mul_inv]
state_before: α : Type ?u.837272
β : Type ?u.837275
a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
a b : ℝ≥0∞
⊢ ENNReal.toReal (a / b) = ENNReal.toReal a / ENNReal.toReal b
Theorem: Submodule.FG.sup
File: Mathlib/RingTheory/Finiteness.lean

tactic: rw [span_union, ht₁.2, ht₂.2]
state_before: R : Type u_1
M : Type u_2
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
N₁ N₂ : Submodule R M
hN₁ : FG N₁
hN₂ : FG N₂
t₁ : Set M
ht₁ : Set.Finite t₁ ∧ span R t₁ = N₁
t₂ : Set M
ht₂ : Set.Finite t₂ ∧ span R t₂ = N₂
⊢ span R (t₁ ∪ t₂) = N₁ ⊔ N₂