EconCSLib.GameTheory.ExtensiveGame.Basic #
Payoff-aware compatibility for the minimal Arena-based EFG core.
Design #
The payoff-free Arena and ControlledGame carriers live in
ExtensiveGame.Structural.Basic. This module preserves the historical Basic
import path and adds only the endpoint-state-payoff ExtensiveGame
compatibility carrier.
Main definitions #
ExtensiveGame— controlled game + state payoff
References #
- [MSZ] Maschler, Solan, Zamir, Game Theory, Chapter 3
Extensive-form game #
A state-payoff extensive game: a payoff-free controlled game together with a convenient endpoint-state payoff.
* `mover s` = who controls state `s` (`none` = non-player-controlled)
* `payoff s i` = payoff for player `i` at state `s` (meaningful at terminal states)
General terminal-history, complete-path, and winning-condition semantics
are separate objective layers; this field is not their authoritative
definition.
No `isTerminal` field — terminal states are detected by `IsEmpty (Action s)`.
No proof terms to carry around.
- payoff : self.State → N → U
Payoff at each state for each player. Meaningful at terminal states; may be arbitrary elsewhere.
Instances For
Add a state-based payoff interpretation to a payoff-free controlled game.
Forgetting the result with ExtensiveGame.toControlledGame recovers base
definitionally.
Equations
- ExtensiveGame.ofControlledGame base payoff = { toControlledGame := base, payoff := payoff }
Instances For
Forgetting an existing payoff-aware game and then reattaching its payoff recovers the original game definitionally.
Add an initial state, mover assignment, and payoff function to an ordinary arena.
All game-semantic data are explicit arguments; in particular this constructor does not infer chance nodes or terminal payoffs from the arena. It composes with observed-game presentation constructors without duplicating the arena's state, action, or transition fields.
Equations
- ExtensiveGame.ofArena arena init mover payoff = ExtensiveGame.ofControlledGame (ControlledGame.ofArena arena init mover) payoff
Instances For
The arena of a game.
Instances For
Forget only the state-payoff interpretation.
This is a lossless projection for dynamics, the initial root, and mover data. It is the canonical migration path from payoff-aware APIs to structural or logical-game APIs.
Equations
Instances For
Available actions at a state.
Instances For
A state is terminal.
Equations
- G.isTerminal s = G.IsTerminal s
Instances For
A state is controlled by player i.
Equations
- G.isPlayerState s i = G.isPlayerState s i
Instances For
The historical payoff-aware player-state predicate is exactly the canonical controlled-game predicate.
A nonterminal state carrying the non-player-control label.
This predicate supplies no probability law.
Equations
- G.isNonPlayerState s = G.isNonPlayerState s
Instances For
The historical payoff-aware non-player-state predicate is exactly the canonical controlled-game predicate.
Compatibility name for isNonPlayerState.
No chance law is implied by this predicate alone.
Equations
- G.isChanceState s = G.isNonPlayerState s
Instances For
No chance nodes: every nonterminal state has a strategic mover.
Instances For
The historical payoff-aware no-chance predicate is exactly the canonical controlled-game predicate.