TSTP Solution File: SWV470+1 by iProver---3.9

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : iProver---3.9
% Problem  : SWV470+1 : TPTP v8.1.2. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_iprover %s %d THM

% Computer : n018.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Fri May  3 03:17:27 EDT 2024

% Result   : Theorem 10.06s 2.21s
% Output   : CNFRefutation 10.06s
% Verified : 
% SZS Type : ERROR: Analysing output (Could not find formula named definition)

% Comments : 
%------------------------------------------------------------------------------
fof(f13,axiom,
    ! [X4,X5,X6] : m_Ack(X4,X5) != m_Down(X6),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axiom_12) ).

fof(f47,axiom,
    ! [X4,X5,X3] :
      ( elem(X4,cons(X5,X3))
    <=> ( elem(X4,X3)
        | X4 = X5 ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axiom_46) ).

fof(f48,axiom,
    ! [X4,X5,X3] :
      ( elem(X4,snoc(X3,X5))
    <=> ( elem(X4,X3)
        | X4 = X5 ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axiom_47) ).

fof(f67,conjecture,
    ! [X11,X12,X4] :
      ( ( queue(host(X12)) = cons(m_Halt(X4),X11)
        & ! [X5,X6,X14,X13] :
            ( ( elec_1 = index(status,host(X13))
              & nbr_proc = host(X13)
              & host(X6) = host(X13)
              & elem(m_Down(X14),queue(host(X13)))
              & ! [X15] :
                  ( ( leq(s(zero),X15)
                    & ~ leq(host(X13),X15) )
                 => ( host(X14) = X15
                    | setIn(X15,index(down,host(X13))) ) ) )
           => ~ ( elem(m_Down(X6),queue(host(X5)))
                & setIn(X5,alive) ) )
        & ! [X5,X6,X14,X13] :
            ( ( host(X13) = host(X14)
              & host(X5) = host(X6)
              & setIn(X14,alive)
              & setIn(X5,alive)
              & host(X5) != host(X14) )
           => ~ ( setIn(host(X6),index(down,host(X14)))
                & elem(m_Down(X13),queue(host(X5))) ) )
        & ! [X5,X6,X14,X13] :
            ( ( host(X13) = host(X14)
              & host(X5) = host(X6)
              & setIn(X14,alive)
              & setIn(X5,alive)
              & host(X5) != host(X14) )
           => ~ ( elem(m_Down(X6),queue(host(X14)))
                & elem(m_Down(X13),queue(host(X5))) ) )
        & ! [X5,X6,X13] :
            ( ( host(X6) = host(index(elid,host(X13)))
              & wait = index(status,host(X13))
              & host(X5) = host(X13)
              & setIn(X13,alive)
              & host(X6) != host(X13) )
           => ~ elem(m_Down(X5),queue(host(X6))) )
        & ! [X5,X6,X13] :
            ( ( norm = index(status,host(X13))
              & host(X6) = index(ldr,host(X13))
              & host(X5) = host(X13)
              & setIn(X13,alive)
              & host(X6) != host(X13) )
           => ~ elem(m_Down(X5),queue(host(X6))) )
        & ! [X5] :
            ( ( setIn(X5,alive)
              & ( elec_2 = index(status,host(X5))
                | elec_1 = index(status,host(X5)) ) )
           => index(elid,host(X5)) = X5 )
        & ! [X5,X6] :
            ( ( host(X5) = host(X6)
              & X5 != X6 )
           => ( ~ setIn(X6,alive)
              | ~ setIn(X5,alive) ) )
        & ! [X5,X6] :
            ( nbr_proc = host(X6)
           => ~ elem(m_NotNorm(X5),queue(host(X6))) )
        & ! [X5,X6] :
            ( elem(m_Down(X6),queue(host(X5)))
           => host(X5) != host(X6) )
        & ! [X5,X6] :
            ( elem(m_Ldr(X6),queue(host(X5)))
           => ~ leq(host(X5),host(X6)) ) )
     => ( setIn(X12,alive)
       => ! [X5] :
            ( host(X4) = host(X5)
           => ( host(X5) = host(X12)
             => ! [X6,X16,X17] :
                  ( host(X4) != host(X17)
                 => ( host(X12) != host(X17)
                   => ( ( elec_1 = index(status,host(X17))
                        & nbr_proc = host(X17)
                        & host(X6) = host(X17)
                        & elem(m_Down(X16),queue(host(X17)))
                        & ! [X15] :
                            ( ( leq(s(zero),X15)
                              & ~ leq(host(X17),X15) )
                           => ( host(X16) = X15
                              | setIn(X15,index(down,host(X17))) ) ) )
                     => ~ ( elem(m_Down(X6),snoc(X11,m_Ack(X4,X12)))
                          & setIn(X5,alive) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',conj) ).

fof(f68,negated_conjecture,
    ~ ! [X11,X12,X4] :
        ( ( queue(host(X12)) = cons(m_Halt(X4),X11)
          & ! [X5,X6,X14,X13] :
              ( ( elec_1 = index(status,host(X13))
                & nbr_proc = host(X13)
                & host(X6) = host(X13)
                & elem(m_Down(X14),queue(host(X13)))
                & ! [X15] :
                    ( ( leq(s(zero),X15)
                      & ~ leq(host(X13),X15) )
                   => ( host(X14) = X15
                      | setIn(X15,index(down,host(X13))) ) ) )
             => ~ ( elem(m_Down(X6),queue(host(X5)))
                  & setIn(X5,alive) ) )
          & ! [X5,X6,X14,X13] :
              ( ( host(X13) = host(X14)
                & host(X5) = host(X6)
                & setIn(X14,alive)
                & setIn(X5,alive)
                & host(X5) != host(X14) )
             => ~ ( setIn(host(X6),index(down,host(X14)))
                  & elem(m_Down(X13),queue(host(X5))) ) )
          & ! [X5,X6,X14,X13] :
              ( ( host(X13) = host(X14)
                & host(X5) = host(X6)
                & setIn(X14,alive)
                & setIn(X5,alive)
                & host(X5) != host(X14) )
             => ~ ( elem(m_Down(X6),queue(host(X14)))
                  & elem(m_Down(X13),queue(host(X5))) ) )
          & ! [X5,X6,X13] :
              ( ( host(X6) = host(index(elid,host(X13)))
                & wait = index(status,host(X13))
                & host(X5) = host(X13)
                & setIn(X13,alive)
                & host(X6) != host(X13) )
             => ~ elem(m_Down(X5),queue(host(X6))) )
          & ! [X5,X6,X13] :
              ( ( norm = index(status,host(X13))
                & host(X6) = index(ldr,host(X13))
                & host(X5) = host(X13)
                & setIn(X13,alive)
                & host(X6) != host(X13) )
             => ~ elem(m_Down(X5),queue(host(X6))) )
          & ! [X5] :
              ( ( setIn(X5,alive)
                & ( elec_2 = index(status,host(X5))
                  | elec_1 = index(status,host(X5)) ) )
             => index(elid,host(X5)) = X5 )
          & ! [X5,X6] :
              ( ( host(X5) = host(X6)
                & X5 != X6 )
             => ( ~ setIn(X6,alive)
                | ~ setIn(X5,alive) ) )
          & ! [X5,X6] :
              ( nbr_proc = host(X6)
             => ~ elem(m_NotNorm(X5),queue(host(X6))) )
          & ! [X5,X6] :
              ( elem(m_Down(X6),queue(host(X5)))
             => host(X5) != host(X6) )
          & ! [X5,X6] :
              ( elem(m_Ldr(X6),queue(host(X5)))
             => ~ leq(host(X5),host(X6)) ) )
       => ( setIn(X12,alive)
         => ! [X5] :
              ( host(X4) = host(X5)
             => ( host(X5) = host(X12)
               => ! [X6,X16,X17] :
                    ( host(X4) != host(X17)
                   => ( host(X12) != host(X17)
                     => ( ( elec_1 = index(status,host(X17))
                          & nbr_proc = host(X17)
                          & host(X6) = host(X17)
                          & elem(m_Down(X16),queue(host(X17)))
                          & ! [X15] :
                              ( ( leq(s(zero),X15)
                                & ~ leq(host(X17),X15) )
                             => ( host(X16) = X15
                                | setIn(X15,index(down,host(X17))) ) ) )
                       => ~ ( elem(m_Down(X6),snoc(X11,m_Ack(X4,X12)))
                            & setIn(X5,alive) ) ) ) ) ) ) ) ),
    inference(negated_conjecture,[],[f67]) ).

fof(f73,plain,
    ! [X0,X1,X2] : m_Ack(X0,X1) != m_Down(X2),
    inference(rectify,[],[f13]) ).

fof(f105,plain,
    ! [X0,X1,X2] :
      ( elem(X0,cons(X1,X2))
    <=> ( elem(X0,X2)
        | X0 = X1 ) ),
    inference(rectify,[],[f47]) ).

fof(f106,plain,
    ! [X0,X1,X2] :
      ( elem(X0,snoc(X2,X1))
    <=> ( elem(X0,X2)
        | X0 = X1 ) ),
    inference(rectify,[],[f48]) ).

fof(f124,plain,
    ~ ! [X0,X1,X2] :
        ( ( queue(host(X1)) = cons(m_Halt(X2),X0)
          & ! [X3,X4,X5,X6] :
              ( ( elec_1 = index(status,host(X6))
                & nbr_proc = host(X6)
                & host(X4) = host(X6)
                & elem(m_Down(X5),queue(host(X6)))
                & ! [X7] :
                    ( ( leq(s(zero),X7)
                      & ~ leq(host(X6),X7) )
                   => ( host(X5) = X7
                      | setIn(X7,index(down,host(X6))) ) ) )
             => ~ ( elem(m_Down(X4),queue(host(X3)))
                  & setIn(X3,alive) ) )
          & ! [X8,X9,X10,X11] :
              ( ( host(X11) = host(X10)
                & host(X8) = host(X9)
                & setIn(X10,alive)
                & setIn(X8,alive)
                & host(X10) != host(X8) )
             => ~ ( setIn(host(X9),index(down,host(X10)))
                  & elem(m_Down(X11),queue(host(X8))) ) )
          & ! [X12,X13,X14,X15] :
              ( ( host(X14) = host(X15)
                & host(X13) = host(X12)
                & setIn(X14,alive)
                & setIn(X12,alive)
                & host(X14) != host(X12) )
             => ~ ( elem(m_Down(X13),queue(host(X14)))
                  & elem(m_Down(X15),queue(host(X12))) ) )
          & ! [X16,X17,X18] :
              ( ( host(X17) = host(index(elid,host(X18)))
                & wait = index(status,host(X18))
                & host(X16) = host(X18)
                & setIn(X18,alive)
                & host(X17) != host(X18) )
             => ~ elem(m_Down(X16),queue(host(X17))) )
          & ! [X19,X20,X21] :
              ( ( norm = index(status,host(X21))
                & host(X20) = index(ldr,host(X21))
                & host(X21) = host(X19)
                & setIn(X21,alive)
                & host(X21) != host(X20) )
             => ~ elem(m_Down(X19),queue(host(X20))) )
          & ! [X22] :
              ( ( setIn(X22,alive)
                & ( elec_2 = index(status,host(X22))
                  | elec_1 = index(status,host(X22)) ) )
             => index(elid,host(X22)) = X22 )
          & ! [X23,X24] :
              ( ( host(X23) = host(X24)
                & X23 != X24 )
             => ( ~ setIn(X24,alive)
                | ~ setIn(X23,alive) ) )
          & ! [X25,X26] :
              ( nbr_proc = host(X26)
             => ~ elem(m_NotNorm(X25),queue(host(X26))) )
          & ! [X27,X28] :
              ( elem(m_Down(X28),queue(host(X27)))
             => host(X27) != host(X28) )
          & ! [X29,X30] :
              ( elem(m_Ldr(X30),queue(host(X29)))
             => ~ leq(host(X29),host(X30)) ) )
       => ( setIn(X1,alive)
         => ! [X31] :
              ( host(X2) = host(X31)
             => ( host(X1) = host(X31)
               => ! [X32,X33,X34] :
                    ( host(X2) != host(X34)
                   => ( host(X1) != host(X34)
                     => ( ( elec_1 = index(status,host(X34))
                          & nbr_proc = host(X34)
                          & host(X34) = host(X32)
                          & elem(m_Down(X33),queue(host(X34)))
                          & ! [X35] :
                              ( ( leq(s(zero),X35)
                                & ~ leq(host(X34),X35) )
                             => ( host(X33) = X35
                                | setIn(X35,index(down,host(X34))) ) ) )
                       => ~ ( elem(m_Down(X32),snoc(X0,m_Ack(X2,X1)))
                            & setIn(X31,alive) ) ) ) ) ) ) ) ),
    inference(rectify,[],[f68]) ).

fof(f140,plain,
    ? [X0,X1,X2] :
      ( ? [X31] :
          ( ? [X32,X33,X34] :
              ( elem(m_Down(X32),snoc(X0,m_Ack(X2,X1)))
              & setIn(X31,alive)
              & elec_1 = index(status,host(X34))
              & nbr_proc = host(X34)
              & host(X34) = host(X32)
              & elem(m_Down(X33),queue(host(X34)))
              & ! [X35] :
                  ( host(X33) = X35
                  | setIn(X35,index(down,host(X34)))
                  | ~ leq(s(zero),X35)
                  | leq(host(X34),X35) )
              & host(X1) != host(X34)
              & host(X2) != host(X34) )
          & host(X1) = host(X31)
          & host(X2) = host(X31) )
      & setIn(X1,alive)
      & queue(host(X1)) = cons(m_Halt(X2),X0)
      & ! [X3,X4,X5,X6] :
          ( ~ elem(m_Down(X4),queue(host(X3)))
          | ~ setIn(X3,alive)
          | elec_1 != index(status,host(X6))
          | nbr_proc != host(X6)
          | host(X4) != host(X6)
          | ~ elem(m_Down(X5),queue(host(X6)))
          | ? [X7] :
              ( host(X5) != X7
              & ~ setIn(X7,index(down,host(X6)))
              & leq(s(zero),X7)
              & ~ leq(host(X6),X7) ) )
      & ! [X8,X9,X10,X11] :
          ( ~ setIn(host(X9),index(down,host(X10)))
          | ~ elem(m_Down(X11),queue(host(X8)))
          | host(X11) != host(X10)
          | host(X8) != host(X9)
          | ~ setIn(X10,alive)
          | ~ setIn(X8,alive)
          | host(X10) = host(X8) )
      & ! [X12,X13,X14,X15] :
          ( ~ elem(m_Down(X13),queue(host(X14)))
          | ~ elem(m_Down(X15),queue(host(X12)))
          | host(X14) != host(X15)
          | host(X13) != host(X12)
          | ~ setIn(X14,alive)
          | ~ setIn(X12,alive)
          | host(X14) = host(X12) )
      & ! [X16,X17,X18] :
          ( ~ elem(m_Down(X16),queue(host(X17)))
          | host(X17) != host(index(elid,host(X18)))
          | wait != index(status,host(X18))
          | host(X16) != host(X18)
          | ~ setIn(X18,alive)
          | host(X17) = host(X18) )
      & ! [X19,X20,X21] :
          ( ~ elem(m_Down(X19),queue(host(X20)))
          | norm != index(status,host(X21))
          | host(X20) != index(ldr,host(X21))
          | host(X21) != host(X19)
          | ~ setIn(X21,alive)
          | host(X21) = host(X20) )
      & ! [X22] :
          ( index(elid,host(X22)) = X22
          | ~ setIn(X22,alive)
          | ( elec_2 != index(status,host(X22))
            & elec_1 != index(status,host(X22)) ) )
      & ! [X23,X24] :
          ( ~ setIn(X24,alive)
          | ~ setIn(X23,alive)
          | host(X23) != host(X24)
          | X23 = X24 )
      & ! [X25,X26] :
          ( ~ elem(m_NotNorm(X25),queue(host(X26)))
          | nbr_proc != host(X26) )
      & ! [X27,X28] :
          ( host(X27) != host(X28)
          | ~ elem(m_Down(X28),queue(host(X27))) )
      & ! [X29,X30] :
          ( ~ leq(host(X29),host(X30))
          | ~ elem(m_Ldr(X30),queue(host(X29))) ) ),
    inference(ennf_transformation,[],[f124]) ).

fof(f141,plain,
    ? [X0,X1,X2] :
      ( ? [X31] :
          ( ? [X32,X33,X34] :
              ( elem(m_Down(X32),snoc(X0,m_Ack(X2,X1)))
              & setIn(X31,alive)
              & elec_1 = index(status,host(X34))
              & nbr_proc = host(X34)
              & host(X34) = host(X32)
              & elem(m_Down(X33),queue(host(X34)))
              & ! [X35] :
                  ( host(X33) = X35
                  | setIn(X35,index(down,host(X34)))
                  | ~ leq(s(zero),X35)
                  | leq(host(X34),X35) )
              & host(X1) != host(X34)
              & host(X2) != host(X34) )
          & host(X1) = host(X31)
          & host(X2) = host(X31) )
      & setIn(X1,alive)
      & queue(host(X1)) = cons(m_Halt(X2),X0)
      & ! [X3,X4,X5,X6] :
          ( ~ elem(m_Down(X4),queue(host(X3)))
          | ~ setIn(X3,alive)
          | elec_1 != index(status,host(X6))
          | nbr_proc != host(X6)
          | host(X4) != host(X6)
          | ~ elem(m_Down(X5),queue(host(X6)))
          | ? [X7] :
              ( host(X5) != X7
              & ~ setIn(X7,index(down,host(X6)))
              & leq(s(zero),X7)
              & ~ leq(host(X6),X7) ) )
      & ! [X8,X9,X10,X11] :
          ( ~ setIn(host(X9),index(down,host(X10)))
          | ~ elem(m_Down(X11),queue(host(X8)))
          | host(X11) != host(X10)
          | host(X8) != host(X9)
          | ~ setIn(X10,alive)
          | ~ setIn(X8,alive)
          | host(X10) = host(X8) )
      & ! [X12,X13,X14,X15] :
          ( ~ elem(m_Down(X13),queue(host(X14)))
          | ~ elem(m_Down(X15),queue(host(X12)))
          | host(X14) != host(X15)
          | host(X13) != host(X12)
          | ~ setIn(X14,alive)
          | ~ setIn(X12,alive)
          | host(X14) = host(X12) )
      & ! [X16,X17,X18] :
          ( ~ elem(m_Down(X16),queue(host(X17)))
          | host(X17) != host(index(elid,host(X18)))
          | wait != index(status,host(X18))
          | host(X16) != host(X18)
          | ~ setIn(X18,alive)
          | host(X17) = host(X18) )
      & ! [X19,X20,X21] :
          ( ~ elem(m_Down(X19),queue(host(X20)))
          | norm != index(status,host(X21))
          | host(X20) != index(ldr,host(X21))
          | host(X21) != host(X19)
          | ~ setIn(X21,alive)
          | host(X21) = host(X20) )
      & ! [X22] :
          ( index(elid,host(X22)) = X22
          | ~ setIn(X22,alive)
          | ( elec_2 != index(status,host(X22))
            & elec_1 != index(status,host(X22)) ) )
      & ! [X23,X24] :
          ( ~ setIn(X24,alive)
          | ~ setIn(X23,alive)
          | host(X23) != host(X24)
          | X23 = X24 )
      & ! [X25,X26] :
          ( ~ elem(m_NotNorm(X25),queue(host(X26)))
          | nbr_proc != host(X26) )
      & ! [X27,X28] :
          ( host(X27) != host(X28)
          | ~ elem(m_Down(X28),queue(host(X27))) )
      & ! [X29,X30] :
          ( ~ leq(host(X29),host(X30))
          | ~ elem(m_Ldr(X30),queue(host(X29))) ) ),
    inference(flattening,[],[f140]) ).

fof(f147,plain,
    ! [X0,X1,X2] :
      ( ( elem(X0,cons(X1,X2))
        | ( ~ elem(X0,X2)
          & X0 != X1 ) )
      & ( elem(X0,X2)
        | X0 = X1
        | ~ elem(X0,cons(X1,X2)) ) ),
    inference(nnf_transformation,[],[f105]) ).

fof(f148,plain,
    ! [X0,X1,X2] :
      ( ( elem(X0,cons(X1,X2))
        | ( ~ elem(X0,X2)
          & X0 != X1 ) )
      & ( elem(X0,X2)
        | X0 = X1
        | ~ elem(X0,cons(X1,X2)) ) ),
    inference(flattening,[],[f147]) ).

fof(f149,plain,
    ! [X0,X1,X2] :
      ( ( elem(X0,snoc(X2,X1))
        | ( ~ elem(X0,X2)
          & X0 != X1 ) )
      & ( elem(X0,X2)
        | X0 = X1
        | ~ elem(X0,snoc(X2,X1)) ) ),
    inference(nnf_transformation,[],[f106]) ).

fof(f150,plain,
    ! [X0,X1,X2] :
      ( ( elem(X0,snoc(X2,X1))
        | ( ~ elem(X0,X2)
          & X0 != X1 ) )
      & ( elem(X0,X2)
        | X0 = X1
        | ~ elem(X0,snoc(X2,X1)) ) ),
    inference(flattening,[],[f149]) ).

fof(f170,plain,
    ? [X0,X1,X2] :
      ( ? [X3] :
          ( ? [X4,X5,X6] :
              ( elem(m_Down(X4),snoc(X0,m_Ack(X2,X1)))
              & setIn(X3,alive)
              & elec_1 = index(status,host(X6))
              & nbr_proc = host(X6)
              & host(X4) = host(X6)
              & elem(m_Down(X5),queue(host(X6)))
              & ! [X7] :
                  ( host(X5) = X7
                  | setIn(X7,index(down,host(X6)))
                  | ~ leq(s(zero),X7)
                  | leq(host(X6),X7) )
              & host(X1) != host(X6)
              & host(X2) != host(X6) )
          & host(X3) = host(X1)
          & host(X2) = host(X3) )
      & setIn(X1,alive)
      & queue(host(X1)) = cons(m_Halt(X2),X0)
      & ! [X8,X9,X10,X11] :
          ( ~ elem(m_Down(X9),queue(host(X8)))
          | ~ setIn(X8,alive)
          | elec_1 != index(status,host(X11))
          | nbr_proc != host(X11)
          | host(X11) != host(X9)
          | ~ elem(m_Down(X10),queue(host(X11)))
          | ? [X12] :
              ( host(X10) != X12
              & ~ setIn(X12,index(down,host(X11)))
              & leq(s(zero),X12)
              & ~ leq(host(X11),X12) ) )
      & ! [X13,X14,X15,X16] :
          ( ~ setIn(host(X14),index(down,host(X15)))
          | ~ elem(m_Down(X16),queue(host(X13)))
          | host(X16) != host(X15)
          | host(X13) != host(X14)
          | ~ setIn(X15,alive)
          | ~ setIn(X13,alive)
          | host(X13) = host(X15) )
      & ! [X17,X18,X19,X20] :
          ( ~ elem(m_Down(X18),queue(host(X19)))
          | ~ elem(m_Down(X20),queue(host(X17)))
          | host(X20) != host(X19)
          | host(X17) != host(X18)
          | ~ setIn(X19,alive)
          | ~ setIn(X17,alive)
          | host(X17) = host(X19) )
      & ! [X21,X22,X23] :
          ( ~ elem(m_Down(X21),queue(host(X22)))
          | host(X22) != host(index(elid,host(X23)))
          | wait != index(status,host(X23))
          | host(X21) != host(X23)
          | ~ setIn(X23,alive)
          | host(X22) = host(X23) )
      & ! [X24,X25,X26] :
          ( ~ elem(m_Down(X24),queue(host(X25)))
          | norm != index(status,host(X26))
          | host(X25) != index(ldr,host(X26))
          | host(X24) != host(X26)
          | ~ setIn(X26,alive)
          | host(X26) = host(X25) )
      & ! [X27] :
          ( index(elid,host(X27)) = X27
          | ~ setIn(X27,alive)
          | ( elec_2 != index(status,host(X27))
            & elec_1 != index(status,host(X27)) ) )
      & ! [X28,X29] :
          ( ~ setIn(X29,alive)
          | ~ setIn(X28,alive)
          | host(X28) != host(X29)
          | X28 = X29 )
      & ! [X30,X31] :
          ( ~ elem(m_NotNorm(X30),queue(host(X31)))
          | nbr_proc != host(X31) )
      & ! [X32,X33] :
          ( host(X32) != host(X33)
          | ~ elem(m_Down(X33),queue(host(X32))) )
      & ! [X34,X35] :
          ( ~ leq(host(X34),host(X35))
          | ~ elem(m_Ldr(X35),queue(host(X34))) ) ),
    inference(rectify,[],[f141]) ).

fof(f171,plain,
    ( ? [X0,X1,X2] :
        ( ? [X3] :
            ( ? [X4,X5,X6] :
                ( elem(m_Down(X4),snoc(X0,m_Ack(X2,X1)))
                & setIn(X3,alive)
                & elec_1 = index(status,host(X6))
                & nbr_proc = host(X6)
                & host(X4) = host(X6)
                & elem(m_Down(X5),queue(host(X6)))
                & ! [X7] :
                    ( host(X5) = X7
                    | setIn(X7,index(down,host(X6)))
                    | ~ leq(s(zero),X7)
                    | leq(host(X6),X7) )
                & host(X1) != host(X6)
                & host(X2) != host(X6) )
            & host(X3) = host(X1)
            & host(X2) = host(X3) )
        & setIn(X1,alive)
        & queue(host(X1)) = cons(m_Halt(X2),X0)
        & ! [X8,X9,X10,X11] :
            ( ~ elem(m_Down(X9),queue(host(X8)))
            | ~ setIn(X8,alive)
            | elec_1 != index(status,host(X11))
            | nbr_proc != host(X11)
            | host(X11) != host(X9)
            | ~ elem(m_Down(X10),queue(host(X11)))
            | ? [X12] :
                ( host(X10) != X12
                & ~ setIn(X12,index(down,host(X11)))
                & leq(s(zero),X12)
                & ~ leq(host(X11),X12) ) )
        & ! [X13,X14,X15,X16] :
            ( ~ setIn(host(X14),index(down,host(X15)))
            | ~ elem(m_Down(X16),queue(host(X13)))
            | host(X16) != host(X15)
            | host(X13) != host(X14)
            | ~ setIn(X15,alive)
            | ~ setIn(X13,alive)
            | host(X13) = host(X15) )
        & ! [X17,X18,X19,X20] :
            ( ~ elem(m_Down(X18),queue(host(X19)))
            | ~ elem(m_Down(X20),queue(host(X17)))
            | host(X20) != host(X19)
            | host(X17) != host(X18)
            | ~ setIn(X19,alive)
            | ~ setIn(X17,alive)
            | host(X17) = host(X19) )
        & ! [X21,X22,X23] :
            ( ~ elem(m_Down(X21),queue(host(X22)))
            | host(X22) != host(index(elid,host(X23)))
            | wait != index(status,host(X23))
            | host(X21) != host(X23)
            | ~ setIn(X23,alive)
            | host(X22) = host(X23) )
        & ! [X24,X25,X26] :
            ( ~ elem(m_Down(X24),queue(host(X25)))
            | norm != index(status,host(X26))
            | host(X25) != index(ldr,host(X26))
            | host(X24) != host(X26)
            | ~ setIn(X26,alive)
            | host(X26) = host(X25) )
        & ! [X27] :
            ( index(elid,host(X27)) = X27
            | ~ setIn(X27,alive)
            | ( elec_2 != index(status,host(X27))
              & elec_1 != index(status,host(X27)) ) )
        & ! [X28,X29] :
            ( ~ setIn(X29,alive)
            | ~ setIn(X28,alive)
            | host(X28) != host(X29)
            | X28 = X29 )
        & ! [X30,X31] :
            ( ~ elem(m_NotNorm(X30),queue(host(X31)))
            | nbr_proc != host(X31) )
        & ! [X32,X33] :
            ( host(X32) != host(X33)
            | ~ elem(m_Down(X33),queue(host(X32))) )
        & ! [X34,X35] :
            ( ~ leq(host(X34),host(X35))
            | ~ elem(m_Ldr(X35),queue(host(X34))) ) )
   => ( ? [X3] :
          ( ? [X6,X5,X4] :
              ( elem(m_Down(X4),snoc(sK3,m_Ack(sK5,sK4)))
              & setIn(X3,alive)
              & elec_1 = index(status,host(X6))
              & nbr_proc = host(X6)
              & host(X4) = host(X6)
              & elem(m_Down(X5),queue(host(X6)))
              & ! [X7] :
                  ( host(X5) = X7
                  | setIn(X7,index(down,host(X6)))
                  | ~ leq(s(zero),X7)
                  | leq(host(X6),X7) )
              & host(X6) != host(sK4)
              & host(X6) != host(sK5) )
          & host(X3) = host(sK4)
          & host(X3) = host(sK5) )
      & setIn(sK4,alive)
      & queue(host(sK4)) = cons(m_Halt(sK5),sK3)
      & ! [X8,X9,X10,X11] :
          ( ~ elem(m_Down(X9),queue(host(X8)))
          | ~ setIn(X8,alive)
          | elec_1 != index(status,host(X11))
          | nbr_proc != host(X11)
          | host(X11) != host(X9)
          | ~ elem(m_Down(X10),queue(host(X11)))
          | ? [X12] :
              ( host(X10) != X12
              & ~ setIn(X12,index(down,host(X11)))
              & leq(s(zero),X12)
              & ~ leq(host(X11),X12) ) )
      & ! [X13,X14,X15,X16] :
          ( ~ setIn(host(X14),index(down,host(X15)))
          | ~ elem(m_Down(X16),queue(host(X13)))
          | host(X16) != host(X15)
          | host(X13) != host(X14)
          | ~ setIn(X15,alive)
          | ~ setIn(X13,alive)
          | host(X13) = host(X15) )
      & ! [X17,X18,X19,X20] :
          ( ~ elem(m_Down(X18),queue(host(X19)))
          | ~ elem(m_Down(X20),queue(host(X17)))
          | host(X20) != host(X19)
          | host(X17) != host(X18)
          | ~ setIn(X19,alive)
          | ~ setIn(X17,alive)
          | host(X17) = host(X19) )
      & ! [X21,X22,X23] :
          ( ~ elem(m_Down(X21),queue(host(X22)))
          | host(X22) != host(index(elid,host(X23)))
          | wait != index(status,host(X23))
          | host(X21) != host(X23)
          | ~ setIn(X23,alive)
          | host(X22) = host(X23) )
      & ! [X24,X25,X26] :
          ( ~ elem(m_Down(X24),queue(host(X25)))
          | norm != index(status,host(X26))
          | host(X25) != index(ldr,host(X26))
          | host(X24) != host(X26)
          | ~ setIn(X26,alive)
          | host(X26) = host(X25) )
      & ! [X27] :
          ( index(elid,host(X27)) = X27
          | ~ setIn(X27,alive)
          | ( elec_2 != index(status,host(X27))
            & elec_1 != index(status,host(X27)) ) )
      & ! [X28,X29] :
          ( ~ setIn(X29,alive)
          | ~ setIn(X28,alive)
          | host(X28) != host(X29)
          | X28 = X29 )
      & ! [X30,X31] :
          ( ~ elem(m_NotNorm(X30),queue(host(X31)))
          | nbr_proc != host(X31) )
      & ! [X32,X33] :
          ( host(X32) != host(X33)
          | ~ elem(m_Down(X33),queue(host(X32))) )
      & ! [X34,X35] :
          ( ~ leq(host(X34),host(X35))
          | ~ elem(m_Ldr(X35),queue(host(X34))) ) ) ),
    introduced(choice_axiom,[]) ).

fof(f172,plain,
    ( ? [X3] :
        ( ? [X6,X5,X4] :
            ( elem(m_Down(X4),snoc(sK3,m_Ack(sK5,sK4)))
            & setIn(X3,alive)
            & elec_1 = index(status,host(X6))
            & nbr_proc = host(X6)
            & host(X4) = host(X6)
            & elem(m_Down(X5),queue(host(X6)))
            & ! [X7] :
                ( host(X5) = X7
                | setIn(X7,index(down,host(X6)))
                | ~ leq(s(zero),X7)
                | leq(host(X6),X7) )
            & host(X6) != host(sK4)
            & host(X6) != host(sK5) )
        & host(X3) = host(sK4)
        & host(X3) = host(sK5) )
   => ( ? [X6,X5,X4] :
          ( elem(m_Down(X4),snoc(sK3,m_Ack(sK5,sK4)))
          & setIn(sK6,alive)
          & elec_1 = index(status,host(X6))
          & nbr_proc = host(X6)
          & host(X4) = host(X6)
          & elem(m_Down(X5),queue(host(X6)))
          & ! [X7] :
              ( host(X5) = X7
              | setIn(X7,index(down,host(X6)))
              | ~ leq(s(zero),X7)
              | leq(host(X6),X7) )
          & host(X6) != host(sK4)
          & host(X6) != host(sK5) )
      & host(sK4) = host(sK6)
      & host(sK5) = host(sK6) ) ),
    introduced(choice_axiom,[]) ).

fof(f173,plain,
    ( ? [X6,X5,X4] :
        ( elem(m_Down(X4),snoc(sK3,m_Ack(sK5,sK4)))
        & setIn(sK6,alive)
        & elec_1 = index(status,host(X6))
        & nbr_proc = host(X6)
        & host(X4) = host(X6)
        & elem(m_Down(X5),queue(host(X6)))
        & ! [X7] :
            ( host(X5) = X7
            | setIn(X7,index(down,host(X6)))
            | ~ leq(s(zero),X7)
            | leq(host(X6),X7) )
        & host(X6) != host(sK4)
        & host(X6) != host(sK5) )
   => ( elem(m_Down(sK7),snoc(sK3,m_Ack(sK5,sK4)))
      & setIn(sK6,alive)
      & elec_1 = index(status,host(sK9))
      & nbr_proc = host(sK9)
      & host(sK9) = host(sK7)
      & elem(m_Down(sK8),queue(host(sK9)))
      & ! [X7] :
          ( host(sK8) = X7
          | setIn(X7,index(down,host(sK9)))
          | ~ leq(s(zero),X7)
          | leq(host(sK9),X7) )
      & host(sK4) != host(sK9)
      & host(sK5) != host(sK9) ) ),
    introduced(choice_axiom,[]) ).

fof(f174,plain,
    ! [X10,X11] :
      ( ? [X12] :
          ( host(X10) != X12
          & ~ setIn(X12,index(down,host(X11)))
          & leq(s(zero),X12)
          & ~ leq(host(X11),X12) )
     => ( host(X10) != sK10(X10,X11)
        & ~ setIn(sK10(X10,X11),index(down,host(X11)))
        & leq(s(zero),sK10(X10,X11))
        & ~ leq(host(X11),sK10(X10,X11)) ) ),
    introduced(choice_axiom,[]) ).

fof(f175,plain,
    ( elem(m_Down(sK7),snoc(sK3,m_Ack(sK5,sK4)))
    & setIn(sK6,alive)
    & elec_1 = index(status,host(sK9))
    & nbr_proc = host(sK9)
    & host(sK9) = host(sK7)
    & elem(m_Down(sK8),queue(host(sK9)))
    & ! [X7] :
        ( host(sK8) = X7
        | setIn(X7,index(down,host(sK9)))
        | ~ leq(s(zero),X7)
        | leq(host(sK9),X7) )
    & host(sK4) != host(sK9)
    & host(sK5) != host(sK9)
    & host(sK4) = host(sK6)
    & host(sK5) = host(sK6)
    & setIn(sK4,alive)
    & queue(host(sK4)) = cons(m_Halt(sK5),sK3)
    & ! [X8,X9,X10,X11] :
        ( ~ elem(m_Down(X9),queue(host(X8)))
        | ~ setIn(X8,alive)
        | elec_1 != index(status,host(X11))
        | nbr_proc != host(X11)
        | host(X11) != host(X9)
        | ~ elem(m_Down(X10),queue(host(X11)))
        | ( host(X10) != sK10(X10,X11)
          & ~ setIn(sK10(X10,X11),index(down,host(X11)))
          & leq(s(zero),sK10(X10,X11))
          & ~ leq(host(X11),sK10(X10,X11)) ) )
    & ! [X13,X14,X15,X16] :
        ( ~ setIn(host(X14),index(down,host(X15)))
        | ~ elem(m_Down(X16),queue(host(X13)))
        | host(X16) != host(X15)
        | host(X13) != host(X14)
        | ~ setIn(X15,alive)
        | ~ setIn(X13,alive)
        | host(X13) = host(X15) )
    & ! [X17,X18,X19,X20] :
        ( ~ elem(m_Down(X18),queue(host(X19)))
        | ~ elem(m_Down(X20),queue(host(X17)))
        | host(X20) != host(X19)
        | host(X17) != host(X18)
        | ~ setIn(X19,alive)
        | ~ setIn(X17,alive)
        | host(X17) = host(X19) )
    & ! [X21,X22,X23] :
        ( ~ elem(m_Down(X21),queue(host(X22)))
        | host(X22) != host(index(elid,host(X23)))
        | wait != index(status,host(X23))
        | host(X21) != host(X23)
        | ~ setIn(X23,alive)
        | host(X22) = host(X23) )
    & ! [X24,X25,X26] :
        ( ~ elem(m_Down(X24),queue(host(X25)))
        | norm != index(status,host(X26))
        | host(X25) != index(ldr,host(X26))
        | host(X24) != host(X26)
        | ~ setIn(X26,alive)
        | host(X26) = host(X25) )
    & ! [X27] :
        ( index(elid,host(X27)) = X27
        | ~ setIn(X27,alive)
        | ( elec_2 != index(status,host(X27))
          & elec_1 != index(status,host(X27)) ) )
    & ! [X28,X29] :
        ( ~ setIn(X29,alive)
        | ~ setIn(X28,alive)
        | host(X28) != host(X29)
        | X28 = X29 )
    & ! [X30,X31] :
        ( ~ elem(m_NotNorm(X30),queue(host(X31)))
        | nbr_proc != host(X31) )
    & ! [X32,X33] :
        ( host(X32) != host(X33)
        | ~ elem(m_Down(X33),queue(host(X32))) )
    & ! [X34,X35] :
        ( ~ leq(host(X34),host(X35))
        | ~ elem(m_Ldr(X35),queue(host(X34))) ) ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK3,sK4,sK5,sK6,sK7,sK8,sK9,sK10])],[f170,f174,f173,f172,f171]) ).

fof(f189,plain,
    ! [X2,X0,X1] : m_Ack(X0,X1) != m_Down(X2),
    inference(cnf_transformation,[],[f73]) ).

fof(f230,plain,
    ! [X2,X0,X1] :
      ( elem(X0,cons(X1,X2))
      | ~ elem(X0,X2) ),
    inference(cnf_transformation,[],[f148]) ).

fof(f231,plain,
    ! [X2,X0,X1] :
      ( elem(X0,X2)
      | X0 = X1
      | ~ elem(X0,snoc(X2,X1)) ),
    inference(cnf_transformation,[],[f150]) ).

fof(f282,plain,
    ! [X10,X11,X8,X9] :
      ( ~ elem(m_Down(X9),queue(host(X8)))
      | ~ setIn(X8,alive)
      | elec_1 != index(status,host(X11))
      | nbr_proc != host(X11)
      | host(X11) != host(X9)
      | ~ elem(m_Down(X10),queue(host(X11)))
      | ~ leq(host(X11),sK10(X10,X11)) ),
    inference(cnf_transformation,[],[f175]) ).

fof(f283,plain,
    ! [X10,X11,X8,X9] :
      ( ~ elem(m_Down(X9),queue(host(X8)))
      | ~ setIn(X8,alive)
      | elec_1 != index(status,host(X11))
      | nbr_proc != host(X11)
      | host(X11) != host(X9)
      | ~ elem(m_Down(X10),queue(host(X11)))
      | leq(s(zero),sK10(X10,X11)) ),
    inference(cnf_transformation,[],[f175]) ).

fof(f284,plain,
    ! [X10,X11,X8,X9] :
      ( ~ elem(m_Down(X9),queue(host(X8)))
      | ~ setIn(X8,alive)
      | elec_1 != index(status,host(X11))
      | nbr_proc != host(X11)
      | host(X11) != host(X9)
      | ~ elem(m_Down(X10),queue(host(X11)))
      | ~ setIn(sK10(X10,X11),index(down,host(X11))) ),
    inference(cnf_transformation,[],[f175]) ).

fof(f285,plain,
    ! [X10,X11,X8,X9] :
      ( ~ elem(m_Down(X9),queue(host(X8)))
      | ~ setIn(X8,alive)
      | elec_1 != index(status,host(X11))
      | nbr_proc != host(X11)
      | host(X11) != host(X9)
      | ~ elem(m_Down(X10),queue(host(X11)))
      | host(X10) != sK10(X10,X11) ),
    inference(cnf_transformation,[],[f175]) ).

fof(f286,plain,
    queue(host(sK4)) = cons(m_Halt(sK5),sK3),
    inference(cnf_transformation,[],[f175]) ).

fof(f287,plain,
    setIn(sK4,alive),
    inference(cnf_transformation,[],[f175]) ).

fof(f292,plain,
    ! [X7] :
      ( host(sK8) = X7
      | setIn(X7,index(down,host(sK9)))
      | ~ leq(s(zero),X7)
      | leq(host(sK9),X7) ),
    inference(cnf_transformation,[],[f175]) ).

fof(f293,plain,
    elem(m_Down(sK8),queue(host(sK9))),
    inference(cnf_transformation,[],[f175]) ).

fof(f294,plain,
    host(sK9) = host(sK7),
    inference(cnf_transformation,[],[f175]) ).

fof(f295,plain,
    nbr_proc = host(sK9),
    inference(cnf_transformation,[],[f175]) ).

fof(f296,plain,
    elec_1 = index(status,host(sK9)),
    inference(cnf_transformation,[],[f175]) ).

fof(f298,plain,
    elem(m_Down(sK7),snoc(sK3,m_Ack(sK5,sK4))),
    inference(cnf_transformation,[],[f175]) ).

cnf(c_62,plain,
    m_Ack(X0,X1) != m_Down(X2),
    inference(cnf_transformation,[],[f189]) ).

cnf(c_95,plain,
    ( ~ elem(X0,X1)
    | elem(X0,cons(X2,X1)) ),
    inference(cnf_transformation,[],[f230]) ).

cnf(c_100,plain,
    ( ~ elem(X0,snoc(X1,X2))
    | X0 = X2
    | elem(X0,X1) ),
    inference(cnf_transformation,[],[f231]) ).

cnf(c_139,negated_conjecture,
    elem(m_Down(sK7),snoc(sK3,m_Ack(sK5,sK4))),
    inference(cnf_transformation,[],[f298]) ).

cnf(c_141,negated_conjecture,
    index(status,host(sK9)) = elec_1,
    inference(cnf_transformation,[],[f296]) ).

cnf(c_142,negated_conjecture,
    host(sK9) = nbr_proc,
    inference(cnf_transformation,[],[f295]) ).

cnf(c_143,negated_conjecture,
    host(sK7) = host(sK9),
    inference(cnf_transformation,[],[f294]) ).

cnf(c_144,negated_conjecture,
    elem(m_Down(sK8),queue(host(sK9))),
    inference(cnf_transformation,[],[f293]) ).

cnf(c_145,negated_conjecture,
    ( ~ leq(s(zero),X0)
    | host(sK8) = X0
    | setIn(X0,index(down,host(sK9)))
    | leq(host(sK9),X0) ),
    inference(cnf_transformation,[],[f292]) ).

cnf(c_150,negated_conjecture,
    setIn(sK4,alive),
    inference(cnf_transformation,[],[f287]) ).

cnf(c_151,negated_conjecture,
    cons(m_Halt(sK5),sK3) = queue(host(sK4)),
    inference(cnf_transformation,[],[f286]) ).

cnf(c_152,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | sK10(X2,X0) != host(X2)
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(cnf_transformation,[],[f285]) ).

cnf(c_153,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ setIn(sK10(X2,X0),index(down,host(X0)))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(cnf_transformation,[],[f284]) ).

cnf(c_154,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X3),queue(host(X0)))
    | ~ setIn(X2,alive)
    | leq(s(zero),sK10(X3,X0)) ),
    inference(cnf_transformation,[],[f283]) ).

cnf(c_155,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ leq(host(X0),sK10(X2,X0))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(cnf_transformation,[],[f282]) ).

cnf(c_982,plain,
    elem(m_Down(sK8),queue(nbr_proc)),
    inference(light_normalisation,[status(thm)],[c_144,c_142]) ).

cnf(c_983,plain,
    host(sK7) = nbr_proc,
    inference(light_normalisation,[status(thm)],[c_143,c_142]) ).

cnf(c_988,plain,
    index(status,nbr_proc) = elec_1,
    inference(light_normalisation,[status(thm)],[c_141,c_142]) ).

cnf(c_1202,plain,
    ( ~ leq(s(zero),X0)
    | host(sK8) = X0
    | setIn(X0,index(down,nbr_proc))
    | leq(nbr_proc,X0) ),
    inference(light_normalisation,[status(thm)],[c_145,c_142]) ).

cnf(c_2489,plain,
    s(zero) = sP0_iProver_def,
    definition ).

cnf(c_2490,plain,
    m_Halt(sK5) = sP1_iProver_def,
    definition ).

cnf(c_2491,plain,
    cons(sP1_iProver_def,sK3) = sP2_iProver_def,
    definition ).

cnf(c_2492,plain,
    host(sK4) = sP3_iProver_def,
    definition ).

cnf(c_2493,plain,
    queue(sP3_iProver_def) = sP4_iProver_def,
    definition ).

cnf(c_2495,plain,
    host(sK9) = sP6_iProver_def,
    definition ).

cnf(c_2496,plain,
    m_Down(sK7) = sP7_iProver_def,
    definition ).

cnf(c_2497,plain,
    m_Ack(sK5,sK4) = sP8_iProver_def,
    definition ).

cnf(c_2498,plain,
    snoc(sK3,sP8_iProver_def) = sP9_iProver_def,
    definition ).

cnf(c_2509,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ leq(host(X0),sK10(X2,X0))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(demodulation,[status(thm)],[c_155]) ).

cnf(c_2510,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X3),queue(host(X0)))
    | ~ setIn(X2,alive)
    | leq(sP0_iProver_def,sK10(X3,X0)) ),
    inference(demodulation,[status(thm)],[c_154,c_2489]) ).

cnf(c_2511,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != nbr_proc
    | ~ setIn(sK10(X2,X0),index(down,host(X0)))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(demodulation,[status(thm)],[c_153]) ).

cnf(c_2512,negated_conjecture,
    ( index(status,host(X0)) != elec_1
    | sK10(X1,X0) != host(X1)
    | host(X0) != host(X2)
    | host(X0) != nbr_proc
    | ~ elem(m_Down(X1),queue(host(X0)))
    | ~ elem(m_Down(X2),queue(host(X3)))
    | ~ setIn(X3,alive) ),
    inference(demodulation,[status(thm)],[c_152]) ).

cnf(c_2513,negated_conjecture,
    sP2_iProver_def = sP4_iProver_def,
    inference(demodulation,[status(thm)],[c_151,c_2492,c_2493,c_2490,c_2491]) ).

cnf(c_2514,negated_conjecture,
    setIn(sK4,alive),
    inference(demodulation,[status(thm)],[c_150]) ).

cnf(c_2516,negated_conjecture,
    sP6_iProver_def = nbr_proc,
    inference(demodulation,[status(thm)],[c_142,c_2495]) ).

cnf(c_2518,negated_conjecture,
    elem(sP7_iProver_def,sP9_iProver_def),
    inference(demodulation,[status(thm)],[c_139,c_2497,c_2498,c_2496]) ).

cnf(c_4625,plain,
    host(sK7) = sP6_iProver_def,
    inference(light_normalisation,[status(thm)],[c_983,c_2516]) ).

cnf(c_4717,plain,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X3),queue(host(X0)))
    | ~ setIn(X2,alive)
    | leq(sP0_iProver_def,sK10(X3,X0)) ),
    inference(light_normalisation,[status(thm)],[c_2510,c_2516]) ).

cnf(c_4732,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != host(sK7)
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(host(sK7)))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X2,sK7)) ),
    inference(superposition,[status(thm)],[c_4625,c_4717]) ).

cnf(c_4742,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X2,sK7)) ),
    inference(light_normalisation,[status(thm)],[c_4732,c_4625]) ).

cnf(c_4743,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X2,sK7)) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_4742,c_4625]) ).

cnf(c_4750,plain,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != sP6_iProver_def
    | ~ leq(host(X0),sK10(X2,X0))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(light_normalisation,[status(thm)],[c_2509,c_2516]) ).

cnf(c_4765,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != host(sK7)
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(host(sK7)))
    | ~ leq(host(sK7),sK10(X2,sK7))
    | ~ setIn(X1,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_4750]) ).

cnf(c_4775,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ leq(sP6_iProver_def,sK10(X2,sK7))
    | ~ setIn(X1,alive) ),
    inference(light_normalisation,[status(thm)],[c_4765,c_4625]) ).

cnf(c_4776,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ leq(sP6_iProver_def,sK10(X2,sK7))
    | ~ setIn(X1,alive) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_4775,c_4625]) ).

cnf(c_4783,plain,
    ( index(status,host(X0)) != elec_1
    | sK10(X1,X0) != host(X1)
    | host(X0) != host(X2)
    | host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X0)))
    | ~ elem(m_Down(X2),queue(host(X3)))
    | ~ setIn(X3,alive) ),
    inference(light_normalisation,[status(thm)],[c_2512,c_2516]) ).

cnf(c_4798,plain,
    ( sK10(X0,sK7) != host(X0)
    | index(status,sP6_iProver_def) != elec_1
    | host(X1) != host(sK7)
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X0),queue(host(sK7)))
    | ~ setIn(X2,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_4783]) ).

cnf(c_4808,plain,
    ( sK10(X0,sK7) != host(X0)
    | index(status,sP6_iProver_def) != elec_1
    | host(X1) != sP6_iProver_def
    | host(sK7) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(light_normalisation,[status(thm)],[c_4798,c_4625]) ).

cnf(c_4809,plain,
    ( sK10(X0,sK7) != host(X0)
    | index(status,sP6_iProver_def) != elec_1
    | host(X1) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_4808,c_4625]) ).

cnf(c_4816,plain,
    ( index(status,host(X0)) != elec_1
    | host(X0) != host(X1)
    | host(X0) != sP6_iProver_def
    | ~ setIn(sK10(X2,X0),index(down,host(X0)))
    | ~ elem(m_Down(X1),queue(host(X3)))
    | ~ elem(m_Down(X2),queue(host(X0)))
    | ~ setIn(X3,alive) ),
    inference(light_normalisation,[status(thm)],[c_2511,c_2516]) ).

cnf(c_4831,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != host(sK7)
    | host(sK7) != sP6_iProver_def
    | ~ setIn(sK10(X1,sK7),index(down,host(sK7)))
    | ~ elem(m_Down(X0),queue(host(X2)))
    | ~ elem(m_Down(X1),queue(host(sK7)))
    | ~ setIn(X2,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_4816]) ).

cnf(c_4841,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | host(sK7) != sP6_iProver_def
    | ~ setIn(sK10(X1,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(X0),queue(host(X2)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(light_normalisation,[status(thm)],[c_4831,c_4625]) ).

cnf(c_4842,plain,
    ( index(status,sP6_iProver_def) != elec_1
    | host(X0) != sP6_iProver_def
    | ~ setIn(sK10(X1,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(X0),queue(host(X2)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_4841,c_4625]) ).

cnf(c_4849,plain,
    elem(m_Down(sK8),queue(sP6_iProver_def)),
    inference(light_normalisation,[status(thm)],[c_982,c_2516]) ).

cnf(c_4851,plain,
    index(status,sP6_iProver_def) = elec_1,
    inference(light_normalisation,[status(thm)],[c_988,c_2516]) ).

cnf(c_4875,plain,
    ( ~ leq(sP0_iProver_def,X0)
    | host(sK8) = X0
    | setIn(X0,index(down,sP6_iProver_def))
    | leq(sP6_iProver_def,X0) ),
    inference(light_normalisation,[status(thm)],[c_1202,c_2489,c_2516]) ).

cnf(c_5002,plain,
    queue(sP3_iProver_def) = sP2_iProver_def,
    inference(light_normalisation,[status(thm)],[c_2493,c_2513]) ).

cnf(c_6276,plain,
    m_Down(X0) != sP8_iProver_def,
    inference(superposition,[status(thm)],[c_2497,c_62]) ).

cnf(c_6287,plain,
    sP7_iProver_def != sP8_iProver_def,
    inference(superposition,[status(thm)],[c_2496,c_6276]) ).

cnf(c_6701,plain,
    ( ~ elem(X0,sK3)
    | elem(X0,sP2_iProver_def) ),
    inference(superposition,[status(thm)],[c_2491,c_95]) ).

cnf(c_7120,plain,
    ( host(X0) != sP6_iProver_def
    | elec_1 != elec_1
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X2,sK7)) ),
    inference(demodulation,[status(thm)],[c_4743,c_4851]) ).

cnf(c_7121,plain,
    ( host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X2,sK7)) ),
    inference(equality_resolution_simp,[status(thm)],[c_7120]) ).

cnf(c_7133,plain,
    ( ~ elem(m_Down(sK7),queue(host(X0)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ setIn(X0,alive)
    | leq(sP0_iProver_def,sK10(X1,sK7)) ),
    inference(superposition,[status(thm)],[c_4625,c_7121]) ).

cnf(c_7136,plain,
    ( ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1)))
    | ~ setIn(X1,alive)
    | leq(sP0_iProver_def,sK10(X0,sK7)) ),
    inference(light_normalisation,[status(thm)],[c_7133,c_2496]) ).

cnf(c_7368,plain,
    ( host(X0) != sP6_iProver_def
    | elec_1 != elec_1
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ leq(sP6_iProver_def,sK10(X2,sK7))
    | ~ setIn(X1,alive) ),
    inference(demodulation,[status(thm)],[c_4776,c_4851]) ).

cnf(c_7369,plain,
    ( host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(X2),queue(sP6_iProver_def))
    | ~ leq(sP6_iProver_def,sK10(X2,sK7))
    | ~ setIn(X1,alive) ),
    inference(equality_resolution_simp,[status(thm)],[c_7368]) ).

cnf(c_7381,plain,
    ( ~ elem(m_Down(sK7),queue(host(X0)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ leq(sP6_iProver_def,sK10(X1,sK7))
    | ~ setIn(X0,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_7369]) ).

cnf(c_7384,plain,
    ( ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1)))
    | ~ leq(sP6_iProver_def,sK10(X0,sK7))
    | ~ setIn(X1,alive) ),
    inference(light_normalisation,[status(thm)],[c_7381,c_2496]) ).

cnf(c_7399,plain,
    ( sK10(X0,sK7) != host(X0)
    | host(X1) != sP6_iProver_def
    | elec_1 != elec_1
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(demodulation,[status(thm)],[c_4809,c_4851]) ).

cnf(c_7400,plain,
    ( sK10(X0,sK7) != host(X0)
    | host(X1) != sP6_iProver_def
    | ~ elem(m_Down(X1),queue(host(X2)))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(equality_resolution_simp,[status(thm)],[c_7399]) ).

cnf(c_7411,plain,
    ( host(X0) != sP6_iProver_def
    | elec_1 != elec_1
    | ~ setIn(sK10(X1,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(X0),queue(host(X2)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(demodulation,[status(thm)],[c_4842,c_4851]) ).

cnf(c_7412,plain,
    ( host(X0) != sP6_iProver_def
    | ~ setIn(sK10(X1,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(X0),queue(host(X2)))
    | ~ elem(m_Down(X1),queue(sP6_iProver_def))
    | ~ setIn(X2,alive) ),
    inference(equality_resolution_simp,[status(thm)],[c_7411]) ).

cnf(c_7424,plain,
    ( ~ setIn(sK10(X0,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(sK7),queue(host(X1)))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ setIn(X1,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_7412]) ).

cnf(c_7427,plain,
    ( ~ setIn(sK10(X0,sK7),index(down,sP6_iProver_def))
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1)))
    | ~ setIn(X1,alive) ),
    inference(light_normalisation,[status(thm)],[c_7424,c_2496]) ).

cnf(c_8520,plain,
    ( ~ elem(X0,sP9_iProver_def)
    | X0 = sP8_iProver_def
    | elem(X0,sK3) ),
    inference(superposition,[status(thm)],[c_2498,c_100]) ).

cnf(c_16540,plain,
    ( ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1)))
    | ~ leq(sP0_iProver_def,sK10(X0,sK7))
    | ~ setIn(X1,alive)
    | sK10(X0,sK7) = host(sK8)
    | leq(sP6_iProver_def,sK10(X0,sK7)) ),
    inference(superposition,[status(thm)],[c_4875,c_7427]) ).

cnf(c_16548,plain,
    ( sK10(X0,sK7) = host(sK8)
    | ~ setIn(X1,alive)
    | ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1))) ),
    inference(global_subsumption_just,[status(thm)],[c_16540,c_7136,c_7384,c_16540]) ).

cnf(c_16549,plain,
    ( ~ elem(m_Down(X0),queue(sP6_iProver_def))
    | ~ elem(sP7_iProver_def,queue(host(X1)))
    | ~ setIn(X1,alive)
    | sK10(X0,sK7) = host(sK8) ),
    inference(renaming,[status(thm)],[c_16548]) ).

cnf(c_16559,plain,
    ( ~ elem(sP7_iProver_def,queue(host(X0)))
    | ~ setIn(X0,alive)
    | sK10(sK8,sK7) = host(sK8) ),
    inference(superposition,[status(thm)],[c_4849,c_16549]) ).

cnf(c_16573,plain,
    ( ~ elem(sP7_iProver_def,queue(sP3_iProver_def))
    | ~ setIn(sK4,alive)
    | sK10(sK8,sK7) = host(sK8) ),
    inference(superposition,[status(thm)],[c_2492,c_16559]) ).

cnf(c_16579,plain,
    ( ~ setIn(sK4,alive)
    | ~ elem(sP7_iProver_def,sP2_iProver_def)
    | sK10(sK8,sK7) = host(sK8) ),
    inference(light_normalisation,[status(thm)],[c_16573,c_5002]) ).

cnf(c_16580,plain,
    ( ~ elem(sP7_iProver_def,sP2_iProver_def)
    | sK10(sK8,sK7) = host(sK8) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_16579,c_2514]) ).

cnf(c_37008,plain,
    ( sP7_iProver_def = sP8_iProver_def
    | elem(sP7_iProver_def,sK3) ),
    inference(superposition,[status(thm)],[c_2518,c_8520]) ).

cnf(c_37016,plain,
    elem(sP7_iProver_def,sK3),
    inference(forward_subsumption_resolution,[status(thm)],[c_37008,c_6287]) ).

cnf(c_37061,plain,
    elem(sP7_iProver_def,sP2_iProver_def),
    inference(superposition,[status(thm)],[c_37016,c_6701]) ).

cnf(c_37085,plain,
    sK10(sK8,sK7) = host(sK8),
    inference(backward_subsumption_resolution,[status(thm)],[c_16580,c_37061]) ).

cnf(c_37400,plain,
    ( host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ elem(m_Down(sK8),queue(sP6_iProver_def))
    | ~ setIn(X1,alive) ),
    inference(superposition,[status(thm)],[c_37085,c_7400]) ).

cnf(c_37401,plain,
    ( host(X0) != sP6_iProver_def
    | ~ elem(m_Down(X0),queue(host(X1)))
    | ~ setIn(X1,alive) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_37400,c_4849]) ).

cnf(c_37812,plain,
    ( ~ elem(m_Down(sK7),queue(host(X0)))
    | ~ setIn(X0,alive) ),
    inference(superposition,[status(thm)],[c_4625,c_37401]) ).

cnf(c_37815,plain,
    ( ~ elem(sP7_iProver_def,queue(host(X0)))
    | ~ setIn(X0,alive) ),
    inference(light_normalisation,[status(thm)],[c_37812,c_2496]) ).

cnf(c_37869,plain,
    ( ~ elem(sP7_iProver_def,queue(sP3_iProver_def))
    | ~ setIn(sK4,alive) ),
    inference(superposition,[status(thm)],[c_2492,c_37815]) ).

cnf(c_37873,plain,
    ( ~ setIn(sK4,alive)
    | ~ elem(sP7_iProver_def,sP2_iProver_def) ),
    inference(light_normalisation,[status(thm)],[c_37869,c_5002]) ).

cnf(c_37874,plain,
    $false,
    inference(forward_subsumption_resolution,[status(thm)],[c_37873,c_37061,c_2514]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.04/0.12  % Problem  : SWV470+1 : TPTP v8.1.2. Released v4.0.0.
% 0.04/0.13  % Command  : run_iprover %s %d THM
% 0.13/0.34  % Computer : n018.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Fri May  3 00:36:31 EDT 2024
% 0.13/0.34  % CPUTime  : 
% 0.20/0.47  Running first-order theorem proving
% 0.20/0.47  Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --heuristic_context casc_unsat --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 10.06/2.21  % SZS status Started for theBenchmark.p
% 10.06/2.21  % SZS status Theorem for theBenchmark.p
% 10.06/2.21  
% 10.06/2.21  %---------------- iProver v3.9 (pre CASC 2024/SMT-COMP 2024) ----------------%
% 10.06/2.21  
% 10.06/2.21  ------  iProver source info
% 10.06/2.21  
% 10.06/2.21  git: date: 2024-05-02 19:28:25 +0000
% 10.06/2.21  git: sha1: a33b5eb135c74074ba803943bb12f2ebd971352f
% 10.06/2.21  git: non_committed_changes: false
% 10.06/2.21  
% 10.06/2.21  ------ Parsing...
% 10.06/2.21  ------ Clausification by vclausify_rel  & Parsing by iProver...
% 10.06/2.21  
% 10.06/2.21  ------ Preprocessing... sup_sim: 10  sf_s  rm: 1 0s  sf_e  pe_s  pe_e  sup_sim: 0  sf_s  rm: 1 0s  sf_e  pe_s  pe_e 
% 10.06/2.21  
% 10.06/2.21  ------ Preprocessing... gs_s  sp: 0 0s  gs_e  snvd_s sp: 0 0s snvd_e 
% 10.06/2.21  
% 10.06/2.21  ------ Preprocessing... sf_s  rm: 1 0s  sf_e  sf_s  rm: 0 0s  sf_e 
% 10.06/2.21  ------ Proving...
% 10.06/2.21  ------ Problem Properties 
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  clauses                                 122
% 10.06/2.21  conjectures                             20
% 10.06/2.21  EPR                                     20
% 10.06/2.21  Horn                                    106
% 10.06/2.21  unary                                   66
% 10.06/2.21  binary                                  25
% 10.06/2.21  lits                                    248
% 10.06/2.21  lits eq                                 115
% 10.06/2.21  fd_pure                                 0
% 10.06/2.21  fd_pseudo                               0
% 10.06/2.21  fd_cond                                 1
% 10.06/2.21  fd_pseudo_cond                          12
% 10.06/2.21  AC symbols                              0
% 10.06/2.21  
% 10.06/2.21  ------ Schedule dynamic 5 is on 
% 10.06/2.21  
% 10.06/2.21  ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  ------ 
% 10.06/2.21  Current options:
% 10.06/2.21  ------ 
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  ------ Proving...
% 10.06/2.21  
% 10.06/2.21  
% 10.06/2.21  % SZS status Theorem for theBenchmark.p
% 10.06/2.21  
% 10.06/2.21  % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 10.06/2.22  
% 10.06/2.22  
%------------------------------------------------------------------------------