## TPTP Axioms File: PLA001-1.ax

```%--------------------------------------------------------------------------
% File     : PLA001-1 : TPTP v7.3.0. Released v1.0.0.
% Domain   : Planning (Blocks world)
% Axioms   : Blocks world difference axioms for 4 blocks
% Version  : [SE94] axioms.
% English  :

% Refs     : [Sus73] Sussman (1973), A Computational Model of Skill Acquisi
%          : [SE94]  Segre & Elkan (1994), A High-Performance Explanation-B
% Source   : [SE94]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of clauses    :   20 (   0 non-Horn;  19 unit;  19 RR)
%            Number of atoms      :   21 (   0 equality)
%            Maximal clause size  :    2 (   1 average)
%            Number of predicates :    2 (   0 propositional; 2-2 arity)
%            Number of functors   :    9 (   7 constant; 0-2 arity)
%            Number of variables  :    3 (   1 singleton)
%            Maximal term depth   :    2 (   1 average)
% SPC      :

% Comments : Requires PLA001-0.ax
%          : The axioms are a reconstruction of the situation calculus
%            blocks world as in [Sus73].
%--------------------------------------------------------------------------
cnf(symmetry_of_differ,axiom,
( differ(X,Y)
| ~ differ(Y,X) )).

cnf(differ_a_b,axiom,
( differ(a,b) )).

cnf(differ_a_c,axiom,
( differ(a,c) )).

cnf(differ_a_d,axiom,
( differ(a,d) )).

cnf(differ_a_table,axiom,
( differ(a,table) )).

cnf(differ_b_c,axiom,
( differ(b,c) )).

cnf(differ_b_d,axiom,
( differ(b,d) )).

cnf(differ_b_table,axiom,
( differ(b,table) )).

cnf(differ_c_d,axiom,
( differ(c,d) )).

cnf(differ_c_table,axiom,
( differ(c,table) )).

cnf(differ_d_table,axiom,
( differ(d,table) )).

%----Initial configuration
cnf(initial_state1,axiom,
( holds(on(a,table),s0) )).

cnf(initial_state2,axiom,
( holds(on(b,table),s0) )).

cnf(initial_state3,axiom,
( holds(on(c,d),s0) )).

cnf(initial_state4,axiom,
( holds(on(d,table),s0) )).

cnf(initial_state5,axiom,
( holds(clear(a),s0) )).

cnf(initial_state6,axiom,
( holds(clear(b),s0) )).

cnf(initial_state7,axiom,
( holds(clear(c),s0) )).

cnf(initial_state8,axiom,
( holds(empty,s0) )).

%----Table is always clear
cnf(clear_table,axiom,
( holds(clear(table),State) )).

%--------------------------------------------------------------------------
```