Crossings: pathwise reversal lemmas #
Pathwise reversal lemmas relating upcrossings of a process to upcrossings of its negated time
reversal. Downcrossings are not reintroduced here: Mathlib's upcrossings (-b) (-a) (-X) already
is the downcrossing count, so we phrase everything through Mathlib's upcrossings /
upcrossingsBefore of the negated process. No filtration / integrability content here — this is the
purely combinatorial / pathwise layer.
Main results #
upcrossingsBefore_congr/upcrossingsBefore_succ_congr:upcrossingsBefore(at horizonN, resp. the free-boundary horizonN + 1) depends only on the path values on[0, N].upcrossingsBefore_le_upcrossingsBefore_neg_revProcess_succ: the reversal bound — upcrossings ofXon[a, b]before timeNare bounded by upcrossings of the negated time reversal-(revProcess X N)on[-b, -a]before timeN + 1.
Adapted from cameronfreer/exchangeability (Probability/Martingale/Crossings/Pathwise.lean, pin
e0532e59ceff23edab44dda9ab0655debbc9cc22). Written Mathlib-shaped for eventual upstreaming.
Helper: upcrossingsBefore at horizon N + 1 is invariant under pointwise equality on
[0, N]. The extra index N + 1 is a "free boundary" that never affects the crossing count.
Reversed-crossing bound: the upcrossings of X on [a, b] before time N are bounded by the
upcrossings of the negated time-reversed process -(revProcess X N) on [-b, -a] before time
N + 1. The extra N + 1 horizon on the reversed side is what makes crossings completing exactly
at time N count.