ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- OrderRingHom.cancel_right
@[simp]
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
    f₁.comp g = f₂.comp g ↔ f₁ = f₂ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ] [Preorder γ] {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Function.Surjective ⇑g)
Goal: f₁.comp g = f₂.comp g ↔ f₁ = f₂
-- OrderRingHom.cancel_left
@[simp]
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
    f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ] [Preorder γ] {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Function.Injective ⇑f)
Goal: f.comp g₁ = f.comp g₂ ↔ g₁ = g₂
-- OrderRingIso.toFun_eq_coe
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (f : α ≃+*o β)
Goal: f.toFun = ⇑f
-- OrderRingIso.ext
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] {f g : α ≃+*o β} (h : ∀ (a : α), f a = g a)
Goal: f = g
-- OrderRingIso.coe_mk
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (e : α ≃+* β) (h : ∀ {a b : α}, e.toFun a ≤ e.toFun b ↔ a ≤ b)
Goal: ⇑{ toRingEquiv := e, map_le_map_iff' := h } = ⇑e
-- OrderRingIso.mk_coe
@[simp]
theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (e : α ≃+*o β) (h : ∀ {a b : α}, (↑e).toFun a ≤ (↑e).toFun b ↔ a ≤ b)
Goal: { toRingEquiv := ↑e, map_le_map_iff' := h } = e
-- OrderRingIso.toRingEquiv_eq_coe
@[simp]
theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (f : α ≃+*o β)
Goal: f.toRingEquiv = ↑f
-- OrderRingIso.toOrderIso_eq_coe
@[simp]
theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (f : α ≃+*o β)
Goal: ↑f = ↑f
-- OrderRingIso.coe_toRingEquiv
@[simp, norm_cast]
theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (f : α ≃+*o β)
Goal: ⇑↑f = ⇑f
-- OrderRingIso.coe_toOrderIso
@[simp, norm_cast]
theorem coe_toOrderIso (f : α ≃+*o β) : DFunLike.coe (f : α ≃o β) = f 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (f : α ≃+*o β)
Goal: ⇑↑f = ⇑f
-- OrderRingIso.refl_apply
@[simp]
theorem refl_apply (x : α) : OrderRingIso.refl α x = x 
Arguments: (α : Type u_2) [Mul α] [Add α] [LE α] (x : α)
Goal: (OrderRingIso.refl α) x = x
-- OrderRingIso.coe_ringEquiv_refl
@[simp]
theorem coe_ringEquiv_refl : (OrderRingIso.refl α : α ≃+* α) = RingEquiv.refl α 
Arguments: (α : Type u_2) [Mul α] [Add α] [LE α]
Goal: ↑(OrderRingIso.refl α) = RingEquiv.refl α
-- OrderRingIso.coe_orderIso_refl
@[simp]
theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl α 
Arguments: (α : Type u_2) [Mul α] [Add α] [LE α]
Goal: ↑(OrderRingIso.refl α) = OrderIso.refl α
-- OrderRingIso.symm_symm
@[simp]
theorem symm_symm (e : α ≃+*o β) : e.symm.symm = e 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (e : α ≃+*o β)
Goal: e.symm.symm = e
-- OrderRingIso.trans_toRingEquiv
theorem trans_toRingEquiv (f : α ≃+*o β) (g : β ≃+*o γ) :
    (OrderRingIso.trans f g).toRingEquiv = RingEquiv.trans f.toRingEquiv g.toRingEquiv 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] (f : α ≃+*o β) (g : β ≃+*o γ)
Goal: (f.trans g).toRingEquiv = f.trans g.toRingEquiv
-- OrderRingIso.trans_toRingEquiv_aux
@[simp]
theorem trans_toRingEquiv_aux (f : α ≃+*o β) (g : β ≃+*o γ) :
    RingEquivClass.toRingEquiv (OrderRingIso.trans f g)
      = RingEquiv.trans f.toRingEquiv g.toRingEquiv 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] (f : α ≃+*o β) (g : β ≃+*o γ)
Goal: ↑(f.trans g) = f.trans g.toRingEquiv
-- OrderRingIso.trans_apply
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] (f : α ≃+*o β) (g : β ≃+*o γ) (a : α)
Goal: (f.trans g) a = g (f a)
-- OrderRingIso.self_trans_symm
@[simp]
theorem self_trans_symm (e : α ≃+*o β) : e.trans e.symm = OrderRingIso.refl α 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (e : α ≃+*o β)
Goal: e.trans e.symm = OrderRingIso.refl α
-- OrderRingIso.symm_trans_self
@[simp]
theorem symm_trans_self (e : α ≃+*o β) : e.symm.trans e = OrderRingIso.refl β 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] (e : α ≃+*o β)
Goal: e.symm.trans e = OrderRingIso.refl β
-- OrderRingIso.symm_bijective
theorem symm_bijective : Bijective (OrderRingIso.symm : (α ≃+*o β) → β ≃+*o α) 
Arguments: {α : Type u_2} {β : Type u_3} [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β]
Goal: Function.Bijective OrderRingIso.symm
-- OrderRingIso.toOrderRingHom_eq_coe
@[simp]
theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] (f : α ≃+*o β)
Goal: f.toOrderRingHom = ↑f
-- OrderRingIso.coe_toOrderRingHom
@[simp, norm_cast]
theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] (f : α ≃+*o β)
Goal: ⇑↑f = ⇑f
-- OrderRingIso.coe_toOrderRingHom_refl
@[simp]
theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderRingHom.id α 
Arguments: {α : Type u_2} [NonAssocSemiring α] [Preorder α]
Goal: ↑(OrderRingIso.refl α) = OrderRingHom.id α
-- OrderRingIso.toOrderRingHom_injective
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) 
Arguments: {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
Goal: Function.Injective OrderRingIso.toOrderRingHom
-- Polynomial.coe_expand
theorem coe_expand : (expand R p : R[X] → R[X]) = eval₂ C (X ^ p) 
Arguments: (R : Type u) [CommSemiring R] (p : ℕ)
Goal: ⇑(Polynomial.expand R p) = Polynomial.eval₂ Polynomial.C (Polynomial.X ^ p)
-- Polynomial.expand_eq_comp_X_pow
theorem expand_eq_comp_X_pow {f : R[X]} : expand R p f = f.comp (X ^ p) 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) {f : R[X]}
Goal: (Polynomial.expand R p) f = f.comp (Polynomial.X ^ p)
-- Polynomial.expand_eq_sum
theorem expand_eq_sum {f : R[X]} : expand R p f = f.sum fun e a => C a * (X ^ p) ^ e 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) {f : R[X]}
Goal: (Polynomial.expand R p) f = f.sum fun e a => Polynomial.C a * (Polynomial.X ^ p) ^ e
-- Polynomial.expand_C
@[simp]
theorem expand_C (r : R) : expand R p (C r) = C r 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) (r : R)
Goal: (Polynomial.expand R p) (Polynomial.C r) = Polynomial.C r
-- Polynomial.expand_X
@[simp]
theorem expand_X : expand R p X = X ^ p 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ)
Goal: (Polynomial.expand R p) Polynomial.X = Polynomial.X ^ p
-- Polynomial.expand_monomial
@[simp]
theorem expand_monomial (r : R) : expand R p (monomial q r) = monomial (q * p) r 
Arguments: {R : Type u} [CommSemiring R] (p q : ℕ) (r : R)
Goal: (Polynomial.expand R p) ((Polynomial.monomial q) r) = (Polynomial.monomial (q * p)) r
-- Polynomial.expand_expand
theorem expand_expand (f : R[X]) : expand R p (expand R q f) = expand R (p * q) f 
Arguments: {R : Type u} [CommSemiring R] (p q : ℕ) (f : R[X])
Goal: (Polynomial.expand R p) ((Polynomial.expand R q) f) = (Polynomial.expand R (p * q)) f
-- Polynomial.expand_mul
theorem expand_mul (f : R[X]) : expand R (p * q) f = expand R p (expand R q f) 
Arguments: {R : Type u} [CommSemiring R] (p q : ℕ) (f : R[X])
Goal: (Polynomial.expand R (p * q)) f = (Polynomial.expand R p) ((Polynomial.expand R q) f)
-- Polynomial.expand_zero
@[simp]
theorem expand_zero (f : R[X]) : expand R 0 f = C (eval 1 f) 
Arguments: {R : Type u} [CommSemiring R] (f : R[X])
Goal: (Polynomial.expand R 0) f = Polynomial.C (Polynomial.eval 1 f)
-- Polynomial.expand_one
@[simp]
theorem expand_one (f : R[X]) : expand R 1 f = f 
Arguments: {R : Type u} [CommSemiring R] (f : R[X])
Goal: (Polynomial.expand R 1) f = f
-- Polynomial.expand_pow
theorem expand_pow (f : R[X]) : expand R (p ^ q) f = (expand R p)^[q] f 
Arguments: {R : Type u} [CommSemiring R] (p q : ℕ) (f : R[X])
Goal: (Polynomial.expand R (p ^ q)) f = (⇑(Polynomial.expand R p))^[q] f
-- Polynomial.derivative_expand
theorem derivative_expand (f : R[X]) : Polynomial.derivative (expand R p f) =
    expand R p (Polynomial.derivative f) * (p * (X ^ (p - 1) : R[X])) 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) (f : R[X])
Goal: Polynomial.derivative ((Polynomial.expand R p) f) =
  (Polynomial.expand R p) (Polynomial.derivative f) * (↑p * Polynomial.X ^ (p - 1))
-- Polynomial.coeff_expand
theorem coeff_expand {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ) :
    (expand R p f).coeff n = if p ∣ n then f.coeff (n / p) else 0 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ)
Goal: ((Polynomial.expand R p) f).coeff n = if p ∣ n then f.coeff (n / p) else 0
-- Polynomial.coeff_expand_mul
@[simp]
theorem coeff_expand_mul {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ) :
    (expand R p f).coeff (n * p) = f.coeff n 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ)
Goal: ((Polynomial.expand R p) f).coeff (n * p) = f.coeff n
-- Polynomial.coeff_expand_mul'
@[simp]
theorem coeff_expand_mul' {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ) :
    (expand R p f).coeff (p * n) = f.coeff n 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) (f : R[X]) (n : ℕ)
Goal: ((Polynomial.expand R p) f).coeff (p * n) = f.coeff n
-- Polynomial.expand_injective
theorem expand_injective {n : ℕ} (hn : 0 < n) : Function.Injective (expand R n) 
Arguments: {R : Type u} [CommSemiring R] {n : ℕ} (hn : 0 < n)
Goal: Function.Injective ⇑(Polynomial.expand R n)
-- Polynomial.expand_inj
theorem expand_inj {p : ℕ} (hp : 0 < p) {f g : R[X]} : expand R p f = expand R p g ↔ f = g 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f g : R[X]}
Goal: (Polynomial.expand R p) f = (Polynomial.expand R p) g ↔ f = g
-- Polynomial.expand_eq_zero
theorem expand_eq_zero {p : ℕ} (hp : 0 < p) {f : R[X]} : expand R p f = 0 ↔ f = 0 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : R[X]}
Goal: (Polynomial.expand R p) f = 0 ↔ f = 0
-- Polynomial.expand_ne_zero
theorem expand_ne_zero {p : ℕ} (hp : 0 < p) {f : R[X]} : expand R p f ≠ 0 ↔ f ≠ 0 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : R[X]}
Goal: (Polynomial.expand R p) f ≠ 0 ↔ f ≠ 0
-- Polynomial.expand_eq_C
theorem expand_eq_C {p : ℕ} (hp : 0 < p) {f : R[X]} {r : R} : expand R p f = C r ↔ f = C r 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : R[X]} {r : R}
Goal: (Polynomial.expand R p) f = Polynomial.C r ↔ f = Polynomial.C r
-- Polynomial.natDegree_expand
theorem natDegree_expand (p : ℕ) (f : R[X]) : (expand R p f).natDegree = f.natDegree * p 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) (f : R[X])
Goal: ((Polynomial.expand R p) f).natDegree = f.natDegree * p
-- Polynomial.leadingCoeff_expand
theorem leadingCoeff_expand {p : ℕ} {f : R[X]} (hp : 0 < p) :
    (expand R p f).leadingCoeff = f.leadingCoeff 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} {f : R[X]} (hp : 0 < p)
Goal: ((Polynomial.expand R p) f).leadingCoeff = f.leadingCoeff
-- Polynomial.monic_expand_iff
theorem monic_expand_iff {p : ℕ} {f : R[X]} (hp : 0 < p) : (expand R p f).Monic ↔ f.Monic 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} {f : R[X]} (hp : 0 < p)
Goal: ((Polynomial.expand R p) f).Monic ↔ f.Monic
-- Polynomial.map_expand
theorem map_expand {p : ℕ} {f : R →+* S} {q : R[X]} :
    map f (expand R p q) = expand S p (map f q) 
Arguments: {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : ℕ} {f : R →+* S} {q : R[X]}
Goal: Polynomial.map f ((Polynomial.expand R p) q) = (Polynomial.expand S p) (Polynomial.map f q)
-- Polynomial.expand_eval
@[simp]
theorem expand_eval (p : ℕ) (P : R[X]) (r : R) : eval r (expand R p P) = eval (r ^ p) P 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) (P : R[X]) (r : R)
Goal: Polynomial.eval r ((Polynomial.expand R p) P) = Polynomial.eval (r ^ p) P
-- Polynomial.expand_aeval
@[simp]
theorem expand_aeval {A : Type*} [Semiring A] [Algebra R A] (p : ℕ) (P : R[X]) (r : A) :
    aeval r (expand R p P) = aeval (r ^ p) P 
Arguments: {R : Type u} [CommSemiring R] {A : Type u_1} [Semiring A] [Algebra R A] (p : ℕ) (P : R[X]) (r : A)
Goal: (Polynomial.aeval r) ((Polynomial.expand R p) P) = (Polynomial.aeval (r ^ p)) P
-- Polynomial.coeff_contract
theorem coeff_contract {p : ℕ} (hp : p ≠ 0) (f : R[X]) (n : ℕ) :
    (contract p f).coeff n = f.coeff (n * p) 
Arguments: {R : Type u} [CommSemiring R] {p : ℕ} (hp : p ≠ 0) (f : R[X]) (n : ℕ)
Goal: (Polynomial.contract p f).coeff n = f.coeff (n * p)
-- Polynomial.map_contract
theorem map_contract {p : ℕ} (hp : p ≠ 0) {f : R →+* S} {q : R[X]} :
    (q.contract p).map f = (q.map f).contract p 
Arguments: {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : ℕ} (hp : p ≠ 0) {f : R →+* S} {q : R[X]}
Goal: Polynomial.map f (Polynomial.contract p q) = Polynomial.contract p (Polynomial.map f q)
-- Polynomial.contract_expand
theorem contract_expand {f : R[X]} (hp : p ≠ 0) : contract p (expand R p f) = f 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) {f : R[X]} (hp : p ≠ 0)
Goal: Polynomial.contract p ((Polynomial.expand R p) f) = f
-- Polynomial.contract_one
theorem contract_one {f : R[X]} : contract 1 f = f 
Arguments: {R : Type u} [CommSemiring R] {f : R[X]}
Goal: Polynomial.contract 1 f = f
-- Polynomial.expand_contract
theorem expand_contract [CharP R p] [NoZeroDivisors R] {f : R[X]} (hf : Polynomial.derivative f = 0)
    (hp : p ≠ 0) : expand R p (contract p f) = f 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) [CharP R p] [NoZeroDivisors R] {f : R[X]} (hf : Polynomial.derivative f = 0) (hp : p ≠ 0)
Goal: (Polynomial.expand R p) (Polynomial.contract p f) = f
-- Polynomial.expand_contract'
theorem expand_contract' [NoZeroDivisors R] {f : R[X]} (hf : Polynomial.derivative f = 0) :
    expand R p (contract p f) = f 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] [NoZeroDivisors R] {f : R[X]} (hf : Polynomial.derivative f = 0)
Goal: (Polynomial.expand R p) (Polynomial.contract p f) = f
-- Polynomial.expand_char
theorem expand_char (f : R[X]) : map (frobenius R p) (expand R p f) = f ^ p 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] (f : R[X])
Goal: Polynomial.map (frobenius R p) ((Polynomial.expand R p) f) = f ^ p
-- Polynomial.map_expand_pow_char
theorem map_expand_pow_char (f : R[X]) (n : ℕ) :
    map (frobenius R p ^ n) (expand R (p ^ n) f) = f ^ p ^ n 
Arguments: {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] (f : R[X]) (n : ℕ)
Goal: Polynomial.map (frobenius R p ^ n) ((Polynomial.expand R (p ^ n)) f) = f ^ p ^ n
-- Polynomial.rootMultiplicity_expand_pow
theorem rootMultiplicity_expand_pow :
    (expand R (p ^ n) f).rootMultiplicity r = p ^ n * f.rootMultiplicity (r ^ p ^ n) 
Arguments: {R : Type u} [CommRing R] {p n : ℕ} [ExpChar R p] {f : R[X]} {r : R}
Goal: Polynomial.rootMultiplicity r ((Polynomial.expand R (p ^ n)) f) = p ^ n * Polynomial.rootMultiplicity (r ^ p ^ n) f
-- Polynomial.rootMultiplicity_expand
theorem rootMultiplicity_expand :
    (expand R p f).rootMultiplicity r = p * f.rootMultiplicity (r ^ p) 
Arguments: {R : Type u} [CommRing R] {p : ℕ} [ExpChar R p] {f : R[X]} {r : R}
Goal: Polynomial.rootMultiplicity r ((Polynomial.expand R p) f) = p * Polynomial.rootMultiplicity (r ^ p) f
-- Polynomial.isLocalRingHom_expand
theorem isLocalRingHom_expand {p : ℕ} (hp : 0 < p) :
    IsLocalRingHom (↑(expand R p) : R[X] →+* R[X]) 
Arguments: (R : Type u) [CommRing R] [IsDomain R] {p : ℕ} (hp : 0 < p)
Goal: IsLocalRingHom ↑(Polynomial.expand R p)
-- Polynomial.of_irreducible_expand
theorem of_irreducible_expand {p : ℕ} (hp : p ≠ 0) {f : R[X]} (hf : Irreducible (expand R p f)) :
    Irreducible f 
Arguments: {R : Type u} [CommRing R] [IsDomain R] {p : ℕ} (hp : p ≠ 0) {f : R[X]} (hf : Irreducible ((Polynomial.expand R p) f))
Goal: Irreducible f
-- Polynomial.of_irreducible_expand_pow
theorem of_irreducible_expand_pow {p : ℕ} (hp : p ≠ 0) {f : R[X]} {n : ℕ} :
    Irreducible (expand R (p ^ n) f) → Irreducible f 
Arguments: {R : Type u} [CommRing R] [IsDomain R] {p : ℕ} (hp : p ≠ 0) {f : R[X]} {n : ℕ}
Goal: Irreducible ((Polynomial.expand R (p ^ n)) f) → Irreducible f
-- LinearOrderedAddCommMonoidWithTop.top_add'
class LinearOrderedAddCommMonoidWithTop (α : Type*) extends LinearOrderedAddCommMonoid α,
    OrderTop α where
    protected top_add' : ∀ x : α, ⊤ + x = ⊤
Arguments: {α : Type u_3} [self : LinearOrderedAddCommMonoidWithTop α] (x : α)
Goal: ⊤ + x = ⊤
-- LinearOrderedAddCommGroupWithTop.neg_top
class LinearOrderedAddCommGroupWithTop (α : Type*) extends LinearOrderedAddCommMonoidWithTop α,
  SubNegMonoid α, Nontrivial α where
  protected neg_top : -(⊤ : α) = ⊤
  protected add_neg_cancel : ∀ a : α, a ≠ ⊤ → a + -a = 0
Arguments: {α : Type u_3} [self : LinearOrderedAddCommGroupWithTop α]
Goal: -⊤ = ⊤
-- LinearOrderedAddCommGroupWithTop.add_neg_cancel
class LinearOrderedAddCommGroupWithTop (α : Type*) extends LinearOrderedAddCommMonoidWithTop α,
  SubNegMonoid α, Nontrivial α where
  protected neg_top : -(⊤ : α) = ⊤
  protected add_neg_cancel : ∀ a : α, a ≠ ⊤ → a + -a = 0
Arguments: {α : Type u_3} [self : LinearOrderedAddCommGroupWithTop α] (a : α)
Goal: a ≠ ⊤ → a + -a = 0
-- top_add
@[simp]
theorem top_add (a : α) : ⊤ + a = ⊤ 
Arguments: {α : Type u_1} [LinearOrderedAddCommMonoidWithTop α] (a : α)
Goal: ⊤ + a = ⊤
-- add_top
@[simp]
theorem add_top (a : α) : a + ⊤ = ⊤ 
Arguments: {α : Type u_1} [LinearOrderedAddCommMonoidWithTop α] (a : α)
Goal: a + ⊤ = ⊤
-- WithTop.LinearOrderedAddCommGroup.coe_neg
@[simp, norm_cast]
theorem coe_neg (a : α) : ((-a : α) : WithTop α) = -a 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α] (a : α)
Goal: ↑(-a) = -↑a
-- WithTop.LinearOrderedAddCommGroup.neg_top
@[simp]
theorem neg_top : -(⊤ : WithTop α) = ⊤ 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α]
Goal: -⊤ = ⊤
-- WithTop.LinearOrderedAddCommGroup.coe_sub
@[simp, norm_cast]
theorem coe_sub {a b : α} : (↑(a - b) : WithTop α) = ↑a - ↑b 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α] {a b : α}
Goal: ↑(a - b) = ↑a - ↑b
-- WithTop.LinearOrderedAddCommGroup.top_sub
@[simp]
theorem top_sub {a : WithTop α} : (⊤ : WithTop α) - a = ⊤ 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α] {a : WithTop α}
Goal: ⊤ - a = ⊤
-- WithTop.LinearOrderedAddCommGroup.sub_top
@[simp]
theorem sub_top {a : WithTop α} : a - ⊤ = ⊤ 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α] {a : WithTop α}
Goal: a - ⊤ = ⊤
-- WithTop.LinearOrderedAddCommGroup.sub_eq_top_iff
@[simp]
lemma sub_eq_top_iff {a b : WithTop α} : a - b = ⊤ ↔ (a = ⊤ ∨ b = ⊤) 
Arguments: {α : Type u_1} [LinearOrderedAddCommGroup α] {a b : WithTop α}
Goal: a - b = ⊤ ↔ a = ⊤ ∨ b = ⊤
-- OrderAddMonoidHom.monotone'
structure OrderAddMonoidHom (α β : Type*) [Preorder α] [Preorder β] [AddZeroClass α]
  [AddZeroClass β] extends α →+ β where
    monotone' : Monotone toFun
Arguments: {α : Type u_6} {β : Type u_7} [Preorder α] [Preorder β] [AddZeroClass α] [AddZeroClass β] (self : α →+o β)
Goal: Monotone (↑self.toAddMonoidHom).toFun
-- OrderMonoidHom.monotone'
@[to_additive]
structure OrderMonoidHom (α β : Type*) [Preorder α] [Preorder β] [MulOneClass α]
  [MulOneClass β] extends α →* β where
    monotone' : Monotone toFun
Arguments: {α : Type u_6} {β : Type u_7} [Preorder α] [Preorder β] [MulOneClass α] [MulOneClass β] (self : α →*o β)
Goal: Monotone (↑self.toMonoidHom).toFun
-- OrderMonoidWithZeroHom.monotone'
structure OrderMonoidWithZeroHom (α β : Type*) [Preorder α] [Preorder β] [MulZeroOneClass α]
  [MulZeroOneClass β] extends α →*₀ β where
    monotone' : Monotone toFun
Arguments: {α : Type u_6} {β : Type u_7} [Preorder α] [Preorder β] [MulZeroOneClass α] [MulZeroOneClass β] (self : α →*₀o β)
Goal: Monotone (↑self.toMonoidWithZeroHom).toFun
-- map_nonneg
theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Preorder α] [Zero α] [Preorder β] [Zero β] [OrderHomClass F α β] [ZeroHomClass F α β] (f : F) {a : α} (ha : 0 ≤ a)
Goal: 0 ≤ f a
-- map_nonpos
theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Preorder α] [Zero α] [Preorder β] [Zero β] [OrderHomClass F α β] [ZeroHomClass F α β] (f : F) {a : α} (ha : a ≤ 0)
Goal: f a ≤ 0
-- monotone_iff_map_nonneg
theorem monotone_iff_map_nonneg [iamhc : AddMonoidHomClass F α β] :
    Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β]
Goal: Monotone ⇑f ↔ ∀ (a : α), 0 ≤ a → 0 ≤ f a
-- antitone_iff_map_nonpos
theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a → f a ≤ 0 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β]
Goal: Antitone ⇑f ↔ ∀ (a : α), 0 ≤ a → f a ≤ 0
-- monotone_iff_map_nonpos
theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a ≤ 0 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β]
Goal: Monotone ⇑f ↔ ∀ (a : α), a ≤ 0 → f a ≤ 0
-- antitone_iff_map_nonneg
theorem antitone_iff_map_nonneg : Antitone (f : α → β) ↔ ∀ a ≤ 0, 0 ≤ f a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β]
Goal: Antitone ⇑f ↔ ∀ (a : α), a ≤ 0 → 0 ≤ f a
-- strictMono_iff_map_pos
theorem strictMono_iff_map_pos [iamhc : AddMonoidHomClass F α β]  :
    StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [CovariantClass β β (fun x x_1 => x + x_1) fun x x_1 => x < x_1] [iamhc : AddMonoidHomClass F α β]
Goal: StrictMono ⇑f ↔ ∀ (a : α), 0 < a → 0 < f a
-- strictAnti_iff_map_neg
theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β] [CovariantClass β β (fun x x_1 => x + x_1) fun x x_1 => x < x_1]
Goal: StrictAnti ⇑f ↔ ∀ (a : α), 0 < a → f a < 0
-- strictMono_iff_map_neg
theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β] [CovariantClass β β (fun x x_1 => x + x_1) fun x x_1 => x < x_1]
Goal: StrictMono ⇑f ↔ ∀ (a : α), a < 0 → f a < 0
-- strictAnti_iff_map_pos
theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β] (f : F) [iamhc : AddMonoidHomClass F α β] [CovariantClass β β (fun x x_1 => x + x_1) fun x x_1 => x < x_1]
Goal: StrictAnti ⇑f ↔ ∀ (a : α), a < 0 → 0 < f a