Intuitionistic Logic: if a satisfies ∀y.P(a,y), then a satisfies P(a,b)∧P(a,c).
(∃x.∀y.P(x,y)⇒∃x.(P(x,b)∧P(x,c)))

This example is similar to the previous one. Abelard moves t.∃x.∀y.P(x,y)⊃∃x.(P(x,b)∧P(x,c)), and Eloise replies f.∃x.∀y.P(x,y). In this initial part of the game, the goal of Eloise is not to win, but only to study how Abelard defends ∃x.∀y.P(x,y). Abelard has to move f.∀y.P(a,y) for some a, and defend ∀y. P(a,y). Thanks to backtracking, Eloise can attack f.∀y.P(a,y) twice in a row, first moving f.P(a,b), then moving f.P(a,c). The goal of Eloise, for the moment, is not win, but to check if, as Abelard claims, both P(a,b) and P(a,c) are true. If this is not the case, Abelard loses. If this is, indeed, the case, then Eloise knows that x=a is the correct move to defend t.∃x.(P(x,b)∧P(x,c). Therefore Eloise backtracks to t.∃x.∀y.P(x,y)⊃∃x.(P(x,b)∧P(x,c)). This time, she moves t.∃x.(P(x,b)∧P(x,c)), then t.P(a,b)∧P(a,c). Eventually, Eloise wins, because both P(a,b) and P(a,c) are true.

In[373]:=

Clear[P] ;

In[374]:=

F25 = Impl[Ex["x", Un["y", "P(x,y)"]], Ex["x", Conj["P(x,b)", "P(x,c)"]]] ; Lin[F25]

Out[375]=

(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Dotted positions (reminder). We mark with a big dot any position to which Eloise can backtrack to: all negative judgements of the tree, and the last positive judgement of the tree.

In[376]:=

savedplay = ( "move 1"    "Box"     ) ;                    ... uot;Intuitionistic, ConstructiveImplication, CutFree", "FontSize=18", savedplay] ;

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

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

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

\n\n

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

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

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

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

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

Goal of: Eloise

{}

⊢

(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Goal of: Abelard

{} , (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))),  {}

⊢

{}

____________________________________________________________________

Abelard must attack the only subformula (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Abelard moves: Box

\n\n

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

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

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

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

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

Goal of: Eloise

{}

⊢

(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))} , (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))),  {}

⊢

{}

____________________________________________________________________

Eloise must either attack the left, or defend the right subformula of (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Eloise moves: Left

\n\n

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

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

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

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

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

Goal of: Eloise

{} , ∃x.∀y.P(x,y),  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢

∃x.∀y.P(x,y)

____________________________________________________________________

Abelard must defend of some instance x of ∃x.∀y.P(x,y)

Abelard moves: x=a

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y)} , ∀y.P(a,y),  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢

∀y.P(a,y)

____________________________________________________________________

Eloise must attack some instance y of ∀y.P(a,y)

Eloise moves: y=b

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y)} , P(a,b),  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢

P(a,b)

____________________________________________________________________

P(a,b) is true.

Abelard moves: Atom

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b)} , ,  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢



____________________________________________________________________

Eloise has no subformulas to choose.

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

This backtracking re-uses an hypothesis or defends the current goal (intuitionistic move).

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y)} , ∀y.P(a,y),  {P(a,b), }

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢

∀y.P(a,y)

____________________________________________________________________

Eloise must attack some instance y of ∀y.P(a,y)

Eloise moves: y=c

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), } , P(a,c),  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢

P(a,c)

____________________________________________________________________

P(a,c) is true.

Abelard moves: Atom

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c)} , ,  {}

⊢

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))}

⊢



____________________________________________________________________

Eloise has no subformulas to choose.

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

This backtracking re-uses an hypothesis or defends the current goal (intuitionistic move).

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c), }

⊢

(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))} , (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))),  {}

⊢

{}

____________________________________________________________________

Eloise must either attack the left, or defend the right subformula of (∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c)))

Eloise moves: Right

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c), }

⊢

∃x.(P(x,b)∧P(x,c))

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)&# ... 07;x.(P(x,b)∧P(x,c)))} , ∃x.(P(x,b)∧P(x,c)),  {}

⊢

{}

____________________________________________________________________

Eloise must defend of some instance x of ∃x.(P(x,b)∧P(x,c))

Eloise moves: x=a

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c), }

⊢

(P(a,b)∧P(a,c))

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)&# ... c))), ∃x.(P(x,b)∧P(x,c))} , (P(a,b)∧P(a,c)),  {}

⊢

{}

____________________________________________________________________

Abelard must attack the left or right subformula of (P(a,b)∧P(a,c))

Abelard moves: Left

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c), }

⊢

P(a,b)

Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)&# ... 8707;x.(P(x,b)∧P(x,c)), (P(a,b)∧P(a,c))} , P(a,b),  {}

⊢

{}

____________________________________________________________________

P(a,b) is true.

Eloise moves: Atom

\n\n

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

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

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

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

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

Goal of: Eloise

{∃x.∀y.P(x,y), ∀y.P(a,y), P(a,b), , P(a,c), }

⊢



Goal of: Abelard

{(∃x.∀y.P(x,y)∃x.(P(x,b)∧P(x,c))), (∃x.∀y.P(x,y)&# ... x,b)∧P(x,c)), (P(a,b)∧P(a,c)), P(a,b)} , ,  {}

⊢

{}

____________________________________________________________________

Abelard has no subformulas to choose.

Abelard gives up.

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

This is the list of all moves of the play:

( move 1    Box     )            move 2    L            move 3    a            ...             move 9    a            move 10   L            move 11   Atom            move 12   drop


Created by Mathematica  (November 11, 2006)