@[simp]
theorem
QuadraticInteger.re_ratCast
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
(q : ℚ)
:
@[simp]
theorem
QuadraticInteger.im_ratCast
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
(q : ℚ)
:
theorem
QuadraticInteger.ratCast_eq_coe
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
(q : ℚ)
:
@[simp]
theorem
QuadraticInteger.re_intCast_K
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
(n : ℤ)
:
@[simp]
theorem
QuadraticInteger.im_intCast_K
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
(n : ℤ)
:
theorem
QuadraticInteger.rational_iff
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
:
theorem
QuadraticInteger.minpoly
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hb : b ≠ 0)
:
_root_.minpoly ℚ (↑a + b • QuadraticAlgebra.omega) = Polynomial.X ^ 2 - Polynomial.C (2 * a) * Polynomial.X + Polynomial.C (a ^ 2 - ↑d * b ^ 2)
theorem
QuadraticInteger.adjoin_z_eq_top
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(h : b ≠ 0)
:
theorem
QuadraticInteger.trace
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
:
theorem
QuadraticInteger.norm
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
:
theorem
QuadraticInteger.trace_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
theorem
QuadraticInteger.a_half_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
(ha : ¬∃ (A : ℤ), ↑A = a)
:
theorem
QuadraticInteger.norm_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
noncomputable def
QuadraticInteger.n
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
Equations
- QuadraticInteger.n hz = ⋯.choose
Instances For
theorem
QuadraticInteger.n_spec
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
theorem
QuadraticInteger.four_n
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
theorem
QuadraticInteger.two_b_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
:
theorem
QuadraticInteger.b_int_of_a_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
(ha : ∃ (A : ℤ), ↑A = a)
:
theorem
QuadraticInteger.algebra_S_K
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
[h : Fact (d ≡ 1 [ZMOD 4])]
:
theorem
QuadraticInteger.algebraMap_S_K_omega
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
[h : Fact (d ≡ 1 [ZMOD 4])]
:
(algebraMap (QuadraticAlgebra ℤ ((d - 1) / 4) 1) (QuadraticAlgebra ℚ (↑d) 0)) QuadraticAlgebra.omega = 2⁻¹ * (QuadraticAlgebra.omega + 1)
theorem
QuadraticInteger.easy_incl_d_1
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
[h : Fact (d ≡ 1 [ZMOD 4])]
:
IsIntegral ℤ ((algebraMap (QuadraticAlgebra ℤ ((d - 1) / 4) 1) (QuadraticAlgebra ℚ (↑d) 0)) QuadraticAlgebra.omega)
theorem
QuadraticInteger.d_1_int
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
[h : Fact (d ≡ 1 [ZMOD 4])]
{a b : ℚ}
(hz : IsIntegral ℤ (↑a + b • QuadraticAlgebra.omega))
(ha : ∃ (A : ℤ), ↑A = a)
:
↑a + b • QuadraticAlgebra.omega ∈ Set.range ⇑(algebraMap (QuadraticAlgebra ℤ ((d - 1) / 4) 1) (QuadraticAlgebra ℚ (↑d) 0))
theorem
QuadraticInteger.d_1
{d : ℤ}
[sf : Fact (Squarefree d)]
[alt : d.natAbs.AtLeastTwo]
[h : Fact (d ≡ 1 [ZMOD 4])]
:
IsIntegralClosure (QuadraticAlgebra ℤ ((d - 1) / 4) 1) ℤ (QuadraticAlgebra ℚ (↑d) 0)