Remark 5: four rotations of , genera three versus two, no similarity to
ProvedCurveSymmetry.paper_degree_four_genusIdentify the Euclidean plane with . For let be the group of orientation-preserving Euclidean isometries (, ) with . Let and, for , let , the set of equation (1) of the note with (where the note takes and ). For and write and .
Let , the function field of the complexification of in the coordinates , . For with let , the polynomial of equation (6) of the note with , and . For a field , a place of is a valuation ring of with . A Kähler differential is regular at if it is a -linear combination of differentials with , and holomorphic if it is regular at every place. The genus is the dimension over of the space of holomorphic differentials of .
Then:
- has exactly four elements;
- ;
- for every with ;
- there are no with , and or .
In short,
and no direct or orientation-reversing similarity carries onto a set with .
This is the degree-four example of Remark 5 of the note as printed: also attains the rotation bound and is not in the family, since its normalization has genus three rather than two. Normalizations are read as function fields, and the family parameter is only required to be nonreal.
Formalization Note: is a subgroup of the isometry group ℂ ≃ᵢ ℂ, and its size is Nat.card ( for an infinite group). In part 3 the hypothesis is a Fact instance argument, and the instance needed for is supplied locally.
import Definitions.Def_CurveSymmetry_01_RealLoci import Definitions.Def_CurveSymmetry_02_FamilyBasics import Definitions.Def_CurveSymmetry_03_IsometriesAndCharts import Definitions.Def_CurveSymmetry_05_FamilyFunctionField import Definitions.Def_CurveSymmetry_06_QuadraticRing import Definitions.Def_CurveSymmetry_07_Places import Definitions.Def_CurveSymmetry_08_Differentials import Definitions.Def_CurveSymmetry_09_Genus import Definitions.Def_CurveSymmetry_10_KummerField import Definitions.Def_CurveSymmetry_11_KummerLocal import Definitions.Def_CurveSymmetry_12_FermatGenus import Mathlib.Algebra.MvPolynomial.Nilpotent import Mathlib.Algebra.MvPolynomial.NoZeroDivisors import Mathlib.Algebra.MvPolynomial.PDeriv import Mathlib.Algebra.Polynomial.FieldDivision import Mathlib.Algebra.Polynomial.Reverse import Mathlib.Algebra.Polynomial.SpecificDegree import Mathlib.Analysis.Complex.Isometry import Mathlib.Analysis.Complex.OperatorNorm import Mathlib.Analysis.Complex.Polynomial.Basic import Mathlib.Analysis.Normed.Affine.MazurUlam import Mathlib.Data.Complex.Basic import Mathlib.FieldTheory.RatFunc.Basic import Mathlib.FieldTheory.Separable import Mathlib.LinearAlgebra.Basis.Basic import Mathlib.LinearAlgebra.Dimension.Finrank import Mathlib.LinearAlgebra.FiniteDimensional.Defs import Mathlib.LinearAlgebra.TensorProduct.Basis import Mathlib.RingTheory.AdjoinRoot import Mathlib.RingTheory.DedekindDomain.Dvr import Mathlib.RingTheory.DiscreteValuationRing.TFAE import Mathlib.RingTheory.Etale.Field import Mathlib.RingTheory.Etale.Kaehler import Mathlib.RingTheory.Kaehler.Basic import Mathlib.RingTheory.Kaehler.Polynomial import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic import Mathlib.RingTheory.LocalRing.Module import Mathlib.RingTheory.Localization.AsSubring import Mathlib.RingTheory.MvPolynomial.Homogeneous import Mathlib.RingTheory.MvPolynomial.IrreducibleQuadratic import Mathlib.RingTheory.Nakayama import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion import Mathlib.RingTheory.Polynomial.GaussLemma import Mathlib.RingTheory.RootsOfUnity.Complex import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots import Mathlib.RingTheory.Spectrum.Maximal.Localization import Mathlib.RingTheory.Valuation.ValuationSubring import Mathlib.Tactic open CurveSymmetry set_option autoImplicit false attribute [local instance] CurveSymmetry.fact_zero_lt_two
theorem CurveSymmetry.paper_degree_four_genus :
Nat.card (directIsometryGroup {z : ℂ | (z ^ 4).re = 1}) = 4 ∧
genus (FermatFunctionField 4) = 3 ∧
(∀ (α : ℂ) [Fact (α ≠ star α)], genus (FamilyFunctionField 2 α) = 2) ∧
¬ ∃ a b α : ℂ, a ≠ 0 ∧ α ≠ star α ∧
((fun z : ℂ => a * z + b) '' {z : ℂ | (z ^ 4).re = 1} = extremalCurve 2 α ∨
(fun z : ℂ => a * star z + b) '' {z : ℂ | (z ^ 4).re = 1} = extremalCurve 2 α) := by sorryConfirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.