TPTP Axioms File: HWV001-1.ax
%--------------------------------------------------------------------------
% File : HWV001-1 : TPTP v9.0.0. Released .0.
% Domain : Hardware Verification
% Axioms : Half-adder.
% Version : [Gei96] axioms.
% English :
% Refs : [Gei96] Geisler (1996), Email to G. Sutcliffe
% Source : [Gei96]
% Names :
% Status : Satisfiable
% Syntax : Number of clauses : 13 ( 0 unt; 0 nHn; 13 RR)
% Number of literals : 26 ( 0 equ; 13 neg)
% Maximal clause size : 2 ( 2 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 2 ( 2 usr; 0 prp; 2-2 aty)
% Number of functors : 14 ( 14 usr; 8 con; 0-2 aty)
% Number of variables : 13 ( 0 sgn)
% SPC :
% Comments : Requires HWV001-0.ax
%--------------------------------------------------------------------------
%----Composition of halfadder
cnf(halfadder_and1,axiom,
( ~ type(X,halfadder)
| type(and1(X),and) ) ).
cnf(halfadder_and2,axiom,
( ~ type(X,halfadder)
| type(and2(X),and) ) ).
cnf(halfadder_not1,axiom,
( ~ type(X,halfadder)
| type(not1(X),not) ) ).
cnf(halfadder_or1,axiom,
( ~ type(X,halfadder)
| type(or1(X),or) ) ).
%----Connections of halfadder
cnf(halfadder_connection_in1_in1or1,axiom,
( ~ type(X,halfadder)
| connection(in(n1,X),in(n1,or1(X))) ) ).
cnf(halfadder_connection_in2_in2or1,axiom,
( ~ type(X,halfadder)
| connection(in(n2,X),in(n2,or1(X))) ) ).
cnf(halfadder_connection_in1_in1and2,axiom,
( ~ type(X,halfadder)
| connection(in(n1,X),in(n1,and2(X))) ) ).
cnf(halfadder_connection_in2_in2and2,axiom,
( ~ type(X,halfadder)
| connection(in(n2,X),in(n2,and2(X))) ) ).
cnf(halfadder_connection_outs_out1and1,axiom,
( ~ type(X,halfadder)
| connection(out(s,X),out(n1,and1(X))) ) ).
cnf(halfadder_connection_outc_out1and2,axiom,
( ~ type(X,halfadder)
| connection(out(c,X),out(n1,and2(X))) ) ).
cnf(halfadder_connection_out1or1_in1_and1,axiom,
( ~ type(X,halfadder)
| connection(out(n1,or1(X)),in(n1,and1(X))) ) ).
cnf(halfadder_connection_out1and2_in1not1,axiom,
( ~ type(X,halfadder)
| connection(out(n1,and2(X)),in(n1,not1(X))) ) ).
cnf(halfadder_connection_out1not1_in2and1,axiom,
( ~ type(X,halfadder)
| connection(out(n1,not1(X)),in(n2,and1(X))) ) ).
%--------------------------------------------------------------------------