%------------------------------------------------------------------------------
% File : Drodi---4.1.1
% Problem : SEU059+1 : TPTP v9.3.1. Bugfixed v4.0.0.
% Transfm : none
% Format : tptp:raw
% Command : drodi -timeout(300) /export/starexec/sandbox/benchmark/theBenchmark.p
% Computer : n015.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8046.5625MB
% OS : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Sep 24 02:19:10 PM UTC 2026
% Result : Theorem 1.02s 0.61s
% Output : CNFRefutation 1.02s
% Verified :
% SZS Type : Refutation
% Derivation depth : 10
% Number of leaves : 22
% Syntax : Number of formulae : 126 ( 7 unt; 17 def)
% Number of atoms : 468 ( 42 equ)
% Maximal formula atoms : 16 ( 3 avg)
% Number of connectives : 593 ( 251 ~; 272 |; 42 &)
% ( 23 <=>; 5 =>; 0 <=; 0 <~>)
% Maximal formula depth : 13 ( 5 avg)
% Maximal term depth : 5 ( 1 avg)
% Number of predicates : 24 ( 22 usr; 18 prp; 0-2 aty)
% Number of functors : 9 ( 9 usr; 3 con; 0-3 aty)
% Number of variables : 155 ( 145 !; 10 ?)
% Comments :
%------------------------------------------------------------------------------
fof(f1,axiom,
! [A,B] :
( in(A,B)
=> ~ in(B,A) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).
fof(f5,axiom,
! [A] :
( ( function(A)
& relation(A) )
=> ! [B,C] :
( C = relation_inverse_image(A,B)
<=> ! [D] :
( in(D,C)
<=> ( in(apply(A,D),B)
& in(D,relation_dom(A)) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).
fof(f6,axiom,
! [A,B,C] :
( C = set_difference(A,B)
<=> ! [D] :
( in(D,C)
<=> ( ~ in(D,B)
& in(D,A) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).
fof(f26,conjecture,
! [A,B,C] :
( ( function(C)
& relation(C) )
=> relation_inverse_image(C,set_difference(A,B)) = set_difference(relation_inverse_image(C,A),relation_inverse_image(C,B)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).
fof(f27,negated_conjecture,
~ ! [A,B,C] :
( ( function(C)
& relation(C) )
=> relation_inverse_image(C,set_difference(A,B)) = set_difference(relation_inverse_image(C,A),relation_inverse_image(C,B)) ),
inference(negated_conjecture,[status(cth)],[f26]) ).
fof(f29,axiom,
! [A,B] :
( element(A,B)
=> ( in(A,B)
| empty(B) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).
fof(f39,plain,
! [A,B] :
( ~ in(B,A)
| ~ in(A,B) ),
inference(pre_NNF_transformation,[status(thm)],[f1]) ).
fof(f40,plain,
! [X0,X1] :
( ~ in(X1,X0)
| ~ in(X0,X1) ),
inference(cnf_transformation,[status(thm)],[f39]) ).
fof(f49,plain,
! [A] :
( ! [B,C] :
( C = relation_inverse_image(A,B)
<=> ! [D] :
( in(D,C)
<=> ( in(apply(A,D),B)
& in(D,relation_dom(A)) ) ) )
| ~ function(A)
| ~ relation(A) ),
inference(pre_NNF_transformation,[status(thm)],[f5]) ).
fof(f50,plain,
! [A] :
( ! [B,C] :
( ( ? [D] :
( ( ( in(apply(A,D),B)
& in(D,relation_dom(A)) )
| in(D,C) )
& ( ~ in(apply(A,D),B)
| ~ in(D,relation_dom(A))
| ~ in(D,C) ) )
| C = relation_inverse_image(A,B) )
& ( ! [D] :
( ( ~ in(apply(A,D),B)
| ~ in(D,relation_dom(A))
| in(D,C) )
& ( ( in(apply(A,D),B)
& in(D,relation_dom(A)) )
| ~ in(D,C) ) )
| C != relation_inverse_image(A,B) ) )
| ~ function(A)
| ~ relation(A) ),
inference(NNF_transformation,[status(thm)],[f49]) ).
fof(f51,plain,
! [A] :
( ( ! [B,C] :
( ? [D] :
( ( ( in(apply(A,D),B)
& in(D,relation_dom(A)) )
| in(D,C) )
& ( ~ in(apply(A,D),B)
| ~ in(D,relation_dom(A))
| ~ in(D,C) ) )
| C = relation_inverse_image(A,B) )
& ! [B,C] :
( ( ! [D] :
( ~ in(apply(A,D),B)
| ~ in(D,relation_dom(A))
| in(D,C) )
& ! [D] :
( ( in(apply(A,D),B)
& in(D,relation_dom(A)) )
| ~ in(D,C) ) )
| C != relation_inverse_image(A,B) ) )
| ~ function(A)
| ~ relation(A) ),
inference(miniscoping,[status(thm)],[f50]) ).
fof(f52,plain,
! [A] :
( ( ! [B,C] :
( ( ( ( in(apply(A,sK0_skl(C,B,A)),B)
& in(sK0_skl(C,B,A),relation_dom(A)) )
| in(sK0_skl(C,B,A),C) )
& ( ~ in(apply(A,sK0_skl(C,B,A)),B)
| ~ in(sK0_skl(C,B,A),relation_dom(A))
| ~ in(sK0_skl(C,B,A),C) ) )
| C = relation_inverse_image(A,B) )
& ! [B,C] :
( ( ! [D] :
( ~ in(apply(A,D),B)
| ~ in(D,relation_dom(A))
| in(D,C) )
& ! [D] :
( ( in(apply(A,D),B)
& in(D,relation_dom(A)) )
| ~ in(D,C) ) )
| C != relation_inverse_image(A,B) ) )
| ~ function(A)
| ~ relation(A) ),
inference(skolemize,[status(esa),new_symbols(skolem,[sK0_skl]),skolemize(D,sK0_skl(C,B,A))],[f51]) ).
fof(f53,plain,
! [X0,X1,X2,X3] :
( in(X3,relation_dom(X0))
| ~ in(X3,X1)
| X1 != relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f54,plain,
! [X0,X1,X2,X3] :
( in(apply(X0,X3),X2)
| ~ in(X3,X1)
| X1 != relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f55,plain,
! [X0,X1,X2,X3] :
( ~ in(apply(X0,X3),X2)
| ~ in(X3,relation_dom(X0))
| in(X3,X1)
| X1 != relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f56,plain,
! [X0,X1,X2] :
( ~ in(apply(X0,sK0_skl(X1,X2,X0)),X2)
| ~ in(sK0_skl(X1,X2,X0),relation_dom(X0))
| ~ in(sK0_skl(X1,X2,X0),X1)
| X1 = relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f57,plain,
! [X0,X1,X2] :
( in(sK0_skl(X1,X2,X0),relation_dom(X0))
| in(sK0_skl(X1,X2,X0),X1)
| X1 = relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f58,plain,
! [X0,X1,X2] :
( in(apply(X0,sK0_skl(X1,X2,X0)),X2)
| in(sK0_skl(X1,X2,X0),X1)
| X1 = relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(cnf_transformation,[status(thm)],[f52]) ).
fof(f59,plain,
! [A,B,C] :
( ( ? [D] :
( ( ( ~ in(D,B)
& in(D,A) )
| in(D,C) )
& ( in(D,B)
| ~ in(D,A)
| ~ in(D,C) ) )
| C = set_difference(A,B) )
& ( ! [D] :
( ( in(D,B)
| ~ in(D,A)
| in(D,C) )
& ( ( ~ in(D,B)
& in(D,A) )
| ~ in(D,C) ) )
| C != set_difference(A,B) ) ),
inference(NNF_transformation,[status(thm)],[f6]) ).
fof(f60,plain,
( ! [A,B,C] :
( ? [D] :
( ( ( ~ in(D,B)
& in(D,A) )
| in(D,C) )
& ( in(D,B)
| ~ in(D,A)
| ~ in(D,C) ) )
| C = set_difference(A,B) )
& ! [A,B,C] :
( ( ! [D] :
( in(D,B)
| ~ in(D,A)
| in(D,C) )
& ! [D] :
( ( ~ in(D,B)
& in(D,A) )
| ~ in(D,C) ) )
| C != set_difference(A,B) ) ),
inference(miniscoping,[status(thm)],[f59]) ).
fof(f61,plain,
( ! [A,B,C] :
( ( ( ( ~ in(sK1_skl(C,B,A),B)
& in(sK1_skl(C,B,A),A) )
| in(sK1_skl(C,B,A),C) )
& ( in(sK1_skl(C,B,A),B)
| ~ in(sK1_skl(C,B,A),A)
| ~ in(sK1_skl(C,B,A),C) ) )
| C = set_difference(A,B) )
& ! [A,B,C] :
( ( ! [D] :
( in(D,B)
| ~ in(D,A)
| in(D,C) )
& ! [D] :
( ( ~ in(D,B)
& in(D,A) )
| ~ in(D,C) ) )
| C != set_difference(A,B) ) ),
inference(skolemize,[status(esa),new_symbols(skolem,[sK1_skl]),skolemize(D,sK1_skl(C,B,A))],[f60]) ).
fof(f62,plain,
! [X0,X1,X2,X3] :
( in(X3,X1)
| ~ in(X3,X0)
| X0 != set_difference(X1,X2) ),
inference(cnf_transformation,[status(thm)],[f61]) ).
fof(f63,plain,
! [X0,X1,X2,X3] :
( ~ in(X3,X2)
| ~ in(X3,X0)
| X0 != set_difference(X1,X2) ),
inference(cnf_transformation,[status(thm)],[f61]) ).
fof(f64,plain,
! [X0,X1,X2,X3] :
( in(X3,X2)
| ~ in(X3,X1)
| in(X3,X0)
| X0 != set_difference(X1,X2) ),
inference(cnf_transformation,[status(thm)],[f61]) ).
fof(f117,plain,
? [A,B,C] :
( relation_inverse_image(C,set_difference(A,B)) != set_difference(relation_inverse_image(C,A),relation_inverse_image(C,B))
& function(C)
& relation(C) ),
inference(pre_NNF_transformation,[status(thm)],[f27]) ).
fof(f118,plain,
? [C] :
( ? [A,B] : relation_inverse_image(C,set_difference(A,B)) != set_difference(relation_inverse_image(C,A),relation_inverse_image(C,B))
& function(C)
& relation(C) ),
inference(miniscoping,[status(thm)],[f117]) ).
fof(f119,plain,
( relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl)) != set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl))
& function(sK13_skl)
& relation(sK13_skl) ),
inference(skolemize,[status(esa),new_symbols(skolem,[sK13_skl,sK14_skl,sK15_skl]),skolemize(C,sK13_skl),skolemize(A,sK14_skl),skolemize(B,sK15_skl)],[f118]) ).
fof(f120,plain,
relation(sK13_skl),
inference(cnf_transformation,[status(thm)],[f119]) ).
fof(f121,plain,
function(sK13_skl),
inference(cnf_transformation,[status(thm)],[f119]) ).
fof(f122,plain,
relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl)) != set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),
inference(cnf_transformation,[status(thm)],[f119]) ).
fof(f125,plain,
! [A,B] :
( in(A,B)
| empty(B)
| ~ element(A,B) ),
inference(pre_NNF_transformation,[status(thm)],[f29]) ).
fof(f126,plain,
! [X0,X1] :
( in(X0,X1)
| empty(X1)
| ~ element(X0,X1) ),
inference(cnf_transformation,[status(thm)],[f125]) ).
fof(f153,plain,
! [X0,X1,X2] :
( in(X1,relation_dom(X0))
| ~ in(X1,relation_inverse_image(X0,X2))
| ~ function(X0)
| ~ relation(X0) ),
inference(destructive_equality_resolution,[status(thm)],[f53]) ).
fof(f154,plain,
! [X0,X1,X2] :
( in(apply(X0,X1),X2)
| ~ in(X1,relation_inverse_image(X0,X2))
| ~ function(X0)
| ~ relation(X0) ),
inference(destructive_equality_resolution,[status(thm)],[f54]) ).
fof(f155,plain,
! [X0,X1,X2] :
( ~ in(apply(X0,X1),X2)
| ~ in(X1,relation_dom(X0))
| in(X1,relation_inverse_image(X0,X2))
| ~ function(X0)
| ~ relation(X0) ),
inference(destructive_equality_resolution,[status(thm)],[f55]) ).
fof(f156,plain,
! [X0,X1,X2] :
( in(X0,X1)
| ~ in(X0,set_difference(X1,X2)) ),
inference(destructive_equality_resolution,[status(thm)],[f62]) ).
fof(f157,plain,
! [X0,X1,X2] :
( ~ in(X0,X2)
| ~ in(X0,set_difference(X1,X2)) ),
inference(destructive_equality_resolution,[status(thm)],[f63]) ).
fof(f158,plain,
! [X0,X1,X2] :
( in(X0,X2)
| ~ in(X0,X1)
| in(X0,set_difference(X1,X2)) ),
inference(destructive_equality_resolution,[status(thm)],[f64]) ).
fof(f180,plain,
! [X0,X1,X2] :
( ~ in(X1,sK0_skl(X1,X2,X0))
| in(sK0_skl(X1,X2,X0),relation_dom(X0))
| X1 = relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(resolution,[status(thm)],[f57,f40]) ).
fof(f182,plain,
! [X0,X1,X2] :
( ~ in(X1,sK0_skl(X1,X2,X0))
| in(apply(X0,sK0_skl(X1,X2,X0)),X2)
| X1 = relation_inverse_image(X0,X2)
| ~ function(X0)
| ~ relation(X0) ),
inference(resolution,[status(thm)],[f58,f40]) ).
fof(f211,plain,
! [X0,X1,X2,X3] :
( in(apply(X3,sK0_skl(set_difference(X0,X1),X2,X3)),X2)
| set_difference(X0,X1) = relation_inverse_image(X3,X2)
| ~ function(X3)
| ~ relation(X3)
| ~ in(sK0_skl(set_difference(X0,X1),X2,X3),X1) ),
inference(resolution,[status(thm)],[f157,f58]) ).
fof(f215,plain,
! [X0,X1,X2,X3] :
( ~ in(X1,sK0_skl(X1,set_difference(X2,X3),X0))
| X1 = relation_inverse_image(X0,set_difference(X2,X3))
| ~ function(X0)
| ~ relation(X0)
| ~ in(apply(X0,sK0_skl(X1,set_difference(X2,X3),X0)),X3) ),
inference(resolution,[status(thm)],[f157,f182]) ).
fof(f223,plain,
! [X0,X1,X2,X3,X4] :
( ~ in(apply(X4,sK0_skl(set_difference(X0,X1),set_difference(X2,X3),X4)),X3)
| set_difference(X0,X1) = relation_inverse_image(X4,set_difference(X2,X3))
| ~ function(X4)
| ~ relation(X4)
| ~ in(sK0_skl(set_difference(X0,X1),set_difference(X2,X3),X4),X1) ),
inference(resolution,[status(thm)],[f211,f157]) ).
fof(f394,plain,
( ~ in(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl)
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl) ),
inference(resolution,[status(thm)],[f215,f122]) ).
fof(f395,definition,
( sQ2_spl
<=> in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl) ),
introduced(definition,[new_symbols(definition,[sQ2_spl])],[split_symbol_definition]) ).
fof(f397,plain,
( sQ2_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl) ),
inference(component_clause,[status(thm)],[f395]) ).
fof(f398,definition,
( sQ3_spl
<=> relation(sK13_skl) ),
introduced(definition,[new_symbols(definition,[sQ3_spl])],[split_symbol_definition]) ).
fof(f400,plain,
( sQ3_spl
| ~ relation(sK13_skl) ),
inference(component_clause,[status(thm)],[f398]) ).
fof(f401,definition,
( sQ4_spl
<=> function(sK13_skl) ),
introduced(definition,[new_symbols(definition,[sQ4_spl])],[split_symbol_definition]) ).
fof(f403,plain,
( sQ4_spl
| ~ function(sK13_skl) ),
inference(component_clause,[status(thm)],[f401]) ).
fof(f404,definition,
( sQ5_spl
<=> in(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
introduced(definition,[new_symbols(definition,[sQ5_spl])],[split_symbol_definition]) ).
fof(f406,plain,
( sQ5_spl
| ~ in(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
inference(component_clause,[status(thm)],[f404]) ).
fof(f407,plain,
( ~ sQ5_spl
| ~ sQ4_spl
| ~ sQ3_spl
| ~ sQ2_spl ),
inference(split_clause,[status(thm)],[f394,f395,f398,f401,f404]) ).
fof(f419,plain,
( ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,sK15_skl))
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl))
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f56,f122]) ).
fof(f420,definition,
( sQ6_spl
<=> in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl))) ),
introduced(definition,[new_symbols(definition,[sQ6_spl])],[split_symbol_definition]) ).
fof(f421,plain,
( ~ sQ6_spl
| in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl))) ),
inference(component_clause,[status(thm)],[f420]) ).
fof(f422,plain,
( sQ6_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl))) ),
inference(component_clause,[status(thm)],[f420]) ).
fof(f423,definition,
( sQ7_spl
<=> in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl)) ),
introduced(definition,[new_symbols(definition,[sQ7_spl])],[split_symbol_definition]) ).
fof(f424,plain,
( ~ sQ7_spl
| in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl)) ),
inference(component_clause,[status(thm)],[f423]) ).
fof(f425,plain,
( sQ7_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl)) ),
inference(component_clause,[status(thm)],[f423]) ).
fof(f426,definition,
( sQ8_spl
<=> in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,sK15_skl)) ),
introduced(definition,[new_symbols(definition,[sQ8_spl])],[split_symbol_definition]) ).
fof(f427,plain,
( ~ sQ8_spl
| in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,sK15_skl)) ),
inference(component_clause,[status(thm)],[f426]) ).
fof(f428,plain,
( sQ8_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,sK15_skl)) ),
inference(component_clause,[status(thm)],[f426]) ).
fof(f429,plain,
( ~ sQ8_spl
| ~ sQ7_spl
| ~ sQ6_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f419,f398,f401,f420,f423,f426]) ).
fof(f430,plain,
( sQ4_spl
| $false ),
inference(forward_subsumption_resolution,[status(thm)],[f403,f121]) ).
fof(f431,plain,
sQ4_spl,
inference(contradiction_clause,[status(thm)],[f430]) ).
fof(f432,plain,
( sQ3_spl
| $false ),
inference(forward_subsumption_resolution,[status(thm)],[f400,f120]) ).
fof(f433,plain,
sQ3_spl,
inference(contradiction_clause,[status(thm)],[f432]) ).
fof(f434,plain,
( sQ2_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f397,f154]) ).
fof(f436,plain,
( sQ2_spl
| empty(sK15_skl)
| ~ element(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl) ),
inference(resolution,[status(thm)],[f397,f126]) ).
fof(f438,definition,
( sQ9_spl
<=> in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl)) ),
introduced(definition,[new_symbols(definition,[sQ9_spl])],[split_symbol_definition]) ).
fof(f440,plain,
( sQ9_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl)) ),
inference(component_clause,[status(thm)],[f438]) ).
fof(f441,plain,
( sQ2_spl
| ~ sQ9_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f434,f398,f401,f438,f395]) ).
fof(f442,definition,
( sQ10_spl
<=> element(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl) ),
introduced(definition,[new_symbols(definition,[sQ10_spl])],[split_symbol_definition]) ).
fof(f445,definition,
( sQ11_spl
<=> empty(sK15_skl) ),
introduced(definition,[new_symbols(definition,[sQ11_spl])],[split_symbol_definition]) ).
fof(f448,plain,
( sQ2_spl
| sQ11_spl
| ~ sQ10_spl ),
inference(split_clause,[status(thm)],[f436,f442,f445,f395]) ).
fof(f449,plain,
( sQ9_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl)
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f440,f155]) ).
fof(f453,plain,
( sQ9_spl
| ~ sQ2_spl
| ~ sQ7_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f449,f398,f401,f423,f395,f438]) ).
fof(f463,plain,
( sQ7_spl
| ~ in(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl))
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f425,f180]) ).
fof(f464,plain,
! [X0] :
( sQ7_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,X0))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f425,f153]) ).
fof(f471,definition,
( sQ15_spl
<=> set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl)) ),
introduced(definition,[new_symbols(definition,[sQ15_spl])],[split_symbol_definition]) ).
fof(f472,plain,
( ~ sQ15_spl
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl)) ),
inference(component_clause,[status(thm)],[f471]) ).
fof(f476,plain,
( sQ7_spl
| ~ sQ5_spl
| sQ15_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f463,f398,f401,f471,f404,f423]) ).
fof(f477,definition,
! [X0] :
( sQ16_spl
<=> ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,X0)) ),
introduced(definition,[new_symbols(definition,[sQ16_spl])],[split_symbol_definition]) ).
fof(f478,plain,
! [X0] :
( ~ sQ16_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,X0)) ),
inference(component_clause,[status(thm)],[f477]) ).
fof(f480,plain,
( sQ7_spl
| sQ16_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f464,f398,f401,f477,f423]) ).
fof(f488,plain,
( ~ sQ15_spl
| $false ),
inference(forward_subsumption_resolution,[status(thm)],[f472,f122]) ).
fof(f489,plain,
~ sQ15_spl,
inference(contradiction_clause,[status(thm)],[f488]) ).
fof(f496,definition,
( sQ20_spl
<=> empty(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
introduced(definition,[new_symbols(definition,[sQ20_spl])],[split_symbol_definition]) ).
fof(f511,plain,
! [X0,X1] :
( ~ sQ16_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,X0),X1)) ),
inference(resolution,[status(thm)],[f478,f156]) ).
fof(f557,plain,
( sQ5_spl
| empty(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl))
| ~ element(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
inference(resolution,[status(thm)],[f406,f126]) ).
fof(f559,definition,
( sQ28_spl
<=> element(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
introduced(definition,[new_symbols(definition,[sQ28_spl])],[split_symbol_definition]) ).
fof(f562,plain,
( sQ5_spl
| sQ20_spl
| ~ sQ28_spl ),
inference(split_clause,[status(thm)],[f557,f559,f496,f404]) ).
fof(f705,plain,
( ~ sQ16_spl
| in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl))
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f511,f57]) ).
fof(f711,plain,
( ~ sQ16_spl
| sQ7_spl
| sQ15_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f705,f398,f401,f471,f423,f477]) ).
fof(f715,plain,
( ~ sQ7_spl
| ~ in(relation_dom(sK13_skl),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
inference(resolution,[status(thm)],[f424,f40]) ).
fof(f717,plain,
( sQ6_spl
| in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,sK15_skl))
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f422,f58]) ).
fof(f719,plain,
( sQ6_spl
| in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl))
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK14_skl)) ),
inference(resolution,[status(thm)],[f422,f158]) ).
fof(f723,plain,
( sQ6_spl
| sQ8_spl
| sQ15_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f717,f398,f401,f471,f426,f420]) ).
fof(f725,definition,
( sQ38_spl
<=> in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK14_skl)) ),
introduced(definition,[new_symbols(definition,[sQ38_spl])],[split_symbol_definition]) ).
fof(f727,plain,
( sQ38_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK14_skl)) ),
inference(component_clause,[status(thm)],[f725]) ).
fof(f728,plain,
( sQ6_spl
| sQ9_spl
| ~ sQ38_spl ),
inference(split_clause,[status(thm)],[f719,f725,f438,f420]) ).
fof(f741,plain,
( ~ sQ7_spl
| empty(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl))
| ~ element(relation_dom(sK13_skl),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
inference(resolution,[status(thm)],[f715,f126]) ).
fof(f743,definition,
( sQ41_spl
<=> element(relation_dom(sK13_skl),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)) ),
introduced(definition,[new_symbols(definition,[sQ41_spl])],[split_symbol_definition]) ).
fof(f746,plain,
( ~ sQ7_spl
| sQ20_spl
| ~ sQ41_spl ),
inference(split_clause,[status(thm)],[f741,f743,f496,f423]) ).
fof(f799,plain,
( ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl)
| ~ function(sK13_skl)
| ~ relation(sK13_skl)
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl)) ),
inference(resolution,[status(thm)],[f223,f122]) ).
fof(f800,plain,
( ~ sQ2_spl
| ~ sQ4_spl
| ~ sQ3_spl
| ~ sQ9_spl ),
inference(split_clause,[status(thm)],[f799,f438,f398,f401,f395]) ).
fof(f830,plain,
( sQ38_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK14_skl)
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_dom(sK13_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f727,f155]) ).
fof(f833,plain,
! [X0] :
( sQ38_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),set_difference(relation_inverse_image(sK13_skl,sK14_skl),X0)) ),
inference(resolution,[status(thm)],[f727,f156]) ).
fof(f834,definition,
( sQ43_spl
<=> in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK14_skl) ),
introduced(definition,[new_symbols(definition,[sQ43_spl])],[split_symbol_definition]) ).
fof(f836,plain,
( sQ43_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK14_skl) ),
inference(component_clause,[status(thm)],[f834]) ).
fof(f837,plain,
( sQ38_spl
| ~ sQ43_spl
| ~ sQ7_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f830,f398,f401,f423,f834,f725]) ).
fof(f861,plain,
( sQ43_spl
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK14_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f836,f154]) ).
fof(f864,plain,
! [X0] :
( sQ43_spl
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),set_difference(sK14_skl,X0)) ),
inference(resolution,[status(thm)],[f836,f156]) ).
fof(f865,plain,
( sQ43_spl
| ~ sQ38_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f861,f398,f401,f725,f834]) ).
fof(f873,plain,
( ~ sQ8_spl
| sQ43_spl
| $false ),
inference(backward_subsumption_resolution,[status(thm)],[f427,f864]) ).
fof(f874,plain,
( ~ sQ8_spl
| sQ43_spl ),
inference(contradiction_clause,[status(thm)],[f873]) ).
fof(f875,plain,
( ~ sQ6_spl
| sQ38_spl
| $false ),
inference(forward_subsumption_resolution,[status(thm)],[f421,f833]) ).
fof(f876,plain,
( ~ sQ6_spl
| sQ38_spl ),
inference(contradiction_clause,[status(thm)],[f875]) ).
fof(f901,plain,
( sQ8_spl
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl)
| ~ in(sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl),relation_inverse_image(sK13_skl,sK15_skl)) ),
inference(resolution,[status(thm)],[f428,f211]) ).
fof(f902,plain,
( sQ8_spl
| ~ in(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl))
| set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)) = relation_inverse_image(sK13_skl,set_difference(sK14_skl,sK15_skl))
| ~ function(sK13_skl)
| ~ relation(sK13_skl) ),
inference(resolution,[status(thm)],[f428,f182]) ).
fof(f904,plain,
( sQ8_spl
| in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK15_skl)
| ~ in(apply(sK13_skl,sK0_skl(set_difference(relation_inverse_image(sK13_skl,sK14_skl),relation_inverse_image(sK13_skl,sK15_skl)),set_difference(sK14_skl,sK15_skl),sK13_skl)),sK14_skl) ),
inference(resolution,[status(thm)],[f428,f158]) ).
fof(f909,plain,
( sQ8_spl
| sQ15_spl
| ~ sQ4_spl
| ~ sQ3_spl
| ~ sQ9_spl ),
inference(split_clause,[status(thm)],[f901,f438,f398,f401,f471,f426]) ).
fof(f910,plain,
( sQ8_spl
| ~ sQ5_spl
| sQ15_spl
| ~ sQ4_spl
| ~ sQ3_spl ),
inference(split_clause,[status(thm)],[f902,f398,f401,f471,f404,f426]) ).
fof(f915,plain,
( sQ8_spl
| sQ2_spl
| ~ sQ43_spl ),
inference(split_clause,[status(thm)],[f904,f834,f395,f426]) ).
fof(f923,plain,
$false,
inference(sat_refutation,[status(thm)],[f407,f429,f431,f433,f441,f448,f453,f476,f480,f489,f562,f711,f723,f728,f746,f800,f837,f865,f874,f876,f909,f910,f915]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.02 % Problem : SEU059+1 : TPTP v9.3.1. Bugfixed v4.0.0.
% 0.00/0.04 % Command : drodi -timeout(300) /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.10/0.36 % Computer : n015.cluster.edu
% 0.10/0.36 % Model : x86_64 x86_64
% 0.10/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.36 % Memory : 8046.5625MB
% 0.10/0.36 % OS : Linux 6.8.0-71-generic
% 0.10/0.36 % CPULimit : 300
% 0.10/0.36 % WCLimit : 300
% 0.10/0.36 % DateTime : Mon Sep 21 05:51:35 UTC 2026
% 0.10/0.36 % CPUTime :
% 0.13/0.37 % Drodi V4.1.1
% 1.02/0.61 % Refutation found
% 1.02/0.61 % SZS status Theorem for theBenchmark: Theorem is valid
% 1.02/0.61 % SZS output start CNFRefutation for theBenchmark
% See solution above
% 1.02/0.63 % Elapsed time: 0.260086 seconds
% 1.02/0.63 % CPU time: 1.774524 seconds
% 1.02/0.63 % Total memory used: 130.225 MB
% 1.02/0.63 % Net memory used: 126.589 MB
%------------------------------------------------------------------------------