TPTP Axioms File: HWV002-2.ax


%--------------------------------------------------------------------------
% File     : HWV002-2 : TPTP v7.5.0. Released v2.1.0.
% Domain   : Hardware Verification
% Axioms   : Full-adder.
% Version  : [Gei96] axioms.
% English  :

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

% Status   : Satisfiable
% Syntax   : Number of clauses    :   11 (   0 non-Horn;   0 unit;  11 RR)
%            Number of atoms      :   22 (   0 equality)
%            Maximal clause size  :    2 (   2 average)
%            Number of predicates :    4 (   0 propositional; 1-2 arity)
%            Number of functors   :    9 (   0 constant; 1-1 arity)
%            Number of variables  :   11 (   0 singleton)
%            Maximal term depth   :    3 (   2 average)
% SPC      : 

% Comments : Requires HWV002-0.ax HWV002-1.ax
%--------------------------------------------------------------------------
%----Composition of fulladder
cnf(fulladder_halfadder1,axiom,
    ( ~ fulladder(X)
    | halfadder(h1(X)) )).

cnf(fulladder_halfadder2,axiom,
    ( ~ fulladder(X)
    | halfadder(h2(X)) )).

cnf(fulladder_or1,axiom,
    ( ~ fulladder(X)
    | logic_or(or1(X)) )).

%----Connections of fulladder
cnf(fulladder_connection_outsh1_in2h2,axiom,
    ( ~ fulladder(X)
    | connection(outs(h1(X)),in2(h2(X))) )).

cnf(fulladder_connection_outch1_in2or1,axiom,
    ( ~ fulladder(X)
    | connection(outc(h1(X)),in2(or1(X))) )).

cnf(fulladder_connection_outch2_in1or1,axiom,
    ( ~ fulladder(X)
    | connection(outc(h2(X)),in1(or1(X))) )).

cnf(fulladder_connection_in1_in1h2,axiom,
    ( ~ fulladder(X)
    | connection(in1(X),in1(h2(X))) )).

cnf(fulladder_connection_in2_in1h1,axiom,
    ( ~ fulladder(X)
    | connection(in2(X),in1(h1(X))) )).

cnf(fulladder_connection_inc_in2h1,axiom,
    ( ~ fulladder(X)
    | connection(inc(X),in2(h1(X))) )).

cnf(fulladder_connection_outs_outsh2,axiom,
    ( ~ fulladder(X)
    | connection(outs(X),outs(h2(X))) )).

cnf(fulladder_connection_outc_out1or1,axiom,
    ( ~ fulladder(X)
    | connection(outc(X),out1(or1(X))) )).

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