tasksource/leandojo huggingface dataset:
Theorem: Polynomial.not_irreducible_C
File: Mathlib/Data/Polynomial/FieldDivision.lean

tactic: rw [H, C_0]
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝ : Field R
p q : R[X]
x : R
H : x = 0
⊢ ¬Irreducible (↑C x)

tactic: exact not_irreducible_zero
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝ : Field R
p q : R[X]
x : R
H : x = 0
⊢ ¬Irreducible 0
Theorem: measurableSet_region_between_oc
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: dsimp only [regionBetween, Ioc, mem_setOf_eq, setOf_and]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {p | p.fst ∈ s ∧ p.snd ∈ Ioc (f p.fst) (g p.fst)}

tactic: refine'
  MeasurableSet.inter _
    ((measurableSet_lt (hf.comp measurable_fst) measurable_snd).inter
      (measurableSet_le measurable_snd (hg.comp measurable_fst)))
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet ({a | a.fst ∈ s} ∩ {a | a.snd ∈ {a_1 | f a.fst < a_1} ∩ {a_1 | a_1 ≤ g a.fst}})

tactic: exact measurable_fst hs
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {a | a.fst ∈ s}
Theorem: InnerProductGeometry.norm_add_eq_norm_sub_iff_angle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean

tactic: rw [← sq_eq_sq (norm_nonneg (x + y)) (norm_nonneg (x - y)),
  ← inner_eq_zero_iff_angle_eq_pi_div_two x y, norm_add_pow_two_real, norm_sub_pow_two_real]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x✝ y✝ x y : V
⊢ ‖x + y‖ = ‖x - y‖ ↔ angle x y = π / 2

tactic: constructor <;> intro h <;> linarith
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x✝ y✝ x y : V
⊢ ‖x‖ ^ 2 + 2 * inner x y + ‖y‖ ^ 2 = ‖x‖ ^ 2 - 2 * inner x y + ‖y‖ ^ 2 ↔ inner x y = 0
Theorem: tendsto_nhds_Prop
File: Mathlib/Topology/Order.lean

tactic: by_cases q <;> simp [*]
state_before: α : Type u_1
inst✝ : TopologicalSpace α
l : Filter α
p : α → Prop
q : Prop
⊢ Tendsto p l (𝓝 q) ↔ q → ∀ᶠ (x : α) in l, p x
Theorem: Matrix.range_cons_empty
File: Mathlib/Data/Fin/VecNotation.lean

tactic: rw [range_cons, range_empty, Set.union_empty]
state_before: α : Type u
m n o : ℕ
m' : Type ?u.21635
n' : Type ?u.21638
o' : Type ?u.21641
x : α
u : Fin 0 → α
⊢ Set.range (vecCons x u) = {x}
Theorem: MeasureTheory.SimpleFunc.coe_restrict
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

tactic: rw [restrict, dif_pos hs]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.807482
δ : Type ?u.807485
inst✝¹ : MeasurableSpace α
K : Type ?u.807491
inst✝ : Zero β
f : α →ₛ β
s : Set α
hs : MeasurableSet s
⊢ ↑(restrict f s) = indicator s ↑f

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.807482
δ : Type ?u.807485
inst✝¹ : MeasurableSpace α
K : Type ?u.807491
inst✝ : Zero β
f : α →ₛ β
s : Set α
hs : MeasurableSet s
⊢ ↑(piecewise s hs f 0) = indicator s ↑f
Theorem: gold_add_goldConj
File: Mathlib/Data/Real/GoldenRatio.lean

tactic: rw [goldenRatio, goldenConj]
state_before: ⊢ φ + ψ = 1

tactic: ring
state_before: ⊢ (1 + sqrt 5) / 2 + (1 - sqrt 5) / 2 = 1
Theorem: PGame.moveRight_neg'
File: Mathlib/SetTheory/Game/PGame.lean

tactic: cases x
state_before: x : PGame
i : RightMoves (-x)
⊢ moveRight (-x) i = -moveLeft x (↑toRightMovesNeg.symm i)

tactic: rfl
state_before: case mk
α✝ β✝ : Type u_1
a✝¹ : α✝ → PGame
a✝ : β✝ → PGame
i : RightMoves (-mk α✝ β✝ a✝¹ a✝)
⊢ moveRight (-mk α✝ β✝ a✝¹ a✝) i = -moveLeft (mk α✝ β✝ a✝¹ a✝) (↑toRightMovesNeg.symm i)
Theorem: Polynomial.coeff_scaleRoots_natDegree
File: Mathlib/RingTheory/Polynomial/ScaleRoots.lean

tactic: rw [leadingCoeff, coeff_scaleRoots, tsub_self, pow_zero, mul_one]
state_before: A : Type ?u.22612
K : Type ?u.22615
R : Type u_1
S : Type ?u.22621
inst✝⁴ : CommRing A
inst✝³ : IsDomain A
inst✝² : Field K
inst✝¹ : CommRing R
inst✝ : CommRing S
M : Submonoid A
p : R[X]
s : R
⊢ coeff (scaleRoots p s) (natDegree p) = leadingCoeff p
Theorem: TensorPower.algebraMap₀_mul
File: Mathlib/LinearAlgebra/TensorPower.lean

tactic: rw [gMul_eq_coe_linearMap, algebraMap₀_eq_smul_one, LinearMap.map_smul₂,
  LinearEquiv.map_smul, ← gMul_eq_coe_linearMap, one_mul]
state_before: R : Type u_1
M : Type u_2
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
n : ℕ
r : R
a : (⨂[R]^n) M
⊢ ↑(cast R M (_ : 0 + n = n)) (GradedMonoid.GMul.mul (↑algebraMap₀ r) a) = r • a
Theorem: CommMonoid.primaryComponent.exists_orderOf_eq_prime_pow
File: Mathlib/GroupTheory/Torsion.lean

tactic: simpa [primaryComponent] using g.property
state_before: G : Type u_1
H : Type ?u.185001
inst✝ : CommMonoid G
p : ℕ
hp : Fact (Nat.Prime p)
g : { x // x ∈ primaryComponent G p }
⊢ ∃ n, orderOf g = p ^ n
Theorem: Ordinal.bsup_eq_sup'
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simp only [← sup_eq_bsup' r, enum_typein, familyOfBFamily', bfamilyOfFamily']
state_before: α : Type ?u.308272
β : Type ?u.308275
γ : Type ?u.308278
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
r : ι → ι → Prop
inst✝ : IsWellOrder ι r
f : ι → Ordinal
⊢ bsup (type r) (bfamilyOfFamily' r f) = sup f
Theorem: FiniteDimensional.finrank_mul_finrank
File: Mathlib/FieldTheory/Tower.lean

tactic: by_cases hA : FiniteDimensional K A
state_before: F : Type u
K : Type v
A : Type w
inst✝⁷ : Field F
inst✝⁶ : DivisionRing K
inst✝⁵ : AddCommGroup A
inst✝⁴ : Algebra F K
inst✝³ : Module K A
inst✝² : Module F A
inst✝¹ : IsScalarTower F K A
inst✝ : FiniteDimensional F K
⊢ finrank F K * finrank K A = finrank F A

tactic: replace hA : FiniteDimensional K A := hA
state_before: case pos
F : Type u
K : Type v
A : Type w
inst✝⁷ : Field F
inst✝⁶ : DivisionRing K
inst✝⁵ : AddCommGroup A
inst✝⁴ : Algebra F K
inst✝³ : Module K A
inst✝² : Module F A
inst✝¹ : IsScalarTower F K A
inst✝ : FiniteDimensional F K
hA : FiniteDimensional K A
⊢ finrank F K * finrank K A = finrank F A

tactic: rw [finrank_mul_finrank']
state_before: case pos
F : Type u
K : Type v
A : Type w
inst✝⁷ : Field F
inst✝⁶ : DivisionRing K
inst✝⁵ : AddCommGroup A
inst✝⁴ : Algebra F K
inst✝³ : Module K A
inst✝² : Module F A
inst✝¹ : IsScalarTower F K A
inst✝ : FiniteDimensional F K
hA : FiniteDimensional K A
⊢ finrank F K * finrank K A = finrank F A

tactic: rw [finrank_of_infinite_dimensional hA, MulZeroClass.mul_zero, finrank_of_infinite_dimensional]
state_before: case neg
F : Type u
K : Type v
A : Type w
inst✝⁷ : Field F
inst✝⁶ : DivisionRing K
inst✝⁵ : AddCommGroup A
inst✝⁴ : Algebra F K
inst✝³ : Module K A
inst✝² : Module F A
inst✝¹ : IsScalarTower F K A
inst✝ : FiniteDimensional F K
hA : ¬FiniteDimensional K A
⊢ finrank F K * finrank K A = finrank F A

tactic: exact mt (@right F K A _ _ _ _ _ _ _) hA
state_before: case neg
F : Type u
K : Type v
A : Type w
inst✝⁷ : Field F
inst✝⁶ : DivisionRing K
inst✝⁵ : AddCommGroup A
inst✝⁴ : Algebra F K
inst✝³ : Module K A
inst✝² : Module F A
inst✝¹ : IsScalarTower F K A
inst✝ : FiniteDimensional F K
hA : ¬FiniteDimensional K A
⊢ ¬FiniteDimensional F A
Theorem: CategoryTheory.MonoidalCategory.inv_tensor
File: Mathlib/CategoryTheory/Monoidal/Category.lean

tactic: aesop_cat_nonterminal
state_before: C✝ : Type u
𝒞 : Category C✝
inst✝⁴ : MonoidalCategory C✝
C : Type u
inst✝³ : Category C
inst✝² : MonoidalCategory C
W X Y Z : C
f : W ⟶ X
inst✝¹ : IsIso f
g : Y ⟶ Z
inst✝ : IsIso g
⊢ inv (f ⊗ g) = inv f ⊗ inv g

tactic: simp [← tensor_comp]
state_before: case hom_inv_id
C_1 : Type u
𝒞 : Category C_1
inst : MonoidalCategory C_1
C : Type u
inst_1 : Category C
inst_2 : MonoidalCategory C
W X Y Z : C
f : W ⟶ X
inst_3 : IsIso f
g : Y ⟶ Z
inst_4 : IsIso g
⊢ (f ⊗ g) ≫ (inv f ⊗ inv g) = 𝟙 (W ⊗ Y)
Theorem: LinearEquiv.finrank_eq
File: Mathlib/LinearAlgebra/Finrank.lean

tactic: unfold finrank
state_before: K : Type u
V : Type v
inst✝⁹ : Ring K
inst✝⁸ : AddCommGroup V
inst✝⁷ : Module K V
V₂ : Type v'
inst✝⁶ : AddCommGroup V₂
inst✝⁵ : Module K V₂
R : Type u_1
M : Type u_2
M₂ : Type u_3
inst✝⁴ : Ring R
inst✝³ : AddCommGroup M
inst✝² : AddCommGroup M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
f : M ≃ₗ[R] M₂
⊢ finrank R M = finrank R M₂

tactic: rw [← Cardinal.toNat_lift, f.lift_rank_eq, Cardinal.toNat_lift]
state_before: K : Type u
V : Type v
inst✝⁹ : Ring K
inst✝⁸ : AddCommGroup V
inst✝⁷ : Module K V
V₂ : Type v'
inst✝⁶ : AddCommGroup V₂
inst✝⁵ : Module K V₂
R : Type u_1
M : Type u_2
M₂ : Type u_3
inst✝⁴ : Ring R
inst✝³ : AddCommGroup M
inst✝² : AddCommGroup M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
f : M ≃ₗ[R] M₂
⊢ ↑toNat (Module.rank R M) = ↑toNat (Module.rank R M₂)
Theorem: ENNReal.toReal_le_coe_of_le_coe
File: Mathlib/Data/Real/ENNReal.lean

tactic: lift a to ℝ≥0 using ne_top_of_le_ne_top coe_ne_top h
state_before: α : Type ?u.104939
β : Type ?u.104942
a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
b : ℝ≥0
h : a ≤ ↑b
⊢ ENNReal.toReal a ≤ ↑b

tactic: simpa using h
state_before: case intro
α : Type ?u.104939
β : Type ?u.104942
a✝ b✝ c d : ℝ≥0∞
r p q b a : ℝ≥0
h : ↑a ≤ ↑b
⊢ ENNReal.toReal ↑a ≤ ↑b
Theorem: Int.eq_pow_of_mul_eq_pow_bit1_right
File: Mathlib/RingTheory/Int/Basic.lean

tactic: rwa [mul_comm] at h
state_before: a b c : ℤ
hab : IsCoprime a b
k : ℕ
h : a * b = c ^ bit1 k
⊢ b * a = ?m.184097 hab h ^ bit1 k
Theorem: Real.tan_lt_tan_of_lt_of_lt_pi_div_two
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: rw [← tan_neg, ← tan_neg]
state_before: x y : ℝ
hx₁ : -(π / 2) < x
hy₂ : y < π / 2
hxy : x < y
hx0 : x ≤ 0
hy0 : y ≤ 0
⊢ -tan y < -tan x

tactic: exact tan_lt_tan_of_nonneg_of_lt_pi_div_two (neg_nonneg.2 hy0) (neg_lt.2 hx₁) (neg_lt_neg hxy)
state_before: x y : ℝ
hx₁ : -(π / 2) < x
hy₂ : y < π / 2
hxy : x < y
hx0 : x ≤ 0
hy0 : y ≤ 0
⊢ tan (-y) < tan (-x)

tactic: rw [← hy0, tan_zero]
state_before: x y : ℝ
hx₁ : -(π / 2) < x
hy₂ : y < π / 2
hxy : x < y
hx0 : x ≤ 0
hy0✝ : 0 ≤ y
hy0 : 0 = y
⊢ tan x < tan y

tactic: exact tan_neg_of_neg_of_pi_div_two_lt (hy0.symm ▸ hxy) hx₁
state_before: x y : ℝ
hx₁ : -(π / 2) < x
hy₂ : y < π / 2
hxy : x < y
hx0 : x ≤ 0
hy0✝ : 0 ≤ y
hy0 : 0 = y
⊢ tan x < 0

tactic: linarith
state_before: x y : ℝ
hx₁ : -(π / 2) < x
hy₂ : y < π / 2
hxy : x < y
hx0 : 0 ≤ x
hy0 : y ≤ 0
⊢ tan x < tan y
Theorem: FirstOrder.Language.Substructure.dense_induction
File: Mathlib/ModelTheory/Substructures.lean

tactic: have : ∀ x ∈ closure L s, p x := fun x hx => closure_induction hx Hs fun {n} => Hfun
state_before: L : Language
M : Type w
N : Type ?u.37249
P : Type ?u.37252
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
s✝ : Set M
p : M → Prop
x : M
s : Set M
hs : LowerAdjoint.toFun (closure L) s = ⊤
Hs : ∀ (x : M), x ∈ s → p x
Hfun : ∀ {n : ℕ} (f : Functions L n), ClosedUnder f (setOf p)
⊢ p x

tactic: simpa [hs] using this x
state_before: L : Language
M : Type w
N : Type ?u.37249
P : Type ?u.37252
inst✝² : Structure L M
inst✝¹ : Structure L N
inst✝ : Structure L P
S : Substructure L M
s✝ : Set M
p : M → Prop
x : M
s : Set M
hs : LowerAdjoint.toFun (closure L) s = ⊤
Hs : ∀ (x : M), x ∈ s → p x
Hfun : ∀ {n : ℕ} (f : Functions L n), ClosedUnder f (setOf p)
this : ∀ (x : M), x ∈ LowerAdjoint.toFun (closure L) s → p x
⊢ p x
Theorem: PosNum.minFac_to_nat
File: Mathlib/Data/Num/Prime.lean

tactic: cases' n with n
state_before: n : PosNum
⊢ ↑(minFac n) = Nat.minFac ↑n

tactic: rfl
state_before: case one

⊢ ↑(minFac one) = Nat.minFac ↑one

tactic: rw [minFac, Nat.minFac_eq, if_neg]
state_before: case bit1
n : PosNum
⊢ ↑(minFac (bit1 n)) = Nat.minFac ↑(bit1 n)

tactic: swap
state_before: case bit1
n : PosNum
⊢ ↑(match bit1 n with
      | one => 1
      | bit0 a => 2
      | bit1 n => minFacAux (bit1 n) (↑n) 1) =
    Nat.minFacAux (↑(bit1 n)) 3

case bit1.hnc
n : PosNum
⊢ ¬2 ∣ ↑(bit1 n)

tactic: rw [minFacAux_to_nat]
state_before: case bit1
n : PosNum
⊢ ↑(match bit1 n with
      | one => 1
      | bit0 a => 2
      | bit1 n => minFacAux (bit1 n) (↑n) 1) =
    Nat.minFacAux (↑(bit1 n)) 3

tactic: simp only [cast_one, cast_bit1]
state_before: case bit1
n : PosNum
⊢ Nat.sqrt ↑(bit1 n) < ↑n + ↑(bit1 1)

tactic: unfold _root_.bit1 _root_.bit0
state_before: case bit1
n : PosNum
⊢ Nat.sqrt (_root_.bit1 ↑n) < ↑n + _root_.bit1 1

tactic: rw [Nat.sqrt_lt]
state_before: case bit1
n : PosNum
⊢ Nat.sqrt (↑n + ↑n + 1) < ↑n + (1 + 1 + 1)

tactic: calc
  (n : ℕ) + (n : ℕ) + 1 ≤ (n : ℕ) + (n : ℕ) + (n : ℕ) := by simp
  _ = (n : ℕ) * (1 + 1 + 1) := by simp only [mul_add, mul_one]
  _ < _ := by simp [mul_lt_mul]
state_before: case bit1
n : PosNum
⊢ ↑n + ↑n + 1 < (↑n + (1 + 1 + 1)) * (↑n + (1 + 1 + 1))

tactic: simp
state_before: case bit1.hnc
n : PosNum
⊢ ¬2 ∣ ↑(bit1 n)

tactic: rfl
state_before: case bit1
n : PosNum
⊢ Nat.minFacAux ↑(bit1 n) ↑(bit1 1) = Nat.minFacAux (↑(bit1 n)) 3

tactic: simp
state_before: n : PosNum
⊢ ↑n + ↑n + 1 ≤ ↑n + ↑n + ↑n

tactic: simp only [mul_add, mul_one]
state_before: n : PosNum
⊢ ↑n + ↑n + ↑n = ↑n * (1 + 1 + 1)

tactic: simp [mul_lt_mul]
state_before: n : PosNum
⊢ ↑n * (1 + 1 + 1) < (↑n + (1 + 1 + 1)) * (↑n + (1 + 1 + 1))

tactic: rw [minFac, Nat.minFac_eq, if_pos]
state_before: case bit0
a✝ : PosNum
⊢ ↑(minFac (bit0 a✝)) = Nat.minFac ↑(bit0 a✝)

tactic: simp
state_before: case bit0.hc
a✝ : PosNum
⊢ 2 ∣ ↑(bit0 a✝)

tactic: rfl
state_before: case bit0
a✝ : PosNum
⊢ ↑(match bit0 a✝ with
      | one => 1
      | bit0 a => 2
      | bit1 n => minFacAux (bit1 n) (↑n) 1) =
    2
Theorem: MeasureTheory.withDensity_sum
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: ext1 s hs
state_before: α : Type u_2
β : Type ?u.1758361
γ : Type ?u.1758364
δ : Type ?u.1758367
m✝ : MeasurableSpace α
μ✝ ν : Measure α
ι : Type u_1
m : MeasurableSpace α
μ : ι → Measure α
f : α → ℝ≥0∞
⊢ withDensity (sum μ) f = sum fun n => withDensity (μ n) f

tactic: simp_rw [sum_apply _ hs, withDensity_apply f hs, restrict_sum μ hs, lintegral_sum_measure]
state_before: case h
α : Type u_2
β : Type ?u.1758361
γ : Type ?u.1758364
δ : Type ?u.1758367
m✝ : MeasurableSpace α
μ✝ ν : Measure α
ι : Type u_1
m : MeasurableSpace α
μ : ι → Measure α
f : α → ℝ≥0∞
s : Set α
hs : MeasurableSet s
⊢ ↑↑(withDensity (sum μ) f) s = ↑↑(sum fun n => withDensity (μ n) f) s
Theorem: Matrix.det_succ_row_zero
File: Mathlib/LinearAlgebra/Matrix/Determinant.lean

tactic: rw [← det_transpose A, det_succ_column_zero]
state_before: m : Type ?u.2165579
n✝ : Type ?u.2165582
inst✝⁴ : DecidableEq n✝
inst✝³ : Fintype n✝
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
n : ℕ
A : Matrix (Fin (Nat.succ n)) (Fin (Nat.succ n)) R
⊢ det A = ∑ j : Fin (Nat.succ n), (-1) ^ ↑j * A 0 j * det (submatrix A Fin.succ ↑(Fin.succAbove j))

tactic: refine' Finset.sum_congr rfl fun i _ => _
state_before: m : Type ?u.2165579
n✝ : Type ?u.2165582
inst✝⁴ : DecidableEq n✝
inst✝³ : Fintype n✝
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
n : ℕ
A : Matrix (Fin (Nat.succ n)) (Fin (Nat.succ n)) R
⊢ ∑ i : Fin (Nat.succ n), (-1) ^ ↑i * Aᵀ i 0 * det (submatrix Aᵀ (↑(Fin.succAbove i)) Fin.succ) =
    ∑ j : Fin (Nat.succ n), (-1) ^ ↑j * A 0 j * det (submatrix A Fin.succ ↑(Fin.succAbove j))

tactic: rw [← det_transpose]
state_before: m : Type ?u.2165579
n✝ : Type ?u.2165582
inst✝⁴ : DecidableEq n✝
inst✝³ : Fintype n✝
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
n : ℕ
A : Matrix (Fin (Nat.succ n)) (Fin (Nat.succ n)) R
i : Fin (Nat.succ n)
x✝ : i ∈ univ
⊢ (-1) ^ ↑i * Aᵀ i 0 * det (submatrix Aᵀ (↑(Fin.succAbove i)) Fin.succ) =
    (-1) ^ ↑i * A 0 i * det (submatrix A Fin.succ ↑(Fin.succAbove i))

tactic: simp only [transpose_apply, transpose_submatrix, transpose_transpose]
state_before: m : Type ?u.2165579
n✝ : Type ?u.2165582
inst✝⁴ : DecidableEq n✝
inst✝³ : Fintype n✝
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
n : ℕ
A : Matrix (Fin (Nat.succ n)) (Fin (Nat.succ n)) R
i : Fin (Nat.succ n)
x✝ : i ∈ univ
⊢ (-1) ^ ↑i * Aᵀ i 0 * det (submatrix Aᵀ (↑(Fin.succAbove i)) Fin.succ)ᵀ =
    (-1) ^ ↑i * A 0 i * det (submatrix A Fin.succ ↑(Fin.succAbove i))
Theorem: LocalHomeomorph.contDiffOn_extend_coord_change
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

tactic: rw [extend_coord_change_source, I.image_eq]
state_before: 𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.174952
M' : Type ?u.174955
H' : Type ?u.174958
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 : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
⊢ ContDiffOn 𝕜 ⊤ (↑(extend f I) ∘ ↑(LocalEquiv.symm (extend f' I))) (LocalEquiv.symm (extend f' I) ≫ extend f I).source

tactic: exact (StructureGroupoid.compatible_of_mem_maximalAtlas hf' hf).1
state_before: 𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.174952
M' : Type ?u.174955
H' : Type ?u.174958
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 : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
⊢ ContDiffOn 𝕜 ⊤ (↑(extend f I) ∘ ↑(LocalEquiv.symm (extend f' I)))
    (↑(ModelWithCorners.symm I) ⁻¹' (LocalHomeomorph.symm f' ≫ₕ f).toLocalEquiv.source ∩ range ↑I)
Theorem: LaurentPolynomial.degree_C_ite
File: Mathlib/Data/Polynomial/Laurent.lean

tactic: split_ifs with h <;> simp only [h, map_zero, degree_zero, degree_C, Ne.def, not_false_iff]
state_before: R : Type u_1
inst✝ : Semiring R
a : R
⊢ degree (↑C a) = if a = 0 then ⊥ else 0
Theorem: le_div_self
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: simpa only [div_one] using div_le_div_of_le_left ha hb₀ hb₁
state_before: ι : Type ?u.74483
α : Type u_1
β : Type ?u.74489
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 0 ≤ a
hb₀ : 0 < b
hb₁ : b ≤ 1
⊢ a ≤ a / b
Theorem: one_div_lt
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: simpa using inv_lt ha hb
state_before: ι : Type ?u.78498
α : Type u_1
β : Type ?u.78504
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 0 < a
hb : 0 < b
⊢ 1 / a < b ↔ 1 / b < a
Theorem: PrimeSpectrum.closure_singleton
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: rw [← zeroLocus_vanishingIdeal_eq_closure, vanishingIdeal_singleton]
state_before: R : Type u
S : Type v
inst✝¹ : CommRing R
inst✝ : CommRing S
x : PrimeSpectrum R
⊢ closure {x} = zeroLocus ↑x.asIdeal
Theorem: invertible_unique
File: Mathlib/Algebra/Invertible.lean

tactic: apply invOf_eq_right_inv
state_before: α✝ α : Type u
inst✝² : Monoid α
a b : α
inst✝¹ : Invertible a
inst✝ : Invertible b
h : a = b
⊢ ⅟a = ⅟b

tactic: rw [h, mul_invOf_self]
state_before: case hac
α✝ α : Type u
inst✝² : Monoid α
a b : α
inst✝¹ : Invertible a
inst✝ : Invertible b
h : a = b
⊢ a * ⅟b = 1
Theorem: inv_inv_div_inv
File: Mathlib/Algebra/Group/Basic.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.33147
G : Type ?u.33150
inst✝ : DivisionCommMonoid α
a b c d : α
⊢ (a⁻¹ / b⁻¹)⁻¹ = a / b
Theorem: LeftOrdContinuous.mono
File: Mathlib/Order/OrdContinuous.lean

tactic: simp [*]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
g : β → γ
f : α → β
hf : LeftOrdContinuous f
a₁ a₂ : α
h : a₁ ≤ a₂
⊢ a₂ ∈ upperBounds {a₁, a₂}
Theorem: Filter.Tendsto.atBot_zsmul_const
File: Mathlib/Order/Filter/Archimedean.lean

tactic: simp only [← tendsto_neg_atTop_iff, ← neg_zsmul] at hf⊢
state_before: α : Type u_2
R : Type u_1
l : Filter α
f✝ : α → R
r : R
inst✝¹ : LinearOrderedAddCommGroup R
inst✝ : Archimedean R
f : α → ℤ
hr : 0 < r
hf : Tendsto f l atBot
⊢ Tendsto (fun x => f x • r) l atBot

tactic: exact hf.atTop_zsmul_const hr
state_before: α : Type u_2
R : Type u_1
l : Filter α
f✝ : α → R
r : R
inst✝¹ : LinearOrderedAddCommGroup R
inst✝ : Archimedean R
f : α → ℤ
hr : 0 < r
hf : Tendsto (fun x => -f x) l atTop
⊢ Tendsto (fun x => -f x • r) l atTop
Theorem: Seminorm.convexOn
File: Mathlib/Analysis/Seminorm.lean

tactic: refine' ⟨convex_univ, fun x _ y _ a b ha hb _ => _⟩
state_before: R : Type ?u.1285893
R' : Type ?u.1285896
𝕜 : Type u_2
𝕜₂ : Type ?u.1285902
𝕜₃ : Type ?u.1285905
𝕝 : Type ?u.1285908
E : Type u_1
E₂ : Type ?u.1285914
E₃ : Type ?u.1285917
F : Type ?u.1285920
G : Type ?u.1285923
ι : Type ?u.1285926
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : NormedSpace ℝ 𝕜
inst✝² : Module 𝕜 E
inst✝¹ : SMul ℝ E
inst✝ : IsScalarTower ℝ 𝕜 E
p : Seminorm 𝕜 E
⊢ ConvexOn ℝ univ ↑p

tactic: calc
  p (a • x + b • y) ≤ p (a • x) + p (b • y) := map_add_le_add p _ _
  _ = ‖a • (1 : 𝕜)‖ * p x + ‖b • (1 : 𝕜)‖ * p y := by
    rw [← map_smul_eq_mul p, ← map_smul_eq_mul p, smul_one_smul, smul_one_smul]
  _ = a * p x + b * p y := by
    rw [norm_smul, norm_smul, norm_one, mul_one, mul_one, Real.norm_of_nonneg ha,
      Real.norm_of_nonneg hb]
state_before: R : Type ?u.1285893
R' : Type ?u.1285896
𝕜 : Type u_2
𝕜₂ : Type ?u.1285902
𝕜₃ : Type ?u.1285905
𝕝 : Type ?u.1285908
E : Type u_1
E₂ : Type ?u.1285914
E₃ : Type ?u.1285917
F : Type ?u.1285920
G : Type ?u.1285923
ι : Type ?u.1285926
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : NormedSpace ℝ 𝕜
inst✝² : Module 𝕜 E
inst✝¹ : SMul ℝ E
inst✝ : IsScalarTower ℝ 𝕜 E
p : Seminorm 𝕜 E
x : E
x✝² : x ∈ univ
y : E
x✝¹ : y ∈ univ
a b : ℝ
ha : 0 ≤ a
hb : 0 ≤ b
x✝ : a + b = 1
⊢ ↑p (a • x + b • y) ≤ a • ↑p x + b • ↑p y

tactic: rw [← map_smul_eq_mul p, ← map_smul_eq_mul p, smul_one_smul, smul_one_smul]
state_before: R : Type ?u.1285893
R' : Type ?u.1285896
𝕜 : Type u_2
𝕜₂ : Type ?u.1285902
𝕜₃ : Type ?u.1285905
𝕝 : Type ?u.1285908
E : Type u_1
E₂ : Type ?u.1285914
E₃ : Type ?u.1285917
F : Type ?u.1285920
G : Type ?u.1285923
ι : Type ?u.1285926
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : NormedSpace ℝ 𝕜
inst✝² : Module 𝕜 E
inst✝¹ : SMul ℝ E
inst✝ : IsScalarTower ℝ 𝕜 E
p : Seminorm 𝕜 E
x : E
x✝² : x ∈ univ
y : E
x✝¹ : y ∈ univ
a b : ℝ
ha : 0 ≤ a
hb : 0 ≤ b
x✝ : a + b = 1
⊢ ↑p (a • x) + ↑p (b • y) = ‖a • 1‖ * ↑p x + ‖b • 1‖ * ↑p y

tactic: rw [norm_smul, norm_smul, norm_one, mul_one, mul_one, Real.norm_of_nonneg ha,
  Real.norm_of_nonneg hb]
state_before: R : Type ?u.1285893
R' : Type ?u.1285896
𝕜 : Type u_2
𝕜₂ : Type ?u.1285902
𝕜₃ : Type ?u.1285905
𝕝 : Type ?u.1285908
E : Type u_1
E₂ : Type ?u.1285914
E₃ : Type ?u.1285917
F : Type ?u.1285920
G : Type ?u.1285923
ι : Type ?u.1285926
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : NormedSpace ℝ 𝕜
inst✝² : Module 𝕜 E
inst✝¹ : SMul ℝ E
inst✝ : IsScalarTower ℝ 𝕜 E
p : Seminorm 𝕜 E
x : E
x✝² : x ∈ univ
y : E
x✝¹ : y ∈ univ
a b : ℝ
ha : 0 ≤ a
hb : 0 ≤ b
x✝ : a + b = 1
⊢ ‖a • 1‖ * ↑p x + ‖b • 1‖ * ↑p y = a * ↑p x + b * ↑p y
Theorem: Int.csInf_empty
File: Mathlib/Data/Int/ConditionallyCompleteOrder.lean

tactic: simp
state_before: ⊢ ¬(Set.Nonempty ∅ ∧ BddBelow ∅)