TSTP Solution File: LCL190-3 by iProverMo---2.5-0.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : iProverMo---2.5-0.1
% Problem  : LCL190-3 : TPTP v8.1.0. Released v2.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : iprover_modulo %s %d

% Computer : n026.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  : 600s
% DateTime : Sun Jul 17 11:31:10 EDT 2022

% Result   : Unsatisfiable 0.93s 1.13s
% Output   : CNFRefutation 0.93s
% Verified : 
% SZS Type : ERROR: Analysing output (Could not find formula named input)

% Comments : 
%------------------------------------------------------------------------------
% Axioms transformation by autotheo
% Orienting (remaining) axiom formulas using strategy Equiv(ClausalAll)
% Orienting axioms whose shape is orientable
cnf(implies_definition,axiom,
    implies(X,Y) = or(not(X),Y),
    input ).

fof(implies_definition_0,plain,
    ! [X,Y] :
      ( implies(X,Y) = or(not(X),Y)
      | $false ),
    inference(orientation,[status(thm)],[implies_definition]) ).

cnf(axiom_1_6,axiom,
    axiom(implies(implies(A,B),implies(or(C,A),or(C,B)))),
    input ).

fof(axiom_1_6_0,plain,
    ! [A,B,C] :
      ( axiom(implies(implies(A,B),implies(or(C,A),or(C,B))))
      | $false ),
    inference(orientation,[status(thm)],[axiom_1_6]) ).

cnf(axiom_1_5,axiom,
    axiom(implies(or(A,or(B,C)),or(B,or(A,C)))),
    input ).

fof(axiom_1_5_0,plain,
    ! [A,B,C] :
      ( axiom(implies(or(A,or(B,C)),or(B,or(A,C))))
      | $false ),
    inference(orientation,[status(thm)],[axiom_1_5]) ).

cnf(axiom_1_4,axiom,
    axiom(implies(or(A,B),or(B,A))),
    input ).

fof(axiom_1_4_0,plain,
    ! [A,B] :
      ( axiom(implies(or(A,B),or(B,A)))
      | $false ),
    inference(orientation,[status(thm)],[axiom_1_4]) ).

cnf(axiom_1_3,axiom,
    axiom(implies(A,or(B,A))),
    input ).

fof(axiom_1_3_0,plain,
    ! [A,B] :
      ( axiom(implies(A,or(B,A)))
      | $false ),
    inference(orientation,[status(thm)],[axiom_1_3]) ).

cnf(axiom_1_2,axiom,
    axiom(implies(or(A,A),A)),
    input ).

fof(axiom_1_2_0,plain,
    ! [A] :
      ( axiom(implies(or(A,A),A))
      | $false ),
    inference(orientation,[status(thm)],[axiom_1_2]) ).

fof(def_lhs_atom1,axiom,
    ! [A] :
      ( lhs_atom1(A)
    <=> axiom(implies(or(A,A),A)) ),
    inference(definition,[],]) ).

fof(to_be_clausified_0,plain,
    ! [A] :
      ( lhs_atom1(A)
      | $false ),
    inference(fold_definition,[status(thm)],[axiom_1_2_0,def_lhs_atom1]) ).

fof(def_lhs_atom2,axiom,
    ! [B,A] :
      ( lhs_atom2(B,A)
    <=> axiom(implies(A,or(B,A))) ),
    inference(definition,[],]) ).

fof(to_be_clausified_1,plain,
    ! [A,B] :
      ( lhs_atom2(B,A)
      | $false ),
    inference(fold_definition,[status(thm)],[axiom_1_3_0,def_lhs_atom2]) ).

fof(def_lhs_atom3,axiom,
    ! [B,A] :
      ( lhs_atom3(B,A)
    <=> axiom(implies(or(A,B),or(B,A))) ),
    inference(definition,[],]) ).

fof(to_be_clausified_2,plain,
    ! [A,B] :
      ( lhs_atom3(B,A)
      | $false ),
    inference(fold_definition,[status(thm)],[axiom_1_4_0,def_lhs_atom3]) ).

fof(def_lhs_atom4,axiom,
    ! [C,B,A] :
      ( lhs_atom4(C,B,A)
    <=> axiom(implies(or(A,or(B,C)),or(B,or(A,C)))) ),
    inference(definition,[],]) ).

fof(to_be_clausified_3,plain,
    ! [A,B,C] :
      ( lhs_atom4(C,B,A)
      | $false ),
    inference(fold_definition,[status(thm)],[axiom_1_5_0,def_lhs_atom4]) ).

fof(def_lhs_atom5,axiom,
    ! [C,B,A] :
      ( lhs_atom5(C,B,A)
    <=> axiom(implies(implies(A,B),implies(or(C,A),or(C,B)))) ),
    inference(definition,[],]) ).

fof(to_be_clausified_4,plain,
    ! [A,B,C] :
      ( lhs_atom5(C,B,A)
      | $false ),
    inference(fold_definition,[status(thm)],[axiom_1_6_0,def_lhs_atom5]) ).

fof(def_lhs_atom6,axiom,
    ! [Y,X] :
      ( lhs_atom6(Y,X)
    <=> implies(X,Y) = or(not(X),Y) ),
    inference(definition,[],]) ).

fof(to_be_clausified_5,plain,
    ! [X,Y] :
      ( lhs_atom6(Y,X)
      | $false ),
    inference(fold_definition,[status(thm)],[implies_definition_0,def_lhs_atom6]) ).

% Start CNF derivation
fof(c_0_0,axiom,
    ! [X3,X2,X1] :
      ( lhs_atom5(X3,X2,X1)
      | ~ $true ),
    file('<stdin>',to_be_clausified_4) ).

fof(c_0_1,axiom,
    ! [X3,X2,X1] :
      ( lhs_atom4(X3,X2,X1)
      | ~ $true ),
    file('<stdin>',to_be_clausified_3) ).

fof(c_0_2,axiom,
    ! [X4,X5] :
      ( lhs_atom6(X4,X5)
      | ~ $true ),
    file('<stdin>',to_be_clausified_5) ).

fof(c_0_3,axiom,
    ! [X2,X1] :
      ( lhs_atom3(X2,X1)
      | ~ $true ),
    file('<stdin>',to_be_clausified_2) ).

fof(c_0_4,axiom,
    ! [X2,X1] :
      ( lhs_atom2(X2,X1)
      | ~ $true ),
    file('<stdin>',to_be_clausified_1) ).

fof(c_0_5,axiom,
    ! [X1] :
      ( lhs_atom1(X1)
      | ~ $true ),
    file('<stdin>',to_be_clausified_0) ).

fof(c_0_6,plain,
    ! [X3,X2,X1] : lhs_atom5(X3,X2,X1),
    inference(fof_simplification,[status(thm)],[c_0_0]) ).

fof(c_0_7,plain,
    ! [X3,X2,X1] : lhs_atom4(X3,X2,X1),
    inference(fof_simplification,[status(thm)],[c_0_1]) ).

fof(c_0_8,plain,
    ! [X4,X5] : lhs_atom6(X4,X5),
    inference(fof_simplification,[status(thm)],[c_0_2]) ).

fof(c_0_9,plain,
    ! [X2,X1] : lhs_atom3(X2,X1),
    inference(fof_simplification,[status(thm)],[c_0_3]) ).

fof(c_0_10,plain,
    ! [X2,X1] : lhs_atom2(X2,X1),
    inference(fof_simplification,[status(thm)],[c_0_4]) ).

fof(c_0_11,plain,
    ! [X1] : lhs_atom1(X1),
    inference(fof_simplification,[status(thm)],[c_0_5]) ).

fof(c_0_12,plain,
    ! [X4,X5,X6] : lhs_atom5(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_6]) ).

fof(c_0_13,plain,
    ! [X4,X5,X6] : lhs_atom4(X4,X5,X6),
    inference(variable_rename,[status(thm)],[c_0_7]) ).

fof(c_0_14,plain,
    ! [X6,X7] : lhs_atom6(X6,X7),
    inference(variable_rename,[status(thm)],[c_0_8]) ).

fof(c_0_15,plain,
    ! [X3,X4] : lhs_atom3(X3,X4),
    inference(variable_rename,[status(thm)],[c_0_9]) ).

fof(c_0_16,plain,
    ! [X3,X4] : lhs_atom2(X3,X4),
    inference(variable_rename,[status(thm)],[c_0_10]) ).

fof(c_0_17,plain,
    ! [X2] : lhs_atom1(X2),
    inference(variable_rename,[status(thm)],[c_0_11]) ).

cnf(c_0_18,plain,
    lhs_atom5(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_12]) ).

cnf(c_0_19,plain,
    lhs_atom4(X1,X2,X3),
    inference(split_conjunct,[status(thm)],[c_0_13]) ).

cnf(c_0_20,plain,
    lhs_atom6(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_21,plain,
    lhs_atom3(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

cnf(c_0_22,plain,
    lhs_atom2(X1,X2),
    inference(split_conjunct,[status(thm)],[c_0_16]) ).

cnf(c_0_23,plain,
    lhs_atom1(X1),
    inference(split_conjunct,[status(thm)],[c_0_17]) ).

cnf(c_0_24,plain,
    lhs_atom5(X1,X2,X3),
    c_0_18,
    [final] ).

cnf(c_0_25,plain,
    lhs_atom4(X1,X2,X3),
    c_0_19,
    [final] ).

cnf(c_0_26,plain,
    lhs_atom6(X1,X2),
    c_0_20,
    [final] ).

cnf(c_0_27,plain,
    lhs_atom3(X1,X2),
    c_0_21,
    [final] ).

cnf(c_0_28,plain,
    lhs_atom2(X1,X2),
    c_0_22,
    [final] ).

cnf(c_0_29,plain,
    lhs_atom1(X1),
    c_0_23,
    [final] ).

% End CNF derivation
cnf(c_0_24_0,axiom,
    axiom(implies(implies(X3,X2),implies(or(X1,X3),or(X1,X2)))),
    inference(unfold_definition,[status(thm)],[c_0_24,def_lhs_atom5]) ).

cnf(c_0_25_0,axiom,
    axiom(implies(or(X3,or(X2,X1)),or(X2,or(X3,X1)))),
    inference(unfold_definition,[status(thm)],[c_0_25,def_lhs_atom4]) ).

cnf(c_0_26_0,axiom,
    implies(X2,X1) = or(not(X2),X1),
    inference(unfold_definition,[status(thm)],[c_0_26,def_lhs_atom6]) ).

cnf(c_0_27_0,axiom,
    axiom(implies(or(X2,X1),or(X1,X2))),
    inference(unfold_definition,[status(thm)],[c_0_27,def_lhs_atom3]) ).

cnf(c_0_28_0,axiom,
    axiom(implies(X2,or(X1,X2))),
    inference(unfold_definition,[status(thm)],[c_0_28,def_lhs_atom2]) ).

cnf(c_0_29_0,axiom,
    axiom(implies(or(X1,X1),X1)),
    inference(unfold_definition,[status(thm)],[c_0_29,def_lhs_atom1]) ).

% Orienting (remaining) axiom formulas using strategy ClausalAll
% CNF of (remaining) axioms:
% Start CNF derivation
fof(c_0_0_001,axiom,
    ! [X1,X2] :
      ( theorem(X2)
      | ~ theorem(implies(X1,X2))
      | ~ theorem(X1) ),
    file('<stdin>',rule_2) ).

fof(c_0_1_002,axiom,
    ! [X2] :
      ( theorem(X2)
      | ~ axiom(X2) ),
    file('<stdin>',rule_1) ).

fof(c_0_2_003,plain,
    ! [X1,X2] :
      ( theorem(X2)
      | ~ theorem(implies(X1,X2))
      | ~ theorem(X1) ),
    inference(fof_simplification,[status(thm)],[c_0_0]) ).

fof(c_0_3_004,plain,
    ! [X2] :
      ( theorem(X2)
      | ~ axiom(X2) ),
    inference(fof_simplification,[status(thm)],[c_0_1]) ).

fof(c_0_4_005,plain,
    ! [X3,X4] :
      ( theorem(X4)
      | ~ theorem(implies(X3,X4))
      | ~ theorem(X3) ),
    inference(variable_rename,[status(thm)],[c_0_2]) ).

fof(c_0_5_006,plain,
    ! [X3] :
      ( theorem(X3)
      | ~ axiom(X3) ),
    inference(variable_rename,[status(thm)],[c_0_3]) ).

cnf(c_0_6_007,plain,
    ( theorem(X2)
    | ~ theorem(X1)
    | ~ theorem(implies(X1,X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_4]) ).

cnf(c_0_7_008,plain,
    ( theorem(X1)
    | ~ axiom(X1) ),
    inference(split_conjunct,[status(thm)],[c_0_5]) ).

cnf(c_0_8_009,plain,
    ( theorem(X2)
    | ~ theorem(X1)
    | ~ theorem(implies(X1,X2)) ),
    c_0_6,
    [final] ).

cnf(c_0_9_010,plain,
    ( theorem(X1)
    | ~ axiom(X1) ),
    c_0_7,
    [final] ).

% End CNF derivation
% Generating one_way clauses for all literals in the CNF.
cnf(c_0_8_0,axiom,
    ( theorem(X2)
    | ~ theorem(X1)
    | ~ theorem(implies(X1,X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_8]) ).

cnf(c_0_8_1,axiom,
    ( ~ theorem(X1)
    | theorem(X2)
    | ~ theorem(implies(X1,X2)) ),
    inference(literals_permutation,[status(thm)],[c_0_8]) ).

cnf(c_0_8_2,axiom,
    ( ~ theorem(implies(X1,X2))
    | ~ theorem(X1)
    | theorem(X2) ),
    inference(literals_permutation,[status(thm)],[c_0_8]) ).

cnf(c_0_9_0,axiom,
    ( theorem(X1)
    | ~ axiom(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_9]) ).

cnf(c_0_9_1,axiom,
    ( ~ axiom(X1)
    | theorem(X1) ),
    inference(literals_permutation,[status(thm)],[c_0_9]) ).

% CNF of non-axioms
% Start CNF derivation
fof(c_0_0_011,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    file('<stdin>',prove_this) ).

fof(c_0_1_012,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    inference(fof_simplification,[status(thm)],[c_0_0]) ).

fof(c_0_2_013,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    c_0_1 ).

cnf(c_0_3_014,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    inference(split_conjunct,[status(thm)],[c_0_2]) ).

cnf(c_0_4_015,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    c_0_3,
    [final] ).

% End CNF derivation

%-------------------------------------------------------------
% Proof by iprover

cnf(c_10,plain,
    axiom(implies(implies(X0,X1),implies(or(X2,X0),or(X2,X1)))),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_292594.p',c_0_24_0) ).

cnf(c_36,plain,
    axiom(implies(implies(X0,X1),implies(or(X2,X0),or(X2,X1)))),
    inference(copy,[status(esa)],[c_10]) ).

cnf(c_12315,plain,
    axiom(implies(implies(or(X0,X1),or(X1,X0)),implies(or(X2,or(X0,X1)),or(X2,or(X1,X0))))),
    inference(instantiation,[status(thm)],[c_36]) ).

cnf(c_12592,plain,
    axiom(implies(implies(or(q,r),or(r,q)),implies(or(p,or(q,r)),or(p,or(r,q))))),
    inference(instantiation,[status(thm)],[c_12315]) ).

cnf(c_4,plain,
    ( theorem(X0)
    | ~ axiom(X0) ),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_292594.p',c_0_9_1) ).

cnf(c_30,plain,
    ( theorem(X0)
    | ~ axiom(X0) ),
    inference(copy,[status(esa)],[c_4]) ).

cnf(c_12237,plain,
    ( theorem(implies(implies(X0,X1),implies(or(X2,X0),or(X2,X1))))
    | ~ axiom(implies(implies(X0,X1),implies(or(X2,X0),or(X2,X1)))) ),
    inference(instantiation,[status(thm)],[c_30]) ).

cnf(c_12280,plain,
    ( theorem(implies(implies(or(X0,X1),or(X1,X0)),implies(or(X2,or(X0,X1)),or(X2,or(X1,X0)))))
    | ~ axiom(implies(implies(or(X0,X1),or(X1,X0)),implies(or(X2,or(X0,X1)),or(X2,or(X1,X0))))) ),
    inference(instantiation,[status(thm)],[c_12237]) ).

cnf(c_12435,plain,
    ( theorem(implies(implies(or(q,r),or(r,q)),implies(or(p,or(q,r)),or(p,or(r,q)))))
    | ~ axiom(implies(implies(or(q,r),or(r,q)),implies(or(p,or(q,r)),or(p,or(r,q))))) ),
    inference(instantiation,[status(thm)],[c_12280]) ).

cnf(c_7,plain,
    axiom(implies(or(X0,X1),or(X1,X0))),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_292594.p',c_0_27_0) ).

cnf(c_33,plain,
    axiom(implies(or(X0,X1),or(X1,X0))),
    inference(copy,[status(esa)],[c_7]) ).

cnf(c_12354,plain,
    axiom(implies(or(q,r),or(r,q))),
    inference(instantiation,[status(thm)],[c_33]) ).

cnf(c_12231,plain,
    ( theorem(implies(or(X0,X1),or(X1,X0)))
    | ~ axiom(implies(or(X0,X1),or(X1,X0))) ),
    inference(instantiation,[status(thm)],[c_30]) ).

cnf(c_12321,plain,
    ( theorem(implies(or(q,r),or(r,q)))
    | ~ axiom(implies(or(q,r),or(r,q))) ),
    inference(instantiation,[status(thm)],[c_12231]) ).

cnf(c_2,plain,
    ( theorem(X0)
    | ~ theorem(X1)
    | ~ theorem(implies(X1,X0)) ),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_292594.p',c_0_8_2) ).

cnf(c_28,plain,
    ( theorem(X0)
    | ~ theorem(X1)
    | ~ theorem(implies(X1,X0)) ),
    inference(copy,[status(esa)],[c_2]) ).

cnf(c_12248,plain,
    ( ~ theorem(implies(implies(or(X0,X1),or(X1,X0)),X2))
    | ~ theorem(implies(or(X0,X1),or(X1,X0)))
    | theorem(X2) ),
    inference(instantiation,[status(thm)],[c_28]) ).

cnf(c_12281,plain,
    ( ~ theorem(implies(implies(or(X0,X1),or(X1,X0)),implies(or(X2,or(X0,X1)),or(X2,or(X1,X0)))))
    | theorem(implies(or(X2,or(X0,X1)),or(X2,or(X1,X0))))
    | ~ theorem(implies(or(X0,X1),or(X1,X0))) ),
    inference(instantiation,[status(thm)],[c_12248]) ).

cnf(c_12320,plain,
    ( ~ theorem(implies(implies(or(q,r),or(r,q)),implies(or(p,or(q,r)),or(p,or(r,q)))))
    | theorem(implies(or(p,or(q,r)),or(p,or(r,q))))
    | ~ theorem(implies(or(q,r),or(r,q))) ),
    inference(instantiation,[status(thm)],[c_12281]) ).

cnf(c_11,negated_conjecture,
    ~ theorem(implies(or(p,or(q,r)),or(p,or(r,q)))),
    file('/export/starexec/sandbox2/tmp/iprover_modulo_292594.p',c_0_4) ).

cnf(contradiction,plain,
    $false,
    inference(minisat,[status(thm)],[c_12592,c_12435,c_12354,c_12321,c_12320,c_11]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : LCL190-3 : TPTP v8.1.0. Released v2.3.0.
% 0.07/0.13  % Command  : iprover_modulo %s %d
% 0.13/0.33  % Computer : n026.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 600
% 0.13/0.33  % DateTime : Sun Jul  3 18:47:51 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.13/0.34  % Running in mono-core mode
% 0.19/0.40  % Orienting using strategy Equiv(ClausalAll)
% 0.19/0.40  % Orientation found
% 0.19/0.40  % Executing iprover_moduloopt --modulo true --schedule none --sub_typing false --res_to_prop_solver none --res_prop_simpl_given false --res_lit_sel kbo_max --large_theory_mode false --res_time_limit 1000 --res_orphan_elimination false --prep_sem_filter none --prep_unflatten false --comb_res_mult 1000 --comb_inst_mult 300 --clausifier .//eprover --clausifier_options "--tstp-format  " --proof_out_file /export/starexec/sandbox2/tmp/iprover_proof_ab6f87.s --tptp_safe_out true --time_out_real 150 /export/starexec/sandbox2/tmp/iprover_modulo_292594.p | tee /export/starexec/sandbox2/tmp/iprover_modulo_out_bf6556 | grep -v "SZS"
% 0.19/0.42  
% 0.19/0.42  %---------------- iProver v2.5 (CASC-J8 2016) ----------------%
% 0.19/0.42  
% 0.19/0.42  % 
% 0.19/0.42  % ------  iProver source info 
% 0.19/0.42  
% 0.19/0.42  % git: sha1: 57accf6c58032223c7708532cf852a99fa48c1b3
% 0.19/0.42  % git: non_committed_changes: true
% 0.19/0.42  % git: last_make_outside_of_git: true
% 0.19/0.42  
% 0.19/0.42  % 
% 0.19/0.42  % ------ Input Options
% 0.19/0.42  
% 0.19/0.42  % --out_options                         all
% 0.19/0.42  % --tptp_safe_out                       true
% 0.19/0.42  % --problem_path                        ""
% 0.19/0.42  % --include_path                        ""
% 0.19/0.42  % --clausifier                          .//eprover
% 0.19/0.42  % --clausifier_options                  --tstp-format  
% 0.19/0.42  % --stdin                               false
% 0.19/0.42  % --dbg_backtrace                       false
% 0.19/0.42  % --dbg_dump_prop_clauses               false
% 0.19/0.42  % --dbg_dump_prop_clauses_file          -
% 0.19/0.42  % --dbg_out_stat                        false
% 0.19/0.42  
% 0.19/0.42  % ------ General Options
% 0.19/0.42  
% 0.19/0.42  % --fof                                 false
% 0.19/0.42  % --time_out_real                       150.
% 0.19/0.42  % --time_out_prep_mult                  0.2
% 0.19/0.42  % --time_out_virtual                    -1.
% 0.19/0.42  % --schedule                            none
% 0.19/0.42  % --ground_splitting                    input
% 0.19/0.42  % --splitting_nvd                       16
% 0.19/0.42  % --non_eq_to_eq                        false
% 0.19/0.42  % --prep_gs_sim                         true
% 0.19/0.42  % --prep_unflatten                      false
% 0.19/0.42  % --prep_res_sim                        true
% 0.19/0.42  % --prep_upred                          true
% 0.19/0.42  % --res_sim_input                       true
% 0.19/0.42  % --clause_weak_htbl                    true
% 0.19/0.42  % --gc_record_bc_elim                   false
% 0.19/0.42  % --symbol_type_check                   false
% 0.19/0.42  % --clausify_out                        false
% 0.19/0.42  % --large_theory_mode                   false
% 0.19/0.42  % --prep_sem_filter                     none
% 0.19/0.42  % --prep_sem_filter_out                 false
% 0.19/0.42  % --preprocessed_out                    false
% 0.19/0.42  % --sub_typing                          false
% 0.19/0.42  % --brand_transform                     false
% 0.19/0.42  % --pure_diseq_elim                     true
% 0.19/0.42  % --min_unsat_core                      false
% 0.19/0.42  % --pred_elim                           true
% 0.19/0.42  % --add_important_lit                   false
% 0.19/0.42  % --soft_assumptions                    false
% 0.19/0.42  % --reset_solvers                       false
% 0.19/0.42  % --bc_imp_inh                          []
% 0.19/0.42  % --conj_cone_tolerance                 1.5
% 0.19/0.42  % --prolific_symb_bound                 500
% 0.19/0.42  % --lt_threshold                        2000
% 0.19/0.42  
% 0.19/0.42  % ------ SAT Options
% 0.19/0.42  
% 0.19/0.42  % --sat_mode                            false
% 0.19/0.42  % --sat_fm_restart_options              ""
% 0.19/0.42  % --sat_gr_def                          false
% 0.19/0.42  % --sat_epr_types                       true
% 0.19/0.42  % --sat_non_cyclic_types                false
% 0.19/0.42  % --sat_finite_models                   false
% 0.19/0.42  % --sat_fm_lemmas                       false
% 0.19/0.42  % --sat_fm_prep                         false
% 0.19/0.42  % --sat_fm_uc_incr                      true
% 0.19/0.42  % --sat_out_model                       small
% 0.19/0.42  % --sat_out_clauses                     false
% 0.19/0.42  
% 0.19/0.42  % ------ QBF Options
% 0.19/0.42  
% 0.19/0.42  % --qbf_mode                            false
% 0.19/0.42  % --qbf_elim_univ                       true
% 0.19/0.42  % --qbf_sk_in                           true
% 0.19/0.42  % --qbf_pred_elim                       true
% 0.19/0.42  % --qbf_split                           32
% 0.19/0.42  
% 0.19/0.42  % ------ BMC1 Options
% 0.19/0.42  
% 0.19/0.42  % --bmc1_incremental                    false
% 0.19/0.42  % --bmc1_axioms                         reachable_all
% 0.19/0.42  % --bmc1_min_bound                      0
% 0.19/0.42  % --bmc1_max_bound                      -1
% 0.19/0.42  % --bmc1_max_bound_default              -1
% 0.19/0.42  % --bmc1_symbol_reachability            true
% 0.19/0.42  % --bmc1_property_lemmas                false
% 0.19/0.42  % --bmc1_k_induction                    false
% 0.19/0.42  % --bmc1_non_equiv_states               false
% 0.19/0.42  % --bmc1_deadlock                       false
% 0.19/0.42  % --bmc1_ucm                            false
% 0.19/0.42  % --bmc1_add_unsat_core                 none
% 0.19/0.42  % --bmc1_unsat_core_children            false
% 0.19/0.42  % --bmc1_unsat_core_extrapolate_axioms  false
% 0.19/0.42  % --bmc1_out_stat                       full
% 0.19/0.42  % --bmc1_ground_init                    false
% 0.19/0.42  % --bmc1_pre_inst_next_state            false
% 0.19/0.42  % --bmc1_pre_inst_state                 false
% 0.19/0.42  % --bmc1_pre_inst_reach_state           false
% 0.19/0.42  % --bmc1_out_unsat_core                 false
% 0.19/0.42  % --bmc1_aig_witness_out                false
% 0.19/0.42  % --bmc1_verbose                        false
% 0.19/0.42  % --bmc1_dump_clauses_tptp              false
% 0.19/0.52  % --bmc1_dump_unsat_core_tptp           false
% 0.19/0.52  % --bmc1_dump_file                      -
% 0.19/0.52  % --bmc1_ucm_expand_uc_limit            128
% 0.19/0.52  % --bmc1_ucm_n_expand_iterations        6
% 0.19/0.52  % --bmc1_ucm_extend_mode                1
% 0.19/0.52  % --bmc1_ucm_init_mode                  2
% 0.19/0.52  % --bmc1_ucm_cone_mode                  none
% 0.19/0.52  % --bmc1_ucm_reduced_relation_type      0
% 0.19/0.52  % --bmc1_ucm_relax_model                4
% 0.19/0.52  % --bmc1_ucm_full_tr_after_sat          true
% 0.19/0.52  % --bmc1_ucm_expand_neg_assumptions     false
% 0.19/0.52  % --bmc1_ucm_layered_model              none
% 0.19/0.52  % --bmc1_ucm_max_lemma_size             10
% 0.19/0.52  
% 0.19/0.52  % ------ AIG Options
% 0.19/0.52  
% 0.19/0.52  % --aig_mode                            false
% 0.19/0.52  
% 0.19/0.52  % ------ Instantiation Options
% 0.19/0.52  
% 0.19/0.52  % --instantiation_flag                  true
% 0.19/0.52  % --inst_lit_sel                        [+prop;+sign;+ground;-num_var;-num_symb]
% 0.19/0.52  % --inst_solver_per_active              750
% 0.19/0.52  % --inst_solver_calls_frac              0.5
% 0.19/0.52  % --inst_passive_queue_type             priority_queues
% 0.19/0.52  % --inst_passive_queues                 [[-conj_dist;+conj_symb;-num_var];[+age;-num_symb]]
% 0.33/0.52  % --inst_passive_queues_freq            [25;2]
% 0.33/0.52  % --inst_dismatching                    true
% 0.33/0.52  % --inst_eager_unprocessed_to_passive   true
% 0.33/0.52  % --inst_prop_sim_given                 true
% 0.33/0.52  % --inst_prop_sim_new                   false
% 0.33/0.52  % --inst_orphan_elimination             true
% 0.33/0.52  % --inst_learning_loop_flag             true
% 0.33/0.52  % --inst_learning_start                 3000
% 0.33/0.52  % --inst_learning_factor                2
% 0.33/0.52  % --inst_start_prop_sim_after_learn     3
% 0.33/0.52  % --inst_sel_renew                      solver
% 0.33/0.52  % --inst_lit_activity_flag              true
% 0.33/0.52  % --inst_out_proof                      true
% 0.33/0.52  
% 0.33/0.52  % ------ Resolution Options
% 0.33/0.52  
% 0.33/0.52  % --resolution_flag                     true
% 0.33/0.52  % --res_lit_sel                         kbo_max
% 0.33/0.52  % --res_to_prop_solver                  none
% 0.33/0.52  % --res_prop_simpl_new                  false
% 0.33/0.52  % --res_prop_simpl_given                false
% 0.33/0.52  % --res_passive_queue_type              priority_queues
% 0.33/0.52  % --res_passive_queues                  [[-conj_dist;+conj_symb;-num_symb];[+age;-num_symb]]
% 0.33/0.52  % --res_passive_queues_freq             [15;5]
% 0.33/0.52  % --res_forward_subs                    full
% 0.33/0.52  % --res_backward_subs                   full
% 0.33/0.52  % --res_forward_subs_resolution         true
% 0.33/0.52  % --res_backward_subs_resolution        true
% 0.33/0.52  % --res_orphan_elimination              false
% 0.33/0.52  % --res_time_limit                      1000.
% 0.33/0.52  % --res_out_proof                       true
% 0.33/0.52  % --proof_out_file                      /export/starexec/sandbox2/tmp/iprover_proof_ab6f87.s
% 0.33/0.52  % --modulo                              true
% 0.33/0.52  
% 0.33/0.52  % ------ Combination Options
% 0.33/0.52  
% 0.33/0.52  % --comb_res_mult                       1000
% 0.33/0.52  % --comb_inst_mult                      300
% 0.33/0.52  % ------ 
% 0.33/0.52  
% 0.33/0.52  % ------ Parsing...% successful
% 0.33/0.52  
% 0.33/0.52  % ------ Preprocessing... gs_s  sp: 0 0s  gs_e  snvd_s sp: 0 0s snvd_e  pe_s  pe_e  snvd_s sp: 0 0s snvd_e % 
% 0.33/0.52  
% 0.33/0.52  % ------ Proving...
% 0.33/0.52  % ------ Problem Properties 
% 0.33/0.52  
% 0.33/0.52  % 
% 0.33/0.52  % EPR                                   false
% 0.33/0.52  % Horn                                  true
% 0.33/0.52  % Has equality                          true
% 0.33/0.52  
% 0.33/0.52  % % ------ Input Options Time Limit: Unbounded
% 0.33/0.52  
% 0.33/0.52  
% 0.33/0.52  Compiling...
% 0.33/0.52  Loading plugin: done.
% 0.33/0.52  % % ------ Current options:
% 0.33/0.52  
% 0.33/0.52  % ------ Input Options
% 0.33/0.52  
% 0.33/0.52  % --out_options                         all
% 0.33/0.52  % --tptp_safe_out                       true
% 0.33/0.52  % --problem_path                        ""
% 0.33/0.52  % --include_path                        ""
% 0.33/0.52  % --clausifier                          .//eprover
% 0.33/0.52  % --clausifier_options                  --tstp-format  
% 0.33/0.52  % --stdin                               false
% 0.33/0.52  % --dbg_backtrace                       false
% 0.33/0.52  % --dbg_dump_prop_clauses               false
% 0.33/0.52  % --dbg_dump_prop_clauses_file          -
% 0.33/0.52  % --dbg_out_stat                        false
% 0.33/0.52  
% 0.33/0.52  % ------ General Options
% 0.33/0.52  
% 0.33/0.52  % --fof                                 false
% 0.33/0.52  % --time_out_real                       150.
% 0.33/0.52  % --time_out_prep_mult                  0.2
% 0.33/0.52  % --time_out_virtual                    -1.
% 0.33/0.52  % --schedule                            none
% 0.33/0.52  % --ground_splitting                    input
% 0.33/0.52  % --splitting_nvd                       16
% 0.33/0.52  % --non_eq_to_eq                        false
% 0.33/0.52  % --prep_gs_sim                         true
% 0.33/0.52  % --prep_unflatten                      false
% 0.33/0.52  % --prep_res_sim                        true
% 0.33/0.52  % --prep_upred                          true
% 0.33/0.52  % --res_sim_input                       true
% 0.33/0.52  % --clause_weak_htbl                    true
% 0.33/0.52  % --gc_record_bc_elim                   false
% 0.33/0.52  % --symbol_type_check                   false
% 0.33/0.52  % --clausify_out                        false
% 0.33/0.52  % --large_theory_mode                   false
% 0.33/0.52  % --prep_sem_filter                     none
% 0.33/0.52  % --prep_sem_filter_out                 false
% 0.33/0.52  % --preprocessed_out                    false
% 0.33/0.52  % --sub_typing                          false
% 0.33/0.52  % --brand_transform                     false
% 0.33/0.52  % --pure_diseq_elim                     true
% 0.33/0.52  % --min_unsat_core                      false
% 0.33/0.52  % --pred_elim                           true
% 0.33/0.52  % --add_important_lit                   false
% 0.33/0.52  % --soft_assumptions                    false
% 0.33/0.52  % --reset_solvers                       false
% 0.33/0.52  % --bc_imp_inh                          []
% 0.33/0.52  % --conj_cone_tolerance                 1.5
% 0.33/0.52  % --prolific_symb_bound                 500
% 0.33/0.52  % --lt_threshold                        2000
% 0.33/0.52  
% 0.33/0.52  % ------ SAT Options
% 0.33/0.52  
% 0.33/0.52  % --sat_mode                            false
% 0.33/0.52  % --sat_fm_restart_options              ""
% 0.33/0.52  % --sat_gr_def                          false
% 0.33/0.52  % --sat_epr_types                       true
% 0.33/0.52  % --sat_non_cyclic_types                false
% 0.33/0.52  % --sat_finite_models                   false
% 0.33/0.52  % --sat_fm_lemmas                       false
% 0.33/0.52  % --sat_fm_prep                         false
% 0.33/0.52  % --sat_fm_uc_incr                      true
% 0.33/0.52  % --sat_out_model                       small
% 0.33/0.52  % --sat_out_clauses                     false
% 0.33/0.52  
% 0.33/0.52  % ------ QBF Options
% 0.33/0.52  
% 0.33/0.52  % --qbf_mode                            false
% 0.33/0.52  % --qbf_elim_univ                       true
% 0.33/0.52  % --qbf_sk_in                           true
% 0.33/0.52  % --qbf_pred_elim                       true
% 0.33/0.52  % --qbf_split                           32
% 0.33/0.52  
% 0.33/0.52  % ------ BMC1 Options
% 0.33/0.52  
% 0.33/0.52  % --bmc1_incremental                    false
% 0.33/0.52  % --bmc1_axioms                         reachable_all
% 0.33/0.52  % --bmc1_min_bound                      0
% 0.33/0.52  % --bmc1_max_bound                      -1
% 0.33/0.52  % --bmc1_max_bound_default              -1
% 0.33/0.52  % --bmc1_symbol_reachability            true
% 0.33/0.52  % --bmc1_property_lemmas                false
% 0.33/0.52  % --bmc1_k_induction                    false
% 0.33/0.52  % --bmc1_non_equiv_states               false
% 0.33/0.52  % --bmc1_deadlock                       false
% 0.33/0.52  % --bmc1_ucm                            false
% 0.33/0.52  % --bmc1_add_unsat_core                 none
% 0.33/0.52  % --bmc1_unsat_core_children            false
% 0.33/0.52  % --bmc1_unsat_core_extrapolate_axioms  false
% 0.33/0.52  % --bmc1_out_stat                       full
% 0.33/0.52  % --bmc1_ground_init                    false
% 0.33/0.52  % --bmc1_pre_inst_next_state            false
% 0.33/0.52  % --bmc1_pre_inst_state                 false
% 0.33/0.52  % --bmc1_pre_inst_reach_state           false
% 0.33/0.52  % --bmc1_out_unsat_core                 false
% 0.33/0.52  % --bmc1_aig_witness_out                false
% 0.33/0.52  % --bmc1_verbose                        false
% 0.33/0.52  % --bmc1_dump_clauses_tptp              false
% 0.33/0.52  % --bmc1_dump_unsat_core_tptp           false
% 0.33/0.52  % --bmc1_dump_file                      -
% 0.33/0.52  % --bmc1_ucm_expand_uc_limit            128
% 0.33/0.52  % --bmc1_ucm_n_expand_iterations        6
% 0.33/0.52  % --bmc1_ucm_extend_mode                1
% 0.33/0.52  % --bmc1_ucm_init_mode                  2
% 0.33/0.52  % --bmc1_ucm_cone_mode                  none
% 0.33/0.52  % --bmc1_ucm_reduced_relation_type      0
% 0.33/0.52  % --bmc1_ucm_relax_model                4
% 0.33/0.52  % --bmc1_ucm_full_tr_after_sat          true
% 0.33/0.52  % --bmc1_ucm_expand_neg_assumptions     false
% 0.33/0.52  % --bmc1_ucm_layered_model              none
% 0.33/0.52  % --bmc1_ucm_max_lemma_size             10
% 0.33/0.52  
% 0.33/0.52  % ------ AIG Options
% 0.33/0.52  
% 0.33/0.52  % --aig_mode                            false
% 0.33/0.52  
% 0.33/0.52  % ------ Instantiation Options
% 0.33/0.52  
% 0.33/0.52  % --instantiation_flag                  true
% 0.33/0.52  % --inst_lit_sel                        [+prop;+sign;+ground;-num_var;-num_symb]
% 0.33/0.52  % --inst_solver_per_active              750
% 0.33/0.52  % --inst_solver_calls_frac              0.5
% 0.33/0.52  % --inst_passive_queue_type             priority_queues
% 0.33/0.52  % --inst_passive_queues                 [[-conj_dist;+conj_symb;-num_var];[+age;-num_symb]]
% 0.33/0.52  % --inst_passive_queues_freq            [25;2]
% 0.33/0.52  % --inst_dismatching                    true
% 0.33/0.52  % --inst_eager_unprocessed_to_passive   true
% 0.93/1.12  % --inst_prop_sim_given                 true
% 0.93/1.12  % --inst_prop_sim_new                   false
% 0.93/1.12  % --inst_orphan_elimination             true
% 0.93/1.12  % --inst_learning_loop_flag             true
% 0.93/1.12  % --inst_learning_start                 3000
% 0.93/1.12  % --inst_learning_factor                2
% 0.93/1.12  % --inst_start_prop_sim_after_learn     3
% 0.93/1.12  % --inst_sel_renew                      solver
% 0.93/1.12  % --inst_lit_activity_flag              true
% 0.93/1.12  % --inst_out_proof                      true
% 0.93/1.12  
% 0.93/1.12  % ------ Resolution Options
% 0.93/1.12  
% 0.93/1.12  % --resolution_flag                     true
% 0.93/1.12  % --res_lit_sel                         kbo_max
% 0.93/1.12  % --res_to_prop_solver                  none
% 0.93/1.12  % --res_prop_simpl_new                  false
% 0.93/1.12  % --res_prop_simpl_given                false
% 0.93/1.12  % --res_passive_queue_type              priority_queues
% 0.93/1.12  % --res_passive_queues                  [[-conj_dist;+conj_symb;-num_symb];[+age;-num_symb]]
% 0.93/1.12  % --res_passive_queues_freq             [15;5]
% 0.93/1.12  % --res_forward_subs                    full
% 0.93/1.12  % --res_backward_subs                   full
% 0.93/1.12  % --res_forward_subs_resolution         true
% 0.93/1.13  % --res_backward_subs_resolution        true
% 0.93/1.13  % --res_orphan_elimination              false
% 0.93/1.13  % --res_time_limit                      1000.
% 0.93/1.13  % --res_out_proof                       true
% 0.93/1.13  % --proof_out_file                      /export/starexec/sandbox2/tmp/iprover_proof_ab6f87.s
% 0.93/1.13  % --modulo                              true
% 0.93/1.13  
% 0.93/1.13  % ------ Combination Options
% 0.93/1.13  
% 0.93/1.13  % --comb_res_mult                       1000
% 0.93/1.13  % --comb_inst_mult                      300
% 0.93/1.13  % ------ 
% 0.93/1.13  
% 0.93/1.13  
% 0.93/1.13  
% 0.93/1.13  % ------ Proving...
% 0.93/1.13  % 
% 0.93/1.13  
% 0.93/1.13  
% 0.93/1.13  % ------                             Statistics
% 0.93/1.13  
% 0.93/1.13  % ------ General
% 0.93/1.13  
% 0.93/1.13  % num_of_input_clauses:                 12
% 0.93/1.13  % num_of_input_neg_conjectures:         1
% 0.93/1.13  % num_of_splits:                        0
% 0.93/1.13  % num_of_split_atoms:                   0
% 0.93/1.13  % num_of_sem_filtered_clauses:          0
% 0.93/1.13  % num_of_subtypes:                      0
% 0.93/1.13  % monotx_restored_types:                0
% 0.93/1.13  % sat_num_of_epr_types:                 0
% 0.93/1.13  % sat_num_of_non_cyclic_types:          0
% 0.93/1.13  % sat_guarded_non_collapsed_types:      0
% 0.93/1.13  % is_epr:                               0
% 0.93/1.13  % is_horn:                              1
% 0.93/1.13  % has_eq:                               1
% 0.93/1.13  % num_pure_diseq_elim:                  0
% 0.93/1.13  % simp_replaced_by:                     0
% 0.93/1.13  % res_preprocessed:                     2
% 0.93/1.13  % prep_upred:                           0
% 0.93/1.13  % prep_unflattend:                      0
% 0.93/1.13  % pred_elim_cands:                      0
% 0.93/1.13  % pred_elim:                            0
% 0.93/1.13  % pred_elim_cl:                         0
% 0.93/1.13  % pred_elim_cycles:                     0
% 0.93/1.13  % forced_gc_time:                       0
% 0.93/1.13  % gc_basic_clause_elim:                 0
% 0.93/1.13  % parsing_time:                         0.
% 0.93/1.13  % sem_filter_time:                      0.
% 0.93/1.13  % pred_elim_time:                       0.
% 0.93/1.13  % out_proof_time:                       0.001
% 0.93/1.13  % monotx_time:                          0.
% 0.93/1.13  % subtype_inf_time:                     0.
% 0.93/1.13  % unif_index_cands_time:                0.001
% 0.93/1.13  % unif_index_add_time:                  0.002
% 0.93/1.13  % total_time:                           0.721
% 0.93/1.13  % num_of_symbols:                       33
% 0.93/1.13  % num_of_terms:                         8570
% 0.93/1.13  
% 0.93/1.13  % ------ Propositional Solver
% 0.93/1.13  
% 0.93/1.13  % prop_solver_calls:                    9
% 0.93/1.13  % prop_fast_solver_calls:               3
% 0.93/1.13  % prop_num_of_clauses:                  238
% 0.93/1.13  % prop_preprocess_simplified:           301
% 0.93/1.13  % prop_fo_subsumed:                     0
% 0.93/1.13  % prop_solver_time:                     0.
% 0.93/1.13  % prop_fast_solver_time:                0.
% 0.93/1.13  % prop_unsat_core_time:                 0.
% 0.93/1.13  
% 0.93/1.13  % ------ QBF 
% 0.93/1.13  
% 0.93/1.13  % qbf_q_res:                            0
% 0.93/1.13  % qbf_num_tautologies:                  0
% 0.93/1.13  % qbf_prep_cycles:                      0
% 0.93/1.13  
% 0.93/1.13  % ------ BMC1
% 0.93/1.13  
% 0.93/1.13  % bmc1_current_bound:                   -1
% 0.93/1.13  % bmc1_last_solved_bound:               -1
% 0.93/1.13  % bmc1_unsat_core_size:                 -1
% 0.93/1.13  % bmc1_unsat_core_parents_size:         -1
% 0.93/1.13  % bmc1_merge_next_fun:                  0
% 0.93/1.13  % bmc1_unsat_core_clauses_time:         0.
% 0.93/1.13  
% 0.93/1.13  % ------ Instantiation
% 0.93/1.13  
% 0.93/1.13  % inst_num_of_clauses:                  131
% 0.93/1.13  % inst_num_in_passive:                  50
% 0.93/1.13  % inst_num_in_active:                   78
% 0.93/1.13  % inst_num_in_unprocessed:              1
% 0.93/1.13  % inst_num_of_loops:                    105
% 0.93/1.13  % inst_num_of_learning_restarts:        0
% 0.93/1.13  % inst_num_moves_active_passive:        21
% 0.93/1.13  % inst_lit_activity:                    24
% 0.93/1.13  % inst_lit_activity_moves:              0
% 0.93/1.13  % inst_num_tautologies:                 0
% 0.93/1.13  % inst_num_prop_implied:                0
% 0.93/1.13  % inst_num_existing_simplified:         0
% 0.93/1.13  % inst_num_eq_res_simplified:           0
% 0.93/1.13  % inst_num_child_elim:                  0
% 0.93/1.13  % inst_num_of_dismatching_blockings:    52
% 0.93/1.13  % inst_num_of_non_proper_insts:         152
% 0.93/1.13  % inst_num_of_duplicates:               91
% 0.93/1.13  % inst_inst_num_from_inst_to_res:       0
% 0.93/1.13  % inst_dismatching_checking_time:       0.
% 0.93/1.13  
% 0.93/1.13  % ------ Resolution
% 0.93/1.13  
% 0.93/1.13  % res_num_of_clauses:                   1630
% 0.93/1.13  % res_num_in_passive:                   658
% 0.93/1.13  % res_num_in_active:                    966
% 0.93/1.13  % res_num_of_loops:                     1000
% 0.93/1.13  % res_forward_subset_subsumed:          120
% 0.93/1.13  % res_backward_subset_subsumed:         0
% 0.93/1.13  % res_forward_subsumed:                 42
% 0.93/1.13  % res_backward_subsumed:                0
% 0.93/1.13  % res_forward_subsumption_resolution:   0
% 0.93/1.13  % res_backward_subsumption_resolution:  0
% 0.93/1.13  % res_clause_to_clause_subsumption:     13229
% 0.93/1.13  % res_orphan_elimination:               0
% 0.93/1.13  % res_tautology_del:                    0
% 0.93/1.13  % res_num_eq_res_simplified:            0
% 0.93/1.13  % res_num_sel_changes:                  0
% 0.93/1.13  % res_moves_from_active_to_pass:        0
% 0.93/1.13  
% 0.93/1.13  % Status Unsatisfiable
% 0.93/1.13  % SZS status Unsatisfiable
% 0.93/1.13  % SZS output start CNFRefutation
% See solution above
%------------------------------------------------------------------------------