Observable-based Strategy for LCS Games #
This module defines the data structure for a strategy in a Linear Constraint System (LCS) game using the observable formalism. In this formalism, players choose observables (self-adjoint involutive operators) instead of projectors.
Key Definitions #
ObservableStrategy: The data representing an observable strategy, including:aliceObs,bobObs: The observables for Alice and Bob.sameEquation_comm: The local commutativity of Alice's observables within an equation.alice_bob_commute: The global commutativity between Alice's and Bob's observables.
An observable-based strategy for the LCS layout G: Alice and Bob each assign a
binary observable to every variable, Alice's observables commute within each equation,
and every observable of Alice commutes with every observable of Bob.
Alice's observable for each variable.
Bob's observable for each variable.
- alice_isObservable (j : Fin G.s) : IsObservable (self.aliceObs j)
Alice's operators are observables.
- bob_isObservable (j : Fin G.s) : IsObservable (self.bobObs j)
Bob's operators are observables.
- sameEquation_comm (i : Fin G.r) : Pairwise fun (j k : ↥(G.V i)) => Commute (self.aliceObs ↑j) (self.aliceObs ↑k)
Alice's observables commute within each equation.
Every observable of Alice commutes with every observable of Bob.
Instances For
Alice's side of the bipartite lift, M ↦ M ⊗ 1.
Equations
- MIPRE.LCS.bipartiteAliceLift M = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) M 1
Instances For
Bob's side of the bipartite lift, M ↦ 1 ⊗ M.
Equations
- MIPRE.LCS.bipartiteBobLift M = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 M
Instances For
A bipartite observable strategy: a single grid of observables on ℂ^n, commuting
within each equation, which both players use through the Kronecker lifts M ⊗ 1 and
1 ⊗ M (see toObservableStrategy).
The grid of observables, one per variable.
- isObservable (j : Fin G.s) : IsObservable (self.obs j)
Each grid entry is an observable.
- sameEquation_comm (i : Fin G.r) : Pairwise fun (j k : ↥(G.V i)) => Commute (self.obs ↑j) (self.obs ↑k)
Grid observables commute within each equation.
Instances For
The observable strategy on ℂ^n ⊗ ℂ^n induced by a bipartite strategy: Alice plays
M ⊗ 1 and Bob plays 1 ⊗ M.
Equations
- One or more equations did not get rendered due to their size.