feat(ProbabilisticTheory): order-unit spaces - #1667
TomOleDiem wants to merge 8 commits into
Conversation
…ibAlpha (work-in-progress)
Ladder Operators & Harmonic Oscillator
# Conflicts: # PhyslibAlpha/Mathematics/LadderSystem/Basic.lean # PhyslibAlpha/Mathematics/LadderSystem/Irreducibility.lean # PhyslibAlpha/Mathematics/LadderSystem/OccupationBasis.lean # PhyslibAlpha/Mathematics/LadderSystem/SymmetricPower.lean # PhyslibAlpha/Mathematics/LadderSystem/Vacuum.lean # PhyslibAlpha/QuantumMechanics/HarmonicOscillator/Basic.lean # PhyslibAlpha/QuantumMechanics/HarmonicOscillator/LadderOperators.lean # PhyslibAlpha/QuantumMechanics/HarmonicOscillator/Vacuum.lean
Adds the order-unit foundation for a general probabilistic theory: IsOrderUnit/IsOrderUnitElement (OrderUnit/Basic.lean), the positive cone and its order-unit-shift lemma (OrderUnit/Cone.lean), and the Archimedean order-unit norm with its induced normed-space structure and order-closed topology (OrderUnit/Archimedean.lean). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Thank you for this pull-request (PR). If this is your first PR, welcome to the community! Below is what will happen next. Please read carefully if you are not familiar with the process. You may open other PRs while this one is being reviewed, and can stack PRs on top of each other, so don't let these steps slow you down.
Tip: The easiest way to get have a fast review is to submit a PR that is small and self-contained, and has clear documentation explaining why things are the way they are in your chages. If you have any problems or questions, please reach out to the community on the Zulip. |
|
claim |
|
Review claim by @morrison-daniel completed — thanks for the review. |
|
@morrison-daniel about 24 hours are left on your review claim for this PR, which runs out at 2026-09-23 04:37 UTC. Reviewing it before then completes the claim. Comment |
morrison-daniel
left a comment
There was a problem hiding this comment.
Starting with some comments on the design. Is there a reason to not define ordered vector spaces and ordered unit spaces as single classes rather than as these collections of individual properties?
- IsOrderUnitElement is now a class with named fields (nonneg, exists_nsmul_le) instead of a def unfolding to an And, per review. - ArchimedeanOrderUnitSpace.closedIciTopology is now an instance (was a lemma) so it's found by typeclass search once the order-unit-norm NormedAddCommGroup is installed locally via letI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
53f813f to
042c65b
Compare
Adds effects (Effect/Basic.lean, the sub-unit interval of E), their convex/affine structure and metric (Effect/Convex.lean, Effect/Metric.lean), complementation (Effect/Complement.lean), and sharp effects (Effect/Sharp.lean), building on the order-unit foundation from leanprover-community#1667. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
No there is not, your are totally right. |
[OrderedVectorSpace E] [One E] was repeating identically across four Effect files. Give it its own class, OrderedVectorSpaceWithUnit, and have OrderUnitSpace extend it instead of extending both directly. Purely internal: OrderUnitSpace's public API is unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds effects (Effect/Basic.lean, the sub-unit interval of E), their convex/affine structure and metric (Effect/Convex.lean, Effect/Metric.lean), complementation (Effect/Complement.lean), and sharp effects (Effect/Sharp.lean), building on the order-unit foundation from leanprover-community#1667. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Per feedback: prefer using OrderUnitSpace uniformly in Effect files over introducing a new intermediate class for the recurring [OrderedVectorSpace E] [One E] combo. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds effects (Effect/Basic.lean, the sub-unit interval of E), their convex/affine structure and metric (Effect/Convex.lean, Effect/Metric.lean), complementation (Effect/Complement.lean), and sharp effects (Effect/Sharp.lean), building on the order-unit foundation from leanprover-community#1667. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
-- awaiting-author |
…itSpace IsOrderUnitElement was only ever instantiated at A = 1 (as the type of OrderUnitSpace.isOrderUnitElement_one), so the indirection bought nothing. Fold its two fields (nonneg, exists_nsmul_le) directly into OrderUnitSpace as one_nonneg and exists_nsmul_one_le. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds effects (Effect/Basic.lean, the sub-unit interval of E), their convex/affine structure and metric (Effect/Convex.lean, Effect/Metric.lean), complementation (Effect/Complement.lean), and sharp effects (Effect/Sharp.lean), building on the order-unit foundation from leanprover-community#1667. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Summary
1.OrderUnit/Basic.lean:IsOrderUnitElement/IsOrderUnit, the two-sided bound and generating-cone.OrderUnit/Cone.lean: the positive conePosCone E(PointedCone.positive ℝ E), its closedness, and the order-unit shift lemma used later to extend finite weights off the cone.OrderUnit/Archimedean.lean: the Archimedean order-unit norm (the Minkowski functional of[-1, 1]), its inducedNormedAddCommGroup/NormedSpacestructure, and order-closedness of the resulting topology.Physlib/ProbabilisticTheory. later PRs (effects, weights/channels, states) build on this foundation.