feat(OperatorAlgebra): start the operator algebra formalization - #1550
Conversation
Starts the operator-algebra formalization. This file introduces no new mathematics — it only renames existing objects to the names physicists actually use for them: `Observable`, `Effect`, `POVM`, `Unitary`, `State`, `Channel`, `Representation`. 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. |
| [CStarAlgebra A] | ||
| [PartialOrder A] | ||
| [StarOrderedRing A] |
There was a problem hiding this comment.
Should we combine these into a class OperatorAlgebra? Does this make sense, and if so, why?
| * a commutative unital C⋆-algebra describes a classical observable algebra. | ||
|
|
||
| The basic notions of observable, positive element, effect, state, unitary, channel, and finite | ||
| POVM depend only on the observable algebra. |
There was a problem hiding this comment.
Maybe worth explaining that these correspond to in classical mechanics.
| POVM depend only on the observable algebra. | ||
|
|
||
| This file only defines the vocabulary. Elementary results about each notion live in their own | ||
| file (`Observable.lean`, `Effect.lean`, `State.lean`, ...). |
There was a problem hiding this comment.
I think eventually, if we make Observable.lean the definition for Observable should live in there too
…, Effect CI's Lean style linters flagged [StarOrderedRing A] as unused in both abbrevs' types. It's kept for the mathematical meaning (it makes `≤` the C⋆-algebra order), so mark them nolint instead of dropping it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
(adding awaiting-author for the comments above :), to keep track of things) |
Physlib/Mathematics/OperatorAlgebra/Basic.lean -> Physlib/QuantumMechanics/OperatorAlgebra/Basic.lean. States/observables/effects/channels are quantum-mechanics content, not domain-agnostic math scaffolding, so they belong under QuantumMechanics/ alongside Operators/ and Qubit/ rather than under Mathematics/. Pure move, no content changes; Physlib.lean's import updated and re-alphabetized. Local commit only, not pushed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Bundle CStarAlgebra + PartialOrder + StarOrderedRing into a new `OperatorAlgebra` class, taken by every positivity-dependent notion (PositiveElement, Effect, POVM, State, Channel). Observable and Representation need only the star structure, so they keep the bare CStarAlgebra hypothesis. This also removes the two @[nolint unusedArguments]: bundled, StarOrderedRing's data (`<=`) is visibly used, so the linter has nothing to flag. - Module doc: say what the paradigm algebra is for quantum (B(H), unitary evolution) and classical (C(M), commuting functions on phase space) systems. - Add a line to each notion explaining what it's for physically, not just what it is (Observable, PositiveElement, POVM, Unitary, State). - Unify docstring style across the file: single `/-- ... -/` block, no blank-separated paragraphs, closing delimiter inline. Third review comment (Observable's eventual move to its own Observable.lean) intentionally left open; being answered separately. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
lake exe lint_all flags "Double empty line" - the file had consecutive blank lines between every declaration throughout (pre-existing from before this PR's changes, never previously caught). Collapsed to a single blank line between declarations, matching physlib style. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
I have moved the file, made the class you suggested and added a bit more explanations. -awaiting-author |
| [CStarAlgebra A] | ||
| [NormedAddCommGroup H] | ||
| [InnerProductSpace ℂ H] | ||
| [CompleteSpace H] := |
There was a problem hiding this comment.
One last comment I think. These arguments (and in all the lemmas above) could be collapsed to the same line.
There was a problem hiding this comment.
(also with the variables list)
|
awaiting-author Your plan sounds like a good one to me! |
Per jstoobysmith's review: the multi-line argument/variable lists in Observable, PositiveElement, Effect, POVM, Unitary, State, Channel, and Representation (plus the Representation section's `variable` block) fit on one line and don't need to be wrapped. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
-awaiting-author |
jstoobysmith
left a comment
There was a problem hiding this comment.
Approved - looks good. Many thanks.
Starts the operator-algebra formalization.
This file introduces no new mathematics — it only renames existing objects to the names physicists actually use for them:
Observable,Effect,POVM,Unitary,State,Channel,Representation.