TSTP Solution File: LCL111-2 by Metis---2.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Metis---2.4
% Problem  : LCL111-2 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : metis --show proof --show saturation %s

% Computer : n023.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 12:49:38 EDT 2022

% Result   : Unsatisfiable 0.89s 1.08s
% Output   : CNFRefutation 0.92s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :   15
% Syntax   : Number of clauses     :   49 (  29 unt;   0 nHn;  24 RR)
%            Number of literals    :   79 (  78 equ;  32 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    3 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :    5 (   5 usr;   4 con; 0-2 aty)
%            Number of variables   :  116 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(wajsberg_1,axiom,
    implies(truth,X) = X ).

cnf(wajsberg_2,axiom,
    implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))) = truth ).

cnf(prove_mv_25,negated_conjecture,
    implies(implies(x,y),implies(implies(z,x),implies(z,y))) != truth ).

cnf(refute_0_0,plain,
    implies(implies(X,implies(implies(X,X_15),X_15)),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) = truth,
    inference(subst,[],[wajsberg_2:[bind(Y,$fot(implies(implies(X,X_15),X_15)))]]) ).

cnf(refute_0_1,plain,
    implies(implies(truth,X_10),implies(implies(X_10,X_11),implies(truth,X_11))) = truth,
    inference(subst,[],[wajsberg_2:[bind(X,$fot(truth)),bind(Y,$fot(X_10)),bind(Z,$fot(X_11))]]) ).

cnf(refute_0_2,plain,
    implies(truth,X_11) = X_11,
    inference(subst,[],[wajsberg_1:[bind(X,$fot(X_11))]]) ).

cnf(refute_0_3,plain,
    ( implies(implies(truth,X_10),implies(implies(X_10,X_11),implies(truth,X_11))) != truth
    | implies(truth,X_11) != X_11
    | implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),implies(truth,X_11))),truth) ),[0,1,1],$fot(X_11)]]) ).

cnf(refute_0_4,plain,
    ( implies(implies(truth,X_10),implies(implies(X_10,X_11),implies(truth,X_11))) != truth
    | implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = truth ),
    inference(resolve,[$cnf( $equal(implies(truth,X_11),X_11) )],[refute_0_2,refute_0_3]) ).

cnf(refute_0_5,plain,
    implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = truth,
    inference(resolve,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),implies(truth,X_11))),truth) )],[refute_0_1,refute_0_4]) ).

cnf(refute_0_6,plain,
    implies(truth,X_10) = X_10,
    inference(subst,[],[wajsberg_1:[bind(X,$fot(X_10))]]) ).

cnf(refute_0_7,plain,
    implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),
    introduced(tautology,[refl,[$fot(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)))]]) ).

cnf(refute_0_8,plain,
    ( implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) != implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11))
    | implies(truth,X_10) != X_10
    | implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = implies(X_10,implies(implies(X_10,X_11),X_11)) ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11))) ),[1,0],$fot(X_10)]]) ).

cnf(refute_0_9,plain,
    ( implies(truth,X_10) != X_10
    | implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = implies(X_10,implies(implies(X_10,X_11),X_11)) ),
    inference(resolve,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11))) )],[refute_0_7,refute_0_8]) ).

cnf(refute_0_10,plain,
    implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) = implies(X_10,implies(implies(X_10,X_11),X_11)),
    inference(resolve,[$cnf( $equal(implies(truth,X_10),X_10) )],[refute_0_6,refute_0_9]) ).

cnf(refute_0_11,plain,
    ( implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) != implies(X_10,implies(implies(X_10,X_11),X_11))
    | implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) != truth
    | implies(X_10,implies(implies(X_10,X_11),X_11)) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),truth) ),[0],$fot(implies(X_10,implies(implies(X_10,X_11),X_11)))]]) ).

cnf(refute_0_12,plain,
    ( implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)) != truth
    | implies(X_10,implies(implies(X_10,X_11),X_11)) = truth ),
    inference(resolve,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),implies(X_10,implies(implies(X_10,X_11),X_11))) )],[refute_0_10,refute_0_11]) ).

cnf(refute_0_13,plain,
    implies(X_10,implies(implies(X_10,X_11),X_11)) = truth,
    inference(resolve,[$cnf( $equal(implies(implies(truth,X_10),implies(implies(X_10,X_11),X_11)),truth) )],[refute_0_5,refute_0_12]) ).

cnf(refute_0_14,plain,
    implies(X,implies(implies(X,X_15),X_15)) = truth,
    inference(subst,[],[refute_0_13:[bind(X_10,$fot(X)),bind(X_11,$fot(X_15))]]) ).

cnf(refute_0_15,plain,
    ( implies(X,implies(implies(X,X_15),X_15)) != truth
    | implies(implies(X,implies(implies(X,X_15),X_15)),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) != truth
    | implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(X,implies(implies(X,X_15),X_15)),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))),truth) ),[0,0],$fot(truth)]]) ).

cnf(refute_0_16,plain,
    ( implies(implies(X,implies(implies(X,X_15),X_15)),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) != truth
    | implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) = truth ),
    inference(resolve,[$cnf( $equal(implies(X,implies(implies(X,X_15),X_15)),truth) )],[refute_0_14,refute_0_15]) ).

cnf(refute_0_17,plain,
    implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) = truth,
    inference(resolve,[$cnf( $equal(implies(implies(X,implies(implies(X,X_15),X_15)),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))),truth) )],[refute_0_0,refute_0_16]) ).

cnf(refute_0_18,plain,
    implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) = implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z)),
    inference(subst,[],[wajsberg_1:[bind(X,$fot(implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))))]]) ).

cnf(refute_0_19,plain,
    ( implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) != implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))
    | implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) != truth
    | implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z)) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))),truth) ),[0],$fot(implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z)))]]) ).

cnf(refute_0_20,plain,
    ( implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) != truth
    | implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z)) = truth ),
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))),implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))) )],[refute_0_18,refute_0_19]) ).

cnf(refute_0_21,plain,
    implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z)) = truth,
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X,X_15),X_15),Z),implies(X,Z))),truth) )],[refute_0_17,refute_0_20]) ).

cnf(refute_0_22,plain,
    implies(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) = truth,
    inference(subst,[],[refute_0_21:[bind(X,$fot(implies(X_109,X_110))),bind(Z,$fot(implies(implies(X_111,X_109),implies(X_111,X_110)))),bind(X_15,$fot(implies(X_111,X_110)))]]) ).

cnf(refute_0_23,plain,
    implies(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) = truth,
    inference(subst,[],[wajsberg_2:[bind(X,$fot(implies(X_9,X_10))),bind(Y,$fot(implies(implies(X_10,X_11),implies(X_9,X_11))))]]) ).

cnf(refute_0_24,plain,
    implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))) = truth,
    inference(subst,[],[wajsberg_2:[bind(X,$fot(X_9)),bind(Y,$fot(X_10)),bind(Z,$fot(X_11))]]) ).

cnf(refute_0_25,plain,
    ( implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))) != truth
    | implies(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) != truth
    | implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))),truth) ),[0,0],$fot(truth)]]) ).

cnf(refute_0_26,plain,
    ( implies(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) != truth
    | implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) = truth ),
    inference(resolve,[$cnf( $equal(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),truth) )],[refute_0_24,refute_0_25]) ).

cnf(refute_0_27,plain,
    implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) = truth,
    inference(resolve,[$cnf( $equal(implies(implies(implies(X_9,X_10),implies(implies(X_10,X_11),implies(X_9,X_11))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))),truth) )],[refute_0_23,refute_0_26]) ).

cnf(refute_0_28,plain,
    implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) = implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z)),
    inference(subst,[],[wajsberg_1:[bind(X,$fot(implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))))]]) ).

cnf(refute_0_29,plain,
    ( implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) != implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))
    | implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) != truth
    | implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z)) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))),truth) ),[0],$fot(implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z)))]]) ).

cnf(refute_0_30,plain,
    ( implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) != truth
    | implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z)) = truth ),
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))),implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))) )],[refute_0_28,refute_0_29]) ).

cnf(refute_0_31,plain,
    implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z)) = truth,
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(implies(implies(X_10,X_11),implies(X_9,X_11)),Z),implies(implies(X_9,X_10),Z))),truth) )],[refute_0_27,refute_0_30]) ).

cnf(refute_0_32,plain,
    implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))) = truth,
    inference(subst,[],[refute_0_31:[bind(Z,$fot(implies(X_111,X_110))),bind(X_10,$fot(X_109)),bind(X_11,$fot(X_110)),bind(X_9,$fot(X_111))]]) ).

cnf(refute_0_33,plain,
    ( implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))) != truth
    | implies(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) != truth
    | implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))),truth) ),[0,0],$fot(truth)]]) ).

cnf(refute_0_34,plain,
    ( implies(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) != truth
    | implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) = truth ),
    inference(resolve,[$cnf( $equal(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),truth) )],[refute_0_32,refute_0_33]) ).

cnf(refute_0_35,plain,
    implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) = truth,
    inference(resolve,[$cnf( $equal(implies(implies(implies(implies(implies(X_109,X_110),implies(X_111,X_110)),implies(X_111,X_110)),implies(implies(X_111,X_109),implies(X_111,X_110))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))),truth) )],[refute_0_22,refute_0_34]) ).

cnf(refute_0_36,plain,
    implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) = implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110))),
    inference(subst,[],[wajsberg_1:[bind(X,$fot(implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))))]]) ).

cnf(refute_0_37,plain,
    ( implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) != implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))
    | implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) != truth
    | implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110))) = truth ),
    introduced(tautology,[equality,[$cnf( $equal(implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))),truth) ),[0],$fot(implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110))))]]) ).

cnf(refute_0_38,plain,
    ( implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) != truth
    | implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110))) = truth ),
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))),implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))) )],[refute_0_36,refute_0_37]) ).

cnf(refute_0_39,plain,
    implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110))) = truth,
    inference(resolve,[$cnf( $equal(implies(truth,implies(implies(X_109,X_110),implies(implies(X_111,X_109),implies(X_111,X_110)))),truth) )],[refute_0_35,refute_0_38]) ).

cnf(refute_0_40,plain,
    implies(implies(x,y),implies(implies(z,x),implies(z,y))) = truth,
    inference(subst,[],[refute_0_39:[bind(X_109,$fot(x)),bind(X_110,$fot(y)),bind(X_111,$fot(z))]]) ).

cnf(refute_0_41,plain,
    ( implies(implies(x,y),implies(implies(z,x),implies(z,y))) != truth
    | truth != truth
    | implies(implies(x,y),implies(implies(z,x),implies(z,y))) = truth ),
    introduced(tautology,[equality,[$cnf( ~ $equal(implies(implies(x,y),implies(implies(z,x),implies(z,y))),truth) ),[0],$fot(truth)]]) ).

cnf(refute_0_42,plain,
    ( truth != truth
    | implies(implies(x,y),implies(implies(z,x),implies(z,y))) = truth ),
    inference(resolve,[$cnf( $equal(implies(implies(x,y),implies(implies(z,x),implies(z,y))),truth) )],[refute_0_40,refute_0_41]) ).

cnf(refute_0_43,plain,
    truth != truth,
    inference(resolve,[$cnf( $equal(implies(implies(x,y),implies(implies(z,x),implies(z,y))),truth) )],[refute_0_42,prove_mv_25]) ).

cnf(refute_0_44,plain,
    truth = truth,
    introduced(tautology,[refl,[$fot(truth)]]) ).

cnf(refute_0_45,plain,
    $false,
    inference(resolve,[$cnf( $equal(truth,truth) )],[refute_0_44,refute_0_43]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : LCL111-2 : TPTP v8.1.0. Released v1.0.0.
% 0.07/0.13  % Command  : metis --show proof --show saturation %s
% 0.12/0.34  % Computer : n023.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit : 300
% 0.12/0.34  % WCLimit  : 600
% 0.12/0.34  % DateTime : Mon Jul  4 12:30:57 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 0.12/0.34  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.89/1.08  % SZS status Unsatisfiable for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.89/1.08  
% 0.89/1.08  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 0.92/1.09  
%------------------------------------------------------------------------------