TPTP Axioms File: CSR001+3.ax
%------------------------------------------------------------------------------
% File : CSR001+3 : TPTP v9.0.0. Released .0.
% Domain : Commonsense Reasoning
% Axioms : Supermarket trolley scenario for multiple trolleys
% Version : [Mue05] axioms : Especial.
% English :
% Refs : [Mue05] Mueller (2005), Email to Geoff Sutcliffe
% Source : [Mue05]
% Names :
% Status : Satisfiable
% Syntax : Number of formulae : 9 ( 5 unt; 0 def)
% Number of atoms : 40 ( 28 equ)
% Maximal formula atoms : 19 ( 4 avg)
% Number of connectives : 48 ( 17 ~; 7 |; 20 &)
% ( 2 <=>; 2 =>; 0 <=; 0 <~>)
% Maximal formula depth : 15 ( 7 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of predicates : 5 ( 4 usr; 0 prp; 2-3 aty)
% Number of functors : 5 ( 5 usr; 0 con; 1-2 aty)
% Number of variables : 26 ( 22 !; 4 ?)
% SPC :
% Comments : Requires CSR001+0.ax
%------------------------------------------------------------------------------
fof(initiates_all_defn,axiom,
! [Event,Fluent,Time] :
( initiates(Event,Fluent,Time)
<=> ? [Agent,Trolley] :
( ( Event = push(Agent,Trolley)
& Fluent = forwards(Trolley)
& ~ happens(pull(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = backwards(Trolley)
& ~ happens(push(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = spinning(Trolley)
& happens(push(Agent,Trolley),Time) ) ) ) ).
fof(terminates_all_defn,axiom,
! [Event,Fluent,Time] :
( terminates(Event,Fluent,Time)
<=> ? [Agent,Trolley] :
( ( Event = push(Agent,Trolley)
& Fluent = backwards(Trolley)
& ~ happens(pull(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = forwards(Trolley)
& ~ happens(push(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = forwards(Trolley)
& happens(push(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = backwards(Trolley)
& happens(push(Agent,Trolley),Time) )
| ( Event = push(Agent,Trolley)
& Fluent = spinning(Trolley)
& ~ happens(pull(Agent,Trolley),Time) )
| ( Event = pull(Agent,Trolley)
& Fluent = spinning(Trolley)
& ~ happens(push(Agent,Trolley),Time) ) ) ) ).
fof(releases_all_defn,axiom,
! [Event,Fluent,Time] : ~ releases(Event,Fluent,Time) ).
%----Distinct events
fof(push_not_pull,axiom,
! [Agent,Trolley] : push(Agent,Trolley) != pull(Agent,Trolley) ).
fof(push_unique,axiom,
! [Agent1,Agent2,Trolley1,Trolley2] :
( ( Agent1 != Agent2
& Trolley1 != Trolley2 )
=> push(Agent1,Trolley1) != push(Agent2,Trolley2) ) ).
fof(pull_unique,axiom,
! [Agent1,Agent2,Trolley1,Trolley2] :
( ( Agent1 != Agent2
& Trolley1 != Trolley2 )
=> pull(Agent1,Trolley1) != pull(Agent2,Trolley2) ) ).
%----Distinct fluents
fof(forwards_not_backwards,axiom,
! [Trolley] : forwards(Trolley) != backwards(Trolley) ).
fof(forwards_not_spinning,axiom,
! [Trolley] : forwards(Trolley) != spinning(Trolley) ).
fof(spinning_not_backwards,axiom,
! [Trolley] : spinning(Trolley) != backwards(Trolley) ).
%------------------------------------------------------------------------------