Evaluation of curve divisors
DefinitionEvaluation of divisors as a group homomorphism#✓fully proved
For a commutative group \(G\) and a function \(f : C \to G\), this is the monoid homomorphism from the group of divisors on \(C\), written multiplicatively, to \(G\) that sends a divisor \(D\) to the finite product \(\prod_{P \in \operatorname{supp} D} f(P)^{D(P)}\).
noncomputable def evalMonoidHom (f : C → G) : Multiplicative (CurveDivisor C) →* G where
toFun D := D.toAdd.prod fun P n ↦ f P ^ n
map_one' := by simp
map_mul' D₁ D₂ :=
Finsupp.prod_add_index' (fun P ↦ zpow_zero (f P))
(fun P n₁ n₂ ↦ zpow_add (f P) n₁ n₂)
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
Uses 1 · Used by 4
DefinitionEvaluation of a divisor against a function#✓fully proved
For a commutative group \(G\), a function \(f : C \to G\) and a divisor \(D\) on \(C\), the evaluation of \(D\) against \(f\) is the element \(f(D) = \prod_{P \in \operatorname{supp} D} f(P)^{D(P)}\) of \(G\).
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
noncomputable def evalMonoidHom (f : C → G) : Multiplicative (CurveDivisor C) →* G where
toFun D := D.toAdd.prod fun P n ↦ f P ^ n
map_one' := by simp
map_mul' D₁ D₂ :=
Finsupp.prod_add_index' (fun P ↦ zpow_zero (f P))
(fun P n₁ n₂ ↦ zpow_add (f P) n₁ n₂)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:28
TheoremEvaluation is a product over the support#✓fully proved
For a commutative group \(G\), every function \(f : C \to G\) and every divisor \(D\) on \(C\), the evaluation of \(D\) against \(f\) equals \(\prod_{P \in \operatorname{supp} D} f(P)^{D(P)}\), the product over the points in the support of \(D\).
theorem eval_eq_prod (f : C → G) (D : CurveDivisor C) :
eval f D = D.prod (fun P n ↦ f P ^ n)
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:36
Uses 2 · Used by 1
TheoremThe zero divisor evaluates to one#✓fully proved
For a commutative group \(G\) and every function \(f : C \to G\), the evaluation of the zero divisor on \(C\) against \(f\) is the identity element \(1\) of \(G\).
@[simp]
theorem eval_zero (f : C → G) : eval f (0 : CurveDivisor C) = 1
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:36
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
Uses 3
TheoremEvaluation of a one-point divisor#✓fully proved
For a commutative group \(G\), every function \(f : C \to G\), every point \(P \in C\) and every integer \(n\), the divisor \(n \cdot P\), with coefficient \(n\) at \(P\) and \(0\) elsewhere, evaluates against \(f\) to \(f(P)^n\).
@[simp]
theorem eval_single (f : C → G) (P : C) (n : ℤ) :
eval f (Finsupp.single P n) = f P ^ n
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:36
Uses 2
TheoremEvaluation is multiplicative#✓fully proved
For a commutative group \(G\), every function \(f : C \to G\) and all divisors \(D_1, D_2\) on \(C\), writing \(f(D)\) for the evaluation of a divisor \(D\) against \(f\), we have \(f(D_1 + D_2) = f(D_1) \, f(D_2)\).
@[simp]
theorem eval_add (f : C → G) (D₁ D₂ : CurveDivisor C) :
eval f (D₁ + D₂) = eval f D₁ * eval f D₂
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:36
Uses 3
TheoremEvaluation of an integer multiple#✓fully proved
For a commutative group \(G\), every function \(f : C \to G\), every integer \(n\) and every divisor \(D\) on \(C\), writing \(f(D)\) for the evaluation of \(D\) against \(f\), we have \(f(nD) = f(D)^n\).
@[simp]
theorem eval_zsmul (f : C → G) (n : ℤ) (D : CurveDivisor C) :
eval f (n • D) = eval f D ^ n
abbrev CurveDivisor (C : Type*) := C →₀ ℤ
MathlibExt/AlgebraicGeometry/Curve/Divisor.lean:24
noncomputable def eval (f : C → G) (D : CurveDivisor C) : G :=
evalMonoidHom f (Multiplicative.ofAdd D)
MathlibExt/AlgebraicGeometry/Curve/Evaluation.lean:36
Uses 3
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.