TPTP Problem File: PUZ058-1.p

View Solutions - Solve Problem

%--------------------------------------------------------------------------
% File     : PUZ058-1 : TPTP v8.2.0. Released v2.7.0.
% Domain   : Puzzles
% Problem  : Show the Hanoi problem is not solvable anymore
% Version  : [Cla03] axioms : Especial.
% English  : Move blocks from pin to pin, until a goal configuration
%            is reached. Some rules are removed: one cannot move the medium
%            block onto the second pin directly.

% Refs     : [Cla03] Claessen (2003), Email to G. Sutcliffe
% Source   : [Cla03]
% Names    :

% Status   : Satisfiable
% Rating   : 0.50 v8.2.0, 0.70 v8.1.0, 0.62 v7.5.0, 0.67 v7.4.0, 0.64 v7.3.0, 0.56 v7.1.0, 0.62 v7.0.0, 0.71 v6.4.0, 0.43 v6.3.0, 0.50 v6.2.0, 0.70 v6.1.0, 0.67 v6.0.0, 0.71 v5.5.0, 0.75 v5.4.0, 0.80 v5.3.0, 0.78 v5.2.0, 0.80 v5.0.0, 0.78 v4.1.0, 0.71 v4.0.1, 1.00 v4.0.0, 0.50 v3.7.0, 0.33 v3.4.0, 0.50 v3.3.0, 0.33 v3.2.0, 0.60 v3.1.0, 0.67 v2.7.0
% Syntax   : Number of clauses     :   11 (   9 unt;   1 nHn;   3 RR)
%            Number of literals    :   14 (   4 equ;   3 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    7 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :    9 (   9 usr;   6 con; 0-2 aty)
%            Number of variables   :   14 (   5 sgn)
% SPC      : CNF_SAT_RFO_EQU_NUE

% Comments : Alternative axiomatization, suited for model finding
%--------------------------------------------------------------------------
cnf(initial_state,axiom,
    state(nextto(on(small,on(medium,on(large,pin(n1)))),nextto(pin(n2),pin(n3)))) ).

cnf(final_state,negated_conjecture,
    ~ state(nextto(pin(n1),nextto(pin(n2),on(small,on(medium,on(large,pin(n3))))))) ).

cnf(nextto_commutative,axiom,
    nextto(X,Y) = nextto(Y,X) ).

cnf(nextto_associative,axiom,
    nextto(X,nextto(Y,Z)) = nextto(nextto(X,Y),Z) ).

cnf(a_move,axiom,
    ( nextto(on(X,A),B) = nextto(A,on(X,B))
    | ~ fits(X,B)
    | ~ fits(X,A) ) ).

cnf(fits_1,axiom,
    fits(small,pin(N)) ).

cnf(fits_2,axiom,
    ( fits(medium,pin(N))
    | N = n2 ) ).

cnf(fits_3,axiom,
    fits(large,pin(N)) ).

cnf(fits_4,axiom,
    fits(small,on(medium,A)) ).

cnf(fits_5,axiom,
    fits(medium,on(large,A)) ).

cnf(fits_6,axiom,
    fits(small,on(large,A)) ).

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