Intuitionistic Logic: double negation for a simply universal formula.
(¬¬∀x.P(x)⇒∀x.P(x))

Usually, the Classical law of double negation: ¬¬A⇒A is not intutionistically derivable, because it is equivalent to Excluded Middle. We can intuitionistically derive ¬¬A⇒A, though, when A = ¬¬∀x.P(x) and P is decidable. Here is the proof. Assume ¬¬∀x.P(x), and fix any x, in order to prove P(x). Either P(x) is true or ¬P(x) is true, because P is recursive and we can compute its truth value. If P(x) is true, we are done. If ¬P(x) is true, then ¬∀x. P(x), because if we assume ∀x.P(x) we derive P(x), contradicting ¬P(x). From ¬∀x. P(x) and our assumption ¬¬∀x.P(x) we conclude F, as wished.

Here is a recursive winning strategy for Eloise. Abelard moves t.¬¬∀x.P(x)⊃∀x.P(x) from t.¬¬∀x.P(x)⇒∀x.P(x). Eloise replies f.¬¬∀x.P(x).  Eloise moves from f.¬¬∀x.P(x), because a negation is considered as a conjunction, and when a negation has an "f." in front, is considered as a disjunction. In particular Eloise can backtrack from f.¬¬∀x.P(x) to t.¬¬∀x.P(x)⇒∀x.P(x). This time, Eloise moves  t.∀x.P(x), and Abelard replies  t.P(a) for some a, claiming that P(a) is false. If P(a) is true then Abelard loses. Assume P(a) is false. Then Abelard temporarily wins. Then Eloise backtracks to f.¬¬∀x.P(x), then she moves t.¬∀x.P(x). Abelard replies f.∀x.P(x). Eloise moves f.P(a), claiming that P(a) is false. Eloise wins, because P(a) is, indeed, false.

In[390]:=

Clear[P] ;

In[391]:=

F15 = Impl[Neg[Neg[Un["x", "P(x)"]]], Un["x", "P(x)"]] ; Lin[F15]

Out[392]=

(¬¬∀x.P(x)∀x.P(x))

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.

We choose the parameter of the game.

In[393]:=

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

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

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

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

\n\n

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

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

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

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

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

Goal of: Eloise

{}

⊢

(¬¬∀x.P(x)∀x.P(x))

Goal of: Abelard

{} , (¬¬∀x.P(x)∀x.P(x)),  {}

⊢

{}

____________________________________________________________________

Abelard must attack the only subformula (¬¬∀x.P(x)∀x.P(x))

Abelard moves: Box

\n\n

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

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

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

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

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

Goal of: Eloise

{}

⊢

(¬¬∀x.P(x)∀x.P(x))

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x))} , (¬¬∀x.P(x)∀x.P(x)),  {}

⊢

{}

____________________________________________________________________

Eloise must either attack the left, or defend the right subformula of (¬¬∀x.P(x)∀x.P(x))

Eloise moves: Left

\n\n

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

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

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

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

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

Goal of: Eloise

{} , ¬¬∀x.P(x),  {}

⊢

{(¬¬∀x.P(x)∀x.P(x))}

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x))}

⊢

¬¬∀x.P(x)

____________________________________________________________________

Eloise must defend the only subformula of ¬¬∀x.P(x)

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_1394.gif]

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)}

⊢

(¬¬∀x.P(x)∀x.P(x))

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x))} , (¬¬∀x.P(x)∀x.P(x)),  {}

⊢

{}

____________________________________________________________________

Eloise must either attack the left, or defend the right subformula of (¬¬∀x.P(x)∀x.P(x))

Eloise moves: Right

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)}

⊢

∀x.P(x)

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x))} , ∀x.P(x),  {}

⊢

{}

____________________________________________________________________

Abelard must attack some instance x of ∀x.P(x)

Abelard moves: x=a

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)}

⊢

P(a)

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x)), ∀x.P(x)} , P(a),  {}

⊢

{}

____________________________________________________________________

P(a) is false.

Eloise moves: Atom

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)}

⊢



Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x)), ∀x.P(x), P(a)} , ,  {}

⊢

{}

____________________________________________________________________

Eloise has no subformulas to choose.

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

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

\n\n

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

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

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

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

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

Goal of: Eloise

{} , ¬¬∀x.P(x),  {}

⊢

{}

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x))}

⊢

¬¬∀x.P(x)

____________________________________________________________________

Eloise must defend the only subformula of ¬¬∀x.P(x)

Eloise moves: Negation

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)}

⊢

¬∀x.P(x)

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x))} , ¬∀x.P(x),  {}

⊢

{¬¬∀x.P(x)}

____________________________________________________________________

Abelard must defend the only subformula of ¬∀x.P(x)

Abelard moves: Negation

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x)} , ∀x.P(x),  {}

⊢

{¬∀x.P(x)}

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x)), ¬∀x.P(x)}

⊢

∀x.P(x)

____________________________________________________________________

Eloise must attack some instance x of ∀x.P(x)

Eloise moves: x=a

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x), ∀x.P(x)} , P(a),  {}

⊢

{¬∀x.P(x)}

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x)), ¬∀x.P(x)}

⊢

P(a)

____________________________________________________________________

P(a) is false.

Abelard moves: Atom

\n\n

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

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

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

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

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

Goal of: Eloise

{¬¬∀x.P(x), ∀x.P(x), P(a)} , ,  {}

⊢

{¬∀x.P(x)}

Goal of: Abelard

{(¬¬∀x.P(x)∀x.P(x)), (¬¬∀x.P(x)∀x.P(x)), ¬∀x.P(x)}

⊢



____________________________________________________________________

Abelard has no subformulas to choose.

Abelard gives up.

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

This is the list of all moves of the play:

( move 1     Box      )            move 2     L            move 3     bck 2    ...  move 7     Negation            move 8     a            move 9     Atom            move 10    drop

In this game, it is essential for Eloise the fact that negation are taken conjunctive. Assume instead all negations are taken disjunctive. Then Abelard can win, as follows. Abelard moves t.¬¬∀x.P(x)⊃∀x.P(x) from t.¬¬∀x.P(x)⇒∀x.P(x). Either Eloise moves f.¬¬∀x.P(x), and Abelard replies t.¬∀x.P(x), or Eloise moves t.∀x.P(x). In both cases, the last positive judgement is no more t.¬¬∀x.P(x)⊃∀x.P(x), but it is t.¬∀x.P(x) in the first case, and t.∀x.P(x) in the second case. Therefore Eloise cannot backtrack to t.¬¬∀x.P(x)⊃∀x.P(x) any more, and her move from t.¬¬∀x.P(x)⊃∀x.P(x) should be the best one on the first try. Eloise should move f.¬¬∀x.P(x) if ∀x.P(x) is false, and should move t.∀x.P(x) if ∀x.P(x) is true. Eloise has to decide whether ∀x.P(x) is true or not, and this cannot be done uniformly on P.


Created by Mathematica  (November 11, 2006)