TSTP Solution File: SET682+3 by iProver---3.9
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.9
% Problem : SET682+3 : TPTP v8.2.0. Released v2.2.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% 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 : 300s
% DateTime : Mon Jun 24 14:35:24 EDT 2024
% Result : Theorem 0.47s 1.15s
% Output : CNFRefutation 0.47s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named f140)
% Comments :
%------------------------------------------------------------------------------
fof(f1,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,binary_relation_type)
=> ( member(X0,domain_of(X1))
=> ? [X2] :
( member(X2,range_of(X1))
& ilf_type(X2,set_type) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p1) ).
fof(f2,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ( ! [X3] :
( ilf_type(X3,relation_type(X0,X1))
=> ilf_type(X3,subset_type(cross_product(X0,X1))) )
& ! [X2] :
( ilf_type(X2,subset_type(cross_product(X0,X1)))
=> ilf_type(X2,relation_type(X0,X1)) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p2) ).
fof(f4,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ( ilf_type(X1,set_type)
& ~ empty(X1) )
=> ( ilf_type(X0,member_type(X1))
<=> member(X0,X1) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p4) ).
fof(f5,axiom,
! [X0] :
( ( ilf_type(X0,set_type)
& ~ empty(X0) )
=> ? [X1] : ilf_type(X1,member_type(X0)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p5) ).
fof(f6,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ( empty(X0)
<=> ! [X1] :
( ilf_type(X1,set_type)
=> ~ member(X1,X0) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p6) ).
fof(f12,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ( ilf_type(X1,subset_type(X0))
<=> ilf_type(X1,member_type(power_set(X0))) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p12) ).
fof(f14,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ( member(X0,power_set(X1))
<=> ! [X2] :
( ilf_type(X2,set_type)
=> ( member(X2,X0)
=> member(X2,X1) ) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p14) ).
fof(f15,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ( ilf_type(power_set(X0),set_type)
& ~ empty(power_set(X0)) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p15) ).
fof(f18,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ! [X2] :
( ilf_type(X2,subset_type(cross_product(X0,X1)))
=> relation_like(X2) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p18) ).
fof(f20,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> domain(X0,X1,X2) = domain_of(X2) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p20) ).
fof(f22,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> range(X0,X1,X2) = range_of(X2) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p22) ).
fof(f23,axiom,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> ilf_type(range(X0,X1,X2),subset_type(X1)) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p23) ).
fof(f24,axiom,
! [X0] : ilf_type(X0,set_type),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',p24) ).
fof(f25,conjecture,
! [X0] :
( ( ilf_type(X0,set_type)
& ~ empty(X0) )
=> ! [X1] :
( ( ilf_type(X1,set_type)
& ~ empty(X1) )
=> ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> ! [X3] :
( ilf_type(X3,member_type(X0))
=> ( member(X3,domain(X0,X1,X2))
=> ? [X4] :
( member(X4,range(X0,X1,X2))
& ilf_type(X4,member_type(X1)) ) ) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',prove_relset_1_49) ).
fof(f26,negated_conjecture,
~ ! [X0] :
( ( ilf_type(X0,set_type)
& ~ empty(X0) )
=> ! [X1] :
( ( ilf_type(X1,set_type)
& ~ empty(X1) )
=> ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> ! [X3] :
( ilf_type(X3,member_type(X0))
=> ( member(X3,domain(X0,X1,X2))
=> ? [X4] :
( member(X4,range(X0,X1,X2))
& ilf_type(X4,member_type(X1)) ) ) ) ) ) ),
inference(negated_conjecture,[],[f25]) ).
fof(f27,plain,
! [X0] :
( ilf_type(X0,set_type)
=> ! [X1] :
( ilf_type(X1,set_type)
=> ( ! [X2] :
( ilf_type(X2,relation_type(X0,X1))
=> ilf_type(X2,subset_type(cross_product(X0,X1))) )
& ! [X3] :
( ilf_type(X3,subset_type(cross_product(X0,X1)))
=> ilf_type(X3,relation_type(X0,X1)) ) ) ) ),
inference(rectify,[],[f2]) ).
fof(f28,plain,
! [X0] :
( ! [X1] :
( ? [X2] :
( member(X2,range_of(X1))
& ilf_type(X2,set_type) )
| ~ member(X0,domain_of(X1))
| ~ ilf_type(X1,binary_relation_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f1]) ).
fof(f29,plain,
! [X0] :
( ! [X1] :
( ? [X2] :
( member(X2,range_of(X1))
& ilf_type(X2,set_type) )
| ~ member(X0,domain_of(X1))
| ~ ilf_type(X1,binary_relation_type) )
| ~ ilf_type(X0,set_type) ),
inference(flattening,[],[f28]) ).
fof(f30,plain,
! [X0] :
( ! [X1] :
( ( ! [X2] :
( ilf_type(X2,subset_type(cross_product(X0,X1)))
| ~ ilf_type(X2,relation_type(X0,X1)) )
& ! [X3] :
( ilf_type(X3,relation_type(X0,X1))
| ~ ilf_type(X3,subset_type(cross_product(X0,X1))) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f27]) ).
fof(f32,plain,
! [X0] :
( ! [X1] :
( ( ilf_type(X0,member_type(X1))
<=> member(X0,X1) )
| ~ ilf_type(X1,set_type)
| empty(X1) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f4]) ).
fof(f33,plain,
! [X0] :
( ! [X1] :
( ( ilf_type(X0,member_type(X1))
<=> member(X0,X1) )
| ~ ilf_type(X1,set_type)
| empty(X1) )
| ~ ilf_type(X0,set_type) ),
inference(flattening,[],[f32]) ).
fof(f34,plain,
! [X0] :
( ? [X1] : ilf_type(X1,member_type(X0))
| ~ ilf_type(X0,set_type)
| empty(X0) ),
inference(ennf_transformation,[],[f5]) ).
fof(f35,plain,
! [X0] :
( ? [X1] : ilf_type(X1,member_type(X0))
| ~ ilf_type(X0,set_type)
| empty(X0) ),
inference(flattening,[],[f34]) ).
fof(f36,plain,
! [X0] :
( ( empty(X0)
<=> ! [X1] :
( ~ member(X1,X0)
| ~ ilf_type(X1,set_type) ) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f6]) ).
fof(f41,plain,
! [X0] :
( ! [X1] :
( ( ilf_type(X1,subset_type(X0))
<=> ilf_type(X1,member_type(power_set(X0))) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f12]) ).
fof(f43,plain,
! [X0] :
( ! [X1] :
( ( member(X0,power_set(X1))
<=> ! [X2] :
( member(X2,X1)
| ~ member(X2,X0)
| ~ ilf_type(X2,set_type) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f14]) ).
fof(f44,plain,
! [X0] :
( ! [X1] :
( ( member(X0,power_set(X1))
<=> ! [X2] :
( member(X2,X1)
| ~ member(X2,X0)
| ~ ilf_type(X2,set_type) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(flattening,[],[f43]) ).
fof(f45,plain,
! [X0] :
( ( ilf_type(power_set(X0),set_type)
& ~ empty(power_set(X0)) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f15]) ).
fof(f50,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( relation_like(X2)
| ~ ilf_type(X2,subset_type(cross_product(X0,X1))) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f18]) ).
fof(f52,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( domain(X0,X1,X2) = domain_of(X2)
| ~ ilf_type(X2,relation_type(X0,X1)) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f20]) ).
fof(f54,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( range(X0,X1,X2) = range_of(X2)
| ~ ilf_type(X2,relation_type(X0,X1)) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f22]) ).
fof(f55,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( ilf_type(range(X0,X1,X2),subset_type(X1))
| ~ ilf_type(X2,relation_type(X0,X1)) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(ennf_transformation,[],[f23]) ).
fof(f56,plain,
? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(X0,X1,X2))
| ~ ilf_type(X4,member_type(X1)) )
& member(X3,domain(X0,X1,X2))
& ilf_type(X3,member_type(X0)) )
& ilf_type(X2,relation_type(X0,X1)) )
& ilf_type(X1,set_type)
& ~ empty(X1) )
& ilf_type(X0,set_type)
& ~ empty(X0) ),
inference(ennf_transformation,[],[f26]) ).
fof(f57,plain,
? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(X0,X1,X2))
| ~ ilf_type(X4,member_type(X1)) )
& member(X3,domain(X0,X1,X2))
& ilf_type(X3,member_type(X0)) )
& ilf_type(X2,relation_type(X0,X1)) )
& ilf_type(X1,set_type)
& ~ empty(X1) )
& ilf_type(X0,set_type)
& ~ empty(X0) ),
inference(flattening,[],[f56]) ).
fof(f58,plain,
! [X1] :
( ? [X2] :
( member(X2,range_of(X1))
& ilf_type(X2,set_type) )
=> ( member(sK0(X1),range_of(X1))
& ilf_type(sK0(X1),set_type) ) ),
introduced(choice_axiom,[]) ).
fof(f59,plain,
! [X0] :
( ! [X1] :
( ( member(sK0(X1),range_of(X1))
& ilf_type(sK0(X1),set_type) )
| ~ member(X0,domain_of(X1))
| ~ ilf_type(X1,binary_relation_type) )
| ~ ilf_type(X0,set_type) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK0])],[f29,f58]) ).
fof(f62,plain,
! [X0] :
( ! [X1] :
( ( ( ilf_type(X0,member_type(X1))
| ~ member(X0,X1) )
& ( member(X0,X1)
| ~ ilf_type(X0,member_type(X1)) ) )
| ~ ilf_type(X1,set_type)
| empty(X1) )
| ~ ilf_type(X0,set_type) ),
inference(nnf_transformation,[],[f33]) ).
fof(f63,plain,
! [X0] :
( ? [X1] : ilf_type(X1,member_type(X0))
=> ilf_type(sK2(X0),member_type(X0)) ),
introduced(choice_axiom,[]) ).
fof(f64,plain,
! [X0] :
( ilf_type(sK2(X0),member_type(X0))
| ~ ilf_type(X0,set_type)
| empty(X0) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK2])],[f35,f63]) ).
fof(f65,plain,
! [X0] :
( ( ( empty(X0)
| ? [X1] :
( member(X1,X0)
& ilf_type(X1,set_type) ) )
& ( ! [X1] :
( ~ member(X1,X0)
| ~ ilf_type(X1,set_type) )
| ~ empty(X0) ) )
| ~ ilf_type(X0,set_type) ),
inference(nnf_transformation,[],[f36]) ).
fof(f66,plain,
! [X0] :
( ( ( empty(X0)
| ? [X1] :
( member(X1,X0)
& ilf_type(X1,set_type) ) )
& ( ! [X2] :
( ~ member(X2,X0)
| ~ ilf_type(X2,set_type) )
| ~ empty(X0) ) )
| ~ ilf_type(X0,set_type) ),
inference(rectify,[],[f65]) ).
fof(f67,plain,
! [X0] :
( ? [X1] :
( member(X1,X0)
& ilf_type(X1,set_type) )
=> ( member(sK3(X0),X0)
& ilf_type(sK3(X0),set_type) ) ),
introduced(choice_axiom,[]) ).
fof(f68,plain,
! [X0] :
( ( ( empty(X0)
| ( member(sK3(X0),X0)
& ilf_type(sK3(X0),set_type) ) )
& ( ! [X2] :
( ~ member(X2,X0)
| ~ ilf_type(X2,set_type) )
| ~ empty(X0) ) )
| ~ ilf_type(X0,set_type) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK3])],[f66,f67]) ).
fof(f73,plain,
! [X0] :
( ! [X1] :
( ( ( ilf_type(X1,subset_type(X0))
| ~ ilf_type(X1,member_type(power_set(X0))) )
& ( ilf_type(X1,member_type(power_set(X0)))
| ~ ilf_type(X1,subset_type(X0)) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(nnf_transformation,[],[f41]) ).
fof(f76,plain,
! [X0] :
( ! [X1] :
( ( ( member(X0,power_set(X1))
| ? [X2] :
( ~ member(X2,X1)
& member(X2,X0)
& ilf_type(X2,set_type) ) )
& ( ! [X2] :
( member(X2,X1)
| ~ member(X2,X0)
| ~ ilf_type(X2,set_type) )
| ~ member(X0,power_set(X1)) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(nnf_transformation,[],[f44]) ).
fof(f77,plain,
! [X0] :
( ! [X1] :
( ( ( member(X0,power_set(X1))
| ? [X2] :
( ~ member(X2,X1)
& member(X2,X0)
& ilf_type(X2,set_type) ) )
& ( ! [X3] :
( member(X3,X1)
| ~ member(X3,X0)
| ~ ilf_type(X3,set_type) )
| ~ member(X0,power_set(X1)) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(rectify,[],[f76]) ).
fof(f78,plain,
! [X0,X1] :
( ? [X2] :
( ~ member(X2,X1)
& member(X2,X0)
& ilf_type(X2,set_type) )
=> ( ~ member(sK6(X0,X1),X1)
& member(sK6(X0,X1),X0)
& ilf_type(sK6(X0,X1),set_type) ) ),
introduced(choice_axiom,[]) ).
fof(f79,plain,
! [X0] :
( ! [X1] :
( ( ( member(X0,power_set(X1))
| ( ~ member(sK6(X0,X1),X1)
& member(sK6(X0,X1),X0)
& ilf_type(sK6(X0,X1),set_type) ) )
& ( ! [X3] :
( member(X3,X1)
| ~ member(X3,X0)
| ~ ilf_type(X3,set_type) )
| ~ member(X0,power_set(X1)) ) )
| ~ ilf_type(X1,set_type) )
| ~ ilf_type(X0,set_type) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK6])],[f77,f78]) ).
fof(f86,plain,
( ? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(X0,X1,X2))
| ~ ilf_type(X4,member_type(X1)) )
& member(X3,domain(X0,X1,X2))
& ilf_type(X3,member_type(X0)) )
& ilf_type(X2,relation_type(X0,X1)) )
& ilf_type(X1,set_type)
& ~ empty(X1) )
& ilf_type(X0,set_type)
& ~ empty(X0) )
=> ( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,X1,X2))
| ~ ilf_type(X4,member_type(X1)) )
& member(X3,domain(sK10,X1,X2))
& ilf_type(X3,member_type(sK10)) )
& ilf_type(X2,relation_type(sK10,X1)) )
& ilf_type(X1,set_type)
& ~ empty(X1) )
& ilf_type(sK10,set_type)
& ~ empty(sK10) ) ),
introduced(choice_axiom,[]) ).
fof(f87,plain,
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,X1,X2))
| ~ ilf_type(X4,member_type(X1)) )
& member(X3,domain(sK10,X1,X2))
& ilf_type(X3,member_type(sK10)) )
& ilf_type(X2,relation_type(sK10,X1)) )
& ilf_type(X1,set_type)
& ~ empty(X1) )
=> ( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,sK11,X2))
| ~ ilf_type(X4,member_type(sK11)) )
& member(X3,domain(sK10,sK11,X2))
& ilf_type(X3,member_type(sK10)) )
& ilf_type(X2,relation_type(sK10,sK11)) )
& ilf_type(sK11,set_type)
& ~ empty(sK11) ) ),
introduced(choice_axiom,[]) ).
fof(f88,plain,
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,sK11,X2))
| ~ ilf_type(X4,member_type(sK11)) )
& member(X3,domain(sK10,sK11,X2))
& ilf_type(X3,member_type(sK10)) )
& ilf_type(X2,relation_type(sK10,sK11)) )
=> ( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,sK11,sK12))
| ~ ilf_type(X4,member_type(sK11)) )
& member(X3,domain(sK10,sK11,sK12))
& ilf_type(X3,member_type(sK10)) )
& ilf_type(sK12,relation_type(sK10,sK11)) ) ),
introduced(choice_axiom,[]) ).
fof(f89,plain,
( ? [X3] :
( ! [X4] :
( ~ member(X4,range(sK10,sK11,sK12))
| ~ ilf_type(X4,member_type(sK11)) )
& member(X3,domain(sK10,sK11,sK12))
& ilf_type(X3,member_type(sK10)) )
=> ( ! [X4] :
( ~ member(X4,range(sK10,sK11,sK12))
| ~ ilf_type(X4,member_type(sK11)) )
& member(sK13,domain(sK10,sK11,sK12))
& ilf_type(sK13,member_type(sK10)) ) ),
introduced(choice_axiom,[]) ).
fof(f90,plain,
( ! [X4] :
( ~ member(X4,range(sK10,sK11,sK12))
| ~ ilf_type(X4,member_type(sK11)) )
& member(sK13,domain(sK10,sK11,sK12))
& ilf_type(sK13,member_type(sK10))
& ilf_type(sK12,relation_type(sK10,sK11))
& ilf_type(sK11,set_type)
& ~ empty(sK11)
& ilf_type(sK10,set_type)
& ~ empty(sK10) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK10,sK11,sK12,sK13])],[f57,f89,f88,f87,f86]) ).
fof(f92,plain,
! [X0,X1] :
( member(sK0(X1),range_of(X1))
| ~ member(X0,domain_of(X1))
| ~ ilf_type(X1,binary_relation_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f59]) ).
fof(f94,plain,
! [X2,X0,X1] :
( ilf_type(X2,subset_type(cross_product(X0,X1)))
| ~ ilf_type(X2,relation_type(X0,X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f30]) ).
fof(f96,plain,
! [X0,X1] :
( member(X0,X1)
| ~ ilf_type(X0,member_type(X1))
| ~ ilf_type(X1,set_type)
| empty(X1)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f62]) ).
fof(f97,plain,
! [X0,X1] :
( ilf_type(X0,member_type(X1))
| ~ member(X0,X1)
| ~ ilf_type(X1,set_type)
| empty(X1)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f62]) ).
fof(f98,plain,
! [X0] :
( ilf_type(sK2(X0),member_type(X0))
| ~ ilf_type(X0,set_type)
| empty(X0) ),
inference(cnf_transformation,[],[f64]) ).
fof(f99,plain,
! [X2,X0] :
( ~ member(X2,X0)
| ~ ilf_type(X2,set_type)
| ~ empty(X0)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f68]) ).
fof(f109,plain,
! [X0,X1] :
( ilf_type(X1,member_type(power_set(X0)))
| ~ ilf_type(X1,subset_type(X0))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f73]) ).
fof(f112,plain,
! [X3,X0,X1] :
( member(X3,X1)
| ~ member(X3,X0)
| ~ ilf_type(X3,set_type)
| ~ member(X0,power_set(X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f79]) ).
fof(f116,plain,
! [X0] :
( ~ empty(power_set(X0))
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f45]) ).
fof(f125,plain,
! [X2,X0,X1] :
( relation_like(X2)
| ~ ilf_type(X2,subset_type(cross_product(X0,X1)))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f50]) ).
fof(f127,plain,
! [X2,X0,X1] :
( domain(X0,X1,X2) = domain_of(X2)
| ~ ilf_type(X2,relation_type(X0,X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f52]) ).
fof(f129,plain,
! [X2,X0,X1] :
( range(X0,X1,X2) = range_of(X2)
| ~ ilf_type(X2,relation_type(X0,X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f54]) ).
fof(f130,plain,
! [X2,X0,X1] :
( ilf_type(range(X0,X1,X2),subset_type(X1))
| ~ ilf_type(X2,relation_type(X0,X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X0,set_type) ),
inference(cnf_transformation,[],[f55]) ).
fof(f131,plain,
! [X0] : ilf_type(X0,set_type),
inference(cnf_transformation,[],[f24]) ).
fof(f136,plain,
ilf_type(sK12,relation_type(sK10,sK11)),
inference(cnf_transformation,[],[f90]) ).
fof(f138,plain,
member(sK13,domain(sK10,sK11,sK12)),
inference(cnf_transformation,[],[f90]) ).
fof(f139,plain,
! [X4] :
( ~ member(X4,range(sK10,sK11,sK12))
| ~ ilf_type(X4,member_type(sK11)) ),
inference(cnf_transformation,[],[f90]) ).
cnf(c_49,plain,
( ~ member(X0,domain_of(X1))
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,binary_relation_type)
| member(sK0(X1),range_of(X1)) ),
inference(cnf_transformation,[],[f92]) ).
cnf(c_51,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| ilf_type(X0,subset_type(cross_product(X1,X2))) ),
inference(cnf_transformation,[],[f94]) ).
cnf(c_54,plain,
( ~ member(X0,X1)
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,set_type)
| ilf_type(X0,member_type(X1))
| empty(X1) ),
inference(cnf_transformation,[],[f97]) ).
cnf(c_55,plain,
( ~ ilf_type(X0,member_type(X1))
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,set_type)
| member(X0,X1)
| empty(X1) ),
inference(cnf_transformation,[],[f96]) ).
cnf(c_56,plain,
( ~ ilf_type(X0,set_type)
| ilf_type(sK2(X0),member_type(X0))
| empty(X0) ),
inference(cnf_transformation,[],[f98]) ).
cnf(c_59,plain,
( ~ member(X0,X1)
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,set_type)
| ~ empty(X1) ),
inference(cnf_transformation,[],[f99]) ).
cnf(c_63,plain,
( ~ ilf_type(X0,set_type)
| ~ relation_like(X0)
| ilf_type(X0,binary_relation_type) ),
inference(cnf_transformation,[],[f140]) ).
cnf(c_67,plain,
( ~ ilf_type(X0,subset_type(X1))
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,set_type)
| ilf_type(X0,member_type(power_set(X1))) ),
inference(cnf_transformation,[],[f109]) ).
cnf(c_72,plain,
( ~ member(X0,power_set(X1))
| ~ member(X2,X0)
| ~ ilf_type(X0,set_type)
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| member(X2,X1) ),
inference(cnf_transformation,[],[f112]) ).
cnf(c_74,plain,
( ~ ilf_type(X0,set_type)
| ~ empty(power_set(X0)) ),
inference(cnf_transformation,[],[f116]) ).
cnf(c_82,plain,
( ~ ilf_type(X0,subset_type(cross_product(X1,X2)))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| relation_like(X0) ),
inference(cnf_transformation,[],[f125]) ).
cnf(c_84,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| domain(X1,X2,X0) = domain_of(X0) ),
inference(cnf_transformation,[],[f127]) ).
cnf(c_86,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| range(X1,X2,X0) = range_of(X0) ),
inference(cnf_transformation,[],[f129]) ).
cnf(c_87,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| ilf_type(range(X1,X2,X0),subset_type(X2)) ),
inference(cnf_transformation,[],[f130]) ).
cnf(c_88,plain,
ilf_type(X0,set_type),
inference(cnf_transformation,[],[f131]) ).
cnf(c_89,negated_conjecture,
( ~ member(X0,range(sK10,sK11,sK12))
| ~ ilf_type(X0,member_type(sK11)) ),
inference(cnf_transformation,[],[f139]) ).
cnf(c_90,negated_conjecture,
member(sK13,domain(sK10,sK11,sK12)),
inference(cnf_transformation,[],[f138]) ).
cnf(c_92,negated_conjecture,
ilf_type(sK12,relation_type(sK10,sK11)),
inference(cnf_transformation,[],[f136]) ).
cnf(c_136,plain,
~ empty(power_set(X0)),
inference(global_subsumption_just,[status(thm)],[c_74,c_88,c_74]) ).
cnf(c_157,plain,
( ~ relation_like(X0)
| ilf_type(X0,binary_relation_type) ),
inference(global_subsumption_just,[status(thm)],[c_63,c_88,c_63]) ).
cnf(c_179,plain,
( ~ member(X0,X1)
| ~ ilf_type(X1,set_type)
| ~ empty(X1) ),
inference(global_subsumption_just,[status(thm)],[c_59,c_88,c_59]) ).
cnf(c_201,plain,
( ~ ilf_type(X0,subset_type(X1))
| ~ ilf_type(X1,set_type)
| ilf_type(X0,member_type(power_set(X1))) ),
inference(global_subsumption_just,[status(thm)],[c_67,c_88,c_67]) ).
cnf(c_205,plain,
( ~ ilf_type(X0,member_type(X1))
| ~ ilf_type(X1,set_type)
| member(X0,X1)
| empty(X1) ),
inference(global_subsumption_just,[status(thm)],[c_55,c_88,c_55]) ).
cnf(c_207,plain,
( ilf_type(X0,member_type(X1))
| ~ ilf_type(X1,set_type)
| ~ member(X0,X1) ),
inference(global_subsumption_just,[status(thm)],[c_54,c_88,c_59,c_54]) ).
cnf(c_208,plain,
( ~ member(X0,X1)
| ~ ilf_type(X1,set_type)
| ilf_type(X0,member_type(X1)) ),
inference(renaming,[status(thm)],[c_207]) ).
cnf(c_210,plain,
( ~ member(X0,domain_of(X1))
| ~ ilf_type(X1,binary_relation_type)
| member(sK0(X1),range_of(X1)) ),
inference(global_subsumption_just,[status(thm)],[c_49,c_88,c_49]) ).
cnf(c_221,plain,
( ~ member(X2,X0)
| ~ member(X0,power_set(X1))
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| member(X2,X1) ),
inference(global_subsumption_just,[status(thm)],[c_72,c_88,c_72]) ).
cnf(c_222,plain,
( ~ member(X0,power_set(X1))
| ~ member(X2,X0)
| ~ ilf_type(X1,set_type)
| ~ ilf_type(X2,set_type)
| member(X2,X1) ),
inference(renaming,[status(thm)],[c_221]) ).
cnf(c_346,plain,
( ~ member(X0,power_set(X1))
| ~ member(X2,X0)
| ~ ilf_type(X2,set_type)
| member(X2,X1) ),
inference(backward_subsumption_resolution,[status(thm)],[c_222,c_88]) ).
cnf(c_347,plain,
( ~ member(X0,X1)
| ilf_type(X0,member_type(X1)) ),
inference(backward_subsumption_resolution,[status(thm)],[c_208,c_88]) ).
cnf(c_349,plain,
( ~ member(X0,X1)
| ~ empty(X1) ),
inference(backward_subsumption_resolution,[status(thm)],[c_179,c_88]) ).
cnf(c_350,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X2,set_type)
| range(X1,X2,X0) = range_of(X0) ),
inference(backward_subsumption_resolution,[status(thm)],[c_86,c_88]) ).
cnf(c_352,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X2,set_type)
| domain(X1,X2,X0) = domain_of(X0) ),
inference(backward_subsumption_resolution,[status(thm)],[c_84,c_88]) ).
cnf(c_354,plain,
( ~ ilf_type(X0,member_type(X1))
| member(X0,X1)
| empty(X1) ),
inference(backward_subsumption_resolution,[status(thm)],[c_205,c_88]) ).
cnf(c_356,plain,
( ~ ilf_type(X0,subset_type(X1))
| ilf_type(X0,member_type(power_set(X1))) ),
inference(backward_subsumption_resolution,[status(thm)],[c_201,c_88]) ).
cnf(c_357,plain,
( ~ ilf_type(X0,subset_type(cross_product(X1,X2)))
| ~ ilf_type(X2,set_type)
| relation_like(X0) ),
inference(backward_subsumption_resolution,[status(thm)],[c_82,c_88]) ).
cnf(c_359,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X2,set_type)
| ilf_type(X0,subset_type(cross_product(X1,X2))) ),
inference(backward_subsumption_resolution,[status(thm)],[c_51,c_88]) ).
cnf(c_360,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ~ ilf_type(X2,set_type)
| ilf_type(range(X1,X2,X0),subset_type(X2)) ),
inference(backward_subsumption_resolution,[status(thm)],[c_87,c_88]) ).
cnf(c_446,plain,
( ~ ilf_type(X0,subset_type(cross_product(X1,X2)))
| relation_like(X0) ),
inference(forward_subsumption_resolution,[status(thm)],[c_357,c_88]) ).
cnf(c_491,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ilf_type(X0,subset_type(cross_product(X1,X2))) ),
inference(forward_subsumption_resolution,[status(thm)],[c_359,c_88]) ).
cnf(c_502,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ilf_type(range(X1,X2,X0),subset_type(X2)) ),
inference(forward_subsumption_resolution,[status(thm)],[c_360,c_88]) ).
cnf(c_524,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| range(X1,X2,X0) = range_of(X0) ),
inference(forward_subsumption_resolution,[status(thm)],[c_350,c_88]) ).
cnf(c_535,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| domain(X1,X2,X0) = domain_of(X0) ),
inference(forward_subsumption_resolution,[status(thm)],[c_352,c_88]) ).
cnf(c_547,plain,
( ~ member(X0,power_set(X1))
| ~ member(X2,X0)
| member(X2,X1) ),
inference(forward_subsumption_resolution,[status(thm)],[c_346,c_88]) ).
cnf(c_929,plain,
( ~ relation_like(X0)
| ilf_type(X0,binary_relation_type) ),
inference(prop_impl_just,[status(thm)],[c_157]) ).
cnf(c_937,plain,
( ~ ilf_type(X0,subset_type(X1))
| ilf_type(X0,member_type(power_set(X1))) ),
inference(prop_impl_just,[status(thm)],[c_356]) ).
cnf(c_939,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| relation_like(X0) ),
inference(prop_impl_just,[status(thm)],[c_446,c_491]) ).
cnf(c_941,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| domain(X1,X2,X0) = domain_of(X0) ),
inference(prop_impl_just,[status(thm)],[c_535]) ).
cnf(c_945,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| range(X1,X2,X0) = range_of(X0) ),
inference(prop_impl_just,[status(thm)],[c_524]) ).
cnf(c_947,plain,
( ~ ilf_type(X0,relation_type(X1,X2))
| ilf_type(range(X1,X2,X0),subset_type(X2)) ),
inference(prop_impl_just,[status(thm)],[c_502]) ).
cnf(c_951,plain,
( ~ member(X0,X1)
| ilf_type(X0,member_type(X1)) ),
inference(prop_impl_just,[status(thm)],[c_347]) ).
cnf(c_953,plain,
( ~ member(X0,X1)
| ~ empty(X1) ),
inference(prop_impl_just,[status(thm)],[c_349]) ).
cnf(c_973,plain,
( empty(X0)
| ilf_type(sK2(X0),member_type(X0)) ),
inference(prop_impl_just,[status(thm)],[c_88,c_56]) ).
cnf(c_974,plain,
( ilf_type(sK2(X0),member_type(X0))
| empty(X0) ),
inference(renaming,[status(thm)],[c_973]) ).
cnf(c_1540,plain,
relation_type(sK10,sK11) = sP0_iProver_def,
definition ).
cnf(c_1542,plain,
domain(sK10,sK11,sK12) = sP2_iProver_def,
definition ).
cnf(c_1543,plain,
range(sK10,sK11,sK12) = sP3_iProver_def,
definition ).
cnf(c_1544,plain,
member_type(sK11) = sP4_iProver_def,
definition ).
cnf(c_1547,negated_conjecture,
ilf_type(sK12,sP0_iProver_def),
inference(demodulation,[status(thm)],[c_92,c_1540]) ).
cnf(c_1549,negated_conjecture,
member(sK13,sP2_iProver_def),
inference(demodulation,[status(thm)],[c_90,c_1542]) ).
cnf(c_1550,negated_conjecture,
( ~ member(X0,sP3_iProver_def)
| ~ ilf_type(X0,sP4_iProver_def) ),
inference(demodulation,[status(thm)],[c_89,c_1544,c_1543]) ).
cnf(c_2372,plain,
( ~ ilf_type(X0,sP0_iProver_def)
| relation_like(X0) ),
inference(superposition,[status(thm)],[c_1540,c_939]) ).
cnf(c_2381,plain,
( ~ member(X0,sK11)
| ilf_type(X0,sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_1544,c_951]) ).
cnf(c_2393,plain,
relation_like(sK12),
inference(superposition,[status(thm)],[c_1547,c_2372]) ).
cnf(c_2458,plain,
( member(sK2(X0),X0)
| empty(X0) ),
inference(superposition,[status(thm)],[c_974,c_354]) ).
cnf(c_2476,plain,
( ~ ilf_type(X0,subset_type(X1))
| member(X0,power_set(X1))
| empty(power_set(X1)) ),
inference(superposition,[status(thm)],[c_937,c_354]) ).
cnf(c_2477,plain,
( ~ ilf_type(X0,subset_type(X1))
| member(X0,power_set(X1)) ),
inference(forward_subsumption_resolution,[status(thm)],[c_2476,c_136]) ).
cnf(c_2584,plain,
( ~ ilf_type(sK12,relation_type(sK10,sK11))
| ilf_type(sP3_iProver_def,subset_type(sK11)) ),
inference(superposition,[status(thm)],[c_1543,c_947]) ).
cnf(c_2585,plain,
( ~ ilf_type(sK12,sP0_iProver_def)
| ilf_type(sP3_iProver_def,subset_type(sK11)) ),
inference(light_normalisation,[status(thm)],[c_2584,c_1540]) ).
cnf(c_2586,plain,
ilf_type(sP3_iProver_def,subset_type(sK11)),
inference(forward_subsumption_resolution,[status(thm)],[c_2585,c_1547]) ).
cnf(c_2615,plain,
( ~ ilf_type(X0,sP0_iProver_def)
| domain(sK10,sK11,X0) = domain_of(X0) ),
inference(superposition,[status(thm)],[c_1540,c_941]) ).
cnf(c_2650,plain,
member(sP3_iProver_def,power_set(sK11)),
inference(superposition,[status(thm)],[c_2586,c_2477]) ).
cnf(c_2670,plain,
( ~ member(X0,sP3_iProver_def)
| member(X0,sK11) ),
inference(superposition,[status(thm)],[c_2650,c_547]) ).
cnf(c_2708,plain,
( ~ ilf_type(X0,sP0_iProver_def)
| range(sK10,sK11,X0) = range_of(X0) ),
inference(superposition,[status(thm)],[c_1540,c_945]) ).
cnf(c_2866,plain,
~ member(X0,sP3_iProver_def),
inference(global_subsumption_just,[status(thm)],[c_2670,c_1550,c_2381,c_2670]) ).
cnf(c_2872,plain,
empty(sP3_iProver_def),
inference(superposition,[status(thm)],[c_2458,c_2866]) ).
cnf(c_5596,plain,
domain(sK10,sK11,sK12) = domain_of(sK12),
inference(superposition,[status(thm)],[c_1547,c_2615]) ).
cnf(c_5606,plain,
domain_of(sK12) = sP2_iProver_def,
inference(light_normalisation,[status(thm)],[c_5596,c_1542]) ).
cnf(c_5625,plain,
( ~ member(X0,sP2_iProver_def)
| ~ ilf_type(sK12,binary_relation_type)
| member(sK0(sK12),range_of(sK12)) ),
inference(superposition,[status(thm)],[c_5606,c_210]) ).
cnf(c_5684,plain,
( ~ ilf_type(sK12,binary_relation_type)
| member(sK0(sK12),range_of(sK12)) ),
inference(superposition,[status(thm)],[c_1549,c_5625]) ).
cnf(c_5703,plain,
( ~ ilf_type(sK12,binary_relation_type)
| ~ empty(range_of(sK12)) ),
inference(superposition,[status(thm)],[c_5684,c_953]) ).
cnf(c_5713,plain,
( ~ empty(range_of(sK12))
| ~ relation_like(sK12) ),
inference(superposition,[status(thm)],[c_929,c_5703]) ).
cnf(c_5714,plain,
~ empty(range_of(sK12)),
inference(forward_subsumption_resolution,[status(thm)],[c_5713,c_2393]) ).
cnf(c_5911,plain,
range(sK10,sK11,sK12) = range_of(sK12),
inference(superposition,[status(thm)],[c_1547,c_2708]) ).
cnf(c_5921,plain,
range_of(sK12) = sP3_iProver_def,
inference(light_normalisation,[status(thm)],[c_5911,c_1543]) ).
cnf(c_5923,plain,
~ empty(sP3_iProver_def),
inference(demodulation,[status(thm)],[c_5714,c_5921]) ).
cnf(c_5926,plain,
$false,
inference(forward_subsumption_resolution,[status(thm)],[c_5923,c_2872]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : SET682+3 : TPTP v8.2.0. Released v2.2.0.
% 0.07/0.12 % Command : run_iprover %s %d THM
% 0.11/0.33 % Computer : n023.cluster.edu
% 0.11/0.33 % Model : x86_64 x86_64
% 0.11/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.33 % Memory : 8042.1875MB
% 0.11/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.11/0.33 % CPULimit : 300
% 0.11/0.33 % WCLimit : 300
% 0.11/0.33 % DateTime : Sun Jun 23 17:53:09 EDT 2024
% 0.11/0.33 % CPUTime :
% 0.19/0.47 Running first-order theorem proving
% 0.19/0.47 Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --heuristic_context casc_unsat --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.47/1.15 % SZS status Started for theBenchmark.p
% 0.47/1.15 % SZS status Theorem for theBenchmark.p
% 0.47/1.15
% 0.47/1.15 %---------------- iProver v3.9 (pre CASC 2024/SMT-COMP 2024) ----------------%
% 0.47/1.15
% 0.47/1.15 ------ iProver source info
% 0.47/1.15
% 0.47/1.15 git: date: 2024-06-12 09:56:46 +0000
% 0.47/1.15 git: sha1: 4869ab62f0a3398f9d3a35e6db7918ebd3847e49
% 0.47/1.15 git: non_committed_changes: false
% 0.47/1.15
% 0.47/1.15 ------ Parsing...
% 0.47/1.15 ------ Clausification by vclausify_rel & Parsing by iProver...
% 0.47/1.15
% 0.47/1.15 ------ Preprocessing... sup_sim: 0 sf_s rm: 1 0s sf_e pe_s pe_e sup_sim: 0 sf_s rm: 1 0s sf_e pe_s pe_e
% 0.47/1.15
% 0.47/1.15 ------ Preprocessing... gs_s sp: 0 0s gs_e snvd_s sp: 0 0s snvd_e
% 0.47/1.15
% 0.47/1.15 ------ Preprocessing... sf_s rm: 1 0s sf_e sf_s rm: 0 0s sf_e
% 0.47/1.15 ------ Proving...
% 0.47/1.15 ------ Problem Properties
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15 clauses 40
% 0.47/1.15 conjectures 6
% 0.47/1.15 EPR 12
% 0.47/1.15 Horn 35
% 0.47/1.15 unary 15
% 0.47/1.15 binary 21
% 0.47/1.15 lits 69
% 0.47/1.15 lits eq 9
% 0.47/1.15 fd_pure 0
% 0.47/1.15 fd_pseudo 0
% 0.47/1.15 fd_cond 0
% 0.47/1.15 fd_pseudo_cond 0
% 0.47/1.15 AC symbols 0
% 0.47/1.15
% 0.47/1.15 ------ Schedule dynamic 5 is on
% 0.47/1.15
% 0.47/1.15 ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15 ------
% 0.47/1.15 Current options:
% 0.47/1.15 ------
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15 ------ Proving...
% 0.47/1.15
% 0.47/1.15
% 0.47/1.15 % SZS status Theorem for theBenchmark.p
% 0.47/1.15
% 0.47/1.15 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 0.47/1.15
% 0.47/1.16
%------------------------------------------------------------------------------