## TPTP Problem File: NUM285-1.p

View Solutions - Solve Problem

```%--------------------------------------------------------------------------
% File     : NUM285-1 : TPTP v8.1.0. Released v1.1.0.
% Domain   : Number Theory
% Problem  : a0 + ... + a5 = b1 + ... + b5, expression in logic
% Version  : Biased.
% English  :

% Refs     :
% Source   : [SETHEO]
% Names    :

% Status   : Satisfiable
% Rating   : 0.00 v2.0.0
% Syntax   : Number of clauses     :   54 (   2 unt;  31 nHn;  54 RR)
%            Number of literals    :  146 (   0 equ;  66 neg)
%            Maximal clause size   :    3 (   2 avg)
%            Maximal term depth    :    0 (   0 avg)
%            Number of predicates  :   22 (  22 usr;  22 prp; 0-0 aty)
%            Number of functors    :    0 (   0 usr;   0 con; --- aty)
%            Number of variables   :    0 (   0 sgn)
% SPC      : CNF_SAT_PRP

% Comments : It needs some explanation - help!
%          : Biased towards SETHEO.
%--------------------------------------------------------------------------
%---- "+" ("sum modulo 2) :             a + b  ==  ~(a <-> b)
%---- "=" ("equality modulo two):       a = b  ==   (a <-> b)
%---- ai, bi: elements
%---- pi, qi: sums of elements

%---- p1 = a0 + a1
cnf(p1_is_a0_plus_a1_1,negated_conjecture,
( ~ p1
| a0
| a1 ) ).

cnf(p1_is_a0_plus_a1_2,negated_conjecture,
( ~ p1
| ~ a0
| ~ a1 ) ).

cnf(p1_is_a0_plus_a1_3,negated_conjecture,
( p1
| a0
| ~ a1 ) ).

cnf(p1_is_a0_plus_a1_4,negated_conjecture,
( p1
| ~ a0
| a1 ) ).

%---- p2 = p1 + a2
cnf(p2_is_p1_plus_a2_1,negated_conjecture,
( ~ p2
| p1
| a2 ) ).

cnf(p2_is_p1_plus_a2_2,negated_conjecture,
( ~ p2
| ~ p1
| ~ a2 ) ).

cnf(p2_is_p1_plus_a2_3,negated_conjecture,
( p2
| p1
| ~ a2 ) ).

cnf(p2_is_p1_plus_a2_4,negated_conjecture,
( p2
| ~ p1
| a2 ) ).

%---- p3 = p2 + a3
cnf(p3_is_p2_plus_a3_1,negated_conjecture,
( ~ p3
| p2
| a3 ) ).

cnf(p3_is_p2_plus_a3_2,negated_conjecture,
( ~ p3
| ~ p2
| a3 ) ).

cnf(p3_is_p2_plus_a3_3,negated_conjecture,
( p3
| p2
| ~ a3 ) ).

cnf(p3_is_p2_plus_a3_4,negated_conjecture,
( p3
| ~ p2
| a3 ) ).

%---- p4 = p3 + a4
cnf(p4_is_p3_plus_a4_1,negated_conjecture,
( ~ p4
| p3
| a4 ) ).

cnf(p4_is_p3_plus_a4_2,negated_conjecture,
( ~ p4
| ~ p3
| a4 ) ).

cnf(p4_is_p3_plus_a4_3,negated_conjecture,
( p4
| p3
| ~ a4 ) ).

cnf(p4_is_p3_plus_a4_4,negated_conjecture,
( p4
| ~ p3
| a4 ) ).

%---- p5 = p4 + a5
cnf(p5_is_p4_plus_a5_1,negated_conjecture,
( ~ p5
| p4
| a5 ) ).

cnf(p5_is_p4_plus_a5_2,negated_conjecture,
( ~ p5
| ~ p4
| a5 ) ).

cnf(p5_is_p4_plus_a5_3,negated_conjecture,
( p5
| p4
| ~ a5 ) ).

cnf(p5_is_p4_plus_a5_4,negated_conjecture,
( p5
| ~ p4
| a5 ) ).

%---- q1 = b0 + b1
cnf(q1_is_b0_plus_b1_1,negated_conjecture,
( ~ q1
| b0
| b1 ) ).

cnf(q1_is_b0_plus_b1_2,negated_conjecture,
( ~ q1
| ~ b0
| ~ b1 ) ).

cnf(q1_is_b0_plus_b1_3,negated_conjecture,
( q1
| b0
| ~ b1 ) ).

cnf(q1_is_b0_plus_b1_4,negated_conjecture,
( q1
| ~ b0
| b1 ) ).

%---- q2 = q1 + b2
cnf(q2_is_q1_plus_b2_1,negated_conjecture,
( ~ q2
| q1
| b2 ) ).

cnf(q2_is_q1_plus_b2_2,negated_conjecture,
( ~ q2
| ~ q1
| ~ b2 ) ).

cnf(q2_is_q1_plus_b2_3,negated_conjecture,
( q2
| q1
| ~ b2 ) ).

cnf(q2_is_q1_plus_b2_4,negated_conjecture,
( q2
| ~ q1
| b2 ) ).

%---- q3 = q2 + b3
cnf(q3_is_q2_plus_b3_1,negated_conjecture,
( ~ q3
| q2
| b3 ) ).

cnf(q3_is_q2_plus_b3_2,negated_conjecture,
( ~ q3
| ~ q2
| b3 ) ).

cnf(q3_is_q2_plus_b3_3,negated_conjecture,
( q3
| q2
| ~ b3 ) ).

cnf(q3_is_q2_plus_b3_4,negated_conjecture,
( q3
| ~ q2
| b3 ) ).

%---- q4 = q3 + b4
cnf(q4_is_q3_plus_b4_1,negated_conjecture,
( ~ q4
| q3
| b4 ) ).

cnf(q4_is_q3_plus_b4_2,negated_conjecture,
( ~ q4
| ~ q3
| b4 ) ).

cnf(q4_is_q3_plus_b4_3,negated_conjecture,
( q4
| q3
| ~ b4 ) ).

cnf(q4_is_q3_plus_b4_4,negated_conjecture,
( q4
| ~ q3
| b4 ) ).

%---- q5 = q4 + b5
cnf(q5_is_q4_plus_b5_1,negated_conjecture,
( ~ q5
| q4
| b5 ) ).

cnf(q5_is_q4_plus_b5_2,negated_conjecture,
( ~ q5
| ~ q4
| b5 ) ).

cnf(q5_is_q4_plus_b5_3,negated_conjecture,
( q5
| q4
| ~ b5 ) ).

cnf(q5_is_q4_plus_b5_4,negated_conjecture,
( q5
| ~ q4
| b5 ) ).

%---- a0 =/= b0
cnf(a0_not_b0_1,negated_conjecture,
( a0
| b0 ) ).

cnf(a0_not_b0_2,negated_conjecture,
( ~ a0
| ~ b0 ) ).

%---- a1 = b1
cnf(a1_is_b1_1,negated_conjecture,
( a1
| ~ b1 ) ).

cnf(a1_is_b1_2,negated_conjecture,
( ~ a1
| b1 ) ).

%---- a2 = b2
cnf(a2_is_b2_1,negated_conjecture,
( a2
| ~ b2 ) ).

cnf(a2_is_b2_2,negated_conjecture,
( ~ a2
| b2 ) ).

%---- a3 = b3
cnf(a3_is_b3_1,negated_conjecture,
( a3
| ~ b3 ) ).

cnf(a3_is_b3_2,negated_conjecture,
( ~ a3
| b3 ) ).

%---- a4 = b4
cnf(a4_is_b4_1,negated_conjecture,
( a4
| ~ b4 ) ).

cnf(a4_is_b4_2,negated_conjecture,
( ~ a4
| b4 ) ).

%---- a5 = b5
cnf(a5_is_b5_1,negated_conjecture,
( a5
| ~ b5 ) ).

cnf(a5_is_b5_2,negated_conjecture,
( ~ a5
| b5 ) ).

%---- a0 + ... + an = b1 + ... + bn
cnf(equal_sum_1,negated_conjecture,
q5 ).

cnf(equal_sum_2,negated_conjecture,
p5 ).

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