TPTP Problem File: DAT433_1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : DAT433_1 : TPTP v9.3.1. Released v9.3.0.
% Domain   : Data Structures
% Problem  : Database querying
% Version  : Especial.
% English  :

% Refs     : [Rei92] Reiter (1992), What Should a Database Know?
% Source   : [Rei92]
% Names    : 

% Status   : Theorem
% Rating   : ? v9.3.0
% Syntax   : Number of formulae    :   10 (   0 unt;   7 typ;   0 def)
%            Number of atoms       :   14 (   0 equ)
%            Maximal formula atoms :    6 (   4 avg)
%            Number of connectives :   20 (   4   ~;   0   |;   6   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%                                         (   5 {.};   0 {#})
%            Maximal formula depth :    5 (   5 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of FOOLs       :    5 (   5 fml;   0 var)
%            Number of X terms     :    5 (   5  [];   0 ite;   0 let;   0 dis)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    2 (   1   >;   1   *;   0   +;   0  <<)
%            Number of predicates  :    2 (   1 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   6 con; 0-0 aty)
%            Number of variables   :    2 (   0   !;   2   ?;   2   :)
% SPC      : NX0_THM_NEQ_NAR_NDT

% Comments :
%------------------------------------------------------------------------------
tff(modal_system,logic,
    $modal == 
      [ $domains == $constant,
        $designation == $rigid,
        $terms == $local,
        $modalities == $modal_system_S5 ] ).

tff(cs_decl,type,
    cs: $i ).

tff(sue_decl,type,
    sue: $i ).

tff(mary_decl,type,
    mary: $i ).

tff(john_decl,type,
    john: $i ).

tff(math_decl,type,
    math: $i ).

tff(psych_decl,type,
    psych: $i ).

tff(teach_decl,type,
    teach: ( $i * $i ) > $o ).

tff(db,axiom-local,
    ( {$box}
    @ (( teach(john,math)
       & ? [X: $i] : teach(X,cs)
       & teach(mary,psych)
       & teach(sue,psych) )) ) ).

tff(not_db,axiom-local,
    ( ~ ( {$box} @ ( teach(john,cs) ) )
    & ~ ( {$box} @ ( teach(mary,cs) ) )
    & ~ ( {$box} @ ( teach(sue,cs) ) ) ) ).

tff(query,conjecture,
    ? [X: $i] :
      ( teach(X,psych)
      & ~ ( {$box} @ (teach(X,cs)) ) ) ).

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