tasksource/leandojo huggingface dataset:
Theorem: ediam_smul₀
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: refine' le_antisymm (ediam_smul_le c s) _
state_before: 𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
c : 𝕜
s : Set E
⊢ EMetric.diam (c • s) = ‖c‖₊ • EMetric.diam s

tactic: obtain rfl | hc := eq_or_ne c 0
state_before: 𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
c : 𝕜
s : Set E
⊢ ‖c‖₊ • EMetric.diam s ≤ EMetric.diam (c • s)

tactic: obtain rfl | hs := s.eq_empty_or_nonempty
state_before: case inl
𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
s : Set E
⊢ ‖0‖₊ • EMetric.diam s ≤ EMetric.diam (0 • s)

tactic: simp [zero_smul_set hs, ← Set.singleton_zero]
state_before: case inl.inr
𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
s : Set E
hs : Set.Nonempty s
⊢ ‖0‖₊ • EMetric.diam s ≤ EMetric.diam (0 • s)

tactic: simp
state_before: case inl.inl
𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
⊢ ‖0‖₊ • EMetric.diam ∅ ≤ EMetric.diam (0 • ∅)

tactic: have := (lipschitzWith_smul c⁻¹).ediam_image_le (c • s)
state_before: case inr
𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
c : 𝕜
s : Set E
hc : c ≠ 0
⊢ ‖c‖₊ • EMetric.diam s ≤ EMetric.diam (c • s)

tactic: rwa [← smul_eq_mul, ← ENNReal.smul_def, Set.image_smul, inv_smul_smul₀ hc s, nnnorm_inv,
  ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
state_before: case inr
𝕜 : Type u_2
E : Type u_1
inst✝³ : NormedDivisionRing 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : BoundedSMul 𝕜 E
c : 𝕜
s : Set E
hc : c ≠ 0
this : EMetric.diam ((fun x x_1 => x • x_1) c⁻¹ '' (c • s)) ≤ ↑‖c⁻¹‖₊ * EMetric.diam (c • s)
⊢ ‖c‖₊ • EMetric.diam s ≤ EMetric.diam (c • s)
Theorem: MeasureTheory.QuasiMeasurePreserving.prod_of_right
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: refine' ⟨hf, _⟩
state_before: α : Type u_1
α' : Type ?u.4534735
β : Type u_2
β' : Type ?u.4534741
γ : Type u_3
E : Type ?u.4534747
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ✝ μ' : Measure α
ν✝ ν' : Measure β
τ✝ : Measure γ
inst✝¹ : NormedAddCommGroup E
f : α × β → γ
μ : Measure α
ν : Measure β
τ : Measure γ
hf : Measurable f
inst✝ : SigmaFinite ν
h2f : ∀ᵐ (x : α) ∂μ, QuasiMeasurePreserving fun y => f (x, y)
⊢ QuasiMeasurePreserving f

tactic: refine' AbsolutelyContinuous.mk fun s hs h2s => _
state_before: α : Type u_1
α' : Type ?u.4534735
β : Type u_2
β' : Type ?u.4534741
γ : Type u_3
E : Type ?u.4534747
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ✝ μ' : Measure α
ν✝ ν' : Measure β
τ✝ : Measure γ
inst✝¹ : NormedAddCommGroup E
f : α × β → γ
μ : Measure α
ν : Measure β
τ : Measure γ
hf : Measurable f
inst✝ : SigmaFinite ν
h2f : ∀ᵐ (x : α) ∂μ, QuasiMeasurePreserving fun y => f (x, y)
⊢ map f (Measure.prod μ ν) ≪ τ

tactic: rw [map_apply hf hs, prod_apply (hf hs)]
state_before: α : Type u_1
α' : Type ?u.4534735
β : Type u_2
β' : Type ?u.4534741
γ : Type u_3
E : Type ?u.4534747
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ✝ μ' : Measure α
ν✝ ν' : Measure β
τ✝ : Measure γ
inst✝¹ : NormedAddCommGroup E
f : α × β → γ
μ : Measure α
ν : Measure β
τ : Measure γ
hf : Measurable f
inst✝ : SigmaFinite ν
h2f : ∀ᵐ (x : α) ∂μ, QuasiMeasurePreserving fun y => f (x, y)
s : Set γ
hs : MeasurableSet s
h2s : ↑↑τ s = 0
⊢ ↑↑(map f (Measure.prod μ ν)) s = 0

tactic: simp_rw [preimage_preimage]
state_before: α : Type u_1
α' : Type ?u.4534735
β : Type u_2
β' : Type ?u.4534741
γ : Type u_3
E : Type ?u.4534747
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ✝ μ' : Measure α
ν✝ ν' : Measure β
τ✝ : Measure γ
inst✝¹ : NormedAddCommGroup E
f : α × β → γ
μ : Measure α
ν : Measure β
τ : Measure γ
hf : Measurable f
inst✝ : SigmaFinite ν
h2f : ∀ᵐ (x : α) ∂μ, QuasiMeasurePreserving fun y => f (x, y)
s : Set γ
hs : MeasurableSet s
h2s : ↑↑τ s = 0
⊢ (∫⁻ (x : α), ↑↑ν (Prod.mk x ⁻¹' (f ⁻¹' s)) ∂μ) = 0

tactic: rw [lintegral_congr_ae (h2f.mono fun x hx => hx.preimage_null h2s), lintegral_zero]
state_before: α : Type u_1
α' : Type ?u.4534735
β : Type u_2
β' : Type ?u.4534741
γ : Type u_3
E : Type ?u.4534747
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ✝ μ' : Measure α
ν✝ ν' : Measure β
τ✝ : Measure γ
inst✝¹ : NormedAddCommGroup E
f : α × β → γ
μ : Measure α
ν : Measure β
τ : Measure γ
hf : Measurable f
inst✝ : SigmaFinite ν
h2f : ∀ᵐ (x : α) ∂μ, QuasiMeasurePreserving fun y => f (x, y)
s : Set γ
hs : MeasurableSet s
h2s : ↑↑τ s = 0
⊢ (∫⁻ (x : α), ↑↑ν ((fun x_1 => f (x, x_1)) ⁻¹' s) ∂μ) = 0
Theorem: MeasureTheory.OuterMeasure.iSup_apply
File: Mathlib/MeasureTheory/Measure/OuterMeasure.lean

tactic: rw [iSup, sSup_apply, iSup_range, iSup]
state_before: α : Type u_2
β : Type ?u.67250
R : Type ?u.67253
R' : Type ?u.67256
ms : Set (OuterMeasure α)
m : OuterMeasure α
ι : Sort u_1
f : ι → OuterMeasure α
s : Set α
⊢ ↑(⨆ (i : ι), f i) s = ⨆ (i : ι), ↑(f i) s
Theorem: fderiv_iteratedFDeriv
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rw [iteratedFDeriv_succ_eq_comp_left]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
n : ℕ
⊢ fderiv 𝕜 (iteratedFDeriv 𝕜 n f) =
    ↑(LinearIsometryEquiv.symm (continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F)) ∘ iteratedFDeriv 𝕜 (n + 1) f

tactic: ext1 x
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
n : ℕ
⊢ fderiv 𝕜 (iteratedFDeriv 𝕜 n f) =
    ↑(LinearIsometryEquiv.symm (continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F)) ∘
      ↑(continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F) ∘ fderiv 𝕜 (iteratedFDeriv 𝕜 n f)

tactic: simp only [Function.comp_apply, LinearIsometryEquiv.symm_apply_apply]
state_before: case h
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
n : ℕ
x : E
⊢ fderiv 𝕜 (iteratedFDeriv 𝕜 n f) x =
    (↑(LinearIsometryEquiv.symm (continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F)) ∘
        ↑(continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F) ∘ fderiv 𝕜 (iteratedFDeriv 𝕜 n f))
      x
Theorem: Filter.rmap_rmap
File: Mathlib/Order/Filter/Partial.lean

tactic: simp [rmap_sets, Set.preimage, Rel.core_comp]
state_before: α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter α
⊢ (rmap s (rmap r l)).sets = (rmap (Rel.comp r s) l).sets
Theorem: balanced_empty
File: Mathlib/Analysis/LocallyConvex/Basic.lean

tactic: rw [smul_set_empty]
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.11887
E : Type u_2
ι : Sort ?u.11893
κ : ι → Sort ?u.11898
inst✝¹ : SeminormedRing 𝕜
inst✝ : SMul 𝕜 E
s t u v A B : Set E
x✝¹ : 𝕜
x✝ : ‖x✝¹‖ ≤ 1
⊢ x✝¹ • ∅ ⊆ ∅
Theorem: Dfinsupp.neLocus_eq_empty
File: Mathlib/Data/Dfinsupp/NeLocus.lean

tactic: simp only [neLocus, Ne.def, eq_self_iff_true, not_true, Finset.filter_False]
state_before: α : Type u_1
N : α → Type u_2
inst✝² : DecidableEq α
inst✝¹ : (a : α) → DecidableEq (N a)
inst✝ : (a : α) → Zero (N a)
f✝ g✝ f g : Π₀ (a : α), N a
h : f = g
⊢ neLocus f f = ∅
Theorem: Complex.cpow_sub
File: Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean

tactic: rw [sub_eq_add_neg, cpow_add _ _ hx, cpow_neg, div_eq_mul_inv]
state_before: x y z : ℂ
hx : x ≠ 0
⊢ x ^ (y - z) = x ^ y / x ^ z
Theorem: Polynomial.natDegree_mem_support_of_nonzero
File: Mathlib/Data/Polynomial/Degree/Definitions.lean

tactic: rw [mem_support_iff]
state_before: R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p q : R[X]
ι : Type ?u.515454
H : p ≠ 0
⊢ natDegree p ∈ support p

tactic: exact (not_congr leadingCoeff_eq_zero).mpr H
state_before: R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p q : R[X]
ι : Type ?u.515454
H : p ≠ 0
⊢ coeff p (natDegree p) ≠ 0
Theorem: WittVector.mapFun.zsmul
File: Mathlib/RingTheory/WittVector/Basic.lean

tactic: map_fun_tac
state_before: p : ℕ
R : Type u_2
S : Type u_1
T : Type ?u.411235
hp : Fact (Nat.Prime p)
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : CommRing T
α : Type ?u.411250
β : Type ?u.411253
f : R →+* S
x y : 𝕎 R
z : ℤ
⊢ mapFun (↑f) (z • x) = z • mapFun (↑f) x
Theorem: Finset.filter_product
File: Mathlib/Data/Finset/Prod.lean

tactic: ext ⟨a, b⟩
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.23162
s s' : Finset α
t t' : Finset β
a : α
b : β
p : α → Prop
q : β → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
⊢ filter (fun x => p x.fst ∧ q x.snd) (s ×ˢ t) = filter p s ×ˢ filter q t

tactic: simp [mem_filter, mem_product, decide_eq_true_eq, and_comm, and_left_comm, and_assoc]
state_before: case a.mk
α : Type u_1
β : Type u_2
γ : Type ?u.23162
s s' : Finset α
t t' : Finset β
a✝ : α
b✝ : β
p : α → Prop
q : β → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
a : α
b : β
⊢ (a, b) ∈ filter (fun x => p x.fst ∧ q x.snd) (s ×ˢ t) ↔ (a, b) ∈ filter p s ×ˢ filter q t
Theorem: AddCommGroup.modEq_iff_eq_mod_zmultiples
File: Mathlib/Algebra/ModEq.lean

tactic: simp_rw [modEq_iff_eq_add_zsmul, QuotientAddGroup.eq_iff_sub_mem, AddSubgroup.mem_zmultiples_iff,
  eq_sub_iff_add_eq', eq_comm]
state_before: α : Type u_1
inst✝ : AddCommGroup α
p a a₁ a₂ b b₁ b₂ c : α
n : ℕ
z : ℤ
⊢ a ≡ b [PMOD p] ↔ ↑b = ↑a
Theorem: Function.mulSupport_mul_inv
File: Mathlib/Algebra/Support.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.40597
A : Type ?u.40600
B : Type ?u.40603
M : Type ?u.40606
N : Type ?u.40609
P : Type ?u.40612
R : Type ?u.40615
S : Type ?u.40618
G : Type u_2
M₀ : Type ?u.40624
G₀ : Type ?u.40627
ι : Sort ?u.40630
inst✝ : DivisionMonoid G
f g : α → G
⊢ (fun a b => a * b⁻¹) 1 1 = 1
Theorem: Filter.Tendsto.update
File: Mathlib/Topology/Constructions.lean

tactic: rcases eq_or_ne j i with (rfl | hj) <;> simp [*, hf.apply]
state_before: α : Type u
β : Type v
γ : Type ?u.207058
δ : Type ?u.207061
ε : Type ?u.207064
ζ : Type ?u.207067
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.207078
inst✝² : TopologicalSpace α
inst✝¹ : (i : ι) → TopologicalSpace (π i)
f✝ : α → (i : ι) → π i
inst✝ : DecidableEq ι
l : Filter β
f : β → (i : ι) → π i
x : (i : ι) → π i
hf : Tendsto f l (𝓝 x)
i : ι
g : β → π i
xi : π i
hg : Tendsto g l (𝓝 xi)
j : ι
⊢ Tendsto (fun i_1 => Function.update (f i_1) i (g i_1) j) l (𝓝 (Function.update x i xi j))
Theorem: LocalHomeomorph.extend_symm_preimage_inter_range_eventuallyEq_aux
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

tactic: rw [f.extend_target, inter_assoc, inter_comm (range I)]
state_before: 𝕜 : Type u_4
E : Type u_3
M : Type u_1
H : Type u_2
E' : Type ?u.162184
M' : Type ?u.162187
H' : Type ?u.162190
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : TopologicalSpace H
inst✝⁴ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
inst✝¹ : TopologicalSpace H'
inst✝ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s✝ t s : Set M
x : M
hx : x ∈ f.source
⊢ ↑(LocalEquiv.symm (extend f I)) ⁻¹' s ∩ range ↑I =ᶠ[𝓝 (↑(extend f I) x)]
    (extend f I).target ∩ ↑(LocalEquiv.symm (extend f I)) ⁻¹' s

tactic: refine' (eventuallyEq_univ.mpr _).symm.inter EventuallyEq.rfl
state_before: 𝕜 : Type u_4
E : Type u_3
M : Type u_1
H : Type u_2
E' : Type ?u.162184
M' : Type ?u.162187
H' : Type ?u.162190
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : TopologicalSpace H
inst✝⁴ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
inst✝¹ : TopologicalSpace H'
inst✝ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s✝ t s : Set M
x : M
hx : x ∈ f.source
⊢ univ ∩ (↑(LocalEquiv.symm (extend f I)) ⁻¹' s ∩ range ↑I) =ᶠ[𝓝 (↑(extend f I) x)]
    ↑(ModelWithCorners.symm I) ⁻¹' f.target ∩ (↑(LocalEquiv.symm (extend f I)) ⁻¹' s ∩ range ↑I)

tactic: refine' I.continuousAt_symm.preimage_mem_nhds (f.open_target.mem_nhds _)
state_before: 𝕜 : Type u_4
E : Type u_3
M : Type u_1
H : Type u_2
E' : Type ?u.162184
M' : Type ?u.162187
H' : Type ?u.162190
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : TopologicalSpace H
inst✝⁴ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
inst✝¹ : TopologicalSpace H'
inst✝ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s✝ t s : Set M
x : M
hx : x ∈ f.source
⊢ ↑(ModelWithCorners.symm I) ⁻¹' f.target ∈ 𝓝 (↑(extend f I) x)

tactic: simp_rw [f.extend_coe, Function.comp_apply, I.left_inv, f.mapsTo hx]
state_before: 𝕜 : Type u_4
E : Type u_3
M : Type u_1
H : Type u_2
E' : Type ?u.162184
M' : Type ?u.162187
H' : Type ?u.162190
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : TopologicalSpace H
inst✝⁴ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
inst✝¹ : TopologicalSpace H'
inst✝ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s✝ t s : Set M
x : M
hx : x ∈ f.source
⊢ ↑(ModelWithCorners.symm I) (↑(extend f I) x) ∈ f.target
Theorem: Submonoid.LocalizationMap.sec_spec'
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: rw [mul_comm, sec_spec]
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝¹ : CommMonoid N
P : Type ?u.309265
inst✝ : CommMonoid P
f : LocalizationMap S N
z : N
⊢ ↑(toMap f) (sec f z).fst = ↑(toMap f) ↑(sec f z).snd * z
Theorem: MeasureTheory.Integrable.inf
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: rw [← memℒp_one_iff_integrable] at hf hg⊢
state_before: α : Type u_2
β✝ : Type ?u.953675
γ : Type ?u.953678
δ : Type ?u.953681
m : MeasurableSpace α
μ ν : Measure α
inst✝³ : MeasurableSpace δ
inst✝² : NormedAddCommGroup β✝
inst✝¹ : NormedAddCommGroup γ
β : Type u_1
inst✝ : NormedLatticeAddCommGroup β
f g : α → β
hf : Integrable f
hg : Integrable g
⊢ Integrable (f ⊓ g)

tactic: exact hf.inf hg
state_before: α : Type u_2
β✝ : Type ?u.953675
γ : Type ?u.953678
δ : Type ?u.953681
m : MeasurableSpace α
μ ν : Measure α
inst✝³ : MeasurableSpace δ
inst✝² : NormedAddCommGroup β✝
inst✝¹ : NormedAddCommGroup γ
β : Type u_1
inst✝ : NormedLatticeAddCommGroup β
f g : α → β
hf : Memℒp f 1
hg : Memℒp g 1
⊢ Memℒp (f ⊓ g) 1
Theorem: lp.summable_inner
File: Mathlib/Analysis/InnerProductSpace/l2Space.lean

tactic: refine' summable_of_norm_bounded (fun i => ‖f i‖ * ‖g i‖) (lp.summable_mul _ f g) _
state_before: ι : Type u_1
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
E : Type ?u.47553
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
cplt : CompleteSpace E
G : ι → Type u_2
inst✝¹ : (i : ι) → NormedAddCommGroup (G i)
inst✝ : (i : ι) → InnerProductSpace 𝕜 (G i)
f g : { x // x ∈ lp G 2 }
⊢ Summable fun i => inner (↑f i) (↑g i)

tactic: intro i
state_before: case refine'_2
ι : Type u_1
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
E : Type ?u.47553
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
cplt : CompleteSpace E
G : ι → Type u_2
inst✝¹ : (i : ι) → NormedAddCommGroup (G i)
inst✝ : (i : ι) → InnerProductSpace 𝕜 (G i)
f g : { x // x ∈ lp G 2 }
⊢ ∀ (i : ι), ‖inner (↑f i) (↑g i)‖ ≤ (fun i => ‖↑f i‖ * ‖↑g i‖) i

tactic: exact norm_inner_le_norm (𝕜 := 𝕜) _ _
state_before: case refine'_2
ι : Type u_1
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
E : Type ?u.47553
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
cplt : CompleteSpace E
G : ι → Type u_2
inst✝¹ : (i : ι) → NormedAddCommGroup (G i)
inst✝ : (i : ι) → InnerProductSpace 𝕜 (G i)
f g : { x // x ∈ lp G 2 }
i : ι
⊢ ‖inner (↑f i) (↑g i)‖ ≤ (fun i => ‖↑f i‖ * ‖↑g i‖) i

tactic: rw [Real.isConjugateExponent_iff] <;> norm_num
state_before: case refine'_1
ι : Type u_1
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
E : Type ?u.47553
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
cplt : CompleteSpace E
G : ι → Type u_2
inst✝¹ : (i : ι) → NormedAddCommGroup (G i)
inst✝ : (i : ι) → InnerProductSpace 𝕜 (G i)
f g : { x // x ∈ lp G 2 }
⊢ Real.IsConjugateExponent (ENNReal.toReal 2) (ENNReal.toReal 2)
Theorem: Submodule.piQuotientLift_mk
File: Mathlib/LinearAlgebra/QuotientPi.lean

tactic: rw [piQuotientLift, lsum_apply, sum_apply, ← mkQ_apply, lsum_apply, sum_apply, _root_.map_sum]
state_before: ι : Type u_1
R : Type u_2
inst✝⁸ : CommRing R
Ms : ι → Type u_3
inst✝⁷ : (i : ι) → AddCommGroup (Ms i)
inst✝⁶ : (i : ι) → Module R (Ms i)
N : Type u_4
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
Ns : ι → Type ?u.16262
inst✝³ : (i : ι) → AddCommGroup (Ns i)
inst✝² : (i : ι) → Module R (Ns i)
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
p : (i : ι) → Submodule R (Ms i)
q : Submodule R N
f : (i : ι) → Ms i →ₗ[R] N
hf : ∀ (i : ι), p i ≤ comap (f i) q
x : (i : ι) → Ms i
⊢ (↑(piQuotientLift p q f hf) fun i => Quotient.mk (x i)) = Quotient.mk (↑(↑(lsum R (fun i => Ms i) R) f) x)

tactic: simp only [coe_proj, mapQ_apply, mkQ_apply, comp_apply]
state_before: ι : Type u_1
R : Type u_2
inst✝⁸ : CommRing R
Ms : ι → Type u_3
inst✝⁷ : (i : ι) → AddCommGroup (Ms i)
inst✝⁶ : (i : ι) → Module R (Ms i)
N : Type u_4
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
Ns : ι → Type ?u.16262
inst✝³ : (i : ι) → AddCommGroup (Ns i)
inst✝² : (i : ι) → Module R (Ns i)
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
p : (i : ι) → Submodule R (Ms i)
q : Submodule R N
f : (i : ι) → Ms i →ₗ[R] N
hf : ∀ (i : ι), p i ≤ comap (f i) q
x : (i : ι) → Ms i
⊢ (Finset.sum Finset.univ fun d =>
      ↑(comp (mapQ (p d) q (f d) (_ : p d ≤ comap (f d) q)) (proj d)) fun i => Quotient.mk (x i)) =
    Finset.sum Finset.univ fun x_1 => ↑(mkQ q) (↑(comp (f x_1) (proj x_1)) x)
Theorem: Multiset.disjoint_finset_sum_left
File: Mathlib/Algebra/BigOperators/Basic.lean

tactic: convert @disjoint_sum_left _ a (map f i.val)
state_before: ι : Type ?u.896168
β✝ : Type u
α : Type v
γ : Type w
s s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β✝
β : Type u_1
i : Finset β
f : β → Multiset α
a : Multiset α
⊢ Disjoint (Finset.sum i f) a ↔ ∀ (b : β), b ∈ i → Disjoint (f b) a

tactic: simp [and_congr_left_iff, iff_self_iff]
state_before: case h.e'_2.a
ι : Type ?u.896168
β✝ : Type u
α : Type v
γ : Type w
s s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β✝
β : Type u_1
i : Finset β
f : β → Multiset α
a : Multiset α
⊢ (∀ (b : β), b ∈ i → Disjoint (f b) a) ↔ ∀ (b : Multiset α), b ∈ map f i.val → Disjoint b a
Theorem: Matrix.inv_submatrix_equiv
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

tactic: by_cases h : IsUnit A
state_before: l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁

tactic: cases h.nonempty_invertible
state_before: case pos
l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
h : IsUnit A
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁

tactic: letI := submatrixEquivInvertible A e₁ e₂
state_before: case pos.intro
l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
h : IsUnit A
val✝ : Invertible A
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁

tactic: rw [← invOf_eq_nonsing_inv, ← invOf_eq_nonsing_inv, invOf_submatrix_equiv_eq A]
state_before: case pos.intro
l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
h : IsUnit A
val✝ : Invertible A
this : Invertible (submatrix A ↑e₁ ↑e₂) := submatrixEquivInvertible A e₁ e₂
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁

tactic: have := (isUnit_submatrix_equiv e₁ e₂).not.mpr h
state_before: case neg
l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
h : ¬IsUnit A
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁

tactic: simp_rw [nonsing_inv_eq_ring_inverse, Ring.inverse_non_unit _ h, Ring.inverse_non_unit _ this,
  submatrix_zero, Pi.zero_apply]
state_before: case neg
l : Type ?u.401048
m : Type u
n : Type u'
α : Type v
inst✝⁴ : Fintype n
inst✝³ : DecidableEq n
inst✝² : CommRing α
A✝ B : Matrix n n α
inst✝¹ : Fintype m
inst✝ : DecidableEq m
A : Matrix m m α
e₁ e₂ : n ≃ m
h : ¬IsUnit A
this : ¬IsUnit (submatrix A ↑e₁ ↑e₂)
⊢ (submatrix A ↑e₁ ↑e₂)⁻¹ = submatrix A⁻¹ ↑e₂ ↑e₁
Theorem: ite_ne_right_iff
File: Mathlib/Logic/Basic.lean

tactic: simp only
state_before: α : Sort u_1
β : Sort ?u.36612
σ : α → Sort ?u.36608
f : α → β
P Q : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B : ¬P → α
⊢ (∃ h, (fun x => a) h ≠ b) ↔ P ∧ a ≠ b

tactic: rw [exists_prop]
state_before: α : Sort u_1
β : Sort ?u.36612
σ : α → Sort ?u.36608
f : α → β
P Q : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B : ¬P → α
⊢ (∃ h, a ≠ b) ↔ P ∧ a ≠ b