Documentation

CombinatorialGames.Misere.PFreeBlocking

If A is a blocking universe then so is pf(A) = PFreeSubset A.

@[irreducible]

If G, H ∈ pf(B) with o(G) = L and H a Left end, then o(G + H) = L.

This is Davies, Miller, Milley (Lemma 4.1 on p. 24)

theorem GameForm.Strong.of_subset {p : Player} {A B : GameForm → Prop} {g : GameForm} (h_strong : Form.Strong B g p) (h_subset : ∀ (x : GameForm), A x → B x) :
@[reducible, inline]
noncomputable abbrev GameForm.Blocking.Plugged (g : GameForm) :
Equations
Instances For

    Left/Right mirror of plugged_mem, for a g that is a Left end but not a Right end.

    Left/Right mirror of reduction_plug_end_not_isEnd_left, for a g that is a Left end but not a Right end.

    Separation #

    theorem PFree.downlinked_of_not_isEnd_left {U : GameForm → Prop} [OutcomeStable U] [Form.Short U] [ShortUniverse U] [Form.HasInt U] {g h : GameForm} (h_g : PFreeSubset U g) (h_h : PFreeSubset U h) (h_g_not_isEnd : ¬Form.IsEnd Player.left g) (h_moves_g : ∀ gl ∈ Moves.moves Player.left g, ¬gl ≥m (PFreeSubset U)h) (h_moves_h : ∀ hr ∈ Moves.moves Player.right h, ¬g ≥m (PFreeSubset U)hr) :
    theorem PFree.downlinked_of_not_isEnd_right {U : GameForm → Prop} [OutcomeStable U] [Form.Short U] [ShortUniverse U] [Form.HasInt U] {g h : GameForm} (h_g : PFreeSubset U g) (h_h : PFreeSubset U h) (h_h_not_isEnd : ¬Form.IsEnd Player.right h) (h_moves_g : ∀ gl ∈ Moves.moves Player.left g, ¬gl ≥m (PFreeSubset U)h) (h_moves_h : ∀ hr ∈ Moves.moves Player.right h, ¬g ≥m (PFreeSubset U)hr) :
    theorem PFree.downlinked_intCast_of_not_leftMoves_misereGE {U : GameForm → Prop} [OutcomeStable U] [Form.Short U] [ShortUniverse U] [Form.HasInt U] {g : GameForm} {n : ℤ} (h_g : PFreeSubset U g) (h_not_left_end : ¬Form.IsEnd Player.left g) (h_n : 0 ≤ n) (h : ∀ gl ∈ Moves.moves Player.left g, ¬gl ≥m (PFreeSubset U)↑n) :

    The maintenance–proviso test is invariant under conjugation (negating and swapping both sides), which lets each *_right result be derived from its *_left/no-suffix counterpart.