Payoff-free structural carriers for extensive games #
This module contains only the representation-neutral dynamics used by the minimal EFG core.
Main definitions #
Arena— states, dependent legal actions, and transitions.Arena.IsTerminal— terminality as absence of legal actions.ControlledGame— an Arena with a root and player-control labels.Arena.ofFin— a small constructor for explicitly finite arenas.
No payoff, objective, probability law, finiteness assumption, decidability
assumption, or information structure is stored in these carriers. In
particular, mover s = none is only a non-player-control label. A chance law,
when desired, belongs to a separate stochastic semantics layer.
This state-space representation permits merging paths, cycles, and infinite state or action types. History unfolding is provided separately.
A game arena: the pure dynamics of an extensive-form game.
States, actions, and transitions are stored without players, payoffs, or
probability. A state is terminal iff Action s is empty.
- State : Type u_1
The state space.
Available actions at each state. Empty means terminal.
Transition function from a state and one legal action.
Instances For
A state is terminal if there are no available actions.
Equations
- A.IsTerminal s = IsEmpty (A.Action s)
Instances For
A state is a decision point if it has at least one available action.
Equations
- A.IsDecision s = Nonempty (A.Action s)
Instances For
Terminal and decision states are complementary.
A payoff-free controlled extensive-game skeleton.
ControlledGame adds only a distinguished initial state and a mover label to
the pure Arena dynamics. It deliberately stores no objective, payoff,
probability law, finiteness, decidability, or information data.
At a nonterminal state, mover s = none means only that the state is not
controlled by a strategic player. It does not itself supply a chance
distribution. The mover label at a terminal state is semantically ignored.
- init : self.State
The initial state (root of the controlled game).
Who controls each state.
nonemeans non-player-controlled.
Instances For
Add an initial state and mover assignment to an ordinary arena.
Equations
- ControlledGame.ofArena arena init mover = { toArena := arena, init := init, mover := mover }
Instances For
The arena of a payoff-free controlled game.
Instances For
Available actions at a state.
Instances For
A nonterminal state carrying the non-player-control label.
This predicate deliberately supplies no probability law.
Equations
- G.isNonPlayerState s = (G.mover s = none ∧ ¬G.IsTerminal s)
Instances For
Compatibility name for a non-player-controlled nonterminal state.
This structural predicate does not assert that a chance law exists. Stochastic layers may interpret such a state as chance only after supplying the relevant law.
Equations
- G.isChanceState s = G.isNonPlayerState s