TPTP Problem File: MSC008-1.010.p

View Solutions - Solve Problem

%--------------------------------------------------------------------------
% File     : MSC008-1.010 : TPTP v9.0.0. Released v1.0.0.
% Domain   : Miscellaneous
% Problem  : The (in)constructability of Graeco-Latin Squares
% Version  : [Rob63] axioms : Especial.
% English  : The constructibility of Graeco-Latin squares of order 4t+2.
%            This is impossible for t=0,1, but possible for all other
%            cases. The size is the size of the squares.

% Refs     : [Rob63] Robinson (1963), Theorem Proving on the Computer
% Source   : [TPTP]
% Names    :

% Status   : Satisfiable
% Rating   : 1.00 v2.1.0
% Syntax   : Number of clauses     :   61 (  46 unt;   6 nHn;  54 RR)
%            Number of literals    :  136 (   0 equ;  66 neg)
%            Maximal clause size   :   10 (   2 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    3 (   3 usr;   0 prp; 2-3 aty)
%            Number of functors    :   10 (  10 usr;  10 con; 0-0 aty)
%            Number of variables   :   51 (   0 sgn)
% SPC      : CNF_SAT_EPR_NEQ

% Comments :
%          : tptp2X: -f tptp -s10 MSC008-1.g
%--------------------------------------------------------------------------
cnf(p_1_is_not_p_2,axiom,
    ~ eq(p_1,p_2) ).

cnf(p_1_is_not_p_3,axiom,
    ~ eq(p_1,p_3) ).

cnf(p_1_is_not_p_4,axiom,
    ~ eq(p_1,p_4) ).

cnf(p_1_is_not_p_5,axiom,
    ~ eq(p_1,p_5) ).

cnf(p_1_is_not_p_6,axiom,
    ~ eq(p_1,p_6) ).

cnf(p_1_is_not_p_7,axiom,
    ~ eq(p_1,p_7) ).

cnf(p_1_is_not_p_8,axiom,
    ~ eq(p_1,p_8) ).

cnf(p_1_is_not_p_9,axiom,
    ~ eq(p_1,p_9) ).

cnf(p_1_is_not_p_10,axiom,
    ~ eq(p_1,p_10) ).

cnf(p_2_is_not_p_3,axiom,
    ~ eq(p_2,p_3) ).

cnf(p_2_is_not_p_4,axiom,
    ~ eq(p_2,p_4) ).

cnf(p_2_is_not_p_5,axiom,
    ~ eq(p_2,p_5) ).

cnf(p_2_is_not_p_6,axiom,
    ~ eq(p_2,p_6) ).

cnf(p_2_is_not_p_7,axiom,
    ~ eq(p_2,p_7) ).

cnf(p_2_is_not_p_8,axiom,
    ~ eq(p_2,p_8) ).

cnf(p_2_is_not_p_9,axiom,
    ~ eq(p_2,p_9) ).

cnf(p_2_is_not_p_10,axiom,
    ~ eq(p_2,p_10) ).

cnf(p_3_is_not_p_4,axiom,
    ~ eq(p_3,p_4) ).

cnf(p_3_is_not_p_5,axiom,
    ~ eq(p_3,p_5) ).

cnf(p_3_is_not_p_6,axiom,
    ~ eq(p_3,p_6) ).

cnf(p_3_is_not_p_7,axiom,
    ~ eq(p_3,p_7) ).

cnf(p_3_is_not_p_8,axiom,
    ~ eq(p_3,p_8) ).

cnf(p_3_is_not_p_9,axiom,
    ~ eq(p_3,p_9) ).

cnf(p_3_is_not_p_10,axiom,
    ~ eq(p_3,p_10) ).

cnf(p_4_is_not_p_5,axiom,
    ~ eq(p_4,p_5) ).

cnf(p_4_is_not_p_6,axiom,
    ~ eq(p_4,p_6) ).

cnf(p_4_is_not_p_7,axiom,
    ~ eq(p_4,p_7) ).

cnf(p_4_is_not_p_8,axiom,
    ~ eq(p_4,p_8) ).

cnf(p_4_is_not_p_9,axiom,
    ~ eq(p_4,p_9) ).

cnf(p_4_is_not_p_10,axiom,
    ~ eq(p_4,p_10) ).

cnf(p_5_is_not_p_6,axiom,
    ~ eq(p_5,p_6) ).

cnf(p_5_is_not_p_7,axiom,
    ~ eq(p_5,p_7) ).

cnf(p_5_is_not_p_8,axiom,
    ~ eq(p_5,p_8) ).

cnf(p_5_is_not_p_9,axiom,
    ~ eq(p_5,p_9) ).

cnf(p_5_is_not_p_10,axiom,
    ~ eq(p_5,p_10) ).

cnf(p_6_is_not_p_7,axiom,
    ~ eq(p_6,p_7) ).

cnf(p_6_is_not_p_8,axiom,
    ~ eq(p_6,p_8) ).

cnf(p_6_is_not_p_9,axiom,
    ~ eq(p_6,p_9) ).

cnf(p_6_is_not_p_10,axiom,
    ~ eq(p_6,p_10) ).

cnf(p_7_is_not_p_8,axiom,
    ~ eq(p_7,p_8) ).

cnf(p_7_is_not_p_9,axiom,
    ~ eq(p_7,p_9) ).

cnf(p_7_is_not_p_10,axiom,
    ~ eq(p_7,p_10) ).

cnf(p_8_is_not_p_9,axiom,
    ~ eq(p_8,p_9) ).

cnf(p_8_is_not_p_10,axiom,
    ~ eq(p_8,p_10) ).

cnf(p_9_is_not_p_10,axiom,
    ~ eq(p_9,p_10) ).

cnf(reflexivity,axiom,
    eq(X,X) ).

cnf(symmetry,axiom,
    ( ~ eq(X,Y)
    | eq(Y,X) ) ).

cnf(latin_element_is_unique,axiom,
    ( ~ latin(Row,Column,Label1)
    | ~ latin(Row,Column,Label2)
    | eq(Label1,Label2) ) ).

cnf(latin_column_is_unique,axiom,
    ( ~ latin(Row,Column1,Label)
    | ~ latin(Row,Column2,Label)
    | eq(Column1,Column2) ) ).

cnf(latin_row_is_unique,axiom,
    ( ~ latin(Row1,Column,Label)
    | ~ latin(Row2,Column,Label)
    | eq(Row1,Row2) ) ).

cnf(greek_element_is_unique,axiom,
    ( ~ greek(Row,Column,Label1)
    | ~ greek(Row,Column,Label2)
    | eq(Label1,Label2) ) ).

cnf(greek_column_is_unique,axiom,
    ( ~ greek(Row,Column1,Label)
    | ~ greek(Row,Column2,Label)
    | eq(Column1,Column2) ) ).

cnf(greek_row_is_unique,axiom,
    ( ~ greek(Row1,Column,Label)
    | ~ greek(Row2,Column,Label)
    | eq(Row1,Row2) ) ).

cnf(latin_cell_element,axiom,
    ( latin(Row,Column,p_1)
    | latin(Row,Column,p_2)
    | latin(Row,Column,p_3)
    | latin(Row,Column,p_4)
    | latin(Row,Column,p_5)
    | latin(Row,Column,p_6)
    | latin(Row,Column,p_7)
    | latin(Row,Column,p_8)
    | latin(Row,Column,p_9)
    | latin(Row,Column,p_10) ) ).

cnf(latin_column_required,axiom,
    ( latin(Row,p_1,Label)
    | latin(Row,p_2,Label)
    | latin(Row,p_3,Label)
    | latin(Row,p_4,Label)
    | latin(Row,p_5,Label)
    | latin(Row,p_6,Label)
    | latin(Row,p_7,Label)
    | latin(Row,p_8,Label)
    | latin(Row,p_9,Label)
    | latin(Row,p_10,Label) ) ).

cnf(latin_row_required,axiom,
    ( latin(p_1,Column,Label)
    | latin(p_2,Column,Label)
    | latin(p_3,Column,Label)
    | latin(p_4,Column,Label)
    | latin(p_5,Column,Label)
    | latin(p_6,Column,Label)
    | latin(p_7,Column,Label)
    | latin(p_8,Column,Label)
    | latin(p_9,Column,Label)
    | latin(p_10,Column,Label) ) ).

cnf(greek_cell_element,axiom,
    ( greek(Row,Column,p_1)
    | greek(Row,Column,p_2)
    | greek(Row,Column,p_3)
    | greek(Row,Column,p_4)
    | greek(Row,Column,p_5)
    | greek(Row,Column,p_6)
    | greek(Row,Column,p_7)
    | greek(Row,Column,p_8)
    | greek(Row,Column,p_9)
    | greek(Row,Column,p_10) ) ).

cnf(greek_column_required,axiom,
    ( greek(Row,p_1,Label)
    | greek(Row,p_2,Label)
    | greek(Row,p_3,Label)
    | greek(Row,p_4,Label)
    | greek(Row,p_5,Label)
    | greek(Row,p_6,Label)
    | greek(Row,p_7,Label)
    | greek(Row,p_8,Label)
    | greek(Row,p_9,Label)
    | greek(Row,p_10,Label) ) ).

cnf(greek_row_required,axiom,
    ( greek(p_1,Column,Label)
    | greek(p_2,Column,Label)
    | greek(p_3,Column,Label)
    | greek(p_4,Column,Label)
    | greek(p_5,Column,Label)
    | greek(p_6,Column,Label)
    | greek(p_7,Column,Label)
    | greek(p_8,Column,Label)
    | greek(p_9,Column,Label)
    | greek(p_10,Column,Label) ) ).

cnf(no_two_same1,negated_conjecture,
    ( ~ greek(Row1,Column1,Label1)
    | ~ latin(Row1,Column1,Label2)
    | ~ greek(Row2,Column2,Label1)
    | ~ latin(Row2,Column2,Label2)
    | eq(Column1,Column2) ) ).

cnf(no_two_same2,negated_conjecture,
    ( ~ greek(Row1,Column1,Label1)
    | ~ latin(Row1,Column1,Label2)
    | ~ greek(Row2,Column2,Label1)
    | ~ latin(Row2,Column2,Label2)
    | eq(Row1,Row2) ) ).

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