TPTP Problem File: HWV003-1.p

View Solutions - Solve Problem

%--------------------------------------------------------------------------
% File     : HWV003-1 : TPTP v8.2.0. Released v1.1.0.
% Domain   : Hardware Verification
% Problem  : One bit Full Adder
% Version  : [WO+92] axioms.
% English  :

% Refs     : [WO+92] Wos et al. (1992), Automated Reasoning: Introduction a
% Source   : [WO+92]
% Names    : - [WO+92]

% Status   : Unsatisfiable
% Rating   : 0.56 v8.2.0, 0.67 v8.1.0, 0.44 v7.5.0, 0.50 v7.4.0, 0.44 v7.3.0, 0.33 v7.2.0, 0.38 v7.1.0, 0.43 v7.0.0, 0.57 v6.4.0, 0.71 v6.3.0, 0.67 v6.2.0, 0.00 v6.1.0, 0.40 v6.0.0, 0.67 v5.5.0, 0.75 v5.4.0, 0.73 v5.3.0, 0.75 v5.2.0, 0.50 v5.1.0, 0.57 v5.0.0, 0.71 v4.1.0, 0.56 v4.0.1, 0.50 v4.0.0, 0.67 v3.7.0, 0.50 v3.5.0, 0.33 v3.3.0, 0.29 v3.1.0, 0.67 v2.7.0, 0.50 v2.6.0, 0.86 v2.5.0, 0.80 v2.4.0, 0.83 v2.3.0, 1.00 v2.2.1, 0.89 v2.2.0, 0.86 v2.1.0, 1.00 v2.0.0
% Syntax   : Number of clauses     :   47 (  47 unt;   0 nHn;  13 RR)
%            Number of literals    :   47 (  45 equ;   1 neg)
%            Maximal clause size   :    1 (   1 avg)
%            Maximal term depth    :    4 (   2 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 2-2 aty)
%            Number of functors    :   20 (  20 usr;  14 con; 0-3 aty)
%            Number of variables   :   69 (  14 sgn)
% SPC      : CNF_UNS_RFO_SEQ_HRN

% Comments :
%--------------------------------------------------------------------------
%----Include definitions of AND, OR and NOT
include('Axioms/HWC002-0.ax').
%--------------------------------------------------------------------------
%----Simplifiers
cnf(demorgan1,axiom,
    not(and(X,Y)) = or(not(X),not(Y)) ).

cnf(demorgan2,axiom,
    not(or(X,Y)) = and(not(X),not(Y)) ).

cnf(not_involution,axiom,
    not(not(X)) = X ).

cnf(and_symmetry,negated_conjecture,
    and(X,Y) = and(Y,X) ).

cnf(or_symmetry,negated_conjecture,
    or(X,Y) = or(Y,X) ).

cnf(and_or_simplification,negated_conjecture,
    and(or(X,Y),Z) = or(and(X,Z),and(Y,Z)) ).

cnf(and_commutativity,negated_conjecture,
    and(and(X,Y),Z) = and(and(X,Z),Y) ).

cnf(or_commutativity,negated_conjecture,
    or(or(X,Y),Z) = or(or(X,Z),Y) ).

%----Evaluators
cnf(and_not_evaluation1,axiom,
    and(X,not(X)) = n0 ).

cnf(or_not_evaluation1,axiom,
    or(X,not(X)) = n1 ).

cnf(and_idempotency,axiom,
    and(X,X) = X ).

cnf(or_idempotency,axiom,
    or(X,X) = X ).

%----Evaluators of lists of 3 terms
cnf(and_not_evaluation2,axiom,
    and(and(X,Y),not(Y)) = n0 ).

cnf(and_not_evaluation3,axiom,
    and(and(X,Y),not(X)) = n0 ).

cnf(or_not_evaluation2,axiom,
    or(or(X,Y),not(Y)) = n1 ).

cnf(or_not_evaluation3,axiom,
    or(or(X,Y),not(X)) = n1 ).

cnf(and_evaluation1,axiom,
    and(and(X,Y),Y) = and(X,Y) ).

cnf(or_evaluation1,axiom,
    or(or(X,Y),Y) = or(X,Y) ).

%----Simplifiers for products of 4 terms
cnf(and_not_evaluation4,axiom,
    and(and(and(X1,X2),X3),not(X1)) = n0 ).

cnf(and_not_evaluation5,axiom,
    and(and(and(X1,X2),X3),not(X2)) = n0 ).

%----Subsumption type demodulators
cnf(and_or_subsumption1,axiom,
    or(and(X,Y),Y) = Y ).

cnf(and_or_subsumption2,axiom,
    or(and(X,Y),X) = X ).

cnf(and_or_subsumption3,axiom,
    or(or(and(X,Y),Z),Y) = or(Z,Y) ).

cnf(and_or_subsumption4,axiom,
    or(or(X,and(Y,Z)),Z) = or(X,Z) ).

%----Karnaugh map technique
cnf(karnaugh1,axiom,
    or(and(X,not(Y)),Y) = or(X,Y) ).

cnf(karnaugh2,axiom,
    or(and(not(X),not(Y)),Y) = or(Y,not(X)) ).

%----Karnaugh simplifier of inside product
cnf(karnaugh3,axiom,
    or(and(and(X,Y),not(Z)),and(X,Z)) = or(and(X,Y),and(X,Z)) ).

%----Circuit description
cnf(xor_definition,axiom,
    xor(X,Y) = or(and(X,not(Y)),and(Y,not(X))) ).

cnf(carryout_definition,negated_conjecture,
    carryout(X,Y,Z) = or(and(X,or(Y,Z)),and(not(X),and(Y,Z))) ).

cnf(sum_definition,negated_conjecture,
    sum(X,Y,Z) = xor(xor(X,Y),Z) ).

cnf(circuit1,negated_conjecture,
    a11 = not(and(a,b)) ).

cnf(circuit2,negated_conjecture,
    a12 = not(and(a11,a)) ).

cnf(circuit3,negated_conjecture,
    a13 = not(and(a11,b)) ).

cnf(circuit4,negated_conjecture,
    a14 = not(and(a12,a13)) ).

cnf(circuit5,negated_conjecture,
    a15 = not(and(a14,carryin)) ).

cnf(circuit6,negated_conjecture,
    a16 = not(and(a14,a15)) ).

cnf(circuit7,negated_conjecture,
    a17 = not(and(a15,carryin)) ).

cnf(circuit8,negated_conjecture,
    s1 = not(and(a16,a17)) ).

cnf(circuit9,negated_conjecture,
    c1 = not(and(a11,a15)) ).

cnf(the_output_circuit,negated_conjecture,
    circuit(s1,c1) ).

cnf(prove_circuit,negated_conjecture,
    ~ circuit(sum(a,b,carryin),carryout(a,b,carryin)) ).

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