Prover winning the GL-game builds a GL-proof. #
If Prover has a winning strategy in the game starting from Γ, then there is a proof of Γ,
proven in prover_win_builds_proof, all other definitions and proofs in this file are helpers.
Rewinding the history one step is still in the cone of the game.
Rewinding the history n steps.
Equations
- Lean4GlCoalgebras.rewindHistory g n = match n_def : ↑n with | 0 => g | m.succ => Lean4GlCoalgebras.rewindHistory (Lean4GlCoalgebras.rewindHistoryOneStep g ⋯) ⟨m, ⋯⟩
Instances For
Rewinding the history n steps is still in the cone of the game.
This is the type of the coalgebra we will use to build the proof of Γ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Auxiliary declaration used in the GL coalgebra development.
Equations
Instances For
Defines the premise when we do not have a repeat.
Equations
Instances For
The sequent at the premise defined by nextNext is the sequent Δ which we expect.
Comparison of rule app history length and sequent history length.
Defines the premise when we do not have a repeat.
Equations
Instances For
Rewinding the game one step changes the player.
Rewinding an even number of moves is the same players turn, rewinding an odd number is other players turn.
The rule application at a builder position in the cone points to the head sequent.
The sequent at the n step rewind can be found in the history.
The sequent at the n step rewind can be found in the history.
Defines the premise when we have a repeat.
Equations
- Lean4GlCoalgebras.repNext Γ g rep = ⟨Lean4GlCoalgebras.repPos g rep, ⋯⟩
Instances For
The sequent at the premise defined by repNext is the sequent Δ which we expect.
Define the list of premises from a Builder move.
Equations
- One or more equations did not get rendered due to their size.
- Lean4GlCoalgebras.builderMovePremises ⟨(Sum.inl val, fst, snd), ⋯⟩ h = ⋯.elim
- Lean4GlCoalgebras.builderMovePremises ⟨(Sum.inr (Lean4GlCoalgebras.RuleApp.top Δ a), Γs, Rs), property_2⟩ h = []
- Lean4GlCoalgebras.builderMovePremises ⟨(Sum.inr (Lean4GlCoalgebras.RuleApp.ax Δ n a), Γs, Rs), property_2⟩ h = []
Instances For
If Prover has a winning strategy in the game starting from Γ, then there is a proof
of `Γ!
Builder winning the GL-game builds a GL-countermodel. #
If Builder has a winning strategy in the game starting from Γ, then there is a proof of Γ,
proven in builder_win_builds_model, all other definitions and proofs in this file are helpers.
Maximal Paths. #
Relation on moves in the game necessary for quantifying maximal paths.
Equations
Instances For
The type of a maximal path in the game.
Auxiliary declaration used in the GL coalgebra development.
- chain : List.IsChain nonBoxMove self.list
- max : ¬∃ (z : Game.Pos), nonBoxMove (self.list.getLast ⋯) z
Instances For
Auxiliary declaration used in the GL coalgebra development.
Instances For
Auxiliary declaration used in the GL coalgebra development.
Instances For
Maximal paths always start from a move which is Prover's turn.
Maximal paths always end in a move which is Prover's turn.
If Builder is winning, there is always a maximal path.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If Builder is winning, the List from makePathFrom is nonempty.
If Builder is winning, the List from makePathFrom is a chain.
If Builder is winning, the List from makePathFrom is maximal.
If Builder is winning, every move in the list from makePathFrom is in the cone.
If Builder is winning, the starting move or any move after a box move has a maximal path.
Auxiliary declaration used in the GL coalgebra development.
Equations
Instances For
Auxiliary declaration used in the GL coalgebra development.
Equations
Instances For
Two maximal paths are related if two steps in the game can connect tail to head.
Equations
- Lean4GlCoalgebras.pathRelation Γ strat π₁ π₂ = Relation.Comp Lean4GlCoalgebras.Move Lean4GlCoalgebras.Move π₁.last π₂.first
Instances For
The definition of the GL-model (M,R,V) we will use as the countermodel. M, R, V are all
defined as expected (except R is transtive), transitivity is immediate, and converse
well-foundedness follow from well-foundedness of the game.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Helper for ◇ case of builder_win_strong.
Helper for ◇ case of builder_win_strong.
Helper for ◇ case of builder_win_strong.
Helper for ◇ case of builder_win_strong.
Helper for ◇ case of builder_win_strong.
If Builder has a winning strategy, then for any maximal path π, if φ appears in π then
the model gameBModel which we previously defined will falsify φ at π.
If Builder has a winning strategy in the game starting from Γ, then there is a
countermodel of `Γ!
Completeness! Comes as a corrolary of gamedet, prover_win_builds_proof, and
builder_win_builds_model.