tasksource/leandojo huggingface dataset:
Theorem: tendsto_nat_ceil_div_atTop
File: Mathlib/Analysis/SpecificLimits/Basic.lean

tactic: simpa using tendsto_nat_ceil_mul_div_atTop (zero_le_one' R)
state_before: α : Type ?u.528297
β : Type ?u.528300
ι : Type ?u.528303
R : Type u_1
inst✝³ : TopologicalSpace R
inst✝² : LinearOrderedField R
inst✝¹ : OrderTopology R
inst✝ : FloorRing R
⊢ Tendsto (fun x => ↑⌈x⌉₊ / x) atTop (𝓝 1)
Theorem: TopCat.Presheaf.pushforward_eq'
File: Mathlib/Topology/Sheaves/Presheaf.lean

tactic: rw [h]
state_before: C : Type u
inst✝ : Category C
X Y : TopCat
f g : X ⟶ Y
h : f = g
ℱ : Presheaf C X
⊢ f _* ℱ = g _* ℱ
Theorem: CategoryTheory.unit_obj_eq_map_unit
File: Mathlib/CategoryTheory/Adjunction/Reflective.lean

tactic: rw [← cancel_mono (i.map ((ofRightAdjoint i).counit.app ((leftAdjoint i).obj X))), ←
  i.map_comp]
state_before: C : Type u₁
D : Type u₂
E : Type u₃
inst✝³ : Category C
inst✝² : Category D
inst✝¹ : Category E
i : D ⥤ C
inst✝ : Reflective i
X : C
⊢ (ofRightAdjoint i).unit.app (i.obj ((leftAdjoint i).obj X)) =
    i.map ((leftAdjoint i).map ((ofRightAdjoint i).unit.app X))

tactic: simp
state_before: C : Type u₁
D : Type u₂
E : Type u₃
inst✝³ : Category C
inst✝² : Category D
inst✝¹ : Category E
i : D ⥤ C
inst✝ : Reflective i
X : C
⊢ (ofRightAdjoint i).unit.app (i.obj ((leftAdjoint i).obj X)) ≫
      i.map ((ofRightAdjoint i).counit.app ((leftAdjoint i).obj X)) =
    i.map ((leftAdjoint i).map ((ofRightAdjoint i).unit.app X) ≫ (ofRightAdjoint i).counit.app ((leftAdjoint i).obj X))
Theorem: CommGroup.is_simple_iff_isCyclic_and_prime_card
File: Mathlib/GroupTheory/SpecificGroups/Cyclic.lean

tactic: constructor
state_before: α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
⊢ IsSimpleGroup α ↔ IsCyclic α ∧ Nat.Prime (Fintype.card α)

tactic: intro h
state_before: case mp
α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
⊢ IsSimpleGroup α → IsCyclic α ∧ Nat.Prime (Fintype.card α)

tactic: exact ⟨IsSimpleGroup.isCyclic, IsSimpleGroup.prime_card⟩
state_before: case mp
α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
h : IsSimpleGroup α
⊢ IsCyclic α ∧ Nat.Prime (Fintype.card α)

tactic: rintro ⟨_, hp⟩
state_before: case mpr
α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
⊢ IsCyclic α ∧ Nat.Prime (Fintype.card α) → IsSimpleGroup α

tactic: haveI : Fact (Fintype.card α).Prime := ⟨hp⟩
state_before: case mpr.intro
α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
left✝ : IsCyclic α
hp : Nat.Prime (Fintype.card α)
⊢ IsSimpleGroup α

tactic: exact isSimpleGroup_of_prime_card rfl
state_before: case mpr.intro
α : Type u
a : α
inst✝¹ : Fintype α
inst✝ : CommGroup α
left✝ : IsCyclic α
hp : Nat.Prime (Fintype.card α)
this : Fact (Nat.Prime (Fintype.card α))
⊢ IsSimpleGroup α
Theorem: Complex.isometryOfOrthonormal_symm_apply
File: Mathlib/Analysis/InnerProductSpace/PiL2.lean

tactic: simp [Complex.isometryOfOrthonormal]
state_before: ι : Type ?u.1342675
ι' : Type ?u.1342678
𝕜 : Type ?u.1342681
inst✝⁹ : IsROrC 𝕜
E : Type ?u.1342687
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : InnerProductSpace 𝕜 E
E' : Type ?u.1342707
inst✝⁶ : NormedAddCommGroup E'
inst✝⁵ : InnerProductSpace 𝕜 E'
F : Type u_1
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
F' : Type ?u.1342745
inst✝² : NormedAddCommGroup F'
inst✝¹ : InnerProductSpace ℝ F'
inst✝ : Fintype ι
v : OrthonormalBasis (Fin 2) ℝ F
f : F
⊢ ↑(LinearIsometryEquiv.symm (isometryOfOrthonormal v)) f =
    ↑(↑(Basis.coord (OrthonormalBasis.toBasis v) 0) f) + ↑(↑(Basis.coord (OrthonormalBasis.toBasis v) 1) f) * I
Theorem: Polynomial.Chebyshev.T_of_two_le
File: Mathlib/RingTheory/Polynomial/Chebyshev.lean

tactic: obtain ⟨n, rfl⟩ := Nat.exists_eq_add_of_le h
state_before: R : Type u_1
S : Type ?u.4734
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h : 2 ≤ n
⊢ T R n = 2 * X * T R (n - 1) - T R (n - 2)

tactic: rw [add_comm]
state_before: case intro
R : Type u_1
S : Type ?u.4734
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h : 2 ≤ 2 + n
⊢ T R (2 + n) = 2 * X * T R (2 + n - 1) - T R (2 + n - 2)

tactic: exact T_add_two R n
state_before: case intro
R : Type u_1
S : Type ?u.4734
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
h : 2 ≤ 2 + n
⊢ T R (n + 2) = 2 * X * T R (n + 2 - 1) - T R (n + 2 - 2)
Theorem: Nat.card_fintypeIic
File: Mathlib/Data/Nat/Interval.lean

tactic: rw [Fintype.card_ofFinset, card_Iic]
state_before: a b c : ℕ
⊢ Fintype.card ↑(Set.Iic b) = b + 1
Theorem: Quaternion.continuous_normSq
File: Mathlib/Analysis/Quaternion.lean

tactic: simpa [← normSq_eq_norm_mul_self] using
  (continuous_norm.mul continuous_norm : Continuous fun q : ℍ => ‖q‖ * ‖q‖)
state_before: ⊢ Continuous ↑normSq
Theorem: SimpleGraph.Walk.support_takeUntil_subset
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: rw [← take_spec p h, mem_support_append_iff]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V
u v w : V
p : Walk G v w
h : u ∈ support p
x : V
hx : x ∈ support (takeUntil p u h)
⊢ x ∈ support p

tactic: exact Or.inl hx
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
inst✝ : DecidableEq V
u v w : V
p : Walk G v w
h : u ∈ support p
x : V
hx : x ∈ support (takeUntil p u h)
⊢ x ∈ support (takeUntil p u h) ∨ x ∈ support (dropUntil p u h)
Theorem: SymOptionSuccEquiv.decode_encode
File: Mathlib/Data/Sym/Basic.lean

tactic: by_cases h : none ∈ s
state_before: α : Type u_1
n : ℕ
inst✝ : DecidableEq α
s : Sym (Option α) (Nat.succ n)
⊢ decode (encode s) = s

tactic: simp [h]
state_before: case pos
α : Type u_1
n : ℕ
inst✝ : DecidableEq α
s : Sym (Option α) (Nat.succ n)
h : none ∈ s
⊢ decode (encode s) = s

tactic: simp only [decode, h, not_false_iff, encode_of_not_none_mem, Embedding.some_apply, map_map,
  comp_apply, Option.some_get]
state_before: case neg
α : Type u_1
n : ℕ
inst✝ : DecidableEq α
s : Sym (Option α) (Nat.succ n)
h : ¬none ∈ s
⊢ decode (encode s) = s

tactic: convert s.attach_map_coe
state_before: case neg
α : Type u_1
n : ℕ
inst✝ : DecidableEq α
s : Sym (Option α) (Nat.succ n)
h : ¬none ∈ s
⊢ map (fun x => ↑x) (attach s) = s
Theorem: LocallyFinite.closure
File: Mathlib/Topology/LocallyFinite.lean

tactic: intro x
state_before: ι : Type u_1
ι' : Type ?u.6925
α : Type ?u.6928
X : Type u_2
Y : Type ?u.6934
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g : ι → Set X
hf : LocallyFinite f
⊢ LocallyFinite fun i => closure (f i)

tactic: rcases hf x with ⟨s, hsx, hsf⟩
state_before: ι : Type u_1
ι' : Type ?u.6925
α : Type ?u.6928
X : Type u_2
Y : Type ?u.6934
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g : ι → Set X
hf : LocallyFinite f
x : X
⊢ ∃ t, t ∈ 𝓝 x ∧ Set.Finite {i | Set.Nonempty ((fun i => closure (f i)) i ∩ t)}

tactic: refine' ⟨interior s, interior_mem_nhds.2 hsx, hsf.subset fun i hi => _⟩
state_before: case intro.intro
ι : Type u_1
ι' : Type ?u.6925
α : Type ?u.6928
X : Type u_2
Y : Type ?u.6934
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g : ι → Set X
hf : LocallyFinite f
x : X
s : Set X
hsx : s ∈ 𝓝 x
hsf : Set.Finite {i | Set.Nonempty (f i ∩ s)}
⊢ ∃ t, t ∈ 𝓝 x ∧ Set.Finite {i | Set.Nonempty ((fun i => closure (f i)) i ∩ t)}

tactic: exact (hi.mono isOpen_interior.closure_inter).of_closure.mono
  (inter_subset_inter_right _ interior_subset)
state_before: case intro.intro
ι : Type u_1
ι' : Type ?u.6925
α : Type ?u.6928
X : Type u_2
Y : Type ?u.6934
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g : ι → Set X
hf : LocallyFinite f
x : X
s : Set X
hsx : s ∈ 𝓝 x
hsf : Set.Finite {i | Set.Nonempty (f i ∩ s)}
i : ι
hi : i ∈ {i | Set.Nonempty ((fun i => closure (f i)) i ∩ interior s)}
⊢ i ∈ {i | Set.Nonempty (f i ∩ s)}
Theorem: Computation.orelse_empty
File: Mathlib/Data/Seq/Computation.lean

tactic: apply eq_of_bisim (fun c₁ c₂ => (c₂ <|> empty α) = c₁) _ rfl
state_before: α : Type u
β : Type v
γ : Type w
c : Computation α
⊢ (HOrElse.hOrElse c fun x => empty α) = c

tactic: intro s' s h
state_before: α : Type u
β : Type v
γ : Type w
c : Computation α
⊢ IsBisimulation fun c₁ c₂ => (HOrElse.hOrElse c₂ fun x => empty α) = c₁

tactic: rw [← h]
state_before: α : Type u
β : Type v
γ : Type w
c s' s : Computation α
h : (HOrElse.hOrElse s fun x => empty α) = s'
⊢ BisimO (fun c₁ c₂ => (HOrElse.hOrElse c₂ fun x => empty α) = c₁) (destruct s') (destruct s)

tactic: apply recOn s <;> intro s <;> rw [think_empty] <;> simp
state_before: α : Type u
β : Type v
γ : Type w
c s' s : Computation α
h : (HOrElse.hOrElse s fun x => empty α) = s'
⊢ BisimO (fun c₁ c₂ => (HOrElse.hOrElse c₂ fun x => empty α) = c₁) (destruct (HOrElse.hOrElse s fun x => empty α))
    (destruct s)

tactic: rw [← think_empty]
state_before: case h2
α : Type u
β : Type v
γ : Type w
c s' s✝ : Computation α
h : (HOrElse.hOrElse s✝ fun x => empty α) = s'
s : Computation α
⊢ (HOrElse.hOrElse s fun x => think (empty α)) = HOrElse.hOrElse s fun x => empty α
Theorem: Polynomial.abs_div_tendsto_atTop_of_degree_gt
File: Mathlib/Analysis/SpecialFunctions/Polynomials.lean

tactic: by_cases h : 0 ≤ P.leadingCoeff / Q.leadingCoeff
state_before: 𝕜 : Type u_1
inst✝¹ : NormedLinearOrderedField 𝕜
P Q : 𝕜[X]
inst✝ : OrderTopology 𝕜
hdeg : degree Q < degree P
hQ : Q ≠ 0
⊢ Tendsto (fun x => abs (eval x P / eval x Q)) atTop atTop

tactic: exact tendsto_abs_atTop_atTop.comp (P.div_tendsto_atTop_of_degree_gt Q hdeg hQ h)
state_before: case pos
𝕜 : Type u_1
inst✝¹ : NormedLinearOrderedField 𝕜
P Q : 𝕜[X]
inst✝ : OrderTopology 𝕜
hdeg : degree Q < degree P
hQ : Q ≠ 0
h : 0 ≤ leadingCoeff P / leadingCoeff Q
⊢ Tendsto (fun x => abs (eval x P / eval x Q)) atTop atTop

tactic: push_neg at h
state_before: case neg
𝕜 : Type u_1
inst✝¹ : NormedLinearOrderedField 𝕜
P Q : 𝕜[X]
inst✝ : OrderTopology 𝕜
hdeg : degree Q < degree P
hQ : Q ≠ 0
h : ¬0 ≤ leadingCoeff P / leadingCoeff Q
⊢ Tendsto (fun x => abs (eval x P / eval x Q)) atTop atTop

tactic: exact tendsto_abs_atBot_atTop.comp (P.div_tendsto_atBot_of_degree_gt Q hdeg hQ h.le)
state_before: case neg
𝕜 : Type u_1
inst✝¹ : NormedLinearOrderedField 𝕜
P Q : 𝕜[X]
inst✝ : OrderTopology 𝕜
hdeg : degree Q < degree P
hQ : Q ≠ 0
h : leadingCoeff P / leadingCoeff Q < 0
⊢ Tendsto (fun x => abs (eval x P / eval x Q)) atTop atTop
Theorem: div_div_self
File: Mathlib/Algebra/GroupWithZero/Basic.lean

tactic: rw [div_div_eq_mul_div]
state_before: α : Type ?u.28722
M₀ : Type ?u.28725
G₀ : Type u_1
M₀' : Type ?u.28731
G₀' : Type ?u.28734
F : Type ?u.28737
F' : Type ?u.28740
inst✝ : GroupWithZero G₀
a✝ b c a : G₀
⊢ a / (a / a) = a

tactic: exact mul_self_div_self a
state_before: α : Type ?u.28722
M₀ : Type ?u.28725
G₀ : Type u_1
M₀' : Type ?u.28731
G₀' : Type ?u.28734
F : Type ?u.28737
F' : Type ?u.28740
inst✝ : GroupWithZero G₀
a✝ b c a : G₀
⊢ a * a / a = a
Theorem: Complex.coe_basisOneI
File: Mathlib/Data/Complex/Module.lean

tactic: fin_cases i <;> fin_cases j <;>
  simp [coe_basisOneI_repr, Finsupp.single_eq_of_ne, Matrix.cons_val_zero,
    Matrix.cons_val_one, Matrix.head_cons, Fin.one_eq_zero_iff, Ne.def, not_false_iff, I_re,
    Nat.succ_succ_ne_one, one_im, I_im, one_re, Finsupp.single_eq_same, Fin.zero_eq_one_iff]
state_before: R : Type ?u.104284
S : Type ?u.104287
i j : Fin 2
⊢ ↑(↑basisOneI.repr (Matrix.vecCons 1 ![I] i)) j = ↑(Finsupp.single i 1) j
Theorem: IsRingHom.map_neg
File: Mathlib/Deprecated/Ring.lean

tactic: rw [hf.map_add]
state_before: α : Type u
β : Type v
inst✝¹ : Ring α
inst✝ : Ring β
f : α → β
hf✝ : IsRingHom f
x y : α
hf : IsRingHom f
⊢ f (-x) = f (-x + x) - f x

tactic: simp
state_before: α : Type u
β : Type v
inst✝¹ : Ring α
inst✝ : Ring β
f : α → β
hf✝ : IsRingHom f
x y : α
hf : IsRingHom f
⊢ f (-x) = f (-x) + f x - f x

tactic: simp [hf.map_zero]
state_before: α : Type u
β : Type v
inst✝¹ : Ring α
inst✝ : Ring β
f : α → β
hf✝ : IsRingHom f
x y : α
hf : IsRingHom f
⊢ f (-x + x) - f x = -f x
Theorem: ZMod.castHom_bijective
File: Mathlib/Data/ZMod/Basic.lean

tactic: haveI : NeZero n :=
  ⟨by
    intro hn
    rw [hn] at h
    exact (Fintype.card_eq_zero_iff.mp h).elim' 0⟩
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = n
⊢ Bijective ↑(castHom (_ : n ∣ n) R)

tactic: rw [Fintype.bijective_iff_injective_and_card, ZMod.card, h, eq_self_iff_true, and_true_iff]
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = n
this : NeZero n
⊢ Bijective ↑(castHom (_ : n ∣ n) R)

tactic: apply ZMod.castHom_injective
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = n
this : NeZero n
⊢ Injective ↑(castHom (_ : n ∣ n) R)

tactic: intro hn
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = n
⊢ n ≠ 0

tactic: rw [hn] at h
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = n
hn : n = 0
⊢ False

tactic: exact (Fintype.card_eq_zero_iff.mp h).elim' 0
state_before: n : ℕ
R : Type u_1
inst✝² : Ring R
inst✝¹ : CharP R n
inst✝ : Fintype R
h : Fintype.card R = 0
hn : n = 0
⊢ False
Theorem: MeasureTheory.withDensity_smul
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: refine' Measure.ext fun s hs => _
state_before: α : Type u_1
β : Type ?u.1758951
γ : Type ?u.1758954
δ : Type ?u.1758957
m : MeasurableSpace α
μ ν : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hf : Measurable f
⊢ withDensity μ (r • f) = r • withDensity μ f

tactic: rw [withDensity_apply _ hs, Measure.coe_smul, Pi.smul_apply, withDensity_apply _ hs,
  smul_eq_mul, ← lintegral_const_mul r hf]
state_before: α : Type u_1
β : Type ?u.1758951
γ : Type ?u.1758954
δ : Type ?u.1758957
m : MeasurableSpace α
μ ν : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hf : Measurable f
s : Set α
hs : MeasurableSet s
⊢ ↑↑(withDensity μ (r • f)) s = ↑↑(r • withDensity μ f) s

tactic: rfl
state_before: α : Type u_1
β : Type ?u.1758951
γ : Type ?u.1758954
δ : Type ?u.1758957
m : MeasurableSpace α
μ ν : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hf : Measurable f
s : Set α
hs : MeasurableSet s
⊢ (∫⁻ (a : α) in s, (r • f) a ∂μ) = ∫⁻ (a : α) in s, r * f a ∂μ
Theorem: Part.mod_mem_mod
File: Mathlib/Data/Part.lean

tactic: simp [mod_def]
state_before: α : Type u_1
β : Type ?u.67366
γ : Type ?u.67369
inst✝ : Mod α
a b : Part α
ma mb : α
ha : ma ∈ a
hb : mb ∈ b
⊢ ma % mb ∈ a % b

tactic: aesop
state_before: α : Type u_1
β : Type ?u.67366
γ : Type ?u.67369
inst✝ : Mod α
a b : Part α
ma mb : α
ha : ma ∈ a
hb : mb ∈ b
⊢ ∃ a_1, a_1 ∈ a ∧ ∃ a, a ∈ b ∧ a_1 % a = ma % mb
Theorem: UniqueFactorizationMonoid.exists_mem_factors_of_dvd
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: simp_all
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a p : α
ha0 : a ≠ 0
hp : Irreducible p
x✝ : p ∣ a
b : α
hb : a = p * b
hb0 : b = 0
⊢ False

tactic: rw [Multiset.prod_cons]
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a p : α
ha0 : a ≠ 0
hp : Irreducible p
x✝ : p ∣ a
b : α
hb : a = p * b
hb0 : b ≠ 0
⊢ p * b ~ᵤ Multiset.prod (p ::ₘ factors b)

tactic: exact (factors_prod hb0).symm.mul_left _
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a p : α
ha0 : a ≠ 0
hp : Irreducible p
x✝ : p ∣ a
b : α
hb : a = p * b
hb0 : b ≠ 0
⊢ p * b ~ᵤ p * Multiset.prod (factors b)

tactic: simp
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a p : α
ha0 : a ≠ 0
hp : Irreducible p
x✝ : p ∣ a
b : α
hb : a = p * b
hb0 : b ≠ 0
this : Multiset.Rel Associated (p ::ₘ factors b) (factors a)
⊢ p ∈ p ::ₘ factors b
Theorem: Finset.coe_sup'
File: Mathlib/Data/Finset/Lattice.lean

tactic: rw [sup', WithBot.coe_unbot]
state_before: F : Type ?u.230811
α : Type u_1
β : Type u_2
γ : Type ?u.230820
ι : Type ?u.230823
κ : Type ?u.230826
inst✝ : SemilatticeSup α
s : Finset β
H : Finset.Nonempty s
f : β → α
⊢ ↑(sup' s H f) = sup s (WithBot.some ∘ f)
Theorem: List.nextOr_cons_of_ne
File: Mathlib/Data/List/Cycle.lean

tactic: cases' xs with z zs
state_before: α : Type u_1
inst✝ : DecidableEq α
xs : List α
y x d : α
h : x ≠ y
⊢ nextOr (y :: xs) x d = nextOr xs x d

tactic: rfl
state_before: case nil
α : Type u_1
inst✝ : DecidableEq α
y x d : α
h : x ≠ y
⊢ nextOr [y] x d = nextOr [] x d

tactic: exact if_neg h
state_before: case cons
α : Type u_1
inst✝ : DecidableEq α
y x d : α
h : x ≠ y
z : α
zs : List α
⊢ nextOr (y :: z :: zs) x d = nextOr (z :: zs) x d
Theorem: CategoryTheory.Groupoid.Free.freeGroupoidFunctor_id
File: Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean

tactic: dsimp only [freeGroupoidFunctor]
state_before: V : Type u
inst✝² : Quiver V
V' : Type u'
inst✝¹ : Quiver V'
V'' : Type u''
inst✝ : Quiver V''
⊢ freeGroupoidFunctor (𝟭q V) = 𝟭 (FreeGroupoid V)

tactic: symm
state_before: V : Type u
inst✝² : Quiver V
V' : Type u'
inst✝¹ : Quiver V'
V'' : Type u''
inst✝ : Quiver V''
⊢ lift (𝟭q V ⋙q of V) = 𝟭 (FreeGroupoid V)

tactic: apply lift_unique
state_before: V : Type u
inst✝² : Quiver V
V' : Type u'
inst✝¹ : Quiver V'
V'' : Type u''
inst✝ : Quiver V''
⊢ 𝟭 (FreeGroupoid V) = lift (𝟭q V ⋙q of V)

tactic: rfl
state_before: case hΦ
V : Type u
inst✝² : Quiver V
V' : Type u'
inst✝¹ : Quiver V'
V'' : Type u''
inst✝ : Quiver V''
⊢ of V ⋙q (𝟭 (FreeGroupoid V)).toPrefunctor = 𝟭q V ⋙q of V
Theorem: CategoryTheory.IsPushout.inl_isoPushout_hom
File: Mathlib/CategoryTheory/Limits/Shapes/CommSq.lean

tactic: simp [← Iso.eq_comp_inv]
state_before: C : Type u₁
inst✝¹ : Category C
Z X Y P : C
f : Z ⟶ X
g : Z ⟶ Y
inl : X ⟶ P
inr : Y ⟶ P
h : IsPushout f g inl inr
inst✝ : HasPushout f g
⊢ inl ≫ (isoPushout h).hom = pushout.inl
Theorem: AlgHom.ofLinearMap_toLinearMap
File: Mathlib/Algebra/Algebra/Hom.lean

tactic: ext
state_before: R : Type u
A : Type v
B : Type w
C : Type u₁
D : Type v₁
inst✝⁸ : CommSemiring R
inst✝⁷ : Semiring A
inst✝⁶ : Semiring B
inst✝⁵ : Semiring C
inst✝⁴ : Semiring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
φ : A →ₐ[R] B
map_one : ↑(toLinearMap φ) 1 = 1
map_mul : ∀ (x y : A), ↑(toLinearMap φ) (x * y) = ↑(toLinearMap φ) x * ↑(toLinearMap φ) y
⊢ ofLinearMap (toLinearMap φ) map_one map_mul = φ

tactic: rfl
state_before: case H
R : Type u
A : Type v
B : Type w
C : Type u₁
D : Type v₁
inst✝⁸ : CommSemiring R
inst✝⁷ : Semiring A
inst✝⁶ : Semiring B
inst✝⁵ : Semiring C
inst✝⁴ : Semiring D
inst✝³ : Algebra R A
inst✝² : Algebra R B
inst✝¹ : Algebra R C
inst✝ : Algebra R D
φ : A →ₐ[R] B
map_one : ↑(toLinearMap φ) 1 = 1
map_mul : ∀ (x y : A), ↑(toLinearMap φ) (x * y) = ↑(toLinearMap φ) x * ↑(toLinearMap φ) y
x✝ : A
⊢ ↑(ofLinearMap (toLinearMap φ) map_one map_mul) x✝ = ↑φ x✝
Theorem: LieSubmodule.eq_bot_iff
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [eq_bot_iff]
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N N' : LieSubmodule R L M
I J : LieIdeal R L
⊢ N = ⊥ ↔ ∀ (m : M), m ∈ N → m = 0

tactic: exact Iff.rfl
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N N' : LieSubmodule R L M
I J : LieIdeal R L
⊢ N ≤ ⊥ ↔ ∀ (m : M), m ∈ N → m = 0
Theorem: Matrix.StdBasisMatrix.mul_left_apply_of_ne
File: Mathlib/Data/Matrix/Basis.lean

tactic: simp [mul_apply, h.symm]
state_before: l : Type ?u.37720
m : Type ?u.37723
n : Type u_1
R : Type ?u.37729
α : Type u_2
inst✝⁴ : DecidableEq l
inst✝³ : DecidableEq m
inst✝² : DecidableEq n
inst✝¹ : Semiring α
i j : n
c : α
i' j' : n
inst✝ : Fintype n
a b : n
h : a ≠ i
M : Matrix n n α
⊢ (stdBasisMatrix i j c ⬝ M) a b = 0
Theorem: Complex.I_sq
File: Mathlib/Data/Complex/Basic.lean

tactic: rw [sq, I_mul_I]
state_before: ⊢ I ^ 2 = -1
Theorem: Int.lt_floor_add_one
File: Mathlib/Algebra/Order/Floor.lean

tactic: simpa only [Int.succ, Int.cast_add, Int.cast_one] using lt_succ_floor a
state_before: F : Type ?u.125097
α : Type u_1
β : Type ?u.125103
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a : α
⊢ a < ↑⌊a⌋ + 1
Theorem: mem_nhdsWithin_Ioi_iff_exists_Ioc_subset
File: Mathlib/Topology/Order/Basic.lean

tactic: rw [mem_nhdsWithin_Ioi_iff_exists_Ioo_subset]
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
⊢ s ∈ 𝓝[Ioi a] a ↔ ∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s

tactic: constructor
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
⊢ (∃ u, u ∈ Ioi a ∧ Ioo a u ⊆ s) ↔ ∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s

tactic: rintro ⟨u, au, as⟩
state_before: case mp
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
⊢ (∃ u, u ∈ Ioi a ∧ Ioo a u ⊆ s) → ∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s

tactic: rcases exists_between au with ⟨v, hv⟩
state_before: case mp.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
u : α
au : u ∈ Ioi a
as : Ioo a u ⊆ s
⊢ ∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s

tactic: exact ⟨v, hv.1, fun x hx => as ⟨hx.1, lt_of_le_of_lt hx.2 hv.2⟩⟩
state_before: case mp.intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
u : α
au : u ∈ Ioi a
as : Ioo a u ⊆ s
v : α
hv : a < v ∧ v < u
⊢ ∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s

tactic: rintro ⟨u, au, as⟩
state_before: case mpr
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
⊢ (∃ u, u ∈ Ioi a ∧ Ioc a u ⊆ s) → ∃ u, u ∈ Ioi a ∧ Ioo a u ⊆ s

tactic: exact ⟨u, au, Subset.trans Ioo_subset_Ioc_self as⟩
state_before: case mpr.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderTopology α
inst✝¹ : NoMaxOrder α
inst✝ : DenselyOrdered α
a : α
s : Set α
u : α
au : u ∈ Ioi a
as : Ioc a u ⊆ s
⊢ ∃ u, u ∈ Ioi a ∧ Ioo a u ⊆ s
Theorem: nonunits.subset_compl_ball
File: Mathlib/Analysis/NormedSpace/Units.lean

tactic: rwa [mem_ball_iff_norm'] at h₁
state_before: R : Type u_1
inst✝¹ : NormedRing R
inst✝ : CompleteSpace R
x : R
hx : x ∈ nonunits R
h₁ : x ∈ Metric.ball 1 1
⊢ ‖1 - x‖ < 1
Theorem: Submodule.range_snd
File: Mathlib/LinearAlgebra/Prod.lean

tactic: rw [range_eq_map, ← prod_top, prod_map_snd]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.323123
M₆ : Type ?u.323126
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
p : Submodule R M
q : Submodule R M₂
⊢ range (snd R M M₂) = ⊤
Theorem: Right.one_le_pow_of_le
File: Mathlib/Algebra/GroupPower/Order.lean

tactic: rw [pow_succ]
state_before: β : Type ?u.56986
A : Type ?u.56989
G : Type ?u.56992
M : Type u_1
R : Type ?u.56998
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : M
hx : 1 ≤ x
n : ℕ
⊢ 1 ≤ x ^ (n + 1)

tactic: exact Right.one_le_mul hx <| Right.one_le_pow_of_le hx
state_before: β : Type ?u.56986
A : Type ?u.56989
G : Type ?u.56992
M : Type u_1
R : Type ?u.56998
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : M
hx : 1 ≤ x
n : ℕ
⊢ 1 ≤ x * x ^ n
Theorem: Finset.eraseNone_insertNone
File: Mathlib/Data/Finset/Option.lean

tactic: ext
state_before: α : Type u_1
β : Type ?u.18177
s : Finset α
⊢ ↑eraseNone (↑insertNone s) = s

tactic: simp
state_before: case a
α : Type u_1
β : Type ?u.18177
s : Finset α
a✝ : α
⊢ a✝ ∈ ↑eraseNone (↑insertNone s) ↔ a✝ ∈ s