Continuous perfect pairings #
This file defines continuous perfect pairings.
For a topological ring R and two topological modules M and N, a continuous perfect pairing is
a continuous bilinear map M × N → R that is bijective in both arguments.
We require continuity in the forward direction only so that we can put several different topologies
on the continuous dual (e.g., strong, weak, weak-*). For example, if M is weakly reflexive then
there is a continuous perfect pairing between M and WeakDual R M, even though the map
WeakDual R M ≃ₗ[R] StrongDual R M (where StrongDual R M is equipped with its strong topology) is
not in general a homeomorphism.
TODO #
Adapt PerfectPairing to this Prop-valued typeclass paradigm
For a topological ring R and two topological modules M and N, a continuous perfect pairing
is a continuous bilinear map M × N → R that is bijective in both arguments.
We require continuity in the forward direction only so that we can put several different topologies on the continuous dual: strong, weak, weak-* topology...
- continuous_uncurry : Continuous fun (x : M × N) => match x with | (x, y) => (p x) y
- bijective_left : Function.Bijective fun (x : M) => { toLinearMap := p x, cont := ⋯ }
- bijective_right : Function.Bijective fun (y : N) => { toLinearMap := p.flip y, cont := ⋯ }
Instances
Given a perfect pairing between Mand N, we may interchange the roles of M and N.
Turn a continuous perfect pairing between M and N into a map from M to continuous linear
maps N → R.
Equations
- p.toContPerfPair = LinearEquiv.ofBijective { toFun := fun (x : M) => { toLinearMap := p x, cont := ⋯ }, map_add' := ⋯, map_smul' := ⋯ } ⋯