ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Algebra.IsAlgebraic.trans
protected theorem Algebra.IsAlgebraic.trans
    [L_alg : Algebra.IsAlgebraic K L] [A_alg : Algebra.IsAlgebraic L A] :
    Algebra.IsAlgebraic K A 
Arguments: {K : Type u_1} {L : Type u_2} {A : Type u_5} [Field K] [Field L] [Ring A] [Algebra K L] [Algebra L A] [Algebra K A] [IsScalarTower K L A] [L_alg : Algebra.IsAlgebraic K L] [A_alg : Algebra.IsAlgebraic L A]
Goal: Algebra.IsAlgebraic K A
-- Algebra.IsAlgebraic.algHom_bijective
theorem algHom_bijective [Algebra.IsAlgebraic K L] (f : L →ₐ[K] L) :
    Function.Bijective f 
Arguments: {K : Type u_1} {L : Type u_2} [CommRing K] [Field L] [Algebra K L] [NoZeroSMulDivisors K L] [Algebra.IsAlgebraic K L] (f : L →ₐ[K] L)
Goal: Function.Bijective ⇑f
-- Algebra.IsAlgebraic.algHom_bijective₂
theorem algHom_bijective₂ [Field R] [Algebra K R]
    [Algebra.IsAlgebraic K L] (f : L →ₐ[K] R) (g : R →ₐ[K] L) :
    Function.Bijective f ∧ Function.Bijective g 
Arguments: {K : Type u_1} {L : Type u_2} {R : Type u_3} [CommRing K] [Field L] [Algebra K L] [NoZeroSMulDivisors K L] [Field R] [Algebra K R] [Algebra.IsAlgebraic K L] (f : L →ₐ[K] R) (g : R →ₐ[K] L)
Goal: Function.Bijective ⇑f ∧ Function.Bijective ⇑g
-- Algebra.IsAlgebraic.bijective_of_isScalarTower
theorem bijective_of_isScalarTower [Algebra.IsAlgebraic K L]
    [Field R] [Algebra K R] [Algebra L R] [IsScalarTower K L R] (f : R →ₐ[K] L) :
    Function.Bijective f 
Arguments: {K : Type u_1} {L : Type u_2} {R : Type u_3} [CommRing K] [Field L] [Algebra K L] [NoZeroSMulDivisors K L] [Algebra.IsAlgebraic K L] [Field R] [Algebra K R] [Algebra L R] [IsScalarTower K L R] (f : R →ₐ[K] L)
Goal: Function.Bijective ⇑f
-- Algebra.IsAlgebraic.bijective_of_isScalarTower'
theorem bijective_of_isScalarTower' [Field R] [Algebra K R]
    [NoZeroSMulDivisors K R]
    [Algebra.IsAlgebraic K R] [Algebra L R] [IsScalarTower K L R] (f : R →ₐ[K] L) :
    Function.Bijective f 
Arguments: {K : Type u_1} {L : Type u_2} {R : Type u_3} [CommRing K] [Field L] [Algebra K L] [Field R] [Algebra K R] [NoZeroSMulDivisors K R] [Algebra.IsAlgebraic K R] [Algebra L R] [IsScalarTower K L R] (f : R →ₐ[K] L)
Goal: Function.Bijective ⇑f
-- Algebra.IsAlgebraic.algEquivEquivAlgHom_symm_apply
@[simps]
noncomputable def algEquivEquivAlgHom [Algebra.IsAlgebraic K L] :
    (L ≃ₐ[K] L) ≃* (L →ₐ[K] L) 
Arguments: (K : Type u_1) (L : Type u_2) [CommRing K] [Field L] [Algebra K L] [NoZeroSMulDivisors K L] [Algebra.IsAlgebraic K L] (ϕ : L →ₐ[K] L)
Goal: (Algebra.IsAlgebraic.algEquivEquivAlgHom K L).symm ϕ = AlgEquiv.ofBijective ϕ ⋯
-- Algebra.IsAlgebraic.algEquivEquivAlgHom_apply
@[simps]
noncomputable def algEquivEquivAlgHom [Algebra.IsAlgebraic K L] :
    (L ≃ₐ[K] L) ≃* (L →ₐ[K] L) 
Arguments: (K : Type u_1) (L : Type u_2) [CommRing K] [Field L] [Algebra K L] [NoZeroSMulDivisors K L] [Algebra.IsAlgebraic K L] (ϕ : L ≃ₐ[K] L)
Goal: (Algebra.IsAlgebraic.algEquivEquivAlgHom K L) ϕ = ↑ϕ
-- AlgHom.bijective
theorem AlgHom.bijective [FiniteDimensional K L] (ϕ : L →ₐ[K] L) : Function.Bijective ϕ 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] (ϕ : L →ₐ[K] L)
Goal: Function.Bijective ⇑ϕ
-- exists_integral_multiple
theorem exists_integral_multiple [Algebra R S] {z : S} (hz : IsAlgebraic R z)
    (inj : ∀ x, algebraMap R S x = 0 → x = 0) :
    ∃ᵉ (x : integralClosure R S) (y ≠ (0 : R)), z * algebraMap R S y = x 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [IsDomain R] [CommRing S] [Algebra R S] {z : S} (hz : IsAlgebraic R z) (inj : ∀ (x : R), (algebraMap R S) x = 0 → x = 0)
Goal: ∃ x y, y ≠ 0 ∧ z * (algebraMap R S) y = ↑x
-- IsIntegralClosure.exists_smul_eq_mul
theorem IsIntegralClosure.exists_smul_eq_mul {L : Type*} [Field L] [Algebra R S] [Algebra S L]
    [Algebra R L] [IsScalarTower R S L] [IsIntegralClosure S R L] [Algebra.IsAlgebraic R L]
    (inj : Function.Injective (algebraMap R L)) (a : S) {b : S} (hb : b ≠ 0) :
    ∃ᵉ (c : S) (d ≠ (0 : R)), d • a = b * c 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [IsDomain R] [CommRing S] {L : Type u_3} [Field L] [Algebra R S] [Algebra S L] [Algebra R L] [IsScalarTower R S L] [IsIntegralClosure S R L] [Algebra.IsAlgebraic R L] (inj : Function.Injective ⇑(algebraMap R L)) (a : S) {b : S} (hb : b ≠ 0)
Goal: ∃ c d, d ≠ 0 ∧ d • a = b * c
-- inv_eq_of_aeval_divX_ne_zero
theorem inv_eq_of_aeval_divX_ne_zero {x : L} {p : K[X]} (aeval_ne : aeval x (divX p) ≠ 0) :
    x⁻¹ = aeval x (divX p) / (aeval x p - algebraMap _ _ (p.coeff 0)) 
Arguments: {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {x : L} {p : K[X]} (aeval_ne : (Polynomial.aeval x) p.divX ≠ 0)
Goal: x⁻¹ = (Polynomial.aeval x) p.divX / ((Polynomial.aeval x) p - (algebraMap K L) (p.coeff 0))
-- inv_eq_of_root_of_coeff_zero_ne_zero
theorem inv_eq_of_root_of_coeff_zero_ne_zero {x : L} {p : K[X]} (aeval_eq : aeval x p = 0)
    (coeff_zero_ne : p.coeff 0 ≠ 0) : x⁻¹ = -(aeval x (divX p) / algebraMap _ _ (p.coeff 0)) 
Arguments: {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {x : L} {p : K[X]} (aeval_eq : (Polynomial.aeval x) p = 0) (coeff_zero_ne : p.coeff 0 ≠ 0)
Goal: x⁻¹ = -((Polynomial.aeval x) p.divX / (algebraMap K L) (p.coeff 0))
-- Subalgebra.inv_mem_of_root_of_coeff_zero_ne_zero
theorem Subalgebra.inv_mem_of_root_of_coeff_zero_ne_zero {x : A} {p : K[X]}
    (aeval_eq : aeval x p = 0) (coeff_zero_ne : p.coeff 0 ≠ 0) : (x⁻¹ : L) ∈ A 
Arguments: {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (A : Subalgebra K L) {x : ↥A} {p : K[X]} (aeval_eq : (Polynomial.aeval x) p = 0) (coeff_zero_ne : p.coeff 0 ≠ 0)
Goal: (↑x)⁻¹ ∈ A
-- Subalgebra.inv_mem_of_algebraic
theorem Subalgebra.inv_mem_of_algebraic {x : A} (hx : _root_.IsAlgebraic K (x : L)) :
    (x⁻¹ : L) ∈ A 
Arguments: {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (A : Subalgebra K L) {x : ↥A} (hx : IsAlgebraic K ↑x)
Goal: (↑x)⁻¹ ∈ A
-- Subalgebra.isField_of_algebraic
theorem Subalgebra.isField_of_algebraic [Algebra.IsAlgebraic K L] : IsField A 
Arguments: {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (A : Subalgebra K L) [Algebra.IsAlgebraic K L]
Goal: IsField ↥A
-- polynomial_smul_apply
@[simp]
theorem polynomial_smul_apply [Semiring R'] [SMul R' S'] (p : R'[X]) (f : R' → S') (x : R') :
    (p • f) x = eval x p • f x 
Arguments: (R' : Type u) (S' : Type v) [Semiring R'] [SMul R' S'] (p : R'[X]) (f : R' → S') (x : R')
Goal: (p • f) x = Polynomial.eval x p • f x
-- polynomial_smul_apply'
@[simp]
theorem polynomial_smul_apply' [CommSemiring R'] [Semiring S'] [Algebra R' S'] [SMul S' T']
    (p : R'[X]) (f : S' → T') (x : S') : (p • f) x = aeval x p • f x 
Arguments: (R' : Type u) (S' : Type v) (T' : Type w) [CommSemiring R'] [Semiring S'] [Algebra R' S'] [SMul S' T'] (p : R'[X]) (f : S' → T') (x : S')
Goal: (p • f) x = (Polynomial.aeval x) p • f x
-- Polynomial.algebraMap_pi_eq_aeval
@[simp]
theorem Polynomial.algebraMap_pi_eq_aeval :
    (algebraMap R'[X] (S' → T') : R'[X] → S' → T') = fun p z => algebraMap _ _ (aeval z p) 
Arguments: (R' : Type u) (S' : Type v) (T' : Type w) [CommSemiring R'] [CommSemiring S'] [CommSemiring T'] [Algebra R' S'] [Algebra S' T']
Goal: ⇑(algebraMap R'[X] (S' → T')) = fun p z => (algebraMap S' T') ((Polynomial.aeval z) p)
-- Polynomial.algebraMap_pi_self_eq_eval
@[simp]
theorem Polynomial.algebraMap_pi_self_eq_eval :
    (algebraMap R'[X] (R' → R') : R'[X] → R' → R') = fun p z => eval z p 
Arguments: (R' : Type u) [CommSemiring R']
Goal: ⇑(algebraMap R'[X] (R' → R')) = fun p z => Polynomial.eval z p
-- FractionalIdeal.absNorm_div_norm_eq_absNorm_div_norm
theorem absNorm_div_norm_eq_absNorm_div_norm {I : FractionalIdeal R⁰ K} (a : R⁰) (I₀ : Ideal R)
    (h : a • (I : Submodule R K) = Submodule.map (Algebra.linearMap R K) I₀) :
    (Ideal.absNorm I.num : ℚ) / |Algebra.norm ℤ (I.den : R)| =
      (Ideal.absNorm I₀ : ℚ) / |Algebra.norm ℤ (a : R)| 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] {I : FractionalIdeal (nonZeroDivisors R) K} (a : ↥(nonZeroDivisors R)) (I₀ : Ideal R) (h : a • ↑I = Submodule.map (Algebra.linearMap R K) I₀)
Goal: ↑(Ideal.absNorm I.num) / ↑|(Algebra.norm ℤ) ↑I.den| = ↑(Ideal.absNorm I₀) / ↑|(Algebra.norm ℤ) ↑a|
-- FractionalIdeal.absNorm_eq
theorem absNorm_eq (I : FractionalIdeal R⁰ K) :
    absNorm I = (Ideal.absNorm I.num : ℚ) / |Algebra.norm ℤ (I.den : R)| 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] (I : FractionalIdeal (nonZeroDivisors R) K)
Goal: FractionalIdeal.absNorm I = ↑(Ideal.absNorm I.num) / ↑|(Algebra.norm ℤ) ↑I.den|
-- FractionalIdeal.absNorm_eq'
theorem absNorm_eq' {I : FractionalIdeal R⁰ K} (a : R⁰) (I₀ : Ideal R)
    (h : a • (I : Submodule R K) = Submodule.map (Algebra.linearMap R K) I₀) :
    absNorm I = (Ideal.absNorm I₀ : ℚ) / |Algebra.norm ℤ (a : R)| 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] {I : FractionalIdeal (nonZeroDivisors R) K} (a : ↥(nonZeroDivisors R)) (I₀ : Ideal R) (h : a • ↑I = Submodule.map (Algebra.linearMap R K) I₀)
Goal: FractionalIdeal.absNorm I = ↑(Ideal.absNorm I₀) / ↑|(Algebra.norm ℤ) ↑a|
-- FractionalIdeal.absNorm_nonneg
theorem absNorm_nonneg (I : FractionalIdeal R⁰ K) : 0 ≤ absNorm I 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] (I : FractionalIdeal (nonZeroDivisors R) K)
Goal: 0 ≤ FractionalIdeal.absNorm I
-- FractionalIdeal.absNorm_bot
theorem absNorm_bot : absNorm (⊥ : FractionalIdeal R⁰ K) = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K]
Goal: FractionalIdeal.absNorm ⊥ = 0
-- FractionalIdeal.absNorm_one
theorem absNorm_one : absNorm (1 : FractionalIdeal R⁰ K) = 1 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K]
Goal: FractionalIdeal.absNorm 1 = 1
-- FractionalIdeal.absNorm_eq_zero_iff
theorem absNorm_eq_zero_iff [NoZeroDivisors K] {I : FractionalIdeal R⁰ K} :
    absNorm I = 0 ↔ I = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] [NoZeroDivisors K] {I : FractionalIdeal (nonZeroDivisors R) K}
Goal: FractionalIdeal.absNorm I = 0 ↔ I = 0
-- FractionalIdeal.coeIdeal_absNorm
theorem coeIdeal_absNorm (I₀ : Ideal R) :
    absNorm (I₀ : FractionalIdeal R⁰ K) = Ideal.absNorm I₀ 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] (I₀ : Ideal R)
Goal: FractionalIdeal.absNorm ↑I₀ = ↑(Ideal.absNorm I₀)
-- FractionalIdeal.abs_det_basis_change
theorem abs_det_basis_change [NoZeroDivisors K] {ι : Type*} [Fintype ι]
    [DecidableEq ι] (b : Basis ι ℤ R) (I : FractionalIdeal R⁰ K) (bI : Basis ι ℤ I) :
    |(b.localizationLocalization ℚ ℤ⁰ K).det ((↑) ∘ bI)| = absNorm I 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] [IsLocalization (Algebra.algebraMapSubmonoid R (nonZeroDivisors ℤ)) K] [Algebra ℚ K] [NoZeroDivisors K] {ι : Type u_3} [Fintype ι] [DecidableEq ι] (b : Basis ι ℤ R) (I : FractionalIdeal (nonZeroDivisors R) K) (bI : Basis ι ℤ ↥↑I)
Goal: |(Basis.localizationLocalization ℚ (nonZeroDivisors ℤ) K b).det (Subtype.val ∘ ⇑bI)| = FractionalIdeal.absNorm I
-- FractionalIdeal.absNorm_span_singleton
@[simp]
theorem absNorm_span_singleton [Module.Finite ℚ K] (x : K) :
    absNorm (spanSingleton R⁰ x) = |(Algebra.norm ℚ x)| 
Arguments: (R : Type u_1) [CommRing R] [IsDedekindDomain R] [Module.Free ℤ R] [Module.Finite ℤ R] {K : Type u_2} [CommRing K] [Algebra R K] [IsFractionRing R K] [IsLocalization (Algebra.algebraMapSubmonoid R (nonZeroDivisors ℤ)) K] [Algebra ℚ K] [Module.Finite ℚ K] (x : K)
Goal: FractionalIdeal.absNorm (FractionalIdeal.spanSingleton (nonZeroDivisors R) x) = |(Algebra.norm ℚ) x|
-- TruncatedWittVector.eq_of_le_of_cast_pow_eq_zero
theorem eq_of_le_of_cast_pow_eq_zero [CharP R p] (i : ℕ) (hin : i ≤ n)
    (hpi : (p : TruncatedWittVector p n R) ^ i = 0) : i = n 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) (R : Type u_1) [CommRing R] [CharP R p] (i : ℕ) (hin : i ≤ n) (hpi : ↑p ^ i = 0)
Goal: i = n
-- TruncatedWittVector.card_zmod
theorem card_zmod : Fintype.card (TruncatedWittVector p n (ZMod p)) = p ^ n 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ)
Goal: Fintype.card (TruncatedWittVector p n (ZMod p)) = p ^ n
-- TruncatedWittVector.charP_zmod
theorem charP_zmod : CharP (TruncatedWittVector p n (ZMod p)) (p ^ n) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ)
Goal: CharP (TruncatedWittVector p n (ZMod p)) (p ^ n)
-- TruncatedWittVector.zmodEquivTrunc_apply
theorem zmodEquivTrunc_apply {x : ZMod (p ^ n)} :
    zmodEquivTrunc p n x = ZMod.castHom (by rfl) (TruncatedWittVector p n (ZMod p)) x 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) {x : ZMod (p ^ n)}
Goal: (TruncatedWittVector.zmodEquivTrunc p n) x = (ZMod.castHom ⋯ (TruncatedWittVector p n (ZMod p))) x
-- TruncatedWittVector.commutes
theorem commutes {m : ℕ} (hm : n ≤ m) :
    (truncate hm).comp (zmodEquivTrunc p m).toRingHom =
      (zmodEquivTrunc p n).toRingHom.comp (ZMod.castHom (pow_dvd_pow p hm) _) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) {m : ℕ} (hm : n ≤ m)
Goal: (TruncatedWittVector.truncate hm).comp (TruncatedWittVector.zmodEquivTrunc p m).toRingHom =
  (TruncatedWittVector.zmodEquivTrunc p n).toRingHom.comp (ZMod.castHom ⋯ (ZMod (p ^ n)))
-- TruncatedWittVector.commutes'
theorem commutes' {m : ℕ} (hm : n ≤ m) (x : ZMod (p ^ m)) :
    truncate hm (zmodEquivTrunc p m x) = zmodEquivTrunc p n (ZMod.castHom (pow_dvd_pow p hm) _ x) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) {m : ℕ} (hm : n ≤ m) (x : ZMod (p ^ m))
Goal: (TruncatedWittVector.truncate hm) ((TruncatedWittVector.zmodEquivTrunc p m) x) =
  (TruncatedWittVector.zmodEquivTrunc p n) ((ZMod.castHom ⋯ (ZMod (p ^ n))) x)
-- TruncatedWittVector.commutes_symm'
theorem commutes_symm' {m : ℕ} (hm : n ≤ m) (x : TruncatedWittVector p m (ZMod p)) :
    (zmodEquivTrunc p n).symm (truncate hm x) =
      ZMod.castHom (pow_dvd_pow p hm) _ ((zmodEquivTrunc p m).symm x) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) {m : ℕ} (hm : n ≤ m) (x : TruncatedWittVector p m (ZMod p))
Goal: (TruncatedWittVector.zmodEquivTrunc p n).symm ((TruncatedWittVector.truncate hm) x) =
  (ZMod.castHom ⋯ (ZMod (p ^ n))) ((TruncatedWittVector.zmodEquivTrunc p m).symm x)
-- TruncatedWittVector.commutes_symm
theorem commutes_symm {m : ℕ} (hm : n ≤ m) :
    (zmodEquivTrunc p n).symm.toRingHom.comp (truncate hm) =
      (ZMod.castHom (pow_dvd_pow p hm) _).comp (zmodEquivTrunc p m).symm.toRingHom 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (n : ℕ) {m : ℕ} (hm : n ≤ m)
Goal: (TruncatedWittVector.zmodEquivTrunc p n).symm.toRingHom.comp (TruncatedWittVector.truncate hm) =
  (ZMod.castHom ⋯ (ZMod (p ^ n))).comp (TruncatedWittVector.zmodEquivTrunc p m).symm.toRingHom
-- WittVector.toZModPow_compat
theorem toZModPow_compat (m n : ℕ) (h : m ≤ n) :
    (ZMod.castHom (pow_dvd_pow p h) (ZMod (p ^ m))).comp (toZModPow p n) = toZModPow p m 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (m n : ℕ) (h : m ≤ n)
Goal: (ZMod.castHom ⋯ (ZMod (p ^ m))).comp (WittVector.toZModPow p n) = WittVector.toZModPow p m
-- WittVector.zmodEquivTrunc_compat
theorem zmodEquivTrunc_compat (k₁ k₂ : ℕ) (hk : k₁ ≤ k₂) :
    (TruncatedWittVector.truncate hk).comp
        ((zmodEquivTrunc p k₂).toRingHom.comp (PadicInt.toZModPow k₂)) =
      (zmodEquivTrunc p k₁).toRingHom.comp (PadicInt.toZModPow k₁) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (k₁ k₂ : ℕ) (hk : k₁ ≤ k₂)
Goal: (TruncatedWittVector.truncate hk).comp
    ((TruncatedWittVector.zmodEquivTrunc p k₂).toRingHom.comp (PadicInt.toZModPow k₂)) =
  (TruncatedWittVector.zmodEquivTrunc p k₁).toRingHom.comp (PadicInt.toZModPow k₁)
-- WittVector.toPadicInt_comp_fromPadicInt
theorem toPadicInt_comp_fromPadicInt : (toPadicInt p).comp (fromPadicInt p) = RingHom.id ℤ_[p] 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)]
Goal: (WittVector.toPadicInt p).comp (WittVector.fromPadicInt p) = RingHom.id ℤ_[p]
-- WittVector.toPadicInt_comp_fromPadicInt_ext
theorem toPadicInt_comp_fromPadicInt_ext (x) :
    (toPadicInt p).comp (fromPadicInt p) x = RingHom.id ℤ_[p] x 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (x : ℤ_[p])
Goal: ((WittVector.toPadicInt p).comp (WittVector.fromPadicInt p)) x = (RingHom.id ℤ_[p]) x
-- WittVector.fromPadicInt_comp_toPadicInt
theorem fromPadicInt_comp_toPadicInt :
    (fromPadicInt p).comp (toPadicInt p) = RingHom.id (𝕎 (ZMod p)) 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)]
Goal: (WittVector.fromPadicInt p).comp (WittVector.toPadicInt p) = RingHom.id (𝕎 (ZMod p))
-- WittVector.fromPadicInt_comp_toPadicInt_ext
theorem fromPadicInt_comp_toPadicInt_ext (x) :
    (fromPadicInt p).comp (toPadicInt p) x = RingHom.id (𝕎 (ZMod p)) x 
Arguments: (p : ℕ) [hp : Fact (Nat.Prime p)] (x : 𝕎 (ZMod p))
Goal: ((WittVector.fromPadicInt p).comp (WittVector.toPadicInt p)) x = (RingHom.id (𝕎 (ZMod p))) x
-- FractionalIdeal.isFractional
protected theorem isFractional (I : FractionalIdeal S P) : IsFractional S (I : Submodule R P) 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P)
Goal: IsFractional S ↑I
-- FractionalIdeal.den_mul_self_eq_num
theorem den_mul_self_eq_num (I : FractionalIdeal S P) :
    I.den • (I : Submodule R P) = Submodule.map (Algebra.linearMap R P) I.num 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P)
Goal: I.den • ↑I = Submodule.map (Algebra.linearMap R P) I.num
-- FractionalIdeal.mem_coe
@[simp]
theorem mem_coe {I : FractionalIdeal S P} {x : P} : x ∈ (I : Submodule R P) ↔ x ∈ I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {I : FractionalIdeal S P} {x : P}
Goal: x ∈ ↑I ↔ x ∈ I
-- FractionalIdeal.ext
@[ext]
theorem ext {I J : FractionalIdeal S P} : (∀ x, x ∈ I ↔ x ∈ J) → I = J 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {I J : FractionalIdeal S P}
Goal: (∀ (x : P), x ∈ I ↔ x ∈ J) → I = J
-- FractionalIdeal.equivNum_apply
@[simp]
 theorem equivNum_apply [Nontrivial P] [NoZeroSMulDivisors R P] {I : FractionalIdeal S P}
    (h_nz : (I.den : R) ≠ 0) (x : I) :
    algebraMap R P (equivNum h_nz x) = I.den • x 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [Nontrivial P] [NoZeroSMulDivisors R P] {I : FractionalIdeal S P} (h_nz : ↑I.den ≠ 0) (x : ↥I)
Goal: (algebraMap R P) ↑((FractionalIdeal.equivNum h_nz) x) = I.den • ↑x
-- FractionalIdeal.coe_copy
@[simp]
theorem coe_copy (p : FractionalIdeal S P) (s : Set P) (hs : s = ↑p) : ↑(p.copy s hs) = s 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (p : FractionalIdeal S P) (s : Set P) (hs : s = ↑p)
Goal: ↑(p.copy s hs) = s
-- FractionalIdeal.coe_eq
theorem coe_eq (p : FractionalIdeal S P) (s : Set P) (hs : s = ↑p) : p.copy s hs = p 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (p : FractionalIdeal S P) (s : Set P) (hs : s = ↑p)
Goal: p.copy s hs = p
-- FractionalIdeal.zero_mem
lemma zero_mem (I : FractionalIdeal S P) : 0 ∈ I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P)
Goal: 0 ∈ I
-- FractionalIdeal.val_eq_coe
@[simp]
theorem val_eq_coe (I : FractionalIdeal S P) : I.val = I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P)
Goal: ↑I = ↑I
-- FractionalIdeal.coe_mk
@[simp, norm_cast]
theorem coe_mk (I : Submodule R P) (hI : IsFractional S I) :
    coeToSubmodule ⟨I, hI⟩ = I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : Submodule R P) (hI : IsFractional S I)
Goal: ↑⟨I, hI⟩ = I
-- FractionalIdeal.coeToSet_coeToSubmodule
theorem coeToSet_coeToSubmodule (I : FractionalIdeal S P) :
    ((I : Submodule R P) : Set P) = I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P)
Goal: ↑↑I = ↑I
-- FractionalIdeal.coeToSubmodule_injective
theorem coeToSubmodule_injective :
    Function.Injective (fun (I : FractionalIdeal S P) ↦ (I : Submodule R P)) 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P]
Goal: Function.Injective fun I => ↑I
-- FractionalIdeal.coeToSubmodule_inj
theorem coeToSubmodule_inj {I J : FractionalIdeal S P} : (I : Submodule R P) = J ↔ I = J 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {I J : FractionalIdeal S P}
Goal: ↑I = ↑J ↔ I = J
-- FractionalIdeal.isFractional_of_le_one
theorem isFractional_of_le_one (I : Submodule R P) (h : I ≤ 1) : IsFractional S I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : Submodule R P) (h : I ≤ 1)
Goal: IsFractional S I
-- FractionalIdeal.isFractional_of_le
theorem isFractional_of_le {I : Submodule R P} {J : FractionalIdeal S P} (hIJ : I ≤ J) :
    IsFractional S I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {I : Submodule R P} {J : FractionalIdeal S P} (hIJ : I ≤ ↑J)
Goal: IsFractional S I
-- FractionalIdeal.coe_coeIdeal
@[simp, norm_cast]
theorem coe_coeIdeal (I : Ideal R) :
    ((I : FractionalIdeal S P) : Submodule R P) = coeSubmodule P I 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : Ideal R)
Goal: ↑↑I = IsLocalization.coeSubmodule P I
-- FractionalIdeal.mem_coeIdeal
@[simp]
theorem mem_coeIdeal {x : P} {I : Ideal R} :
    x ∈ (I : FractionalIdeal S P) ↔ ∃ x', x' ∈ I ∧ algebraMap R P x' = x 
Arguments: {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] {x : P} {I : Ideal R}
Goal: x ∈ ↑I ↔ ∃ x' ∈ I, (algebraMap R P) x' = x
-- FractionalIdeal.mem_coeIdeal_of_mem
theorem mem_coeIdeal_of_mem {x : R} {I : Ideal R} (hx : x ∈ I) :
    algebraMap R P x ∈ (I : FractionalIdeal S P) 
Arguments: {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] {x : R} {I : Ideal R} (hx : x ∈ I)
Goal: (algebraMap R P) x ∈ ↑I
-- FractionalIdeal.coeIdeal_le_coeIdeal'
theorem coeIdeal_le_coeIdeal' [IsLocalization S P] (h : S ≤ nonZeroDivisors R) {I J : Ideal R} :
    (I : FractionalIdeal S P) ≤ J ↔ I ≤ J 
Arguments: {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (h : S ≤ R⁰) {I J : Ideal R}
Goal: ↑I ≤ ↑J ↔ I ≤ J
-- FractionalIdeal.coeIdeal_le_coeIdeal
@[simp]
theorem coeIdeal_le_coeIdeal (K : Type*) [CommRing K] [Algebra R K] [IsFractionRing R K]
    {I J : Ideal R} : (I : FractionalIdeal R⁰ K) ≤ J ↔ I ≤ J 
Arguments: {R : Type u_1} [CommRing R] (K : Type u_3) [CommRing K] [Algebra R K] [IsFractionRing R K] {I J : Ideal R}
Goal: ↑I ≤ ↑J ↔ I ≤ J
-- FractionalIdeal.mem_zero_iff
@[simp]
theorem mem_zero_iff {x : P} : x ∈ (0 : FractionalIdeal S P) ↔ x = 0 
Arguments: {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] {x : P}
Goal: x ∈ 0 ↔ x = 0
-- FractionalIdeal.coe_zero
@[simp, norm_cast]
theorem coe_zero : ↑(0 : FractionalIdeal S P) = (⊥ : Submodule R P) 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P]
Goal: ↑0 = ⊥
-- FractionalIdeal.coeIdeal_bot
@[simp, norm_cast]
theorem coeIdeal_bot : ((⊥ : Ideal R) : FractionalIdeal S P) = 0 
Arguments: {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P]
Goal: ↑⊥ = 0