TPTP Problem File: CSR024+1.010.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : CSR024+1.010 : TPTP v9.0.0. Bugfixed v3.1.0.
% Domain : Commonsense Reasoning
% Problem : Multiple trolleys, size 10
% Version : [Mue05] axioms : Especial.
% English : Each agent pushes and pulls, so all trolleys spin together.
% Refs : [Mue05] Mueller (2005), Email to Geoff Sutcliffe
% Source : [Mue05]
% Names :
% Status : Theorem
% Rating : 0.42 v9.0.0, 0.47 v8.1.0, 0.42 v7.5.0, 0.44 v7.4.0, 0.27 v7.3.0, 0.38 v7.1.0, 0.35 v7.0.0, 0.40 v6.4.0, 0.50 v6.3.0, 0.42 v6.2.0, 0.56 v6.1.0, 0.60 v6.0.0, 0.57 v5.5.0, 0.56 v5.4.0, 0.57 v5.3.0, 0.63 v5.2.0, 0.50 v5.1.0, 0.57 v5.0.0, 0.58 v4.1.0, 0.61 v4.0.1, 0.65 v4.0.0, 0.67 v3.7.0, 0.65 v3.5.0, 0.68 v3.4.0, 0.74 v3.3.0, 0.93 v3.2.0, 0.82 v3.1.0
% Syntax : Number of formulae : 49 ( 18 unt; 0 def)
% Number of atoms : 302 ( 171 equ)
% Maximal formula atoms : 90 ( 6 avg)
% Number of connectives : 408 ( 155 ~; 29 |; 196 &)
% ( 16 <=>; 12 =>; 0 <=; 0 <~>)
% Maximal formula depth : 91 ( 8 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of predicates : 13 ( 12 usr; 0 prp; 2-4 aty)
% Number of functors : 36 ( 36 usr; 30 con; 0-2 aty)
% Number of variables : 90 ( 77 !; 13 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments :
%------------------------------------------------------------------------------
%----Include standard discrete event calculus axioms
include('Axioms/CSR001+0.ax').
%----Include axioms for supermarket trolley scenario for multiple trolleys
include('Axioms/CSR001+3.ax').
%------------------------------------------------------------------------------
fof(plus0_0,axiom,
plus(n0,n0) = n0 ).
fof(plus0_1,axiom,
plus(n0,n1) = n1 ).
fof(plus0_2,axiom,
plus(n0,n2) = n2 ).
fof(plus0_3,axiom,
plus(n0,n3) = n3 ).
fof(plus1_1,axiom,
plus(n1,n1) = n2 ).
fof(plus1_2,axiom,
plus(n1,n2) = n3 ).
fof(plus1_3,axiom,
plus(n1,n3) = n4 ).
fof(plus2_2,axiom,
plus(n2,n2) = n4 ).
fof(plus2_3,axiom,
plus(n2,n3) = n5 ).
fof(plus3_3,axiom,
plus(n3,n3) = n6 ).
fof(symmetry_of_plus,axiom,
! [X,Y] : plus(X,Y) = plus(Y,X) ).
fof(less_or_equal,axiom,
! [X,Y] :
( less_or_equal(X,Y)
<=> ( less(X,Y)
| X = Y ) ) ).
fof(less0,axiom,
~ ? [X] : less(X,n0) ).
fof(less1,axiom,
! [X] :
( less(X,n1)
<=> less_or_equal(X,n0) ) ).
fof(less2,axiom,
! [X] :
( less(X,n2)
<=> less_or_equal(X,n1) ) ).
fof(less3,axiom,
! [X] :
( less(X,n3)
<=> less_or_equal(X,n2) ) ).
fof(less4,axiom,
! [X] :
( less(X,n4)
<=> less_or_equal(X,n3) ) ).
fof(less5,axiom,
! [X] :
( less(X,n5)
<=> less_or_equal(X,n4) ) ).
fof(less6,axiom,
! [X] :
( less(X,n6)
<=> less_or_equal(X,n5) ) ).
fof(less7,axiom,
! [X] :
( less(X,n7)
<=> less_or_equal(X,n6) ) ).
fof(less8,axiom,
! [X] :
( less(X,n8)
<=> less_or_equal(X,n7) ) ).
fof(less9,axiom,
! [X] :
( less(X,n9)
<=> less_or_equal(X,n8) ) ).
fof(less_property,axiom,
! [X,Y] :
( less(X,Y)
<=> ( ~ less(Y,X)
& Y != X ) ) ).
fof(happens_all_defn,axiom,
! [Event,Time] :
( happens(Event,Time)
<=> ( ( Event = pull(agent1,trolley1)
& Time = n0 )
| ( Event = push(agent1,trolley1)
& Time = n0 )
| ( Event = pull(agent2,trolley2)
& Time = n0 )
| ( Event = push(agent2,trolley2)
& Time = n0 )
| ( Event = pull(agent3,trolley3)
& Time = n0 )
| ( Event = push(agent3,trolley3)
& Time = n0 )
| ( Event = pull(agent4,trolley4)
& Time = n0 )
| ( Event = push(agent4,trolley4)
& Time = n0 )
| ( Event = pull(agent5,trolley5)
& Time = n0 )
| ( Event = push(agent5,trolley5)
& Time = n0 )
| ( Event = pull(agent6,trolley6)
& Time = n0 )
| ( Event = push(agent6,trolley6)
& Time = n0 )
| ( Event = pull(agent7,trolley7)
& Time = n0 )
| ( Event = push(agent7,trolley7)
& Time = n0 )
| ( Event = pull(agent8,trolley8)
& Time = n0 )
| ( Event = push(agent8,trolley8)
& Time = n0 )
| ( Event = pull(agent9,trolley9)
& Time = n0 )
| ( Event = push(agent9,trolley9)
& Time = n0 )
| ( Event = pull(agent10,trolley10)
& Time = n0 )
| ( Event = push(agent10,trolley10)
& Time = n0 ) ) ) ).
%----Initial conditions
fof(initial_cond,hypothesis,
( ~ holdsAt(forwards(trolley1),n0)
& ~ holdsAt(backwards(trolley1),n0)
& ~ holdsAt(spinning(trolley1),n0)
& ~ holdsAt(forwards(trolley2),n0)
& ~ holdsAt(backwards(trolley2),n0)
& ~ holdsAt(spinning(trolley2),n0)
& ~ holdsAt(forwards(trolley3),n0)
& ~ holdsAt(backwards(trolley3),n0)
& ~ holdsAt(spinning(trolley3),n0)
& ~ holdsAt(forwards(trolley4),n0)
& ~ holdsAt(backwards(trolley4),n0)
& ~ holdsAt(spinning(trolley4),n0)
& ~ holdsAt(forwards(trolley5),n0)
& ~ holdsAt(backwards(trolley5),n0)
& ~ holdsAt(spinning(trolley5),n0)
& ~ holdsAt(forwards(trolley6),n0)
& ~ holdsAt(backwards(trolley6),n0)
& ~ holdsAt(spinning(trolley6),n0)
& ~ holdsAt(forwards(trolley7),n0)
& ~ holdsAt(backwards(trolley7),n0)
& ~ holdsAt(spinning(trolley7),n0)
& ~ holdsAt(forwards(trolley8),n0)
& ~ holdsAt(backwards(trolley8),n0)
& ~ holdsAt(spinning(trolley8),n0)
& ~ holdsAt(forwards(trolley9),n0)
& ~ holdsAt(backwards(trolley9),n0)
& ~ holdsAt(spinning(trolley9),n0)
& ~ holdsAt(forwards(trolley10),n0)
& ~ holdsAt(backwards(trolley10),n0)
& ~ holdsAt(spinning(trolley10),n0) ) ).
fof(not_releasedAt,hypothesis,
! [Fluent,Time] : ~ releasedAt(Fluent,Time) ).
%----Distinct agents and trolleys:
fof(distinct_agents_and_trolleys,hypothesis,
( trolley1 != trolley2
& agent1 != agent2
& trolley1 != trolley3
& agent1 != agent3
& trolley1 != trolley4
& agent1 != agent4
& trolley1 != trolley5
& agent1 != agent5
& trolley1 != trolley6
& agent1 != agent6
& trolley1 != trolley7
& agent1 != agent7
& trolley1 != trolley8
& agent1 != agent8
& trolley1 != trolley9
& agent1 != agent9
& trolley1 != trolley10
& agent1 != agent10
& trolley2 != trolley3
& agent2 != agent3
& trolley2 != trolley4
& agent2 != agent4
& trolley2 != trolley5
& agent2 != agent5
& trolley2 != trolley6
& agent2 != agent6
& trolley2 != trolley7
& agent2 != agent7
& trolley2 != trolley8
& agent2 != agent8
& trolley2 != trolley9
& agent2 != agent9
& trolley2 != trolley10
& agent2 != agent10
& trolley3 != trolley4
& agent3 != agent4
& trolley3 != trolley5
& agent3 != agent5
& trolley3 != trolley6
& agent3 != agent6
& trolley3 != trolley7
& agent3 != agent7
& trolley3 != trolley8
& agent3 != agent8
& trolley3 != trolley9
& agent3 != agent9
& trolley3 != trolley10
& agent3 != agent10
& trolley4 != trolley5
& agent4 != agent5
& trolley4 != trolley6
& agent4 != agent6
& trolley4 != trolley7
& agent4 != agent7
& trolley4 != trolley8
& agent4 != agent8
& trolley4 != trolley9
& agent4 != agent9
& trolley4 != trolley10
& agent4 != agent10
& trolley5 != trolley6
& agent5 != agent6
& trolley5 != trolley7
& agent5 != agent7
& trolley5 != trolley8
& agent5 != agent8
& trolley5 != trolley9
& agent5 != agent9
& trolley5 != trolley10
& agent5 != agent10
& trolley6 != trolley7
& agent6 != agent7
& trolley6 != trolley8
& agent6 != agent8
& trolley6 != trolley9
& agent6 != agent9
& trolley6 != trolley10
& agent6 != agent10
& trolley7 != trolley8
& agent7 != agent8
& trolley7 != trolley9
& agent7 != agent9
& trolley7 != trolley10
& agent7 != agent10
& trolley8 != trolley9
& agent8 != agent9
& trolley8 != trolley10
& agent8 != agent10
& trolley9 != trolley10
& agent9 != agent10 ) ).
fof(spinning_3,conjecture,
( holdsAt(spinning(trolley1),n1)
& holdsAt(spinning(trolley2),n1)
& holdsAt(spinning(trolley3),n1)
& holdsAt(spinning(trolley4),n1)
& holdsAt(spinning(trolley5),n1)
& holdsAt(spinning(trolley6),n1)
& holdsAt(spinning(trolley7),n1)
& holdsAt(spinning(trolley8),n1)
& holdsAt(spinning(trolley9),n1)
& holdsAt(spinning(trolley10),n1) ) ).
%------------------------------------------------------------------------------