Basic theory of heights #
This is an attempt at formalizing some basic properties of height functions.
We aim at a level of generality that allows to apply the theory to algebraic number fields and to function fields (and possibly beyond).
The general set-up for heights is the following. Let K be a field.
- We have a
Multisetof archimedean absolute values onK(with values inℝ). - We also have a
Setof non-archimedean (i.e.,|x+y| ≤ max |x| |y|) absolute values. - For a given
x ≠ 0inK,|x|ᵥ = 1for all but finitely many (non-archimedean)v. - We have the product formula
∏ v : arch, |x|ᵥ * ∏ v : nonarch, |x|ᵥ = 1for allx ≠ 0inK, where the first product is over the multiset of archimedean absolute values.
We realize this implementation via the class Height.AdmissibleAbsValues K.
Main definitions #
We define multiplicative heights and logarithmic heights (which are just defined to be the (real) logarithm of the corresponding multiplicative height). This leads to some duplication (in the definitions and statements; the proofs are reduced to those for the multiplicative height), which is justified, as both versions are frequently used.
We define the following variants.
Height.mulHeight₁ xandHeight.logHeight₁ xforx : K. This is the height of an element ofK.Height.mulHeight xandHeight.logHeight xforx : ι → Kwithιfinite. This is the height of a tuple of elements ofKrepresenting a point in projective space. Whenx = 0, we define the multiplicative height to be1(so the loarithmic height is0). It is invariant under scaling by nonzero elements ofK.Finsupp.mulHeight xandFinsupp.logHeight xforx : α →₀ K. This is the same as the height ofxrestricted to the support ofx.- (TODO)
Projectivization.mulHeightandProjectivization.logHeightonProjectivization K (ι → K)(with aFintype ι). This is the height of a point on projective space (with fixed basis).
TODO #
Add
Height.AdmissibleAbsValuesinstances for- Fields of rational functions in
nvariables and - Finite extensions of fields with
Height.AdmissibleAbsValues.
- Fields of rational functions in
Prove upper and lower bounds on the height of the image of a tuple under a tuple of homogeneous polynomial maps of the same degree.
Tags #
Height, absolute value
Families of admissible absolute values #
We define the class AdmissibleAbsValues K for a field K, which captures the notion of a
family of absolute values on K satisfying a product formula.
A type class capturing an admissible family of absolute values.
- archAbsVal : Multiset (AbsoluteValue K ℝ)
The archimedean absolute values as a multiset of
ℝ-valued absolute values onK. - nonarchAbsVal : Set (AbsoluteValue K ℝ)
The nonarchimedean absolute values as a set of
ℝ-valued absolute values onK. - isNonarchimedean (v : AbsoluteValue K ℝ) : v ∈ nonarchAbsVal → IsNonarchimedean ⇑v
The nonarchimedean absolute values are indeed nonarchimedean.
- mulSupport_finite {x : K} : x ≠ 0 → (Function.mulSupport fun (v : ↑nonarchAbsVal) => ↑v x).Finite
Only finitely many (nonarchimedean) absolute values are
≠ 1for any nonzerox : K. - product_formula {x : K} : x ≠ 0 → (Multiset.map (fun (x_1 : AbsoluteValue K ℝ) => x_1 x) archAbsVal).prod * ∏ᶠ (v : ↑nonarchAbsVal), ↑v x = 1
The product formula. The archimedean absolute values are taken with their multiplicity.
Instances
The totalWeight of a field with AdmissibleAbsValues is the sum of the multiplicities of
the archimedean places.
Equations
Instances For
Heights of field elements #
We use the subscipt ₁ to denote multiplicative and logarithmic heights of field elements
(this is because we are in the one-dimensional case of (affine) heights).
The multiplicative height of an element of K.
Equations
Instances For
The mutliplicative height of a field element is always at least 1.
The logarithmic height of an element of K.
Equations
Instances For
Positivity extension for mulHeight₁, logHeight₁ #
Heights of tuples and finitely supported maps #
We define the multiplicative height of a nonzero tuple x : ι → K as the product of the maxima
of v on x, as v runs through the relevant absolute values of K. As usual, the
logarithmic height is the logarithm of the multiplicative height.
When x = 0, we define the multiplicative height to be 1; this is a convenient "junk value",
which allows to avoid the condition x ≠ 0 in most of the results.
For a finitely supported function x : ι →₀ K, we define the height as the height of x
restricted to its support.
The multiplicative height of a tuple of elements of K.
For the zero tuple we take the junk value 1.
Equations
Instances For
Eta-expanded form of Height.mulHeight_zero
Eta-expanded form of Height.mulHeight_one
The multiplicative height does not change under re-indexing.
The logarithmic height of a tuple of elements of K.
Equations
Instances For
Eta-expanded form of Height.logHeight_zero
Eta-expanded form of Height.logHeight_one
The multiplicative height of a finitely supported function.
Equations
Instances For
The logarithmic height of a finitely supported function.
Equations
Instances For
First properties of heights #
The multiplicative height of a tuple does not change under scaling.
Positivity extension for mulHeight, logHeight #
Further properties of heights #
The logarithmic height of a tuple does not change under scaling.
The multiplicative height of the coordinate-wise nth power of a tuple
is the nth power of its multiplicative height.
The logarithmic height of the coordinate-wise nth power of a tuple
is n times its logarithmic height.
The multiplicative height of the inverse of a field element x
is the same as the multiplicative height of x.
The logarithmic height of the inverse of a field element x
is the same as the logarithmic height of x.
The multiplicative height of the nth power of a field element x (with n : ℕ)
is the nth power of the multiplicative height of x.
The logarithmic height of the nth power of a field element x (with n : ℕ)
is n times the logaritmic height of x.
The multiplicative height of the nth power of a field element x (with n : ℤ)
is the |n|th power of the multiplicative height of x.
The logarithmic height of the nth power of a field element x (with n : ℤ)
is |n| times the logarithmic height of x.
Bounds for the height of sums of field elements #
We prove the general case (finite sums of arbitrary length) first and deduce the result for sums of two elements from it.
The "local" version of the height bound for arbitrary sums for general (possibly archimedean) absolute values.
The "local" version of the height bound for arbitrary sums for nonarchimedean absolute values.
The multiplicative height of a nonempty finite sum of field elements is at most
n ^ (totalWeight K) times the product of the individual multiplicative
heights, where n is the number of terms.
The logarithmic height of a finite sum of field elements is at most
totalWeight K * log n plus the sum of the individual logarithmic heights,
where n is the number of terms.
(Note that here we do not need to assume that s is nonempty, due to the convenient
junk value log 0 = 0.)
The multiplicative height of -x is the same as that of x.
The logarithmic height of -x is the same as that of x.
The multiplicative height of x + y is at most 2 ^ totalWeight K
times the product of the multiplicative heights of x and y.
The logarithmic height of x + y is at most totalWeight K * log 2
plus the sum of the logarithmic heights of x and y.
The multiplicative height of x - y is at most 2 ^ totalWeight K
times the product of the multiplicative heights of x and y.
The logarithmic height of x - y is at most totalWeight K * log 2
plus the sum of the logarithmic heights of x and y.