# mathlibdocumentation

number_theory.number_field

# Number fields #

This file defines a number field, the ring of integers corresponding to it and includes some basic facts about the embeddings into an algebraic closed field.

## Main definitions #

• number_field defines a number field as a field which has characteristic zero and is finite dimensional over ℚ.
• ring_of_integers defines the ring of integers (or number ring) corresponding to a number field as the integral closure of ℤ in the number field.

## Main Result #

• eq_roots: let x ∈ K with K number field and let A be an algebraic closed field of char. 0, then the images of x by the embeddings of K in A are exactly the roots in A of the minimal polynomial of x over ℚ.

## Implementation notes #

The definitions that involve a field of fractions choose a canonical field of fractions, but are independent of that choice.

## Tags #

number field, ring of integers

@[class]
structure number_field (K : Type u_1) [field K] :
Prop
• to_char_zero :
• to_finite_dimensional :

A number field is a field which has characteristic zero and is finite dimensional over ℚ.

Instances of this typeclass
theorem int.not_is_field  :

ℤ with its usual ring structure is not a field.

@[protected]
theorem number_field.is_algebraic (K : Type u_1) [field K] [nf : number_field K] :
def number_field.ring_of_integers (K : Type u_1) [field K] :

The ring of integers (or number ring) corresponding to a number field is the integral closure of ℤ in the number field.

Equations
Instances for ↥number_field.ring_of_integers
theorem number_field.mem_ring_of_integers (K : Type u_1) [field K] (x : K) :
def number_field.ring_of_integers_algebra (K : Type u_1) (L : Type u_2) [field K] [field L] [ L] :

Given an algebra between two fields, create an algebra between their two rings of integers.

For now, this is not an instance by default as it creates an equal-but-not-defeq diamond with algebra.id when K = L. This is caused by x = ⟨x, x.prop⟩ not being defeq on subtypes. This will likely change in Lean 4.

Equations
@[protected, instance]
@[protected, instance]
@[protected, instance]
theorem number_field.ring_of_integers.is_integral_coe {K : Type u_1} [field K] (x : ) :
@[protected]
noncomputable def number_field.ring_of_integers.equiv {K : Type u_1} [field K] (R : Type u_2) [comm_ring R] [ K] [ K] :

The ring of integers of K are equivalent to any integral closure of ℤ in K

Equations
@[protected, instance]

The ring of integers of a number field is not a field.

@[protected, instance]
@[protected, instance]
noncomputable def rat.ring_of_integers_equiv  :

The ring of integers of ℚ as a number field is just ℤ.

Equations
@[protected, instance]

The quotient of ℚ[X] by the ideal generated by an irreducible polynomial of ℚ[X] is a number field.

@[protected, instance]
noncomputable def number_field.embeddings.ring_hom.fintype {K : Type u_1} [field K] [number_field K] {A : Type u_3} [field A] [char_zero A] :

There are finitely many embeddings of a number field.

Equations
theorem number_field.embeddings.card {K : Type u_1} [field K] [number_field K] {A : Type u_3} [field A] [char_zero A]  :

The number of embeddings of a number field is its finrank.

theorem number_field.embeddings.eq_roots {K : Type u_1} [field K] [number_field K] (x : K) {A : Type u_3} [field A] [char_zero A]  :
set.range (λ (φ : K →+* A), φ x) = x).root_set A

For x ∈ K, with K a number field, the images of x by the embeddings of K are exactly the roots of the minimal polynomial of x over ℚ