JacobianVarieties.WeilPairing.Proofs.MultipleClassPairing.towerDatumTop
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace JacobianVarieties.WeilPairing.Proofs.MultipleClassPairing
open AlgebraicCurve
noncomputable section
section Aux
variable {K F : Type*} [Field K] [Field F] [Algebra K F]Lean source · full declaration
def towerDatumTop (m n : ℕ) (D₁ D₂ : Divisor K F) (f₁ g : F)
(hf₁0 : f₁ ≠ 0) (hg0 : g ≠ 0)
(hf₁ : ∀ v : Place K F, v.ord f₁ = ↑(m * n) * D₁ v)
(hg : ∀ v : Place K F, v.ord g = ↑m * D₂ v)
(hdisj : ∀ v : Place K F, D₁ v = 0 ∨ D₂ v = 0)
(hrat : ∀ v : Place K F, D₁ v ≠ 0 ∨ D₂ v ≠ 0 → v.IsRational) :
WeilDatum K F (m * n) where
D₁ := D₁
D₂ := D₂
f₁ := f₁
f₂ := g ^ (n : ℤ)
f₁_ne_zero := hf₁0
f₂_ne_zero := zpow_ne_zero _ hg0
ord_f₁ := hf₁
ord_f₂ := by
intro v
rw [v.ord_zpow, hg v]
push_cast
ring
disjoint := hdisj
rational := hrat