x = h(h(x)+1) is an identity for no h:N→N.
∃x.x≠h(h(x)+1)

In[516]:=

Clear[h] ;

In[517]:=

F26 = Ex["x", "x≠h(h(x)+1)"] ; Lin[F26]

Out[517]=

∃x.x≠h(h(x)+1)

This is a simple, non-essential way of using backtracking, just a preliminary example. No matter what h is, the predicate x≠h(h(x)+1) is true either for some x in {h(0), 0, h(h(0)+1)} (we skip the proof). The winning strategy of Eloise consists in selecting the 3 values x=h(0), 0, h(h(0)+1), one after the other. The first time x≠h(h(x)+1) is true, Eloise wins. There are no moves of Abelard in this game. Backtracking allows Eloise to change her move of x. Eloise could by-pass, in this case, the use of backtracking, by computing first what is the right x, then selecting x just once.

Now we choose the parameters of the game and we play. During the play, whenever Eloise backtracks, say, from position 3 to position 1, we draw edges leading to positions 2, 3 thinner. This marks the fact that these position cannot any more be used in the play. Thick edges form the current Tarski play, which, for irreversible backtracking, is always the rightmost branch in the view-tree. In this section, backtracking is irreversible and whenever we backtrack to a position of index i we retract all positions of index >i. In this example, h(x) is the polynomial x*(x-1)

In[518]:=

savedplay = ( "move 1"      "h(0)"      ) ;                ... move 6"      "Atom"                        "move 7"      "drop"

In[519]:=

BCK[F26, "LCM, MaterialImplication, CutFree", "View-Tree, FontSize=18, TreeWidth=900", "Polynomial h(x)=x*(x-1)", savedplay]

[Graphics:../HTMLFiles/index_32.gif]

[Graphics:../HTMLFiles/index_33.gif]

[Graphics:../HTMLFiles/index_34.gif]

\n\n

[Graphics:../HTMLFiles/index_36.gif]

[Graphics:../HTMLFiles/index_37.gif]

[Graphics:../HTMLFiles/index_38.gif]

[Graphics:../HTMLFiles/index_39.gif]

[Graphics:../HTMLFiles/index_40.gif]

Goal of: Eloise

{}

⊢

{} , ∃x.x≠h(h(x)+1)

Goal of: Abelard

{} , ∃x.x≠h(h(x)+1),  {}

⊢

{}

____________________________________________________________________

Eloise must defend of some instance x of ∃x.x≠h(h(x)+1)

Eloise moves: x=h(0)

\n\n

[Graphics:../HTMLFiles/index_51.gif]

[Graphics:../HTMLFiles/index_52.gif]

[Graphics:../HTMLFiles/index_53.gif]

[Graphics:../HTMLFiles/index_54.gif]

[Graphics:../HTMLFiles/index_55.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1)} , h(0)≠h(h(h(0))+1)

Goal of: Abelard

{∃x.x≠h(h(x)+1)} , h(0)≠h(h(h(0))+1),  {}

⊢

{}

____________________________________________________________________

h(0)≠h(h(h(0))+1) is false.

Eloise moves: Atom

\n\n

[Graphics:../HTMLFiles/index_66.gif]

[Graphics:../HTMLFiles/index_67.gif]

[Graphics:../HTMLFiles/index_68.gif]

[Graphics:../HTMLFiles/index_69.gif]

[Graphics:../HTMLFiles/index_70.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1), h(0)≠h(h(h(0))+1)} , 

Goal of: Abelard

{∃x.x≠h(h(x)+1), h(0)≠h(h(h(0))+1)} , ,  {}

⊢

{}

____________________________________________________________________

Eloise has no subformulas to choose.

Eloise backtracks to the node number 1 of the play.

This backtracking drops out the current goal and possibly more nodes (proper LCM move).

\n\n

[Graphics:../HTMLFiles/index_82.gif]

[Graphics:../HTMLFiles/index_83.gif]

[Graphics:../HTMLFiles/index_84.gif]

[Graphics:../HTMLFiles/index_85.gif]

[Graphics:../HTMLFiles/index_86.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1), h(0)≠h(h(h(0))+1)} , ∃x.x≠h(h(x)+1)

Goal of: Abelard

{} , ∃x.x≠h(h(x)+1),  {}

⊢

{}

____________________________________________________________________

Eloise must defend of some instance x of ∃x.x≠h(h(x)+1)

Eloise moves: x=0

\n\n

[Graphics:../HTMLFiles/index_97.gif]

[Graphics:../HTMLFiles/index_98.gif]

[Graphics:../HTMLFiles/index_99.gif]

[Graphics:../HTMLFiles/index_100.gif]

[Graphics:../HTMLFiles/index_101.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1)} , 0≠h(h(0)+1)

Goal of: Abelard

{∃x.x≠h(h(x)+1)} , 0≠h(h(0)+1),  {}

⊢

{}

____________________________________________________________________

0≠h(h(0)+1) is false.

Eloise moves: Atom

\n\n

[Graphics:../HTMLFiles/index_112.gif]

[Graphics:../HTMLFiles/index_113.gif]

[Graphics:../HTMLFiles/index_114.gif]

[Graphics:../HTMLFiles/index_115.gif]

[Graphics:../HTMLFiles/index_116.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1), 0≠h(h(0)+1)} , 

Goal of: Abelard

{∃x.x≠h(h(x)+1), 0≠h(h(0)+1)} , ,  {}

⊢

{}

____________________________________________________________________

Eloise has no subformulas to choose.

Eloise backtracks to the node number 1 of the play.

This backtracking drops out the current goal and possibly more nodes (proper LCM move).

\n\n

[Graphics:../HTMLFiles/index_128.gif]

[Graphics:../HTMLFiles/index_129.gif]

[Graphics:../HTMLFiles/index_130.gif]

[Graphics:../HTMLFiles/index_131.gif]

[Graphics:../HTMLFiles/index_132.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1), 0≠h(h(0)+1)} , ∃x.x≠h(h(x)+1)

Goal of: Abelard

{} , ∃x.x≠h(h(x)+1),  {}

⊢

{}

____________________________________________________________________

Eloise must defend of some instance x of ∃x.x≠h(h(x)+1)

Eloise moves: x=h(h(0))+1

\n\n

[Graphics:../HTMLFiles/index_143.gif]

[Graphics:../HTMLFiles/index_144.gif]

[Graphics:../HTMLFiles/index_145.gif]

[Graphics:../HTMLFiles/index_146.gif]

[Graphics:../HTMLFiles/index_147.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1)} , h(h(0))+1≠h(h(h(h(0))+1)+1)

Goal of: Abelard

{∃x.x≠h(h(x)+1)} , h(h(0))+1≠h(h(h(h(0))+1)+1),  {}

⊢

{}

____________________________________________________________________

h(h(0))+1≠h(h(h(h(0))+1)+1) is true.

Eloise moves: Atom

\n\n

[Graphics:../HTMLFiles/index_158.gif]

[Graphics:../HTMLFiles/index_159.gif]

[Graphics:../HTMLFiles/index_160.gif]

[Graphics:../HTMLFiles/index_161.gif]

[Graphics:../HTMLFiles/index_162.gif]

Goal of: Eloise

{}

⊢

{∃x.x≠h(h(x)+1), h(h(0))+1≠h(h(h(h(0))+1)+1)} , 

Goal of: Abelard

{∃x.x≠h(h(x)+1), h(h(0))+1≠h(h(h(h(0))+1)+1)} , ,  {}

⊢

{}

____________________________________________________________________

Abelard has no subformulas to choose.

Abelard gives up.

[Graphics:../HTMLFiles/index_172.gif]

This is the list of all moves of the play:

( move 1      h(0)      )            move 2      Atom            move 3      b ...     bck 1            move 5      h(h(0))+1            move 6      Atom            move 7      drop


Created by Mathematica  (October 20, 2006)