## TPTP Problem File: HWV006-2.p

View Solutions - Solve Problem

```%--------------------------------------------------------------------------
% File     : HWV006-2 : TPTP v8.1.0. Bugfixed v2.7.0.
% Domain   : Hardware Verification
% Problem  : A fulladder built from two halfadders and an or gate
% Version  : [Gei96] axioms.
% English  :

% Refs     : [Gei96] Geisler (1996), Email to G. Sutcliffe
% Source   : [Gei96]
% Names    :

% Status   : Unsatisfiable
% Rating   : 0.00 v7.1.0, 0.17 v7.0.0, 0.12 v6.3.0, 0.29 v6.2.0, 0.11 v6.1.0, 0.00 v6.0.0, 0.14 v5.5.0, 0.12 v5.4.0, 0.10 v5.1.0, 0.09 v5.0.0, 0.14 v4.1.0, 0.25 v4.0.1, 0.20 v4.0.0, 0.14 v3.4.0, 0.25 v3.3.0, 0.00 v2.7.0
% Syntax   : Number of clauses     :   64 (  11 unt;   5 nHn;  64 RR)
%            Number of literals    :  144 (   0 equ;  86 neg)
%            Maximal clause size   :    4 (   2 avg)
%            Maximal term depth    :    3 (   2 avg)
%            Number of predicates  :   12 (  12 usr;   0 prp; 1-2 aty)
%            Number of functors    :   13 (  13 usr;   1 con; 0-1 aty)
%            Number of variables   :   55 (   0 sgn)
% SPC      : CNF_UNS_RFO_NEQ_NHN

% Bugfixes : v2.7.0 - Bugfix in HWV002-0.ax
%--------------------------------------------------------------------------
%----Include basic diagnosis axioms
include('Axioms/HWV002-0.ax').
include('Axioms/HWV002-1.ax').
include('Axioms/HWV002-2.ax').
%--------------------------------------------------------------------------
%----Observations

cnf(in1_1,hypothesis,
one(in1(f)) ).

cnf(in2_0,hypothesis,
zero(in2(f)) ).

cnf(inc_1,hypothesis,
one(inc(f)) ).

cnf(outs_1,hypothesis,
one(outs(f)) ).

cnf(outc_0,hypothesis,
zero(outc(f)) ).

%----Minimal diagnosis
cnf(diagnosis_or1_not1h2,negated_conjecture,
( ~ abnormal(or1(f))
| ~ abnormal(not1(h2(f))) ) ).

cnf(diagnosis_and2,negated_conjecture,
~ abnormal(and2(h2(f))) ).

cnf(diagnosis_or1_and1h2,negated_conjecture,
( ~ abnormal(or1(f))
| ~ abnormal(and1(h2(f))) ) ).

cnf(diagnosis_or1h1,negated_conjecture,
~ abnormal(or1(h1(f))) ).

cnf(diagnosis_not1h1,negated_conjecture,
~ abnormal(not1(h1(f))) ).

cnf(diagnosis_and2h1,negated_conjecture,
~ abnormal(and2(h1(f))) ).

cnf(diagnosis_and1h1,negated_conjecture,
~ abnormal(and1(h1(f))) ).

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