theorem
L53 ↗finsupp_prod_zpow_const
AlgebraicCurves.Geometry.Proofs.WeilReciprocity.AlgebraicCurve.WeilReciprocityAnchor.finsupp_prod_zpow_const
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Proofs.WeilReciprocity
attribute [-instance]
instIsPrimeCenter
instIsFractionRingIntegralClosureAt
instIsTorsionFreeSubtypeMemValuationSubringToValuationSubringIntegralClosureAt
instIsDedekindDomainIntegralClosureAt
instFiniteSubtypeMemValuationSubringToValuationSubringIntegralClosureAt
attribute [-simp] AlgebraicCurve.Place.placeOfPrime_toValuationSubring
AlgebraicCurve.Place.mem_fiberOver AlgebraicCurve.Place.fiberEquiv_symm_apply
AlgebraicCurve.Place.fiberEquiv_apply AlgebraicCurve.Place.centerHeightOneSpectrum_asIdeal
open _root_.AlgebraicCurve
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace WeilReciprocityAnchor
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]Lean source · full declaration
theorem finsupp_prod_zpow_const {c : K} (hc : c ≠ 0) (D : Divisor K F) :
(D.prod fun _ n => c ^ n) = c ^ (D.sum fun _ n => n) := by
classical
unfold Finsupp.prod Finsupp.sum
induction D.support using Finset.cons_induction with
| empty => simp
| cons a s ha ih => rw [Finset.prod_cons, Finset.sum_cons, zpow_add₀ hc, ih]