%------------------------------------------------------------------------------
% File : Vampire---5.0.1
% Problem : SEV463^1 : TPTP v9.3.1. Released v7.0.0.
% Transfm : none
% Format : tptp:raw
% Command : run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% Computer : n026.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 : Wed Sep 30 08:38:40 AM UTC 2026
% Result : Theorem 0.23s 0.29s
% Output : Refutation 0.23s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : SEV463^1 : TPTP v9.3.1. Released v7.0.0.
% 0.00/0.05 % Command : run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.09/0.17 % Computer : n026.cluster.edu
% 0.09/0.17 % Model : x86_64 x86_64
% 0.09/0.17 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.17 % Memory : 8046.5625MB
% 0.09/0.17 % OS : Linux 6.8.0-71-generic
% 0.09/0.18 % CPULimit : 300
% 0.09/0.18 % WCLimit : 300
% 0.09/0.18 % DateTime : Tue Sep 29 15:51:27 UTC 2026
% 0.09/0.18 % CPUTime :
% 0.09/0.18 Running run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.09/0.21 Running higher-order theorem proving
% 0.09/0.22 Running: /export/starexec/sandbox2/solver/bin/vampire-ho --input_syntax tptp --output_axiom_names on --mode casc -m 16384 --cores 7 -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.23/0.29 % (770635)Detected a higher-order problem, will run a greedy HOL sequence.
% 0.23/0.29 % (770644)dis+21_4_fde=none:e2e=on:si=on:uwa=off:foolp=on:random_seed=4007792491:i=24:av=off:rtra=on_2999 on theBenchmark for (2999ds/24Mi)
% 0.23/0.29 % (770646)WARNING Broken Constraint: if ho_split_queue_ratios(1,8) has been set then ho_split_queue(off) is equal to on
% 0.23/0.29 % (770646)WARNING Broken Constraint: if sine_to_age_tolerance(5) has been set then sine_to_age(off) is equal to on or sine_to_pred_levels(off) is not equal to off or sine_level_split_queue(off) is equal to on
% 0.23/0.29 % (770640)lrs+10_40_drc=off:e2e=on:si=on:uwa=one_side_interpreted:random_seed=141588530:s2a=on:i=87:rtra=on:ntd=on_2999 on theBenchmark for (2999ds/87Mi)
% 0.23/0.29 % (770641)lrs+10_16_si=on:nwc=1.5:random_seed=1327119765:i=18:kws=arity_squared:rtra=on:fe=abstraction:ntd=on_2999 on theBenchmark for (2999ds/18Mi)
% 0.23/0.29 % (770642)lrs+10_1_cnfonf=off:si=on:uwa=one_side_interpreted:random_seed=1505379965:i=3:rtra=on:inj=on:ntd=on_2999 on theBenchmark for (2999ds/3Mi)
% 0.23/0.29 % (770645)lrs+10_1_to=lpo:sil=128000:e2e=on:si=on:random_seed=1598094007:s2a=on:i=75:s2at=3:aac=none:bd=preordered:rtra=on:fe=abstraction_2999 on theBenchmark for (2999ds/75Mi)
% 0.23/0.29 % (770643)dis+1002_4:1_sfv=off:to=lpo:plsq=on:fde=none:e2e=on:si=on:spb=non_intro:acc=on:uwa=off:fd=preordered:foolp=on:s2agt=32:slsqc=1:slsq=on:random_seed=3060631419:hsq=on:hsqr=16,1:s2a=on:i=634:add=on:nm=16:nicw=on:rtra=on:gtg=position:ss=included:ixr=off:c=on:inj=on:ntd=on:rawr=on_2999 on theBenchmark for (2999ds/634Mi)
% 0.23/0.29 % (770644)Instruction limit reached!
% 0.23/0.29 % (770644)------------------------------
% 0.23/0.29 % (770644)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770644)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770644)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770644)Termination reason: Instruction limit
% 0.23/0.29 % (770644)Termination phase: Saturation
% 0.23/0.29 % (770644)Time elapsed: 0.008 s
% 0.23/0.29 % (770644)Peak memory usage: 12 MB
% 0.23/0.29 % (770644)Instructions burned: 24 (million)
% 0.23/0.29 % (770646)dis+1002_8_to=kbo:sil=128000:tgt=full:drc=off:si=on:sp=const_max:lma=off:spb=non_intro:cbe=off:uwa=interpreted_only:random_seed=3675163528:hsqr=1,8:i=157:s2at=5:add=on:nm=2:rtra=on_2999 on theBenchmark for (2999ds/157Mi)
% 0.23/0.29 % (770642)Instruction limit reached!
% 0.23/0.29 % (770642)------------------------------
% 0.23/0.29 % (770642)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770642)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770642)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770642)Termination reason: Instruction limit
% 0.23/0.29 % (770642)Termination phase: Saturation
% 0.23/0.29 % (770642)Time elapsed: 0.003 s
% 0.23/0.29 % (770642)Peak memory usage: 12 MB
% 0.23/0.29 % (770642)Instructions burned: 5 (million)
% 0.23/0.29 % (770654)dis+10_1024_sil=128000:si=on:sp=unary_first:urr=on:uwa=all:fd=off:random_seed=2173619296:i=2:hud=10:rtra=on_2999 on theBenchmark for (2999ds/2Mi)
% 0.23/0.29 % (770641)Instruction limit reached!
% 0.23/0.29 % (770641)------------------------------
% 0.23/0.29 % (770641)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770641)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770641)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770641)Termination reason: Instruction limit
% 0.23/0.29 % (770641)Termination phase: Saturation
% 0.23/0.29 % (770641)Time elapsed: 0.012 s
% 0.23/0.29 % (770641)Peak memory usage: 12 MB
% 0.23/0.29 % (770641)Instructions burned: 19 (million)
% 0.23/0.29 % (770654)Instruction limit reached!
% 0.23/0.29 % (770654)------------------------------
% 0.23/0.29 % (770654)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770654)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770654)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770654)Termination reason: Instruction limit
% 0.23/0.29 % (770654)Termination phase: Saturation
% 0.23/0.29 % (770654)Time elapsed: 0.001 s
% 0.23/0.29 % (770654)Peak memory usage: 12 MB
% 0.23/0.29 % (770654)Instructions burned: 2 (million)
% 0.23/0.29 % (770655)lrs+1010_2:3_cha=on:si=on:uwa=off:nwc=1:random_seed=2194721439:i=5:fgj=on:av=off:rtra=on:fe=axiom:ntd=on_2999 on theBenchmark for (2999ds/5Mi)
% 0.23/0.29 % (770658)lrs+10_1_sil=128000:si=on:urr=on:slsqc=1:slsq=on:random_seed=3502729317:i=12:s2at=2:kws=inv_frequency:bd=all:rtra=on_2999 on theBenchmark for (2999ds/12Mi)
% 0.23/0.29 % (770655)Instruction limit reached!
% 0.23/0.29 % (770655)------------------------------
% 0.23/0.29 % (770655)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770655)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770655)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770655)Termination reason: Instruction limit
% 0.23/0.29 % (770655)Termination phase: Saturation
% 0.23/0.29 % (770655)Time elapsed: 0.004 s
% 0.23/0.29 % (770655)Peak memory usage: 12 MB
% 0.23/0.29 % (770655)Instructions burned: 6 (million)
% 0.23/0.29 % (770657)WARNING Broken Constraint: if forward_subsumption_demodulation_max_matches(5) has been set then forward_subsumption_demodulation(off) is equal to on
% 0.23/0.29 % (770658)Instruction limit reached!
% 0.23/0.29 % (770658)------------------------------
% 0.23/0.29 % (770658)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.29 % (770658)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.29 % (770658)CaDiCaL version: 2.1.3
% 0.23/0.29 % (770658)Termination reason: Instruction limit
% 0.23/0.29 % (770658)Termination phase: Saturation
% 0.23/0.29 % (770658)Time elapsed: 0.005 s
% 0.23/0.29 % (770658)Peak memory usage: 12 MB
% 0.23/0.29 % (770658)Instructions burned: 15 (million)
% 0.23/0.29 % (770657)dis+21_1_to=kbo:sil=128000:plsq=on:plsqc=1:cnfonf=lazy_gen:si=on:plsqr=64,1:uwa=hol:random_seed=3468508696:uwa_fpi=on:i=7:fgj=on:hud=10:fsr=off:rtra=on:rawr=on:fsdmm=5_2999 on theBenchmark for (2999ds/7Mi)
% 0.23/0.29 % (770643) found proof, printing to "/export/starexec/sandbox2/tmp/vampire-proof-770635-770643"...
% 0.23/0.29 % (770643)...printing done.
% 0.23/0.29 % (770643)Refutation found. Thanks to Tanya!
% 0.23/0.29 % SZS status Theorem for theBenchmark
% 0.23/0.29 % SZS output start Proof for theBenchmark
% 0.23/0.29 thf(type_def_5, type, sTfun: ($tType * $tType) > $tType).
% 0.23/0.29 thf(type_def_6, type, sK1: $tType).
% 0.23/0.29 thf(func_def_0, type, 'const/trivia/I': !>[X0: $tType]:((X0 > X0))).
% 0.23/0.29 thf(func_def_1, type, 'const/sets/SUBSET': !>[X0: $tType]:(((X0 > $o) > (X0 > $o) > $o))).
% 0.23/0.29 thf(func_def_2, type, 'const/sets/INTERS': !>[X0: $tType]:((((X0 > $o) > $o) > X0 > $o))).
% 0.23/0.29 thf(func_def_3, type, 'const/sets/IN': !>[X0: $tType]:((X0 > (X0 > $o) > $o))).
% 0.23/0.29 thf(func_def_7, type, sK0: !>[X0: $tType]:(((X0 > $o) > (X0 > $o) > X0))).
% 0.23/0.29 thf(func_def_8, type, sK2: ((sK1 > $o) > $o)).
% 0.23/0.29 thf(func_def_9, type, sK3: (sK1 > $o)).
% 0.23/0.29 thf(func_def_10, type, sK4: (sK1 > $o)).
% 0.23/0.29 thf(func_def_11, type, sK5: !>[X0: $tType]:((X0 > ((X0 > $o) > $o) > X0 > $o))).
% 0.23/0.29 thf(func_def_12, type, vNOT: ($o > $o)).
% 0.23/0.29 thf(f3,axiom,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = ! [X3 : (X0 > $o)] : (('const/sets/IN' @ (X0 > $o) @ X3 @ X1) => ('const/sets/IN' @ X0 @ X2 @ X3)))),
% 0.23/0.29 file('/export/starexec/sandbox2/benchmark/theBenchmark.p','thm/sets/IN_INTERS_')).
% 0.23/0.29 thf(f4,axiom,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = ! [X3 : X0] : (('const/sets/IN' @ X0 @ X3 @ X1) => ('const/sets/IN' @ X0 @ X3 @ X2)))),
% 0.23/0.29 file('/export/starexec/sandbox2/benchmark/theBenchmark.p','thm/sets/SUBSET_')).
% 0.23/0.29 thf(f5,conjecture,(
% 0.23/0.29 ! [X0 : $tType,X2 : ((X0 > $o) > $o),X1 : (X0 > $o)] : ((('const/sets/SUBSET' @ X0 @ X1 @ ('const/sets/INTERS' @ X0 @ X2))) = ! [X3 : (X0 > $o)] : (('const/sets/IN' @ (X0 > $o) @ X3 @ X2) => ('const/sets/SUBSET' @ X0 @ X1 @ X3)))),
% 0.23/0.29 file('/export/starexec/sandbox2/benchmark/theBenchmark.p','thm/sets/SUBSET_INTERS_')).
% 0.23/0.29 thf(f6,negated_conjecture,(
% 0.23/0.29 ~ ! [X0 : $tType,X2 : ((X0 > $o) > $o),X1 : (X0 > $o)] : ((('const/sets/SUBSET' @ X0 @ X1 @ ('const/sets/INTERS' @ X0 @ X2))) = ! [X3 : (X0 > $o)] : (('const/sets/IN' @ (X0 > $o) @ X3 @ X2) => ('const/sets/SUBSET' @ X0 @ X1 @ X3)))),
% 0.23/0.29 inference(negated_conjecture,[status(cth)],[f5])).
% 0.23/0.29 thf(f7,plain,(
% 0.23/0.29 ~ ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : (X0 > $o)] : ((('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = ! [X3 : (X0 > $o)] : (('const/sets/IN' @ (X0 > $o) @ X3 @ X1) => ('const/sets/SUBSET' @ X0 @ X2 @ X3)))),
% 0.23/0.29 inference(rectify,[],[f6])).
% 0.23/0.29 thf(f8,plain,(
% 0.23/0.29 ~ ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : (X0 > $o)] : (! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) = $true) => ($true = (('const/sets/SUBSET' @ X0 @ X2 @ X3)))) <=> ($true = (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))))),
% 0.23/0.29 inference(fool_elimination,[],[f7])).
% 0.23/0.29 thf(f9,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = ! [X3 : (X0 > $o)] : (('const/sets/IN' @ (X0 > $o) @ X3 @ X1) => ('const/sets/IN' @ X0 @ X2 @ X3)))),
% 0.23/0.29 inference(rectify,[],[f3])).
% 0.23/0.29 thf(f10,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : (! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) = $true) => ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) <=> ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true))),
% 0.23/0.29 inference(fool_elimination,[],[f9])).
% 0.23/0.29 thf(f11,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = ! [X3 : X0] : (('const/sets/IN' @ X0 @ X3 @ X1) => ('const/sets/IN' @ X0 @ X3 @ X2)))),
% 0.23/0.29 inference(rectify,[],[f4])).
% 0.23/0.29 thf(f12,plain,(
% 0.23/0.29 ! [X0 : $tType,X2 : (X0 > $o),X1 : (X0 > $o)] : (! [X3 : X0] : (((('const/sets/IN' @ X0 @ X3 @ X1)) = $true) => ((('const/sets/IN' @ X0 @ X3 @ X2)) = $true)) <=> ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true))),
% 0.23/0.29 inference(fool_elimination,[],[f11])).
% 0.23/0.29 thf(f14,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : (! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) <=> ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true))),
% 0.23/0.29 inference(ennf_transformation,[],[f10])).
% 0.23/0.29 thf(f15,plain,(
% 0.23/0.29 ? [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : (X0 > $o)] : (! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ($true = (('const/sets/SUBSET' @ X0 @ X2 @ X3)))) <~> ($true = (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))))),
% 0.23/0.29 inference(ennf_transformation,[],[f8])).
% 0.23/0.29 thf(f16,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : (((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true) <=> ! [X3 : X0] : (((('const/sets/IN' @ X0 @ X3 @ X2)) = $true) | ((('const/sets/IN' @ X0 @ X3 @ X1)) != $true)))),
% 0.23/0.29 inference(ennf_transformation,[],[f12])).
% 0.23/0.29 thf(f17,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : ((((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true) | ? [X3 : X0] : (((('const/sets/IN' @ X0 @ X3 @ X2)) != $true) & ((('const/sets/IN' @ X0 @ X3 @ X1)) = $true))) & (! [X3 : X0] : (((('const/sets/IN' @ X0 @ X3 @ X2)) = $true) | ((('const/sets/IN' @ X0 @ X3 @ X1)) != $true)) | ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) != $true)))),
% 0.23/0.29 inference(nnf_transformation,[],[f16])).
% 0.23/0.29 thf(f18,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : ((((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true) | ? [X3 : X0] : (((('const/sets/IN' @ X0 @ X3 @ X2)) != $true) & ((('const/sets/IN' @ X0 @ X3 @ X1)) = $true))) & (! [X4 : X0] : (($true = (('const/sets/IN' @ X0 @ X4 @ X2))) | ($true != (('const/sets/IN' @ X0 @ X4 @ X1)))) | ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) != $true)))),
% 0.23/0.29 inference(rectify,[],[f17])).
% 0.23/0.29 thf(f19,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : (X0 > $o),X2 : (X0 > $o)] : ((((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true) | (($true != (('const/sets/IN' @ X0 @ (sK0 @ X0 @ X2 @ X1) @ X2))) & ($true = (('const/sets/IN' @ X0 @ (sK0 @ X0 @ X2 @ X1) @ X1))))) & (! [X4 : X0] : (($true = (('const/sets/IN' @ X0 @ X4 @ X2))) | ($true != (('const/sets/IN' @ X0 @ X4 @ X1)))) | ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) != $true)))),
% 0.23/0.29 inference(skolemize,[status(esa),new_symbols(skolem,[vAPP]),skolemize(X3,sK0 @ X0 @ X2 @ X1)],[f18])).
% 0.23/0.29 thf(f21,plain,(
% 0.23/0.29 ? [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : (X0 > $o)] : ((($true != (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))) | ? [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) = $true) & ($true != (('const/sets/SUBSET' @ X0 @ X2 @ X3))))) & (($true = (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))) | ! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ($true = (('const/sets/SUBSET' @ X0 @ X2 @ X3))))))),
% 0.23/0.29 inference(nnf_transformation,[],[f15])).
% 0.23/0.29 thf(f22,plain,(
% 0.23/0.29 ? [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : (X0 > $o)] : ((($true != (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))) | ? [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) = $true) & ($true != (('const/sets/SUBSET' @ X0 @ X2 @ X3))))) & (($true = (('const/sets/SUBSET' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1)))) | ! [X4 : (X0 > $o)] : (($true != (('const/sets/IN' @ (X0 > $o) @ X4 @ X1))) | ((('const/sets/SUBSET' @ X0 @ X2 @ X4)) = $true))))),
% 0.23/0.29 inference(rectify,[],[f21])).
% 0.23/0.29 thf(f23,plain,(
% 0.23/0.29 (($true != (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | (($true = (('const/sets/IN' @ (sK1 > $o) @ sK4 @ sK2))) & ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) != $true))) & (($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ! [X4 : (sK1 > $o)] : (($true != (('const/sets/IN' @ (sK1 > $o) @ X4 @ sK2))) | ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ X4)))))),
% 0.23/0.29 inference(skolemize,[status(esa),new_symbols(skolem,[sK1,sK2,sK3,sK4]),skolemize(X0,sK1),skolemize(X1,sK2),skolemize(X2,sK3),skolemize(X3,sK4)],[f22])).
% 0.23/0.29 thf(f24,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : ((! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) | ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) != $true)) & (((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true) | ? [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) = $true) & ((('const/sets/IN' @ X0 @ X2 @ X3)) != $true))))),
% 0.23/0.29 inference(nnf_transformation,[],[f14])).
% 0.23/0.29 thf(f25,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : ((! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) | ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) != $true)) & (((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true) | ? [X4 : (X0 > $o)] : (($true = (('const/sets/IN' @ (X0 > $o) @ X4 @ X1))) & ($true != (('const/sets/IN' @ X0 @ X2 @ X4))))))),
% 0.23/0.29 inference(rectify,[],[f24])).
% 0.23/0.29 thf(f26,plain,(
% 0.23/0.29 ! [X0 : $tType,X1 : ((X0 > $o) > $o),X2 : X0] : ((! [X3 : (X0 > $o)] : (((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) | ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) != $true)) & (((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true) | (($true = (('const/sets/IN' @ (X0 > $o) @ (sK5 @ X0 @ X2 @ X1) @ X1))) & ($true != (('const/sets/IN' @ X0 @ X2 @ (sK5 @ X0 @ X2 @ X1)))))))),
% 0.23/0.29 inference(skolemize,[status(esa),new_symbols(skolem,[vAPP]),skolemize(X3,sK0 @ X0 @ X2 @ X1)],[f25])).
% 0.23/0.29 thf(f27,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : (X0 > $o),X1 : (X0 > $o),X4 : X0] : (((('const/sets/SUBSET' @ X0 @ X1 @ X2)) != $true) | ($true = (('const/sets/IN' @ X0 @ X4 @ X2))) | ($true != (('const/sets/IN' @ X0 @ X4 @ X1)))) )),
% 0.23/0.29 inference(cnf_transformation,[],[f19])).
% 0.23/0.29 thf(f28,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : (X0 > $o),X1 : (X0 > $o)] : (($true = (('const/sets/IN' @ X0 @ (sK0 @ X0 @ X2 @ X1) @ X1))) | ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true)) )),
% 0.23/0.29 inference(cnf_transformation,[],[f19])).
% 0.23/0.29 thf(f29,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : (X0 > $o),X1 : (X0 > $o)] : (($true != (('const/sets/IN' @ X0 @ (sK0 @ X0 @ X2 @ X1) @ X2))) | ((('const/sets/SUBSET' @ X0 @ X1 @ X2)) = $true)) )),
% 0.23/0.29 inference(cnf_transformation,[],[f19])).
% 0.23/0.29 thf(f32,plain,(
% 0.23/0.29 ( ! [X4 : (sK1 > $o)] : (($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ X4))) | ($true != (('const/sets/IN' @ (sK1 > $o) @ X4 @ sK2))) | ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2))))) )),
% 0.23/0.29 inference(cnf_transformation,[],[f23])).
% 0.23/0.29 thf(f33,plain,(
% 0.23/0.29 ($true != (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) != $true)),
% 0.23/0.29 inference(cnf_transformation,[],[f23])).
% 0.23/0.29 thf(f34,plain,(
% 0.23/0.29 ($true != (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true = (('const/sets/IN' @ (sK1 > $o) @ sK4 @ sK2)))),
% 0.23/0.29 inference(cnf_transformation,[],[f23])).
% 0.23/0.29 thf(f35,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : X0,X1 : ((X0 > $o) > $o)] : (($true != (('const/sets/IN' @ X0 @ X2 @ (sK5 @ X0 @ X2 @ X1)))) | ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true)) )),
% 0.23/0.29 inference(cnf_transformation,[],[f26])).
% 0.23/0.29 thf(f36,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : X0,X1 : ((X0 > $o) > $o)] : (($true = (('const/sets/IN' @ (X0 > $o) @ (sK5 @ X0 @ X2 @ X1) @ X1))) | ((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) = $true)) )),
% 0.23/0.29 inference(cnf_transformation,[],[f26])).
% 0.23/0.29 thf(f37,plain,(
% 0.23/0.29 ( ! [X0 : $tType,X2 : X0,X3 : (X0 > $o),X1 : ((X0 > $o) > $o)] : (((('const/sets/IN' @ X0 @ X2 @ ('const/sets/INTERS' @ X0 @ X1))) != $true) | ((('const/sets/IN' @ (X0 > $o) @ X3 @ X1)) != $true) | ((('const/sets/IN' @ X0 @ X2 @ X3)) = $true)) )),
% 0.23/0.29 inference(cnf_transformation,[],[f26])).
% 0.23/0.29 thf(f42,definition,(
% 0.23/0.29 spl6_1 <=> ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) = $true)),
% 0.23/0.29 introduced(definition,[new_symbols(definition,[spl6_1])],[avatar_definition])).
% 0.23/0.29 thf(f44,plain,(
% 0.23/0.29 ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) != $true) | spl6_1),
% 0.23/0.29 inference(avatar_component_clause,[],[f42])).
% 0.23/0.29 thf(f46,definition,(
% 0.23/0.29 spl6_2 <=> ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2))))),
% 0.23/0.29 introduced(definition,[new_symbols(definition,[spl6_2])],[avatar_definition])).
% 0.23/0.29 thf(f47,plain,(
% 0.23/0.29 ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ~spl6_2),
% 0.23/0.29 inference(avatar_component_clause,[],[f46])).
% 0.23/0.29 thf(f49,plain,(
% 0.23/0.29 ~spl6_1 | ~spl6_2),
% 0.23/0.29 inference(avatar_split_clause,[],[f33,f46,f42])).
% 0.23/0.29 thf(f51,definition,(
% 0.23/0.29 spl6_3 <=> ! [X4 : (sK1 > $o)] : (($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ X4))) | ($true != (('const/sets/IN' @ (sK1 > $o) @ X4 @ sK2))))),
% 0.23/0.29 introduced(definition,[new_symbols(definition,[spl6_3])],[avatar_definition])).
% 0.23/0.29 thf(f52,plain,(
% 0.23/0.29 ( ! [X4 : (sK1 > $o)] : (($true != (('const/sets/IN' @ (sK1 > $o) @ X4 @ sK2))) | ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ X4)))) ) | ~spl6_3),
% 0.23/0.29 inference(avatar_component_clause,[],[f51])).
% 0.23/0.29 thf(f53,plain,(
% 0.23/0.29 spl6_3 | spl6_2),
% 0.23/0.29 inference(avatar_split_clause,[],[f32,f46,f51])).
% 0.23/0.29 thf(f55,definition,(
% 0.23/0.29 spl6_4 <=> ($true = (('const/sets/IN' @ (sK1 > $o) @ sK4 @ sK2)))),
% 0.23/0.29 introduced(definition,[new_symbols(definition,[spl6_4])],[avatar_definition])).
% 0.23/0.29 thf(f57,plain,(
% 0.23/0.29 ($true = (('const/sets/IN' @ (sK1 > $o) @ sK4 @ sK2))) | ~spl6_4),
% 0.23/0.29 inference(avatar_component_clause,[],[f55])).
% 0.23/0.29 thf(f58,plain,(
% 0.23/0.29 ~spl6_2 | spl6_4),
% 0.23/0.29 inference(avatar_split_clause,[],[f34,f55,f46])).
% 0.23/0.29 thf(f70,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true != $true) | ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ (sK5 @ sK1 @ X0 @ sK2)))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(superposition,[],[f52,f36])).
% 0.23/0.29 thf(f72,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ (sK5 @ sK1 @ X0 @ sK2)))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f70])).
% 0.23/0.29 thf(f73,plain,(
% 0.23/0.29 ( ! [X0 : sK1,X1 : sK1] : (($true != $true) | ($true != (('const/sets/IN' @ sK1 @ X1 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X1 @ (sK5 @ sK1 @ X0 @ sK2)))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(superposition,[],[f27,f72])).
% 0.23/0.29 thf(f74,plain,(
% 0.23/0.29 ( ! [X0 : sK1,X1 : sK1] : (($true = (('const/sets/IN' @ sK1 @ X1 @ (sK5 @ sK1 @ X0 @ sK2)))) | ($true != (('const/sets/IN' @ sK1 @ X1 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f73])).
% 0.23/0.29 thf(f85,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true != (('const/sets/IN' @ sK1 @ X0 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != $true) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(superposition,[],[f35,f74])).
% 0.23/0.29 thf(f88,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true != (('const/sets/IN' @ sK1 @ X0 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != $true)) ) | ~spl6_3),
% 0.23/0.29 inference(duplicate_literal_removal,[],[f85])).
% 0.23/0.29 thf(f89,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != (('const/sets/IN' @ sK1 @ X0 @ sK3)))) ) | ~spl6_3),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f88])).
% 0.23/0.29 thf(f99,plain,(
% 0.23/0.29 ( ! [X0 : (sK1 > $o)] : (($true = (('const/sets/SUBSET' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != $true) | ($true != (('const/sets/IN' @ sK1 @ (sK0 @ sK1 @ ('const/sets/INTERS' @ sK1 @ sK2) @ X0) @ sK3)))) ) | ~spl6_3),
% 0.23/0.29 inference(superposition,[],[f29,f89])).
% 0.23/0.29 thf(f100,plain,(
% 0.23/0.29 ( ! [X0 : (sK1 > $o)] : (($true != (('const/sets/IN' @ sK1 @ (sK0 @ sK1 @ ('const/sets/INTERS' @ sK1 @ sK2) @ X0) @ sK3))) | ($true = (('const/sets/SUBSET' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_3),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f99])).
% 0.23/0.29 thf(f183,plain,(
% 0.23/0.29 ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != $true) | ~spl6_3),
% 0.23/0.29 inference(superposition,[],[f100,f28])).
% 0.23/0.29 thf(f188,plain,(
% 0.23/0.29 ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != $true) | ~spl6_3),
% 0.23/0.29 inference(duplicate_literal_removal,[],[f183])).
% 0.23/0.29 thf(f189,plain,(
% 0.23/0.29 ($true = (('const/sets/SUBSET' @ sK1 @ sK3 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ~spl6_3),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f188])).
% 0.23/0.29 thf(f194,plain,(
% 0.23/0.29 spl6_2 | ~spl6_3),
% 0.23/0.29 inference(avatar_split_clause,[],[f189,f51,f46])).
% 0.23/0.29 thf(f200,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true != (('const/sets/IN' @ sK1 @ X0 @ sK3))) | ($true != $true) | ($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2))))) ) | ~spl6_2),
% 0.23/0.29 inference(superposition,[],[f27,f47])).
% 0.23/0.29 thf(f201,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true = (('const/sets/IN' @ sK1 @ X0 @ ('const/sets/INTERS' @ sK1 @ sK2)))) | ($true != (('const/sets/IN' @ sK1 @ X0 @ sK3)))) ) | ~spl6_2),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f200])).
% 0.23/0.29 thf(f202,plain,(
% 0.23/0.29 ( ! [X0 : sK1,X1 : (sK1 > $o)] : (($true != (('const/sets/IN' @ sK1 @ X0 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ X1))) | ($true != (('const/sets/IN' @ (sK1 > $o) @ X1 @ sK2))) | ($true != $true)) ) | ~spl6_2),
% 0.23/0.29 inference(superposition,[],[f37,f201])).
% 0.23/0.29 thf(f204,plain,(
% 0.23/0.29 ( ! [X0 : sK1,X1 : (sK1 > $o)] : (($true != (('const/sets/IN' @ (sK1 > $o) @ X1 @ sK2))) | ($true != (('const/sets/IN' @ sK1 @ X0 @ sK3))) | ($true = (('const/sets/IN' @ sK1 @ X0 @ X1)))) ) | ~spl6_2),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f202])).
% 0.23/0.29 thf(f206,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true = (('const/sets/IN' @ sK1 @ X0 @ sK4))) | ($true != $true) | ($true != (('const/sets/IN' @ sK1 @ X0 @ sK3)))) ) | (~spl6_2 | ~spl6_4)),
% 0.23/0.29 inference(superposition,[],[f204,f57])).
% 0.23/0.29 thf(f216,plain,(
% 0.23/0.29 ( ! [X0 : sK1] : (($true = (('const/sets/IN' @ sK1 @ X0 @ sK4))) | ($true != (('const/sets/IN' @ sK1 @ X0 @ sK3)))) ) | (~spl6_2 | ~spl6_4)),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f206])).
% 0.23/0.29 thf(f243,plain,(
% 0.23/0.29 ( ! [X0 : (sK1 > $o)] : (($true = (('const/sets/SUBSET' @ sK1 @ X0 @ sK4))) | ($true != $true) | ((('const/sets/IN' @ sK1 @ (sK0 @ sK1 @ sK4 @ X0) @ sK3)) != $true)) ) | (~spl6_2 | ~spl6_4)),
% 0.23/0.29 inference(superposition,[],[f29,f216])).
% 0.23/0.29 thf(f244,plain,(
% 0.23/0.29 ( ! [X0 : (sK1 > $o)] : (((('const/sets/IN' @ sK1 @ (sK0 @ sK1 @ sK4 @ X0) @ sK3)) != $true) | ($true = (('const/sets/SUBSET' @ sK1 @ X0 @ sK4)))) ) | (~spl6_2 | ~spl6_4)),
% 0.23/0.29 inference(trivial_inequality_removal,[],[f243])).
% 0.23/0.29 thf(f288,plain,(
% 0.23/0.29 ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) = $true) | ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) = $true) | ($true != $true) | (~spl6_2 | ~spl6_4)),
% 0.23/0.29 inference(superposition,[],[f244,f28])).
% 0.23/0.29 thf(f296,plain,(
% 0.23/0.29 ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) = $true) | ($true != $true) | (~spl6_2 | ~spl6_4)),
% 0.23/0.30 inference(duplicate_literal_removal,[],[f288])).
% 0.23/0.30 thf(f297,plain,(
% 0.23/0.30 ((('const/sets/SUBSET' @ sK1 @ sK3 @ sK4)) = $true) | (~spl6_2 | ~spl6_4)),
% 0.23/0.30 inference(trivial_inequality_removal,[],[f296])).
% 0.23/0.30 thf(f300,plain,(
% 0.23/0.30 $false | (spl6_1 | ~spl6_2 | ~spl6_4)),
% 0.23/0.30 inference(forward_subsumption_resolution,[],[f297,f44])).
% 0.23/0.30 thf(f301,plain,(
% 0.23/0.30 spl6_1 | ~spl6_2 | ~spl6_4),
% 0.23/0.30 inference(avatar_contradiction_clause,[],[f300])).
% 0.23/0.30 cnf(s1, plain, ~spl6_1 | ~spl6_2, inference(sat_conversion,[],[f49])).
% 0.23/0.30 cnf(s2, plain, spl6_2 | spl6_3, inference(sat_conversion,[],[f53])).
% 0.23/0.30 cnf(s3, plain, ~spl6_2 | spl6_4, inference(sat_conversion,[],[f58])).
% 0.23/0.30 cnf(s5, plain, spl6_2 | ~spl6_3, inference(sat_conversion,[],[f194])).
% 0.23/0.30 cnf(s7, plain, spl6_1 | ~spl6_2 | ~spl6_4, inference(sat_conversion,[],[f301])).
% 0.23/0.30 cnf(s8, plain, spl6_2, inference(rat,[],[s2,s5])).
% 0.23/0.30 cnf(s9, plain, spl6_4, inference(rat,[],[s3,s8])).
% 0.23/0.30 cnf(s10, plain, ~spl6_1, inference(rat,[],[s1,s8])).
% 0.23/0.30 cnf(s11, plain, $false, inference(rat,[],[s7,s8,s10,s9])).
% 0.23/0.30 thf(f302,plain,(
% 0.23/0.30 $false),
% 0.23/0.30 inference(avatar_sat_refutation,[],[s11])).
% 0.23/0.30 % SZS output end Proof for theBenchmark
% 0.23/0.30 % (770643)------------------------------
% 0.23/0.30 % (770643)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 0.23/0.30 % (770643)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 0.23/0.30 % (770643)CaDiCaL version: 2.1.3
% 0.23/0.30 % (770643)Termination reason: Refutation
% 0.23/0.30 % (770643)Time elapsed: 0.035 s
% 0.23/0.30 % (770643)Peak memory usage: 13 MB
% 0.23/0.30 % (770643)Instructions burned: 55 (million)
% 0.23/0.30 % (770635)Success in time 0.067 s
% 0.23/0.30 % Vampire exiting
%------------------------------------------------------------------------------