tasksource/leandojo huggingface dataset:
Theorem: MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNN_tendsto
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: rw [FiniteMeasure.tendsto_iff_forall_toWeakDualBCNN_tendsto]
state_before: Ω : Type u_2
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.142439
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
inst✝ : OpensMeasurableSpace Ω
γ : Type u_1
F : Filter γ
μs : γ → FiniteMeasure Ω
μ : FiniteMeasure Ω
⊢ Tendsto μs F (𝓝 μ) ↔ ∀ (f : Ω →ᵇ ℝ≥0), Tendsto (fun i => testAgainstNN (μs i) f) F (𝓝 (testAgainstNN μ f))

tactic: rfl
state_before: Ω : Type u_2
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.142439
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
inst✝ : OpensMeasurableSpace Ω
γ : Type u_1
F : Filter γ
μs : γ → FiniteMeasure Ω
μ : FiniteMeasure Ω
⊢ (∀ (f : Ω →ᵇ ℝ≥0), Tendsto (fun i => ↑(toWeakDualBCNN (μs i)) f) F (𝓝 (↑(toWeakDualBCNN μ) f))) ↔
    ∀ (f : Ω →ᵇ ℝ≥0), Tendsto (fun i => testAgainstNN (μs i) f) F (𝓝 (testAgainstNN μ f))
Theorem: Part.fix_eq
File: Mathlib/Control/LawfulFix.lean

tactic: rw [fix_eq_ωSup f, hc]
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ Part.fix ↑f = ↑f (Part.fix ↑f)

tactic: apply le_antisymm
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) = ωSup (Chain.map (approxChain f) f)

tactic: apply ωSup_le_ωSup_of_le _
state_before: case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) ≤ ωSup (Chain.map (approxChain f) f)

tactic: intro i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ approxChain f ≤ Chain.map (approxChain f) f

tactic: exists i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, ↑(approxChain f) i ≤ ↑(Chain.map (approxChain f) f) j

tactic: intro x
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ↑(approxChain f) i ≤ ↑(Chain.map (approxChain f) f) i

tactic: apply le_f_of_mem_approx _ ⟨i, rfl⟩
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
x : α✝
⊢ ↑(approxChain f) i x ≤ ↑(Chain.map (approxChain f) f) i x

tactic: apply ωSup_le_ωSup_of_le _
state_before: case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (Chain.map (approxChain f) f) ≤ ωSup (approxChain f)

tactic: intro i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ Chain.map (approxChain f) f ≤ approxChain f

tactic: exists i.succ
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type ?u.14701
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, ↑(Chain.map (approxChain f) f) i ≤ ↑(approxChain f) j
Theorem: CategoryTheory.HasLiftingProperty.of_arrow_iso_right
File: Mathlib/CategoryTheory/LiftingProperties/Basic.lean

tactic: rw [Arrow.iso_w' e]
state_before: C : Type u_2
inst✝ : Category C
A✝ B✝ B' X✝ Y✝ Y'✝ : C
i✝ : A✝ ⟶ B✝
i' : B✝ ⟶ B'
p✝ : X✝ ⟶ Y✝
p'✝ : Y✝ ⟶ Y'✝
A B X Y X' Y' : C
i : A ⟶ B
p : X ⟶ Y
p' : X' ⟶ Y'
e : Arrow.mk p ≅ Arrow.mk p'
hip : HasLiftingProperty i p
⊢ HasLiftingProperty i p'

tactic: infer_instance
state_before: C : Type u_2
inst✝ : Category C
A✝ B✝ B' X✝ Y✝ Y'✝ : C
i✝ : A✝ ⟶ B✝
i' : B✝ ⟶ B'
p✝ : X✝ ⟶ Y✝
p'✝ : Y✝ ⟶ Y'✝
A B X Y X' Y' : C
i : A ⟶ B
p : X ⟶ Y
p' : X' ⟶ Y'
e : Arrow.mk p ≅ Arrow.mk p'
hip : HasLiftingProperty i p
⊢ HasLiftingProperty i (e.inv.left ≫ p ≫ e.hom.right)
Theorem: PartENat.coe_lt_coe
File: Mathlib/Data/Nat/PartENat.lean

tactic: rw [lt_iff_le_not_le, lt_iff_le_not_le, coe_le_coe, coe_le_coe]
state_before: x y : ℕ
⊢ ↑x < ↑y ↔ x < y
Theorem: StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: refine' ⟨h.1.mono hts, mono (fun y hy ↦ _) h.2⟩
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.49347
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftPropWithinAt P g s x
hts : t ⊆ s
⊢ LiftPropWithinAt P g t x

tactic: simp only [mfld_simps] at hy
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.49347
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftPropWithinAt P g s x
hts : t ⊆ s
y : H
hy : y ∈ ↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' t
⊢ y ∈ ↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s

tactic: simp only [hy, hts _, mfld_simps]
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.49347
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftPropWithinAt P g s x
hts : t ⊆ s
y : H
hy : ↑(LocalHomeomorph.symm (chartAt H x)) y ∈ t
⊢ y ∈ ↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s
Theorem: Stream'.WSeq.head_nil
File: Mathlib/Data/Seq/WSeq.lean

tactic: simp [head]
state_before: α : Type u
β : Type v
γ : Type w
⊢ head nil = Computation.pure none
Theorem: Submodule.inf_orthogonal_eq_bot
File: Mathlib/Analysis/InnerProductSpace/Orthogonal.lean

tactic: rw [eq_bot_iff]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.37226
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
⊢ K ⊓ Kᗮ = ⊥

tactic: intro x
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.37226
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
⊢ K ⊓ Kᗮ ≤ ⊥

tactic: rw [mem_inf]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.37226
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x : E
⊢ x ∈ K ⊓ Kᗮ → x ∈ ⊥

tactic: exact fun ⟨hx, ho⟩ => inner_self_eq_zero.1 (ho x hx)
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.37226
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x : E
⊢ x ∈ K ∧ x ∈ Kᗮ → x ∈ ⊥
Theorem: RatFunc.map_injective
File: Mathlib/FieldTheory/RatFunc.lean

tactic: rintro ⟨x⟩ ⟨y⟩ h
state_before: K : Type u
inst✝⁵ : CommRing K
G₀ : Type ?u.685775
L : Type ?u.685778
R : Type u_2
S : Type u_3
F : Type u_1
inst✝⁴ : CommGroupWithZero G₀
inst✝³ : Field L
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : MonoidHomClass F R[X] S[X]
φ : F
hφ : R[X]⁰ ≤ Submonoid.comap φ S[X]⁰
hf : Function.Injective ↑φ
⊢ Function.Injective ↑(map φ hφ)

tactic: induction x using Localization.induction_on
state_before: case ofFractionRing.ofFractionRing
K : Type u
inst✝⁵ : CommRing K
G₀ : Type ?u.685775
L : Type ?u.685778
R : Type u_2
S : Type u_3
F : Type u_1
inst✝⁴ : CommGroupWithZero G₀
inst✝³ : Field L
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : MonoidHomClass F R[X] S[X]
φ : F
hφ : R[X]⁰ ≤ Submonoid.comap φ S[X]⁰
hf : Function.Injective ↑φ
x y : FractionRing R[X]
h : ↑(map φ hφ) { toFractionRing := x } = ↑(map φ hφ) { toFractionRing := y }
⊢ { toFractionRing := x } = { toFractionRing := y }

tactic: induction y using Localization.induction_on
state_before: case ofFractionRing.ofFractionRing.H
K : Type u
inst✝⁵ : CommRing K
G₀ : Type ?u.685775
L : Type ?u.685778
R : Type u_2
S : Type u_3
F : Type u_1
inst✝⁴ : CommGroupWithZero G₀
inst✝³ : Field L
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : MonoidHomClass F R[X] S[X]
φ : F
hφ : R[X]⁰ ≤ Submonoid.comap φ S[X]⁰
hf : Function.Injective ↑φ
y : FractionRing R[X]
y✝ : R[X] × { x // x ∈ R[X]⁰ }
h : ↑(map φ hφ) { toFractionRing := Localization.mk y✝.fst y✝.snd } = ↑(map φ hφ) { toFractionRing := y }
⊢ { toFractionRing := Localization.mk y✝.fst y✝.snd } = { toFractionRing := y }

tactic: simpa only [map_apply_ofFractionRing_mk, ofFractionRing_injective.eq_iff,
  Localization.mk_eq_mk_iff, Localization.r_iff_exists, mul_cancel_left_coe_nonZeroDivisors,
  exists_const, ← map_mul, hf.eq_iff] using h
state_before: case ofFractionRing.ofFractionRing.H.H
K : Type u
inst✝⁵ : CommRing K
G₀ : Type ?u.685775
L : Type ?u.685778
R : Type u_2
S : Type u_3
F : Type u_1
inst✝⁴ : CommGroupWithZero G₀
inst✝³ : Field L
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : MonoidHomClass F R[X] S[X]
φ : F
hφ : R[X]⁰ ≤ Submonoid.comap φ S[X]⁰
hf : Function.Injective ↑φ
y✝¹ y✝ : R[X] × { x // x ∈ R[X]⁰ }
h :
  ↑(map φ hφ) { toFractionRing := Localization.mk y✝¹.fst y✝¹.snd } =
    ↑(map φ hφ) { toFractionRing := Localization.mk y✝.fst y✝.snd }
⊢ { toFractionRing := Localization.mk y✝¹.fst y✝¹.snd } = { toFractionRing := Localization.mk y✝.fst y✝.snd }
Theorem: Set.einfsep_iUnion_mem_option
File: Mathlib/Topology/MetricSpace/Infsep.lean

tactic: cases o <;> simp
state_before: α : Type u_2
β : Type ?u.18395
inst✝ : EDist α
x y : α
s✝ t : Set α
ι : Type u_1
o : Option ι
s : ι → Set α
⊢ einfsep (⋃ (i : ι) (_ : i ∈ o), s i) = ⨅ (i : ι) (_ : i ∈ o), einfsep (s i)
Theorem: Multiset.map_comp_cons
File: Mathlib/Data/Multiset/Basic.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.114268
f : α → β
t : α
⊢ map f ∘ cons t = cons (f t) ∘ map f

tactic: simp
state_before: case h
α : Type u_1
β : Type u_2
γ : Type ?u.114268
f : α → β
t : α
x✝ : Multiset α
⊢ (map f ∘ cons t) x✝ = (cons (f t) ∘ map f) x✝
Theorem: omegaLimit_image_eq
File: Mathlib/Dynamics/OmegaLimit.lean

tactic: simp only [omegaLimit, image2_image_right]
state_before: τ : Type u_2
α : Type u_4
β : Type u_3
ι : Type ?u.26859
inst✝ : TopologicalSpace β
f✝ : Filter τ
ϕ✝ : τ → α → β
s s₁ s₂ : Set α
α' : Type u_1
ϕ : τ → α' → β
f : Filter τ
g : α → α'
⊢ ω f ϕ (g '' s) = ω f (fun t x => ϕ t (g x)) s
Theorem: Metric.dist_le_diam_of_mem'
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: rw [diam, dist_edist]
state_before: α : Type u
β : Type v
X : Type ?u.532598
ι : Type ?u.532601
inst✝ : PseudoMetricSpace α
s : Set α
x y z : α
h : EMetric.diam s ≠ ⊤
hx : x ∈ s
hy : y ∈ s
⊢ dist x y ≤ diam s

tactic: rw [ENNReal.toReal_le_toReal (edist_ne_top _ _) h]
state_before: α : Type u
β : Type v
X : Type ?u.532598
ι : Type ?u.532601
inst✝ : PseudoMetricSpace α
s : Set α
x y z : α
h : EMetric.diam s ≠ ⊤
hx : x ∈ s
hy : y ∈ s
⊢ ENNReal.toReal (edist x y) ≤ ENNReal.toReal (EMetric.diam s)

tactic: exact EMetric.edist_le_diam_of_mem hx hy
state_before: α : Type u
β : Type v
X : Type ?u.532598
ι : Type ?u.532601
inst✝ : PseudoMetricSpace α
s : Set α
x y z : α
h : EMetric.diam s ≠ ⊤
hx : x ∈ s
hy : y ∈ s
⊢ edist x y ≤ EMetric.diam s
Theorem: Real.isTheta_exp_comp_one
File: Mathlib/Analysis/SpecialFunctions/Exp.lean

tactic: simp only [← exp_zero, isTheta_exp_comp_exp_comp, sub_zero]
state_before: α : Type u_1
x y z : ℝ
l : Filter α
f : α → ℝ
⊢ ((fun x => exp (f x)) =Θ[l] fun x => 1) ↔ IsBoundedUnder (fun x x_1 => x ≤ x_1) l fun x => abs (f x)
Theorem: Computation.liftRel_def
File: Mathlib/Data/Seq/Computation.lean

tactic: let ⟨b', mb', ab⟩ := h.left ma
state_before: α : Type u
β : Type v
γ : Type w
R : α → β → Prop
ca : Computation α
cb : Computation β
h : LiftRel R ca cb
a : α
b : β
ma : a ∈ ca
mb : b ∈ cb
⊢ R a b

tactic: rwa [mem_unique mb mb']
state_before: α : Type u
β : Type v
γ : Type w
R : α → β → Prop
ca : Computation α
cb : Computation β
h : LiftRel R ca cb
a : α
b : β
ma : a ∈ ca
mb : b ∈ cb
b' : β
mb' : b' ∈ cb
ab : R a b'
⊢ R a b
Theorem: RingHom.map_geom_sum
File: Mathlib/Algebra/GeomSum.lean

tactic: simp [f.map_sum]
state_before: α : Type u
β : Type u_1
inst✝¹ : Semiring α
inst✝ : Semiring β
x : α
n : ℕ
f : α →+* β
⊢ ↑f (∑ i in range n, x ^ i) = ∑ i in range n, ↑f x ^ i
Theorem: CategoryTheory.Limits.limit.lift_map
File: Mathlib/CategoryTheory/Limits/HasLimits.lean

tactic: ext
state_before: J : Type u₁
inst✝⁴ : Category J
K : Type u₂
inst✝³ : Category K
C : Type u
inst✝² : Category C
F✝ F G : J ⥤ C
inst✝¹ : HasLimit F
inst✝ : HasLimit G
c : Cone F
α : F ⟶ G
⊢ lift F c ≫ limMap α = lift G ((Cones.postcompose α).obj c)

tactic: rw [assoc, limMap_π, limit.lift_π_assoc, limit.lift_π]
state_before: case w
J : Type u₁
inst✝⁴ : Category J
K : Type u₂
inst✝³ : Category K
C : Type u
inst✝² : Category C
F✝ F G : J ⥤ C
inst✝¹ : HasLimit F
inst✝ : HasLimit G
c : Cone F
α : F ⟶ G
j✝ : J
⊢ (lift F c ≫ limMap α) ≫ π G j✝ = lift G ((Cones.postcompose α).obj c) ≫ π G j✝

tactic: rfl
state_before: case w
J : Type u₁
inst✝⁴ : Category J
K : Type u₂
inst✝³ : Category K
C : Type u
inst✝² : Category C
F✝ F G : J ⥤ C
inst✝¹ : HasLimit F
inst✝ : HasLimit G
c : Cone F
α : F ⟶ G
j✝ : J
⊢ c.π.app j✝ ≫ α.app j✝ = ((Cones.postcompose α).obj c).π.app j✝
Theorem: RingHom.map_fieldRange
File: Mathlib/FieldTheory/Subfield.lean

tactic: simpa only [fieldRange_eq_map] using (⊤ : Subfield K).map_map g f
state_before: K : Type u
L : Type v
M : Type w
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Field M
g : L →+* M
f : K →+* L
⊢ Subfield.map g (fieldRange f) = fieldRange (comp g f)
Theorem: Int.ball_eq_Ioo
File: Mathlib/Topology/Instances/Int.lean

tactic: rw [← preimage_ball, Real.ball_eq_Ioo, preimage_Ioo]
state_before: x : ℤ
r : ℝ
⊢ ball x r = Ioo ⌊↑x - r⌋ ⌈↑x + r⌉
Theorem: Cardinal.cantorFunctionAux_false
File: Mathlib/Data/Real/Cardinality.lean

tactic: simp [cantorFunctionAux, h]
state_before: c : ℝ
f g : ℕ → Bool
n : ℕ
h : f n = false
⊢ cantorFunctionAux c f n = 0
Theorem: Finset.image₂_inter_union_subset_union
File: Mathlib/Data/Finset/NAry.lean

tactic: push_cast
state_before: α : Type u_2
α' : Type ?u.100378
β : Type u_3
β' : Type ?u.100384
γ : Type u_1
γ' : Type ?u.100390
δ : Type ?u.100393
δ' : Type ?u.100396
ε : Type ?u.100399
ε' : Type ?u.100402
ζ : Type ?u.100405
ζ' : Type ?u.100408
ν : Type ?u.100411
inst✝⁹ : DecidableEq α'
inst✝⁸ : DecidableEq β'
inst✝⁷ : DecidableEq γ
inst✝⁶ : DecidableEq γ'
inst✝⁵ : DecidableEq δ
inst✝⁴ : DecidableEq δ'
inst✝³ : DecidableEq ε
inst✝² : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
⊢ ↑(image₂ f (s ∩ s') (t ∪ t')) ⊆ ↑(image₂ f s t ∪ image₂ f s' t')

tactic: exact Set.image2_inter_union_subset_union
state_before: α : Type u_2
α' : Type ?u.100378
β : Type u_3
β' : Type ?u.100384
γ : Type u_1
γ' : Type ?u.100390
δ : Type ?u.100393
δ' : Type ?u.100396
ε : Type ?u.100399
ε' : Type ?u.100402
ζ : Type ?u.100405
ζ' : Type ?u.100408
ν : Type ?u.100411
inst✝⁹ : DecidableEq α'
inst✝⁸ : DecidableEq β'
inst✝⁷ : DecidableEq γ
inst✝⁶ : DecidableEq γ'
inst✝⁵ : DecidableEq δ
inst✝⁴ : DecidableEq δ'
inst✝³ : DecidableEq ε
inst✝² : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
⊢ image2 f (↑s ∩ ↑s') (↑t ∪ ↑t') ⊆ image2 f ↑s ↑t ∪ image2 f ↑s' ↑t'
Theorem: reflection_mem_subspace_orthogonalComplement_eq_neg
File: Mathlib/Analysis/InnerProductSpace/Projection.lean

tactic: simp [reflection_apply, orthogonalProjection_mem_subspace_orthogonalComplement_eq_zero hv]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.834026
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : CompleteSpace { x // x ∈ K }
v : E
hv : v ∈ Kᗮ
⊢ ↑(reflection K) v = -v
Theorem: Std.PairingHeapImp.Heap.noSibling_tail
File: Std/Data/PairingHeap.lean

tactic: simp only [Heap.tail]
state_before: α : Type u_1
le : α → α → Bool
s : Heap α
⊢ NoSibling (tail le s)

tactic: match eq : s.tail? le with
| none => cases s with cases eq | nil => constructor
| some tl => exact Heap.noSibling_tail? eq
state_before: α : Type u_1
le : α → α → Bool
s : Heap α
⊢ NoSibling (Option.getD (tail? le s) nil)

tactic: cases s with cases eq | nil => constructor
state_before: α : Type u_1
le : α → α → Bool
s : Heap α
eq : tail? le s = none
⊢ NoSibling (Option.getD none nil)

tactic: constructor
state_before: case nil.refl
α : Type u_1
le : α → α → Bool
⊢ NoSibling (Option.getD none nil)

tactic: exact Heap.noSibling_tail? eq
state_before: α : Type u_1
le : α → α → Bool
s tl : Heap α
eq : tail? le s = some tl
⊢ NoSibling (Option.getD (some tl) nil)
Theorem: Sym2.diag_injective
File: Mathlib/Data/Sym/Sym2.lean

tactic: cases Quotient.exact h <;> rfl
state_before: α : Type u_1
β : Type ?u.40168
γ : Type ?u.40171
x y : α
h : diag x = diag y
⊢ x = y
Theorem: SimpleGraph.edge_other_incident_set
File: Mathlib/Combinatorics/SimpleGraph/Basic.lean

tactic: use h.1
state_before: ι : Sort ?u.149788
𝕜 : Type ?u.149791
V : Type u
W : Type v
X : Type w
G : SimpleGraph V
G' : SimpleGraph W
a b c u v✝ w : V
e✝ : Sym2 V
inst✝ : DecidableEq V
v : V
e : Sym2 V
h : e ∈ incidenceSet G v
⊢ e ∈ incidenceSet G (otherVertexOfIncident G h)

tactic: simp [otherVertexOfIncident, Sym2.other_mem']
state_before: ι : Sort ?u.149788
𝕜 : Type ?u.149791
V : Type u
W : Type v
X : Type w
G : SimpleGraph V
G' : SimpleGraph W
a b c u v✝ w : V
e✝ : Sym2 V
inst✝ : DecidableEq V
v : V
e : Sym2 V
h : e ∈ incidenceSet G v
⊢ otherVertexOfIncident G h ∈ e
Theorem: Submodule.fg_top
File: Mathlib/RingTheory/Finiteness.lean

tactic: rwa [map_top, range_subtype]
state_before: R : Type u_1
M : Type u_2
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
P : Type ?u.199269
inst✝¹ : AddCommMonoid P
inst✝ : Module R P
f : M →ₗ[R] P
N : Submodule R M
h : FG N
⊢ FG (map (Submodule.subtype N) ⊤)
Theorem: Polynomial.poly_binom_aux2
File: Mathlib/Data/Polynomial/Identities.lean

tactic: unfold eval
state_before: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a b : R
m n : ℕ
inst✝ : CommRing R
f : R[X]
x y : R
⊢ eval (x + y) f = sum f fun e a => a * (x ^ e + ↑e * x ^ (e - 1) * y + ↑(Polynomial.polyBinomAux1 x y e a) * y ^ 2)

tactic: rw [eval₂_eq_sum]
state_before: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a b : R
m n : ℕ
inst✝ : CommRing R
f : R[X]
x y : R
⊢ eval₂ (RingHom.id R) (x + y) f =
    sum f fun e a => a * (x ^ e + ↑e * x ^ (e - 1) * y + ↑(Polynomial.polyBinomAux1 x y e a) * y ^ 2)

tactic: congr with (n z)
state_before: R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a b : R
m n : ℕ
inst✝ : CommRing R
f : R[X]
x y : R
⊢ (sum f fun e a => ↑(RingHom.id R) a * (x + y) ^ e) =
    sum f fun e a => a * (x ^ e + ↑e * x ^ (e - 1) * y + ↑(Polynomial.polyBinomAux1 x y e a) * y ^ 2)

tactic: apply (polyBinomAux1 x y _ _).property
state_before: case e_f.h.h
R : Type u
S : Type v
T : Type w
ι : Type x
k : Type y
A : Type z
a b : R
m n✝ : ℕ
inst✝ : CommRing R
f : R[X]
x y : R
n : ℕ
z : R
⊢ ↑(RingHom.id R) z * (x + y) ^ n = z * (x ^ n + ↑n * x ^ (n - 1) * y + ↑(Polynomial.polyBinomAux1 x y n z) * y ^ 2)
Theorem: SimpleGraph.Walk.IsEulerian.isTrail
File: Mathlib/Combinatorics/SimpleGraph/Trails.lean

tactic: rw [isTrail_def, List.nodup_iff_count_le_one]
state_before: V : Type u_1
G : SimpleGraph V
inst✝ : DecidableEq V
u v : V
p : Walk G u v
h : IsEulerian p
⊢ IsTrail p

tactic: intro e
state_before: V : Type u_1
G : SimpleGraph V
inst✝ : DecidableEq V
u v : V
p : Walk G u v
h : IsEulerian p
⊢ ∀ (a : Sym2 V), List.count a (edges p) ≤ 1

tactic: by_cases he : e ∈ p.edges
state_before: V : Type u_1
G : SimpleGraph V
inst✝ : DecidableEq V
u v : V
p : Walk G u v
h : IsEulerian p
e : Sym2 V
⊢ List.count e (edges p) ≤ 1

tactic: exact (h e (edges_subset_edgeSet _ he)).le
state_before: case pos
V : Type u_1
G : SimpleGraph V
inst✝ : DecidableEq V
u v : V
p : Walk G u v
h : IsEulerian p
e : Sym2 V
he : e ∈ edges p
⊢ List.count e (edges p) ≤ 1

tactic: simp [he]
state_before: case neg
V : Type u_1
G : SimpleGraph V
inst✝ : DecidableEq V
u v : V
p : Walk G u v
h : IsEulerian p
e : Sym2 V
he : ¬e ∈ edges p
⊢ List.count e (edges p) ≤ 1
Theorem: FirstOrder.Language.Structure.FG.map_of_surjective
File: Mathlib/ModelTheory/FinitelyGenerated.lean

tactic: rw [← Hom.range_eq_top] at hs
state_before: L : Language
M : Type u_4
inst✝¹ : Structure L M
N : Type u_1
inst✝ : Structure L N
h : FG L M
f : M →[L] N
hs : Function.Surjective ↑f
⊢ FG L N

tactic: rw [fg_def, ← hs]
state_before: L : Language
M : Type u_4
inst✝¹ : Structure L M
N : Type u_1
inst✝ : Structure L N
h : FG L M
f : M →[L] N
hs : Hom.range f = ⊤
⊢ FG L N

tactic: exact h.range f
state_before: L : Language
M : Type u_4
inst✝¹ : Structure L M
N : Type u_1
inst✝ : Structure L N
h : FG L M
f : M →[L] N
hs : Hom.range f = ⊤
⊢ Substructure.FG (Hom.range f)
Theorem: intervalIntegral.abs_integral_le_integral_abs
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simpa only [← Real.norm_eq_abs] using norm_integral_le_integral_norm hab
state_before: ι : Type ?u.20745139
𝕜 : Type ?u.20745142
E : Type ?u.20745145
F : Type ?u.20745148
A : Type ?u.20745151
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
f g : ℝ → ℝ
a b : ℝ
μ : MeasureTheory.Measure ℝ
hab : a ≤ b
⊢ abs (∫ (x : ℝ) in a..b, f x ∂μ) ≤ ∫ (x : ℝ) in a..b, abs (f x) ∂μ
Theorem: Submodule.rank_add_le_rank_add_rank
File: Mathlib/LinearAlgebra/Dimension.lean

tactic: rw [← Submodule.rank_sup_add_rank_inf_eq]
state_before: K : Type u
V V₁ V₂ V₃ : Type v
V' V'₁ : Type v'
V'' : Type v''
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type ?u.1021823
inst✝¹⁰ : DivisionRing K
inst✝⁹ : AddCommGroup V
inst✝⁸ : Module K V
inst✝⁷ : AddCommGroup V'
inst✝⁶ : Module K V'
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module K V₁
inst✝³ : AddCommGroup V₂
inst✝² : Module K V₂
inst✝¹ : AddCommGroup V₃
inst✝ : Module K V₃
s t : Submodule K V
⊢ Module.rank K { x // x ∈ s ⊔ t } ≤ Module.rank K { x // x ∈ s } + Module.rank K { x // x ∈ t }

tactic: exact self_le_add_right _ _
state_before: K : Type u
V V₁ V₂ V₃ : Type v
V' V'₁ : Type v'
V'' : Type v''
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type ?u.1021823
inst✝¹⁰ : DivisionRing K
inst✝⁹ : AddCommGroup V
inst✝⁸ : Module K V
inst✝⁷ : AddCommGroup V'
inst✝⁶ : Module K V'
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module K V₁
inst✝³ : AddCommGroup V₂
inst✝² : Module K V₂
inst✝¹ : AddCommGroup V₃
inst✝ : Module K V₃
s t : Submodule K V
⊢ Module.rank K { x // x ∈ s ⊔ t } ≤ Module.rank K { x // x ∈ s ⊔ t } + Module.rank K { x // x ∈ s ⊓ t }
Theorem: Complex.comap_exp_nhds_zero
File: Mathlib/Analysis/SpecialFunctions/Exp.lean

tactic: rw [Real.comap_exp_nhds_zero]
state_before: ⊢ comap re (comap Real.exp (𝓝 0)) = comap re atBot
Theorem: PosNum.add_succ
File: Mathlib/Data/Num/Lemmas.lean

tactic: simp [one_add]
state_before: α : Type ?u.79617
b : PosNum
⊢ 1 + succ b = succ (1 + b)