TPTP Problem File: PUZ015-1.p
View Solutions
- Solve Problem
%--------------------------------------------------------------------------
% File : PUZ015-1 : TPTP v9.0.0. Released v1.0.0.
% Domain : Puzzles
% Problem : Checkerboard and Dominoes : Opposing corners removed
% Version : Especial.
% English : There is a checker board whose upper left and lower right
% squares have been removed. There is a box of dominoes that
% are one square by two squares in size. Can you exactly cover
% the checker board with dominoes?
% Refs :
% Source : [ANL]
% Names : chekndom.ver1.in [ANL]
% Status : Satisfiable
% Rating : 0.67 v9.0.0, 0.70 v8.2.0, 0.90 v8.1.0, 0.75 v7.5.0, 0.78 v7.4.0, 0.73 v7.3.0, 0.89 v7.1.0, 0.88 v7.0.0, 0.86 v6.4.0, 0.57 v6.3.0, 0.50 v6.2.0, 0.90 v6.1.0, 0.78 v6.0.0, 0.86 v5.5.0, 0.88 v5.4.0, 0.90 v5.3.0, 0.89 v5.2.0, 0.90 v5.0.0, 0.89 v4.1.0, 0.86 v4.0.1, 1.00 v4.0.0, 0.75 v3.7.0, 0.67 v3.4.0, 0.75 v3.3.0, 0.67 v3.2.0, 0.80 v3.1.0, 0.67 v2.7.0, 0.33 v2.6.0, 1.00 v2.0.0
% Syntax : Number of clauses : 21 ( 13 unt; 0 nHn; 21 RR)
% Number of literals : 29 ( 11 equ; 9 neg)
% Maximal clause size : 2 ( 1 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 2 ( 1 usr; 0 prp; 2-2 aty)
% Number of functors : 16 ( 16 usr; 12 con; 0-8 aty)
% Number of variables : 58 ( 0 sgn)
% SPC : CNF_SAT_RFO_EQU_NUE
% Comments :
%--------------------------------------------------------------------------
cnf(cover_columns_1_and_2,axiom,
( ~ achievable(row(X),squares(not_covered,not_covered,Y3,Y4,Y5,Y6,Y7,Y8))
| achievable(row(X),squares(covered,covered,Y3,Y4,Y5,Y6,Y7,Y8)) ) ).
cnf(cover_columns_2_and_3,axiom,
( ~ achievable(row(X),squares(Y1,not_covered,not_covered,Y4,Y5,Y6,Y7,Y8))
| achievable(row(X),squares(Y1,covered,covered,Y4,Y5,Y6,Y7,Y8)) ) ).
cnf(cover_columns_3_and_4,axiom,
( ~ achievable(row(X),squares(Y1,Y2,not_covered,not_covered,Y5,Y6,Y7,Y8))
| achievable(row(X),squares(Y1,Y2,covered,covered,Y5,Y6,Y7,Y8)) ) ).
cnf(cover_columns_4_and_5,axiom,
( ~ achievable(row(X),squares(Y1,Y2,Y3,not_covered,not_covered,Y6,Y7,Y8))
| achievable(row(X),squares(Y1,Y2,Y3,covered,covered,Y6,Y7,Y8)) ) ).
cnf(cover_columns_5_and_6,axiom,
( ~ achievable(row(X),squares(Y1,Y2,Y3,Y4,not_covered,not_covered,Y7,Y8))
| achievable(row(X),squares(Y1,Y2,Y3,Y4,covered,covered,Y7,Y8)) ) ).
cnf(cover_columns_6_and_7,axiom,
( ~ achievable(row(X),squares(Y1,Y2,Y3,Y4,Y5,not_covered,not_covered,Y8))
| achievable(row(X),squares(Y1,Y2,Y3,Y4,Y5,covered,covered,Y8)) ) ).
cnf(cover_columns_7_and_8,axiom,
( ~ achievable(row(X),squares(Y1,Y2,Y3,Y4,Y5,Y6,not_covered,not_covered))
| achievable(row(X),squares(Y1,Y2,Y3,Y4,Y5,Y6,covered,covered)) ) ).
cnf(place_vertical_pieces,axiom,
( ~ achievable(row(X),squares(Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8))
| achievable(row(successor(X)),squares(complement(Y1),complement(Y2),complement(Y3),complement(Y4),complement(Y5),complement(Y6),complement(Y7),complement(Y8))) ) ).
cnf(successor_of_1_is_2,axiom,
successor(n1) = n2 ).
cnf(successor_of_2_is_3,axiom,
successor(n2) = n3 ).
cnf(successor_of_3_is_4,axiom,
successor(n3) = n4 ).
cnf(successor_of_4_is_5,axiom,
successor(n4) = n5 ).
cnf(successor_of_5_is_6,axiom,
successor(n5) = n6 ).
cnf(successor_of_6_is_7,axiom,
successor(n6) = n7 ).
cnf(successor_of_7_is_8,axiom,
successor(n7) = n8 ).
cnf(successor_of_8_is_9,axiom,
successor(n8) = n9 ).
cnf(complement_of_covered_is_not_covered,axiom,
complement(covered) = not_covered ).
cnf(complement_of_not_covered_is_covered,axiom,
complement(not_covered) = covered ).
cnf(complement_of_r_is_not_covered,axiom,
complement(removed) = not_covered ).
cnf(first_row_initially,hypothesis,
achievable(row(n1),squares(removed,not_covered,not_covered,not_covered,not_covered,not_covered,not_covered,not_covered)) ).
%----This clause is in the original, but it not sensible or needed
% input_clause(can_do_anything_to_row_9,hypothesis,
% [++achievable(row(9),squares(Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8))]).
cnf(try_prove_row_8_can_be_covered,negated_conjecture,
~ achievable(row(n8),squares(covered,covered,covered,covered,covered,covered,covered,not_covered)) ).
%--------------------------------------------------------------------------