TPTP Problem File: PUZ001+2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : PUZ001+2 : TPTP v9.0.0. Released v4.0.0.
% Domain   : Puzzles
% Problem  : Dreadbury Mansion
% Version  : Especial.
%            Theorem formulation : Converted from ACE by the APE [FKK08].
% English  : Someone who lives in DreadburyMansion kills AuntAgatha. If 
%            somebody X lives in DreadburyMansion then X is AuntAgatha or X
%            is the Butler or X is Charles. Everyone hates everyone that he
%            kills. Noone is richer than someone that he kills. Charles hates
%            noone who is hated by AuntAgatha. AuntAgatha does not hate the
%            Butler. Everyone that is not the Butler is hated by AuntAgatha.
%            The Butler hates everyone who is not richer than AuntAgatha. The
%            Butler hates everyone who is hated by AuntAgatha. Noone hates
%            everyone. AuntAgatha is not the Butler. Therefore, AuntAgatha
%            kills AuntAgatha.

% Refs     : [FKK08] Fuchs et al. (2008), Attempto Controlled English for K
% Source   : [TPTP]
% Names    : 

% Status   : Theorem
% Rating   : 0.30 v9.0.0, 0.31 v8.1.0, 0.25 v7.5.0, 0.28 v7.4.0, 0.23 v7.3.0, 0.17 v7.2.0, 0.14 v7.1.0, 0.17 v6.4.0, 0.19 v6.3.0, 0.21 v6.2.0, 0.32 v6.1.0, 0.37 v6.0.0, 0.39 v5.5.0, 0.37 v5.4.0, 0.39 v5.3.0, 0.52 v5.2.0, 0.25 v5.1.0, 0.29 v5.0.0, 0.38 v4.1.0, 0.48 v4.0.1, 0.52 v4.0.0
% Syntax   : Number of formulae    :    2 (   1 unt;   0 def)
%            Number of atoms       :   38 (   7 equ)
%            Maximal formula atoms :   37 (  19 avg)
%            Number of connectives :   43 (   7   ~;   2   |;  24   &)
%                                         (   0 <=>;  10  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (  13 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    6 (   4 usr;   1 prp; 0-4 aty)
%            Number of functors    :   10 (  10 usr;  10 con; 0-0 aty)
%            Number of variables   :   29 (  14   !;  15   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : 
%------------------------------------------------------------------------------
fof(background,axiom,
    ? [A,B,C] :
      ( $true
      & predicate1(B,live,A)
      & modifier_pp(B,in,'DreadburyMansion')
      & predicate2(C,kill,A,'AuntAgatha')
      & ! [D,E] :
          ( ( $true
            & predicate1(E,live,D)
            & modifier_pp(E,in,'DreadburyMansion') )
         => ( D = 'AuntAgatha'
            | D = 'Butler'
            | D = 'Charles' ) )
      & ! [F] :
          ( $true
         => ! [G,H] :
              ( ( $true
                & predicate2(H,kill,F,G) )
             => ? [I] : predicate2(I,hate,F,G) ) )
      & ! [J] :
          ( $true
         => ~ ? [K,L,M] :
                ( $true
                & predicate2(L,kill,J,K)
                & property2(M,rich,comp_than,K)
                & J = M ) )
      & ! [N,O] :
          ( ( $true
            & predicate2(O,hate,'AuntAgatha',N) )
         => ~ ? [P] : predicate2(P,hate,'Charles',N) )
      & ~ ? [Q] : predicate2(Q,hate,'AuntAgatha','Butler')
      & ! [R] :
          ( ( $true
            & R != 'Butler' )
         => ? [S] : predicate2(S,hate,'AuntAgatha',R) )
      & ! [T] :
          ( ( $true
            & ~ ? [U] :
                  ( property2(U,rich,comp_than,'AuntAgatha')
                  & T = U ) )
         => ? [V] : predicate2(V,hate,'Butler',T) )
      & ! [W,X] :
          ( ( $true
            & predicate2(X,hate,'AuntAgatha',W) )
         => ? [Y] : predicate2(Y,hate,'Butler',W) )
      & ! [Z] :
          ( $true
         => ~ ! [A1] :
                ( $true
               => ? [B1] : predicate2(B1,hate,Z,A1) ) )
      & 'AuntAgatha' != 'Butler' ) ).

fof(prove,conjecture,
    ? [A] : predicate2(A,kill,'AuntAgatha','AuntAgatha') ).

%------------------------------------------------------------------------------