ModuleHasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.lean
Nyll.AlgebraicCurves.Divisors.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
53 declarations indexed from sourceView source ↗ Declarations
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.eq_ord_of_addHom_of_nonneg_iff
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Uniqueness
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (w : Place K F)
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.neg_log_valuation_fiberCenter_eq_ord
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.le_ord_iff_mem_pow_fiberCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.ramificationIndex_eq_ramificationIdx_fiberCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.toValuationSubringOfRestrictEq
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.coe_toValuationSubringOfRestrictEq
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
omit [FiniteDimensional F F'] in
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.residueOfCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.residueOfCenter_apply
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
omit [FiniteDimensional F F'] in
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.ker_residueOfCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.surjective_residueOfCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.residueFieldEquivQuotientCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.residueFieldEquivQuotientCenter_mk
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.placeCongrEquiv
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.coe_placeCongrEquiv
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.restrictResidueFieldEquiv
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.restrictResidueFieldEquiv_residue
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
omit [FiniteDimensional F F'] in
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.inertiaDeg_eq_inertiaDeg_fiberCenter
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section Dict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
AlgebraicCurve.Place.aeval_mem
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section SupportTransfer
open Polynomial
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F'] [Algebra F F']
[FiniteDimensional F F']
variable (w : Place K F')
omit [FiniteDimensional F F'] in
AlgebraicCurve.Place.exists_coeff_ord_ne_zero
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section SupportTransfer
open Polynomial
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F'] [Algebra F F']
[FiniteDimensional F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
Source context 18 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
Source context 19 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.SeparableRelNorm.isSeparable_normalClosure
Source context 22 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
omit [Module.Finite R S] in
Source context 21 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
Source context 22 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
Source context 23 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
Source context 24 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
Source context 25 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
Source context 26 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
Source context 27 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
Source context 28 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
local instance : Algebra 𝕃 (FractionRing 𝕋) :=
FractionRing.liftAlgebra S (FractionRing 𝕋)
Source context 29 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
local instance : Algebra 𝕃 (FractionRing 𝕋) :=
FractionRing.liftAlgebra S (FractionRing 𝕋)
local instance : IsGalois 𝕂 (FractionRing 𝕋) := by
refine IsGalois.of_equiv_equiv (F := 𝕂) (E := 𝔼)
(f := (FractionRing.algEquiv R 𝕂).symm.toRingEquiv)
(g := (FractionRing.algEquiv 𝕋 𝔼).symm.toRingEquiv) ?_
ext
simpa using IsFractionRing.algEquiv_commutes (FractionRing.algEquiv R 𝕂).symm
(FractionRing.algEquiv 𝕋 𝔼).symm _
Source context 30 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
local instance : Algebra 𝕃 (FractionRing 𝕋) :=
FractionRing.liftAlgebra S (FractionRing 𝕋)
local instance : IsGalois 𝕂 (FractionRing 𝕋) := by
refine IsGalois.of_equiv_equiv (F := 𝕂) (E := 𝔼)
(f := (FractionRing.algEquiv R 𝕂).symm.toRingEquiv)
(g := (FractionRing.algEquiv 𝕋 𝔼).symm.toRingEquiv) ?_
ext
simpa using IsFractionRing.algEquiv_commutes (FractionRing.algEquiv R 𝕂).symm
(FractionRing.algEquiv 𝕋 𝔼).symm _
local instance : Module.Finite S 𝕋 := IsIntegralClosure.finite S 𝕃 𝔼 𝕋
Source context 31 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
local instance : Algebra 𝕃 (FractionRing 𝕋) :=
FractionRing.liftAlgebra S (FractionRing 𝕋)
local instance : IsGalois 𝕂 (FractionRing 𝕋) := by
refine IsGalois.of_equiv_equiv (F := 𝕂) (E := 𝔼)
(f := (FractionRing.algEquiv R 𝕂).symm.toRingEquiv)
(g := (FractionRing.algEquiv 𝕋 𝔼).symm.toRingEquiv) ?_
ext
simpa using IsFractionRing.algEquiv_commutes (FractionRing.algEquiv R 𝕂).symm
(FractionRing.algEquiv 𝕋 𝔼).symm _
local instance : Module.Finite S 𝕋 := IsIntegralClosure.finite S 𝕃 𝔼 𝕋
local instance : Module.Finite R 𝕋 := Module.Finite.trans S 𝕋
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.SeparableRelNorm.relNorm_eq_pow_of_isMaximal_fractionRing
Source context 34 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Closure
variable (R S : Type*) [CommRing R] [CommRing S]
[IsDedekindDomain R] [IsDedekindDomain S]
[Algebra R S] [Module.IsTorsionFree R S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
local instance : Algebra S 𝔼 := ((algebraMap 𝕃 𝔼).comp (algebraMap S 𝕃)).toAlgebra
local instance : IsScalarTower S 𝕃 𝔼 := IsScalarTower.of_algebraMap_eq' rfl
local instance : Algebra 𝕋 𝔼 := inferInstanceAs (Algebra (integralClosure S 𝔼) 𝔼)
local instance : IsScalarTower S 𝕋 𝔼 := inferInstanceAs (IsScalarTower S (integralClosure S 𝔼) 𝔼)
local instance : IsIntegralClosure 𝕋 S 𝔼 := integralClosure.isIntegralClosure S 𝔼
local instance : IsScalarTower R 𝕋 𝔼 :=
IsScalarTower.of_algebraMap_eq fun r => Subtype.ext <| by
change algebraMap R (AlgebraicClosure 𝕃) r
= algebraMap 𝕃 (AlgebraicClosure 𝕃) (algebraMap S 𝕃 (algebraMap R S r))
rw [IsScalarTower.algebraMap_apply R 𝕃 (AlgebraicClosure 𝕃), IsScalarTower.algebraMap_apply R S
𝕃]
local instance : FaithfulSMul S 𝔼 := (faithfulSMul_iff_algebraMap_injective S 𝔼).mpr <|
(FaithfulSMul.algebraMap_injective 𝕃 𝔼).comp (FaithfulSMul.algebraMap_injective S 𝕃)
variable [Module.Finite R S]
local instance : FiniteDimensional 𝕃 𝔼 := Module.Finite.right 𝕂 𝕃 𝔼
local instance : IsFractionRing 𝕋 𝔼 := integralClosure.isFractionRing_of_finite_extension 𝕃 𝔼
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
local instance : Algebra.IsSeparable 𝕂 𝔼 := isSeparable_normalClosure R S
local instance : Algebra.IsSeparable 𝕃 𝔼 := Algebra.isSeparable_tower_top_of_isSeparable 𝕂 𝕃 𝔼
local instance : IsAlgClosure 𝕂 (AlgebraicClosure 𝕃) :=
IsAlgClosure.ofAlgebraic 𝕂 𝕃 (AlgebraicClosure 𝕃)
local instance : Normal 𝕂 𝔼 := normalClosure.normal _ _ _
local instance : IsGalois 𝕂 𝔼 := IsGalois.mk
local instance : Algebra 𝕂 (FractionRing 𝕋) :=
FractionRing.liftAlgebra R (FractionRing 𝕋)
local instance : Algebra 𝕃 (FractionRing 𝕋) :=
FractionRing.liftAlgebra S (FractionRing 𝕋)
local instance : IsGalois 𝕂 (FractionRing 𝕋) := by
refine IsGalois.of_equiv_equiv (F := 𝕂) (E := 𝔼)
(f := (FractionRing.algEquiv R 𝕂).symm.toRingEquiv)
(g := (FractionRing.algEquiv 𝕋 𝔼).symm.toRingEquiv) ?_
ext
simpa using IsFractionRing.algEquiv_commutes (FractionRing.algEquiv R 𝕂).symm
(FractionRing.algEquiv 𝕋 𝔼).symm _
local instance : Module.Finite S 𝕋 := IsIntegralClosure.finite S 𝕃 𝔼 𝕋
local instance : Module.Finite R 𝕋 := Module.Finite.trans S 𝕋
local instance : IsDedekindDomain 𝕋 := integralClosure.isDedekindDomain S 𝕃 𝔼
variable {R S}
omit [Algebra.IsSeparable (FractionRing R) (FractionRing S)] in
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Transport
variable {R S : Type*} [CommRing R] [CommRing S]
[Algebra R S] [Module.IsTorsionFree R S] [Module.Finite R S]
[IsDedekindDomain R] [IsDedekindDomain S]
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.SeparableRelNorm.relNorm_eq_pow_of_isMaximal_of_isSeparable
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace SeparableRelNorm
section Transport
variable {R S : Type*} [CommRing R] [CommRing S]
[Algebra R S] [Module.IsTorsionFree R S] [Module.Finite R S]
[IsDedekindDomain R] [IsDedekindDomain S]
local instance : Algebra (FractionRing R) (FractionRing S) :=
FractionRing.liftAlgebra R (FractionRing S)
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.ord_coe_eq_of_span_singleton_eq_pow_maximalIdeal
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
section DVR
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.relNorm_fiberCenter
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Place
open _root_.AlgebraicCurve.Place
section IdealNorm
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.count_normalizedFactors_span_singleton
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Place
open _root_.AlgebraicCurve.Place
section IdealNorm
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.relNorm_span_singleton
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Place
open _root_.AlgebraicCurve.Place
section IdealNorm
variable {v : Place K F} {w : Place K F'}
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.ord_norm_algebraMap_integralClosureAt
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Place
open _root_.AlgebraicCurve.Place
section ElementNorm
variable (v : Place K F)
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Place.ord_norm_eq_sum_fiberOver
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Place
open _root_.AlgebraicCurve.Place
section ElementNorm
variable (v : Place K F)
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.Divisor.pushforwardNormFormula_of_finiteDimensional
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
namespace Divisor
open _root_.AlgebraicCurve.Divisor
AlgebraicCurves.Divisors.Proofs.HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable.AlgebraicCurve.finite_setOf_ord_ne_zero_of_finiteDimensional
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
[Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
[FiniteDimensional F F'] [Algebra.IsSeparable F F']
section T029
variable {K : Type*} [Field K] {F' : Type*} [Field F'] [Algebra K F']
[Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
[FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
AlgebraicCurve.hasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs
namespace HasPrincipalDivisors_of_finiteDimensional_ratFunc_of_isSeparable
noncomputable section
open IsDedekindDomain WithZero IsLocalRing UniqueFactorizationMonoid
open _root_.AlgebraicCurve