NRR.Multivalued.Operations — constructors and transformations of nice multivalued functions #
This module provides the reusable operations on nice multivalued functions used later in the prime-refinement argument:
NiceMV.pullbackalong a continuous base map;NiceMV.ofObservable, the canonical nice multivalued functionφ(x, y) = y - f xattached to a bounded continuous observablefwith|f x| < 1;NiceMV.scaleby a strictly positive real constant;NiceMV.reflect, the interval-reflection operation that reverses the sign convention through interval negation without changing the represented zero relation.
The signed-interval negation SignedInterval.neg is introduced first, together with its coercion
and continuity lemmas. Each operation records its evaluation law and the corresponding
zero-set/zero relation identity.
Negation on the signed interval: reflection t ↦ -t through the center 0.
Equations
- NRR.SignedInterval.neg t = ⟨-↑t, ⋯⟩
Instances For
Pull back a nice multivalued function φ on X along a continuous map f : Y → X, giving a
nice multivalued function on Y evaluated by (φ.pullback f).eval y t = φ.eval (f y) t.
Equations
- φ.pullback f = NRR.NiceMV.ofFunction (fun (y : Y) (t : ↑NRR.SignedInterval) => φ.eval (f y) t) ⋯ ⋯ ⋯
Instances For
The canonical nice multivalued function attached to a bounded continuous observable f with
|f x| < 1: it evaluates by (t : ℝ) - f x, so its zero set is the graph t = f x.
Equations
- NRR.NiceMV.ofObservable f hbound = NRR.NiceMV.ofFunction (fun (x : X) (t : ↑NRR.SignedInterval) => ↑t - f x) ⋯ ⋯ ⋯
Instances For
Rescale a nice multivalued function by a strictly positive constant c; scaling preserves the
strict endpoint signs, hence yields a nice multivalued function evaluated by c * φ.eval x t.
Equations
- φ.scale c hc = NRR.NiceMV.ofFunction (fun (x : X) (t : ↑NRR.SignedInterval) => c * φ.eval x t) ⋯ ⋯ ⋯
Instances For
Reflect a nice multivalued function through interval negation: reflect negates both the
observable and the interval coordinate. It preserves the zero relation under SignedInterval.neg,
so it reverses the sign convention without changing the represented zero relation.
Equations
- φ.reflect = NRR.NiceMV.ofFunction (fun (x : X) (t : ↑NRR.SignedInterval) => -φ.eval x (NRR.SignedInterval.neg t)) ⋯ ⋯ ⋯