Documentation

CombinatorialGames.Misere.Separation

Separation and downlinking #

This file defines downlinked and separated pairs of forms, and develops the machinery necessary to prove that $G\ge_\mathcal{U}H$ implies that both Form.Maintenance and Form.Proviso are satisfied.

Here, $G$ and $H$ will always refer to arbitrary forms (possibly augmented, possibly not), $\mathcal{A}$ to an arbitrary set of forms, and $\mathcal{U}$ to a universe (which may or may not be Short).

References #

def Form.Downlinked {G : Type (u + 1)} [Form G] (A : G → Prop) (g h : G) :

We say $G$ is downlinked to $H$ (with respect to $\mathcal{A}$) if there exists some $T\in\mathcal{A}$ with $\operatorname{o_L}(G+T)=\mathscr{R}$ and $\operatorname{o_R}(H+T)=\mathscr{L}$.

This generalises the definition given by Siegel (Definition 5.9 on p. 214), where all forms were short, and the sets were short universes.

Equations
Instances For
    theorem Form.Downlinked.neg_iff {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderNeg A] {g h : G} :
    Downlinked A (-h) (-g) ↔ Downlinked A g h
    theorem Form.downlinked_of_downlinked_misereEQ_left {G : Type (u + 1)} [Form G] {A : G → Prop} {g h k : G} (h_eq : g =m A k) (h_down : Downlinked A g h) :
    theorem Form.downlinked_of_downlinked_misereEQ_right {G : Type (u + 1)} [Form G] {A : G → Prop} {g h k : G} (h_eq : h =m A k) (h_down : Downlinked A g h) :
    def Form.AreSeparating {G : Type (u + 1)} [Form G] (A : G → Prop) (p : Player) (g h : G) :

    If there exists some $X\in\mathcal{A}$ whereby $\operatorname{o_L}(G+X)=\mathscr{R}$ and $\operatorname{o_L}(H+X)=\mathscr{L}$, then we say that $G$ and $H$ are Left separated (with respect to $\mathcal{A}$). (See AreLeftSeparating and AreRightSeparating.)

    Equations
    Instances For
      @[reducible, inline]
      abbrev Form.AreLeftSeparating {G : Type (u + 1)} [Form G] (A : G → Prop) (g h : G) :

      There exists some $X\in\mathcal{A}$ whereby $\operatorname{o_L}(G+X)=\mathscr{R}$ and $\operatorname{o_L}(H+X)=\mathscr{L}$. (See AreSeparating.)

      Equations
      Instances For
        @[reducible, inline]
        abbrev Form.AreRightSeparating {G : Type (u + 1)} [Form G] (A : G → Prop) (g h : G) :

        There exists some $X\in\mathcal{A}$ whereby $\operatorname{o_R}(G+X)=\mathscr{R}$ and $\operatorname{o_R}(H+X)=\mathscr{L}$. (See AreSeparating.)

        Equations
        Instances For
          theorem Form.misereGE_iff_not_separating {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} :

          We have g ≥ h modulo A exactly when g and h are neither Left- nor Right-separating.

          theorem Form.not_misereGE_iff_separating {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} :

          Negation of misereGE_iff_not_separating.

          @[reducible, inline]
          abbrev Form.Separation.rightSeparatorLeftSet {G : Type (u + 1)} [Form G] (r h : G) :
          Set G

          Given $H$ and a root $r$, this constructs the set of games $\{r,\operatorname{adj}_r(H^\mathcal{R})\}$, which will act as Left's set of options in the construction of rightSeparatorCandidate. Taking $r=0$ recovers the set $\{0,(H^\mathcal{R})^\circ\}$.

          Equations
          Instances For
            @[reducible, inline]
            noncomputable abbrev Form.Separation.rightSeparatorCandidate {G : Type (u + 1)} [Form G] (r h x : G) :
            G

            $\def\form<#1>[#2]{\left\{#1 \mid #2\right\}}$ Given forms $H$ and $X$ and a root $r$, this constructs the form $\form<r,\operatorname{adj}_r(H^\mathcal{R})>[X]$, which is used by Separating.separating_pair_of_not_misereGE to show that $G$ and $H$ must be both AreLeftSeparating and AreRightSeparating whenever $G\ngeq_\mathcal{U}H$.

            Equations
            Instances For
              @[reducible, inline]
              abbrev Form.Separation.leftSeparatorRightSet {G : Type (u + 1)} [Form G] (r g : G) :
              Set G

              Given $G$ and a root $r$, this constructs the set of games $\{r,\operatorname{adj}_r(G^\mathcal{L})\}$, the Left/Right mirror of rightSeparatorLeftSet, which will act as Right's set of options in the construction of leftSeparatorCandidate.

              Equations
              Instances For
                @[reducible, inline]
                noncomputable abbrev Form.Separation.leftSeparatorCandidate {G : Type (u + 1)} [Form G] (r g x : G) :
                G

                $\def\form<#1>[#2]{\left\{#1 \mid #2\right\}}$ Given forms $G$ and $X$ and a root $r$, this constructs the form $\form<X>[r,\operatorname{adj}_r(G^\mathcal{L})]$, the Left/Right mirror of rightSeparatorCandidate.

                Equations
                Instances For

                  The Left separator is the conjugate of a Right separator, with the root conjugated.

                  theorem Form.Separation.rightSeparating_of_leftSeparating_of_rightSeparatorCandidate_mem {G : Type (u + 1)} [Form G] {A IsAmbient : G → Prop} [Hereditary IsAmbient] {r g h : G} (h_isRoot : Misere.Adjoint.IsRoot IsAmbient r) (hh : IsAmbient h) (h_candidate : ∀ {x : G}, A x → A (rightSeparatorCandidate r h x)) (h_left_sep : AreLeftSeparating A g h) :

                  $\def\form<#1>[#2]{\left\{#1 \mid #2\right\}}$ If $G$ and $H$ are AreLeftSeparating, and $\form<r,\operatorname{adj}_r(H^\mathcal{R})>[X]\in\mathcal{A}$ for every $X\in\mathcal{A}$, then $G$ and $H$ are AreRightSeparating.

                  theorem Form.Separation.leftSeparating_of_rightSeparating_of_leftSeparatorCandidate_mem {G : Type (u + 1)} [Form G] {A IsAmbient : G → Prop} [Hereditary IsAmbient] {r g h : G} (h_isRoot : Misere.Adjoint.IsRoot IsAmbient r) (hg : IsAmbient g) (h_candidate : ∀ {x : G}, A x → A (leftSeparatorCandidate r g x)) (h_right_sep : AreRightSeparating A g h) :

                  $\def\form<#1>[#2]{\left\{#1 \mid #2\right\}}$ If $G$ and $H$ are AreRightSeparating, and $\form<X>[r,\operatorname{adj}_r(G^\mathcal{L})]\in\mathcal{A}$ for every $X\in\mathcal{A}$, then $G$ and $H$ are AreLeftSeparating. The Left/Right mirror of rightSeparating_of_leftSeparating_of_rightSeparatorCandidate_mem.

                  @[reducible, inline]
                  abbrev Form.Separation.downlinkZero {G : Type (u + 1)} [Form G] (r : G) (p : Player) (g h : G) :
                  Set G
                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev Form.Separation.downlinkOptions {G : Type (u + 1)} [Form G] (r : G) (p : Player) (g h : G) (z : ↑(moves (-p) h) → G) :
                    Set G
                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev Form.Separation.downlinkLeftSet {G : Type (u + 1)} [Form G] (r g h : G) (y : ↑(moves Player.right h) → G) :
                      Set G
                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev Form.Separation.downlinkRightSet {G : Type (u + 1)} [Form G] (r g h : G) (x : ↑(moves Player.left g) → G) :
                        Set G
                        Equations
                        Instances For
                          theorem Form.Separation.downlinkOptions_nonempty {G : Type (u + 1)} [Form G] (r : G) (p : Player) (g h : G) (z : ↑(moves (-p) h) → G) :
                          @[reducible, inline]
                          noncomputable abbrev Form.Separation.downlinkWitness {G : Type (u + 1)} [Form G] (r g h : G) (x : ↑(moves Player.left g) → G) (y : ↑(moves Player.right h) → G) [Small.{u, u + 1} ↑(downlinkLeftSet r g h y)] [Small.{u, u + 1} ↑(downlinkRightSet r g h x)] :
                          G

                          $\def\form<#1>[#2]{\left\{#1 \mid #2\right\}}$ This constructs the following game form, which is similar to a construction by Siegel (Proof of Lemma 5.10 on p. 215) for short forms: $$ T= \begin{cases} \form<r>[r] & \text{if neither }G\text{ nor }H\text{ has any ordinary options},\\ \form<r>[X_i,\operatorname{adj}_r(H^\mathcal{L})] & \text{if }G,H\text{ are both Right ends but not both Left ends},\\ \form<Y_j,\operatorname{adj}_r(G^\mathcal{R})>[r] & \text{if }G,H\text{ are both Left ends but not both Right ends},\\ \form<Y_j,\operatorname{adj}_r(G^\mathcal{R})>[X_i,\operatorname{adj}_r(H^\mathcal{L})] & \text{otherwise}. \end{cases} $$ Here $r$ is the root; taking $r=0$ recovers Siegel's construction.

                          (Note that the $X_i$ and $Y_j$ are chosen as a function of the Left and Right options of $G$ and $H$ respectively.)

                          Equations
                          Instances For
                            theorem Form.Separation.downlinked_of_downlinkWitness_mem {G : Type (u + 1)} [Form G] {A IsAmbient : G → Prop} [Hereditary IsAmbient] {r g h : G} {x : ↑(moves Player.left g) → G} {y : ↑(moves Player.right h) → G} [Small.{u, u + 1} ↑(downlinkLeftSet r g h y)] [Small.{u, u + 1} ↑(downlinkRightSet r g h x)] (h_isRoot : Misere.Adjoint.IsRoot IsAmbient r) (hg : IsAmbient g) (hh : IsAmbient h) (htA : A (downlinkWitness r g h x y)) (hxLose : ∀ (gl : ↑(moves Player.left g)), ¬Misere.Outcome.WinsGoingFirst Player.left (↑gl + x gl)) (hxWin : ∀ (gl : ↑(moves Player.left g)), Misere.Outcome.WinsGoingFirst Player.left (h + x gl)) (hyWin : ∀ (hr : ↑(moves Player.right h)), Misere.Outcome.WinsGoingFirst Player.right (g + y hr)) (hyLose : ∀ (hr : ↑(moves Player.right h)), ¬Misere.Outcome.WinsGoingFirst Player.right (↑hr + y hr)) :
                            theorem Form.Separation.leftSeparating_neg_of_rightSeparating {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderNeg A] {g h : G} (h_right_sep : AreRightSeparating A g h) :

                            If $G$ and $H$ are AreRightSeparating, then $\overline{H}$ and $\overline{G}$ must be AreLeftSeparating.

                            theorem Form.Separation.leftSeparating_of_rightSeparating_neg {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderNeg A] {g h : G} (h_right_sep : AreRightSeparating A (-h) (-g)) :

                            If $\overline{H}$ and $\overline{G}$ are AreRightSeparating, then $G$ and $H$ must be AreLeftSeparating.