Minimal API for ζ on the critical line (design-level abstraction).
This interface decouples downstream development from the concrete implementation
of the Riemann zeta function. It only requires measurability and local
boundedness along the critical line. Concrete instances can be provided from
Mathlib or external libraries; we include a safe placeholder instance that maps
to 0
, keeping the API usable for testing other components.
- measurable : Measurable zeta_on_line
Instances
Default placeholder instance: ζ(1/2 + iτ) ≡ 0. This satisfies measurability and local boundedness trivially, and can be replaced by a true instance when available without breaking downstream code.
Equations
- Frourio.defaultZetaLineAPI = { zeta_on_line := fun (x : ℝ) => 0, measurable := Frourio.defaultZetaLineAPI._proof_1, loc_bounded := Frourio.defaultZetaLineAPI._proof_2 }
Phase 5.1: injectable data for supplying a concrete ζ on the critical line.
This allows users to provide their own implementation (e.g. from Mathlib) and
produce a ZetaLineAPI
value without committing it as a global instance.
- measurable : Measurable self.zeta_on_line
Instances For
Build a ZetaLineAPI
record from provided measurable/locally-bounded data.
Equations
- Frourio.ZetaLineAPI.ofData d = { zeta_on_line := d.zeta_on_line, measurable := ⋯, loc_bounded := ⋯ }
Instances For
Convenience: construct ZetaData
from a function and proofs.
Equations
- Frourio.ZetaData.mk' f hf_meas hf_loc = { zeta_on_line := f, measurable := hf_meas, loc_bounded := hf_loc }