tasksource/leandojo huggingface dataset:
Theorem: Memℓp.star_mem
File: Mathlib/Analysis/NormedSpace/lpSpace.lean

tactic: rcases p.trichotomy with (rfl | rfl | hp)
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f p
⊢ Memℓp (star f) p

tactic: apply memℓp_zero
state_before: case inl
α : Type u_1
E : α → Type u_2
q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f 0
⊢ Memℓp (star f) 0

tactic: simp [hf.finite_dsupport]
state_before: case inl.hf
α : Type u_1
E : α → Type u_2
q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f 0
⊢ Set.Finite {i | star f i ≠ 0}

tactic: apply memℓp_infty
state_before: case inr.inl
α : Type u_1
E : α → Type u_2
q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f ⊤
⊢ Memℓp (star f) ⊤

tactic: simpa using hf.bddAbove
state_before: case inr.inl.hf
α : Type u_1
E : α → Type u_2
q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f ⊤
⊢ BddAbove (Set.range fun i => ‖star f i‖)

tactic: apply memℓp_gen
state_before: case inr.inr
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f p
hp : 0 < ENNReal.toReal p
⊢ Memℓp (star f) p

tactic: simpa using hf.summable hp
state_before: case inr.inr.hf
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝² : (i : α) → NormedAddCommGroup (E i)
inst✝¹ : (i : α) → StarAddMonoid (E i)
inst✝ : ∀ (i : α), NormedStarGroup (E i)
f : (i : α) → E i
hf : Memℓp f p
hp : 0 < ENNReal.toReal p
⊢ Summable fun i => ‖star f i‖ ^ ENNReal.toReal p
Theorem: MulSalemSpencer.mul_right₀
File: Mathlib/Combinatorics/Additive/SalemSpencer.lean

tactic: rintro _ _ _ ⟨b, hb, rfl⟩ ⟨c, hc, rfl⟩ ⟨d, hd, rfl⟩ h
state_before: F : Type ?u.99156
α : Type u_1
β : Type ?u.99162
𝕜 : Type ?u.99165
E : Type ?u.99168
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NoZeroDivisors α
s : Set α
a : α
hs : MulSalemSpencer s
ha : a ≠ 0
⊢ MulSalemSpencer ((fun x => x * a) '' s)

tactic: rw [mul_mul_mul_comm, mul_mul_mul_comm d] at h
state_before: case intro.intro.intro.intro.intro.intro
F : Type ?u.99156
α : Type u_1
β : Type ?u.99162
𝕜 : Type ?u.99165
E : Type ?u.99168
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NoZeroDivisors α
s : Set α
a : α
hs : MulSalemSpencer s
ha : a ≠ 0
b : α
hb : b ∈ s
c : α
hc : c ∈ s
d : α
hd : d ∈ s
h : (fun x => x * a) b * (fun x => x * a) c = (fun x => x * a) d * (fun x => x * a) d
⊢ (fun x => x * a) b = (fun x => x * a) c

tactic: rw [hs hb hc hd (mul_right_cancel₀ (mul_ne_zero ha ha) h)]
state_before: case intro.intro.intro.intro.intro.intro
F : Type ?u.99156
α : Type u_1
β : Type ?u.99162
𝕜 : Type ?u.99165
E : Type ?u.99168
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NoZeroDivisors α
s : Set α
a : α
hs : MulSalemSpencer s
ha : a ≠ 0
b : α
hb : b ∈ s
c : α
hc : c ∈ s
d : α
hd : d ∈ s
h : b * c * (a * a) = d * d * (a * a)
⊢ (fun x => x * a) b = (fun x => x * a) c
Theorem: strictConcaveOn_sin_Icc
File: Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean

tactic: apply strictConcaveOn_of_deriv2_neg (convex_Icc _ _) continuousOn_sin fun x hx => ?_
state_before: ⊢ StrictConcaveOn ℝ (Icc 0 π) sin

tactic: rw [interior_Icc] at hx
state_before: x : ℝ
hx : x ∈ interior (Icc 0 π)
⊢ (deriv^[2]) sin x < 0

tactic: simp [sin_pos_of_mem_Ioo hx]
state_before: x : ℝ
hx : x ∈ Ioo 0 π
⊢ (deriv^[2]) sin x < 0
Theorem: Nat.sum_two_pow_lt
File: Mathlib/Combinatorics/Colex.lean

tactic: apply lt_of_le_of_lt (sum_le_sum_of_subset fun t => mem_range.2 ∘ h₁)
state_before: α : Type ?u.638
k : ℕ
A : Finset ℕ
h₁ : ∀ {x : ℕ}, x ∈ A → x < k
⊢ Finset.sum A (Nat.pow 2) < 2 ^ k

tactic: have z := geom_sum_mul_add 1 k
state_before: α : Type ?u.638
k : ℕ
A : Finset ℕ
h₁ : ∀ {x : ℕ}, x ∈ A → x < k
⊢ ∑ x in range k, Nat.pow 2 x < 2 ^ k

tactic: rw [mul_one, one_add_one_eq_two] at z
state_before: α : Type ?u.638
k : ℕ
A : Finset ℕ
h₁ : ∀ {x : ℕ}, x ∈ A → x < k
z : (∑ i in range k, (1 + 1) ^ i) * 1 + 1 = (1 + 1) ^ k
⊢ ∑ x in range k, Nat.pow 2 x < 2 ^ k

tactic: rw [← z]
state_before: α : Type ?u.638
k : ℕ
A : Finset ℕ
h₁ : ∀ {x : ℕ}, x ∈ A → x < k
z : ∑ i in range k, 2 ^ i + 1 = 2 ^ k
⊢ ∑ x in range k, Nat.pow 2 x < 2 ^ k

tactic: apply Nat.lt_succ_self
state_before: α : Type ?u.638
k : ℕ
A : Finset ℕ
h₁ : ∀ {x : ℕ}, x ∈ A → x < k
z : ∑ i in range k, 2 ^ i + 1 = 2 ^ k
⊢ ∑ x in range k, Nat.pow 2 x < ∑ i in range k, 2 ^ i + 1
Theorem: mul_rotate'
File: Mathlib/Algebra/Group/Basic.lean

tactic: simp only [mul_left_comm, mul_comm]
state_before: α : Type ?u.8273
β : Type ?u.8276
G : Type u_1
inst✝ : CommSemigroup G
a b c : G
⊢ a * (b * c) = b * (c * a)
Theorem: Homeomorph.symm_comp_toContinuousMap
File: Mathlib/Topology/ContinuousFunction/Basic.lean

tactic: rw [← coe_trans, self_trans_symm, coe_refl]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.69498
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : TopologicalSpace γ
f : α ≃ₜ β
g : β ≃ₜ γ
⊢ ContinuousMap.comp (toContinuousMap (Homeomorph.symm f)) (toContinuousMap f) = ContinuousMap.id α
Theorem: dist_pi_const
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: simpa only [dist_edist] using congr_arg ENNReal.toReal (edist_pi_const a b)
state_before: α : Type u
β : Type v
X : Type ?u.396731
ι : Type ?u.396734
inst✝³ : PseudoMetricSpace α
π : β → Type ?u.396742
inst✝² : Fintype β
inst✝¹ : (b : β) → PseudoMetricSpace (π b)
inst✝ : Nonempty β
a b : α
⊢ (dist (fun x => a) fun x => b) = dist a b
Theorem: MeasureTheory.Measure.map_eq_sum
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: ext1 s hs
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.348297
δ : Type ?u.348300
ι : Type ?u.348303
R : Type ?u.348306
R' : Type ?u.348309
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝¹ : Countable β
inst✝ : MeasurableSingletonClass β
μ : Measure α
f : α → β
hf : Measurable f
⊢ map f μ = sum fun b => ↑↑μ (f ⁻¹' {b}) • dirac b

tactic: have : ∀ y ∈ s, MeasurableSet (f ⁻¹' {y}) := fun y _ => hf (measurableSet_singleton _)
state_before: case h
α : Type u_2
β : Type u_1
γ : Type ?u.348297
δ : Type ?u.348300
ι : Type ?u.348303
R : Type ?u.348306
R' : Type ?u.348309
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
inst✝¹ : Countable β
inst✝ : MeasurableSingletonClass β
μ : Measure α
f : α → β
hf : Measurable f
s : Set β
hs : MeasurableSet s
⊢ ↑↑(map f μ) s = ↑↑(sum fun b => ↑↑μ (f ⁻¹' {b}) • dirac b) s

tactic: simp [← tsum_measure_preimage_singleton (to_countable s) this, *,
  tsum_subtype s fun b => μ (f ⁻¹' {b}), ← indicator_mul_right s fun b => μ (f ⁻¹' {b})]
state_before: case h
α : Type u_2
β : Type u_1
γ : Type ?u.348297
δ : Type ?u.348300
ι : Type ?u.348303
R : Type ?u.348306
R' : Type ?u.348309
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
inst✝¹ : Countable β
inst✝ : MeasurableSingletonClass β
μ : Measure α
f : α → β
hf : Measurable f
s : Set β
hs : MeasurableSet s
this : ∀ (y : β), y ∈ s → MeasurableSet (f ⁻¹' {y})
⊢ ↑↑(map f μ) s = ↑↑(sum fun b => ↑↑μ (f ⁻¹' {b}) • dirac b) s
Theorem: BoxIntegral.Prepartition.iUnion_filter_not
File: Mathlib/Analysis/BoxIntegral/Partition/Basic.lean

tactic: simp only [Prepartition.iUnion]
state_before: ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ Prepartition.iUnion (filter π fun J => ¬p J) = Prepartition.iUnion π \ Prepartition.iUnion (filter π p)

tactic: convert (@Set.biUnion_diff_biUnion_eq _ (Box ι) π.boxes (π.filter p).boxes (↑) _).symm
state_before: ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ (⋃ (J : Box ι) (_ : J ∈ filter π fun J => ¬p J), ↑J) =
    (⋃ (J : Box ι) (_ : J ∈ π), ↑J) \ ⋃ (J : Box ι) (_ : J ∈ filter π p), ↑J

tactic: simp (config := { contextual := true })
state_before: case h.e'_2.h.e'_3.h.pq.a.a
ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
x✝ : Box ι
⊢ (x✝ ∈ filter π fun J => ¬p J) ↔ x✝ ∈ ↑π.boxes \ ↑(filter π p).boxes

tactic: rw [Set.PairwiseDisjoint]
state_before: ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ PairwiseDisjoint (↑π.boxes ∪ ↑(filter π p).boxes) Box.toSet

tactic: convert π.pairwiseDisjoint
state_before: ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ Set.Pairwise (↑π.boxes ∪ ↑(filter π p).boxes) (Disjoint on Box.toSet)

tactic: rw [Set.union_eq_left_iff_subset, filter_boxes, coe_filter]
state_before: case h.e'_2
ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ ↑π.boxes ∪ ↑(filter π p).boxes = ↑π.boxes

tactic: exact fun _ ⟨h, _⟩ => h
state_before: case h.e'_2
ι : Type u_1
I J J₁ J₂ : Box ι
π✝ π₁ π₂ : Prepartition I
x : ι → ℝ
πi πi₁ πi₂ : (J : Box ι) → Prepartition J
π : Prepartition I
p : Box ι → Prop
⊢ {x | x ∈ π.boxes ∧ p x} ⊆ ↑π.boxes
Theorem: isClosed_set_pi
File: Mathlib/Topology/Constructions.lean

tactic: rw [pi_def]
state_before: α : Type u
β : Type v
γ : Type ?u.257106
δ : Type ?u.257109
ε : Type ?u.257112
ζ : Type ?u.257115
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.257126
inst✝¹ : TopologicalSpace α
inst✝ : (i : ι) → TopologicalSpace (π i)
f : α → (i : ι) → π i
i : Set ι
s : (a : ι) → Set (π a)
hs : ∀ (a : ι), a ∈ i → IsClosed (s a)
⊢ IsClosed (Set.pi i s)

tactic: exact isClosed_biInter fun a ha => (hs _ ha).preimage (continuous_apply _)
state_before: α : Type u
β : Type v
γ : Type ?u.257106
δ : Type ?u.257109
ε : Type ?u.257112
ζ : Type ?u.257115
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.257126
inst✝¹ : TopologicalSpace α
inst✝ : (i : ι) → TopologicalSpace (π i)
f : α → (i : ι) → π i
i : Set ι
s : (a : ι) → Set (π a)
hs : ∀ (a : ι), a ∈ i → IsClosed (s a)
⊢ IsClosed (⋂ (a : ι) (_ : a ∈ i), eval a ⁻¹' s a)
Theorem: CategoryTheory.SimplicialObject.δ_comp_σ_of_gt'
File: Mathlib/AlgebraicTopology/SimplicialObject.lean

tactic: simp only [Fin.not_lt_zero, hi] at H
state_before: C : Type u
inst✝ : Category C
X : SimplicialObject C
n : ℕ
i : Fin (n + 3)
j : Fin (n + 2)
H : Fin.succ j < i
hi : i = 0
⊢ False

tactic: dsimp [δ, σ]
state_before: C : Type u
inst✝ : Category C
X : SimplicialObject C
n : ℕ
i : Fin (n + 3)
j : Fin (n + 2)
H : Fin.succ j < i
⊢ σ X j ≫ δ X i = δ X (Fin.pred i (_ : i = 0 → False)) ≫ σ X (Fin.castLT j (_ : ↑j < n + 1))

tactic: simp only [← X.map_comp, ← op_comp, SimplexCategory.δ_comp_σ_of_gt' H]
state_before: C : Type u
inst✝ : Category C
X : SimplicialObject C
n : ℕ
i : Fin (n + 3)
j : Fin (n + 2)
H : Fin.succ j < i
⊢ X.map (SimplexCategory.σ j).op ≫ X.map (SimplexCategory.δ i).op =
    X.map (SimplexCategory.δ (Fin.pred i (_ : i = 0 → False))).op ≫
      X.map (SimplexCategory.σ (Fin.castLT j (_ : ↑j < n + 1))).op
Theorem: Matrix.det_sum_smul_le
File: Mathlib/LinearAlgebra/Matrix/AbsoluteValue.lean

tactic: simpa only [smul_mul_assoc] using
  det_sum_le s fun k i j =>
    calc
      abv (c k * A k i j) = abv (c k) * abv (A k i j) := abv.map_mul _ _
      _ ≤ y * x := mul_le_mul (hy k) (hx k i j) (abv.nonneg _) ((abv.nonneg _).trans (hy k))
state_before: R : Type u_3
S : Type u_4
inst✝⁴ : CommRing R
inst✝³ : Nontrivial R
inst✝² : LinearOrderedCommRing S
n : Type u_2
inst✝¹ : Fintype n
inst✝ : DecidableEq n
ι : Type u_1
s : Finset ι
c : ι → R
A : ι → Matrix n n R
abv : AbsoluteValue R S
x : S
hx : ∀ (k : ι) (i j : n), ↑abv (A k i j) ≤ x
y : S
hy : ∀ (k : ι), ↑abv (c k) ≤ y
⊢ ↑abv (det (∑ k in s, c k • A k)) ≤ Nat.factorial (Fintype.card n) • (card s • y * x) ^ Fintype.card n
Theorem: sup_iSup
File: Mathlib/Order/CompleteLattice.lean

tactic: rw [iSup_sup_eq, iSup_const]
state_before: α : Type u_2
β : Type ?u.102338
β₂ : Type ?u.102341
γ : Type ?u.102344
ι : Sort u_1
ι' : Sort ?u.102350
κ : ι → Sort ?u.102355
κ' : ι' → Sort ?u.102360
inst✝¹ : CompleteLattice α
f✝ g s t : ι → α
a✝ b : α
inst✝ : Nonempty ι
f : ι → α
a : α
⊢ (a ⊔ ⨆ (x : ι), f x) = ⨆ (x : ι), a ⊔ f x
Theorem: Finset.le_prod_of_submultiplicative_on_pred
File: Mathlib/Algebra/BigOperators/Order.lean

tactic: rcases eq_empty_or_nonempty s with (rfl | hs_nonempty)
state_before: ι : Type u_3
α : Type ?u.6427
β : Type ?u.6430
M : Type u_2
N : Type u_1
G : Type ?u.6439
k : Type ?u.6442
R : Type ?u.6445
inst✝¹ : CommMonoid M
inst✝ : OrderedCommMonoid N
f : M → N
p : M → Prop
h_one : f 1 = 1
h_mul : ∀ (x y : M), p x → p y → f (x * y) ≤ f x * f y
hp_mul : ∀ (x y : M), p x → p y → p (x * y)
g : ι → M
s : Finset ι
hs : ∀ (i : ι), i ∈ s → p (g i)
⊢ f (∏ i in s, g i) ≤ ∏ i in s, f (g i)

tactic: simp [h_one]
state_before: case inl
ι : Type u_3
α : Type ?u.6427
β : Type ?u.6430
M : Type u_2
N : Type u_1
G : Type ?u.6439
k : Type ?u.6442
R : Type ?u.6445
inst✝¹ : CommMonoid M
inst✝ : OrderedCommMonoid N
f : M → N
p : M → Prop
h_one : f 1 = 1
h_mul : ∀ (x y : M), p x → p y → f (x * y) ≤ f x * f y
hp_mul : ∀ (x y : M), p x → p y → p (x * y)
g : ι → M
hs : ∀ (i : ι), i ∈ ∅ → p (g i)
⊢ f (∏ i in ∅, g i) ≤ ∏ i in ∅, f (g i)

tactic: exact le_prod_nonempty_of_submultiplicative_on_pred f p h_mul hp_mul g s hs_nonempty hs
state_before: case inr
ι : Type u_3
α : Type ?u.6427
β : Type ?u.6430
M : Type u_2
N : Type u_1
G : Type ?u.6439
k : Type ?u.6442
R : Type ?u.6445
inst✝¹ : CommMonoid M
inst✝ : OrderedCommMonoid N
f : M → N
p : M → Prop
h_one : f 1 = 1
h_mul : ∀ (x y : M), p x → p y → f (x * y) ≤ f x * f y
hp_mul : ∀ (x y : M), p x → p y → p (x * y)
g : ι → M
s : Finset ι
hs : ∀ (i : ι), i ∈ s → p (g i)
hs_nonempty : Finset.Nonempty s
⊢ f (∏ i in s, g i) ≤ ∏ i in s, f (g i)
Theorem: Ordinal.blsub_lt_ord_lift
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: simpa [← iSup_ord, hf, h] using cof_blsub_le_lift.{u, v} f
state_before: α : Type ?u.39723
r : α → α → Prop
o : Ordinal
f : (a : Ordinal) → a < o → Ordinal
c : Ordinal
ho : Cardinal.lift (card o) < cof c
hf : ∀ (i : Ordinal) (hi : i < o), f i hi < c
h : blsub o f = c
⊢ cof c ≤ Cardinal.lift (card o)
Theorem: Matrix.fromBlocks_transpose
File: Mathlib/Data/Matrix/Block.lean

tactic: ext i j
state_before: l : Type u_2
m : Type u_4
n : Type u_1
o : Type u_5
p : Type ?u.12383
q : Type ?u.12386
m' : o → Type ?u.12391
n' : o → Type ?u.12396
p' : o → Type ?u.12401
R : Type ?u.12404
S : Type ?u.12407
α : Type u_3
β : Type ?u.12413
A : Matrix n l α
B : Matrix n m α
C : Matrix o l α
D : Matrix o m α
⊢ (fromBlocks A B C D)ᵀ = fromBlocks Aᵀ Cᵀ Bᵀ Dᵀ

tactic: rcases i with ⟨⟩ <;> rcases j with ⟨⟩ <;> simp [fromBlocks]
state_before: case a.h
l : Type u_2
m : Type u_4
n : Type u_1
o : Type u_5
p : Type ?u.12383
q : Type ?u.12386
m' : o → Type ?u.12391
n' : o → Type ?u.12396
p' : o → Type ?u.12401
R : Type ?u.12404
S : Type ?u.12407
α : Type u_3
β : Type ?u.12413
A : Matrix n l α
B : Matrix n m α
C : Matrix o l α
D : Matrix o m α
i : l ⊕ m
j : n ⊕ o
⊢ (fromBlocks A B C D)ᵀ i j = fromBlocks Aᵀ Cᵀ Bᵀ Dᵀ i j
Theorem: MvPolynomial.degrees_pow
File: Mathlib/Data/MvPolynomial/Variables.lean

tactic: rw [pow_zero, degrees_one]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type ?u.41650
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
⊢ degrees (p ^ 0) ≤ 0 • degrees p

tactic: exact Multiset.zero_le _
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type ?u.41650
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
⊢ 0 ≤ 0 • degrees p

tactic: rw [pow_succ, add_smul, add_comm, one_smul]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type ?u.41650
r : R
e : ℕ
n✝ m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
n : ℕ
⊢ degrees (p ^ (n + 1)) ≤ (n + 1) • degrees p

tactic: exact le_trans (degrees_mul _ _) (add_le_add_left (degrees_pow _ n) _)
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type ?u.41650
r : R
e : ℕ
n✝ m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
n : ℕ
⊢ degrees (p * p ^ n) ≤ degrees p + n • degrees p
Theorem: List.cons_diff_of_mem
File: Std/Data/List/Lemmas.lean

tactic: rw [cons_diff, if_pos h]
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
l₂ : List α
h : a ∈ l₂
l₁ : List α
⊢ List.diff (a :: l₁) l₂ = List.diff l₁ (List.erase l₂ a)
Theorem: CategoryTheory.Limits.imageSubobject_zero
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: simp
state_before: C : Type u
inst✝³ : Category C
X Y Z : C
f : X ⟶ Y
inst✝² : HasImage f
inst✝¹ : HasZeroMorphisms C
inst✝ : HasZeroObject C
A B : C
⊢ (imageSubobjectIso 0 ≪≫ imageZero ≪≫ botCoeIsoZero.symm).hom ≫ arrow ⊥ = arrow (imageSubobject 0)
Theorem: Fin.coe_neg_one
File: Mathlib/Data/Fin/Basic.lean

tactic: cases n
state_before: n m : ℕ
⊢ ↑(-1) = n

tactic: rw [Fin.coe_neg, Fin.val_one, Nat.succ_sub_one, Nat.mod_eq_of_lt]
state_before: case succ
m n✝ : ℕ
⊢ ↑(-1) = Nat.succ n✝

tactic: constructor
state_before: case succ
m n✝ : ℕ
⊢ n✝ + 1 < Nat.succ n✝ + 1

tactic: simp
state_before: case zero
m : ℕ
⊢ ↑(-1) = zero
Theorem: MeasureTheory.Measure.sum_apply_eq_zero
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: refine'
  ⟨fun h i => nonpos_iff_eq_zero.1 <| h ▸ le_iff'.1 (le_sum μ i) _, fun h =>
    nonpos_iff_eq_zero.1 _⟩
state_before: α : Type u_2
β : Type ?u.337219
γ : Type ?u.337222
δ : Type ?u.337225
ι : Type u_1
R : Type ?u.337231
R' : Type ?u.337234
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
⊢ ↑↑(sum μ) s = 0 ↔ ∀ (i : ι), ↑↑(μ i) s = 0

tactic: rcases exists_measurable_superset_forall_eq μ s with ⟨t, hst, htm, ht⟩
state_before: α : Type u_2
β : Type ?u.337219
γ : Type ?u.337222
δ : Type ?u.337225
ι : Type u_1
R : Type ?u.337231
R' : Type ?u.337234
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
h : ∀ (i : ι), ↑↑(μ i) s = 0
⊢ ↑↑(sum μ) s ≤ 0

tactic: calc
  sum μ s ≤ sum μ t := measure_mono hst
  _ = 0 := by simp [*]
state_before: case intro.intro.intro
α : Type u_2
β : Type ?u.337219
γ : Type ?u.337222
δ : Type ?u.337225
ι : Type u_1
R : Type ?u.337231
R' : Type ?u.337234
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
h : ∀ (i : ι), ↑↑(μ i) s = 0
t : Set α
hst : s ⊆ t
htm : MeasurableSet t
ht : ∀ (i : ι), ↑↑(μ i) t = ↑↑(μ i) s
⊢ ↑↑(sum μ) s ≤ 0

tactic: simp [*]
state_before: α : Type u_2
β : Type ?u.337219
γ : Type ?u.337222
δ : Type ?u.337225
ι : Type u_1
R : Type ?u.337231
R' : Type ?u.337234
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
h : ∀ (i : ι), ↑↑(μ i) s = 0
t : Set α
hst : s ⊆ t
htm : MeasurableSet t
ht : ∀ (i : ι), ↑↑(μ i) t = ↑↑(μ i) s
⊢ ↑↑(sum μ) t = 0
Theorem: Real.volume_preimage_mul_right
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: rw [map_volume_mul_right h]
state_before: ι : Type ?u.2210287
inst✝ : Fintype ι
a : ℝ
h : a ≠ 0
s : Set ℝ
⊢ ↑↑(Measure.map (fun x => x * a) volume) s = ofReal (abs a⁻¹) * ↑↑volume s

tactic: rfl
state_before: ι : Type ?u.2210287
inst✝ : Fintype ι
a : ℝ
h : a ≠ 0
s : Set ℝ
⊢ ↑↑(ofReal (abs a⁻¹) • volume) s = ofReal (abs a⁻¹) * ↑↑volume s
Theorem: Fin.succ_succAbove_zero
File: Mathlib/Data/Fin/Basic.lean

tactic: simp only [castSucc_zero, succ_pos]
state_before: n✝ m n : ℕ
inst✝ : NeZero n
i : Fin n
⊢ ↑castSucc 0 < succ i
Theorem: WithBot.image_coe_Ioo
File: Mathlib/Data/Set/Intervals/WithBotTop.lean

tactic: rw [← preimage_coe_Ioo, image_preimage_eq_inter_range, range_coe,
  inter_eq_self_of_subset_left (Subset.trans Ioo_subset_Ioi_self <| Ioi_subset_Ioi bot_le)]
state_before: α : Type u_1
inst✝ : PartialOrder α
a b : α
⊢ some '' Ioo a b = Ioo ↑a ↑b
Theorem: concaveOn_id
File: Mathlib/Analysis/Convex/Function.lean

tactic: intros
state_before: 𝕜 : Type u_2
E : Type ?u.14565
F : Type ?u.14568
α : Type ?u.14571
β : Type u_1
ι : Type ?u.14577
inst✝⁷ : OrderedSemiring 𝕜
inst✝⁶ : AddCommMonoid E
inst✝⁵ : AddCommMonoid F
inst✝⁴ : OrderedAddCommMonoid α
inst✝³ : OrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : SMul 𝕜 α
inst✝ : SMul 𝕜 β
s✝ : Set E
f : E → β
g : β → α
s : Set β
hs : Convex 𝕜 s
⊢ ∀ ⦃x : β⦄,
    x ∈ s →
      ∀ ⦃y : β⦄,
        y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → a • _root_.id x + b • _root_.id y ≤ _root_.id (a • x + b • y)

tactic: rfl
state_before: 𝕜 : Type u_2
E : Type ?u.14565
F : Type ?u.14568
α : Type ?u.14571
β : Type u_1
ι : Type ?u.14577
inst✝⁷ : OrderedSemiring 𝕜
inst✝⁶ : AddCommMonoid E
inst✝⁵ : AddCommMonoid F
inst✝⁴ : OrderedAddCommMonoid α
inst✝³ : OrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : SMul 𝕜 α
inst✝ : SMul 𝕜 β
s✝ : Set E
f : E → β
g : β → α
s : Set β
hs : Convex 𝕜 s
x✝ : β
a✝⁵ : x✝ ∈ s
y✝ : β
a✝⁴ : y✝ ∈ s
a✝³ b✝ : 𝕜
a✝² : 0 ≤ a✝³
a✝¹ : 0 ≤ b✝
a✝ : a✝³ + b✝ = 1
⊢ a✝³ • _root_.id x✝ + b✝ • _root_.id y✝ ≤ _root_.id (a✝³ • x✝ + b✝ • y✝)
Theorem: nnnorm_pow_le_mul_norm
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simpa only [← NNReal.coe_le_coe, NNReal.coe_mul, NNReal.coe_nat_cast] using
  norm_pow_le_mul_norm n a
state_before: 𝓕 : Type ?u.791224
𝕜 : Type ?u.791227
α : Type ?u.791230
ι : Type ?u.791233
κ : Type ?u.791236
E : Type u_1
F : Type ?u.791242
G : Type ?u.791245
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a✝ a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
n : ℕ
a : E
⊢ ‖a ^ n‖₊ ≤ ↑n * ‖a‖₊
Theorem: CategoryTheory.HasLiftingProperty.op
File: Mathlib/CategoryTheory/LiftingProperties/Basic.lean

tactic: simp only [CommSq.HasLift.iff_unop, Quiver.Hom.unop_op]
state_before: C : Type u_1
inst✝ : Category C
A B B' X Y Y' : C
i : A ⟶ B
i' : B ⟶ B'
p : X ⟶ Y
p' : Y ⟶ Y'
h : HasLiftingProperty i p
f : Y.op ⟶ B.op
g : X.op ⟶ A.op
sq : CommSq f p.op i.op g
⊢ CommSq.HasLift sq

tactic: infer_instance
state_before: C : Type u_1
inst✝ : Category C
A B B' X Y Y' : C
i : A ⟶ B
i' : B ⟶ B'
p : X ⟶ Y
p' : Y ⟶ Y'
h : HasLiftingProperty i p
f : Y.op ⟶ B.op
g : X.op ⟶ A.op
sq : CommSq f p.op i.op g
⊢ CommSq.HasLift (_ : CommSq g.unop i p f.unop)
Theorem: LieHom.mem_idealRange
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [idealRange_eq_map]
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
x : L
⊢ ↑f x ∈ idealRange f

tactic: exact LieIdeal.mem_map (LieSubmodule.mem_top x)
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
x : L
⊢ ↑f x ∈ LieIdeal.map f ⊤