TPTP Problem File: HWV052-1.006.004.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : HWV052-1.006.004 : TPTP v8.2.0. Released v4.1.0.
% Domain   : Hardware Verification
% Problem  : Faulty channel 6 4
% Version  : Especial.
% English  : The problem of sending N bits over a faulty channel that can
%            mutilate any one bit. We can use K extra bits to help us do this.
%            Satisfiable means that it is possible, unsatisfiable means that
%            it is not possible.

% Refs     : [Cla10] Claessen (2010), Email to Geoff Sutcliffe
% Source   : [Cla10]
% Names    : fault_6_4 [Cla10]

% Status   : Satisfiable
% Rating   : 0.70 v8.2.0, 0.90 v8.1.0, 0.88 v7.5.0, 0.89 v7.4.0, 0.82 v7.3.0, 0.89 v7.1.0, 0.88 v7.0.0, 0.86 v6.3.0, 0.88 v6.2.0, 1.00 v4.1.0
% Syntax   : Number of clauses     :   68 (  67 unt;   1 nHn;   1 RR)
%            Number of literals    :   69 (  69 equ;   1 neg)
%            Maximal clause size   :    2 (   1 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    1 (   0 usr;   0 prp; 2-2 aty)
%            Number of functors    :   13 (  13 usr;   2 con; 0-10 aty)
%            Number of variables   :  398 (   0 sgn)
% SPC      : CNF_SAT_RFO_EQU_NUE

% Comments :
%------------------------------------------------------------------------------
cnf(bit_domain,axiom,
    ( X = o
    | X = i ) ).

cnf(bit_inverse,axiom,
    inv(X) != X ).

cnf(unpack1,axiom,
    unpack1(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_01,axiom,
    unpack1(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_02,axiom,
    unpack1(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_03,axiom,
    unpack1(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_04,axiom,
    unpack1(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_05,axiom,
    unpack1(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_06,axiom,
    unpack1(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_07,axiom,
    unpack1(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_08,axiom,
    unpack1(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_09,axiom,
    unpack1(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X1 ).

cnf(unpack1_10,axiom,
    unpack1(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X1 ).

cnf(unpack2,axiom,
    unpack2(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_11,axiom,
    unpack2(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_12,axiom,
    unpack2(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_13,axiom,
    unpack2(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_14,axiom,
    unpack2(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_15,axiom,
    unpack2(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_16,axiom,
    unpack2(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_17,axiom,
    unpack2(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_18,axiom,
    unpack2(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_19,axiom,
    unpack2(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X2 ).

cnf(unpack2_20,axiom,
    unpack2(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X2 ).

cnf(unpack3,axiom,
    unpack3(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_21,axiom,
    unpack3(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_22,axiom,
    unpack3(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_23,axiom,
    unpack3(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_24,axiom,
    unpack3(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_25,axiom,
    unpack3(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_26,axiom,
    unpack3(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_27,axiom,
    unpack3(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_28,axiom,
    unpack3(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_29,axiom,
    unpack3(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X3 ).

cnf(unpack3_30,axiom,
    unpack3(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X3 ).

cnf(unpack4,axiom,
    unpack4(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_31,axiom,
    unpack4(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_32,axiom,
    unpack4(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_33,axiom,
    unpack4(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_34,axiom,
    unpack4(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_35,axiom,
    unpack4(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_36,axiom,
    unpack4(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_37,axiom,
    unpack4(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_38,axiom,
    unpack4(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_39,axiom,
    unpack4(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X4 ).

cnf(unpack4_40,axiom,
    unpack4(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X4 ).

cnf(unpack5,axiom,
    unpack5(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_41,axiom,
    unpack5(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_42,axiom,
    unpack5(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_43,axiom,
    unpack5(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_44,axiom,
    unpack5(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_45,axiom,
    unpack5(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_46,axiom,
    unpack5(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_47,axiom,
    unpack5(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_48,axiom,
    unpack5(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_49,axiom,
    unpack5(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X5 ).

cnf(unpack5_50,axiom,
    unpack5(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X5 ).

cnf(unpack6,axiom,
    unpack6(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_51,axiom,
    unpack6(inv(X1),X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_52,axiom,
    unpack6(X1,inv(X2),X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_53,axiom,
    unpack6(X1,X2,inv(X3),X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_54,axiom,
    unpack6(X1,X2,X3,inv(X4),X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_55,axiom,
    unpack6(X1,X2,X3,X4,inv(X5),X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_56,axiom,
    unpack6(X1,X2,X3,X4,X5,inv(X6),pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_57,axiom,
    unpack6(X1,X2,X3,X4,X5,X6,inv(pack1(X1,X2,X3,X4,X5,X6)),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_58,axiom,
    unpack6(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),inv(pack2(X1,X2,X3,X4,X5,X6)),pack3(X1,X2,X3,X4,X5,X6),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_59,axiom,
    unpack6(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),inv(pack3(X1,X2,X3,X4,X5,X6)),pack4(X1,X2,X3,X4,X5,X6)) = X6 ).

cnf(unpack6_60,axiom,
    unpack6(X1,X2,X3,X4,X5,X6,pack1(X1,X2,X3,X4,X5,X6),pack2(X1,X2,X3,X4,X5,X6),pack3(X1,X2,X3,X4,X5,X6),inv(pack4(X1,X2,X3,X4,X5,X6))) = X6 ).

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