↑ Up

Vampire---5.0.1.UNS-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Vampire---5.0.1
% Problem  : GRP199-1 : TPTP v9.3.1. Released v2.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_vampire /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM

% Computer : n016.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 : Tue Sep 29 10:13:19 AM UTC 2026

% Result   : Unsatisfiable 11.19s 2.88s
% Output   : Refutation 11.19s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :    8
% Syntax   : Number of formulae    :   27 (  25 unt;   0 def)
%            Number of atoms       :   29 (  28 equ)
%            Maximal formula atoms :    2 (   1 avg)
%            Number of connectives :   12 (  10   ~;   2   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    6 (   2 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    2 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :    9 (   9 usr;   8 con; 0-2 aty)
%            Number of variables   :   22 (  22   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(f1,axiom,
    ! [X2,X0,X1] : multiply(multiply(X0,X1),X2) = multiply(X0,multiply(X1,X2)),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',associativity_of_multiply) ).

fof(f2,axiom,
    ! [X2,X0,X1] :
      ( multiply(X0,X1) != multiply(X2,X1)
      | X0 = X2 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',right_cancellation) ).

fof(f3,axiom,
    ! [X2,X0,X1] :
      ( multiply(X0,X1) != multiply(X0,X2)
      | X1 = X2 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',left_cancellation) ).

fof(f4,axiom,
    ! [X2,X0,X1] : multiply(X0,multiply(X1,multiply(X2,multiply(X1,X0)))) = multiply(X1,multiply(X0,multiply(X2,multiply(X0,X1)))),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',nilpotency) ).

fof(f5,negated_conjecture,
    multiply(b,b0) = multiply(a,a0),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',prove_quotient1) ).

fof(f6,negated_conjecture,
    multiply(d,b0) = multiply(c,a0),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',prove_quotient2) ).

fof(f7,negated_conjecture,
    multiply(b,d0) = multiply(a,c0),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',prove_quotient3) ).

fof(f8,negated_conjecture,
    multiply(d,d0) != multiply(c,c0),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',prove_quotient4) ).

fof(f161,plain,
    ! [X0] : multiply(multiply(d,d0),X0) != multiply(multiply(c,c0),X0),
    inference(unit_resulting_resolution,[],[f2,f8]) ).

fof(f164,plain,
    ! [X0] : multiply(multiply(d,d0),X0) != multiply(c,multiply(c0,X0)),
    inference(forward_demodulation,[],[f161,f1]) ).

fof(f166,plain,
    ! [X0] : multiply(c,multiply(c0,X0)) != multiply(d,multiply(d0,X0)),
    inference(forward_demodulation,[],[f164,f1]) ).

fof(f182,plain,
    ! [X0] : multiply(a,multiply(a0,X0)) = multiply(multiply(b,b0),X0),
    inference(superposition,[],[f1,f5]) ).

fof(f189,plain,
    ! [X0] : multiply(a,multiply(a0,X0)) = multiply(b,multiply(b0,X0)),
    inference(forward_demodulation,[],[f182,f1]) ).

fof(f190,plain,
    ! [X0] : multiply(c,multiply(a0,X0)) = multiply(multiply(d,b0),X0),
    inference(superposition,[],[f1,f6]) ).

fof(f195,plain,
    ! [X0] : multiply(c,multiply(a0,X0)) = multiply(d,multiply(b0,X0)),
    inference(forward_demodulation,[],[f190,f1]) ).

fof(f196,plain,
    ! [X0] : multiply(a,multiply(c0,X0)) = multiply(multiply(b,d0),X0),
    inference(superposition,[],[f1,f7]) ).

fof(f203,plain,
    ! [X0] : multiply(a,multiply(c0,X0)) = multiply(b,multiply(d0,X0)),
    inference(forward_demodulation,[],[f196,f1]) ).

fof(f531,plain,
    ! [X0] : multiply(a0,multiply(X0,multiply(a,multiply(X0,a0)))) = multiply(X0,multiply(a0,multiply(b,multiply(b0,X0)))),
    inference(superposition,[],[f4,f189]) ).

fof(f957,plain,
    multiply(b,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) = multiply(a,multiply(a0,multiply(c0,multiply(a,multiply(c0,a0))))),
    inference(superposition,[],[f203,f531]) ).

fof(f958,plain,
    multiply(d,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) != multiply(c,multiply(a0,multiply(c0,multiply(a,multiply(c0,a0))))),
    inference(superposition,[],[f166,f531]) ).

fof(f959,plain,
    multiply(d,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) != multiply(d,multiply(b0,multiply(c0,multiply(a,multiply(c0,a0))))),
    inference(forward_demodulation,[],[f958,f195]) ).

fof(f960,plain,
    multiply(b,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) = multiply(b,multiply(b0,multiply(c0,multiply(a,multiply(c0,a0))))),
    inference(forward_demodulation,[],[f957,f189]) ).

fof(f988,plain,
    multiply(d,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) != multiply(d,multiply(b0,multiply(c0,multiply(b,multiply(d0,a0))))),
    inference(forward_demodulation,[],[f959,f203]) ).

fof(f989,plain,
    multiply(b,multiply(d0,multiply(a0,multiply(b,multiply(b0,c0))))) = multiply(b,multiply(b0,multiply(c0,multiply(b,multiply(d0,a0))))),
    inference(forward_demodulation,[],[f960,f203]) ).

fof(f1196,plain,
    multiply(d0,multiply(a0,multiply(b,multiply(b0,c0)))) = multiply(b0,multiply(c0,multiply(b,multiply(d0,a0)))),
    inference(unit_resulting_resolution,[],[f3,f989]) ).

fof(f1270,plain,
    multiply(d,multiply(b0,multiply(c0,multiply(b,multiply(d0,a0))))) != multiply(d,multiply(b0,multiply(c0,multiply(b,multiply(d0,a0))))),
    inference(superposition,[],[f988,f1196]) ).

fof(f1282,plain,
    $false,
    inference(trivial_inequality_removal,[],[f1270]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : GRP199-1 : TPTP v9.3.1. Released v2.2.0.
% 0.00/0.06  % Command  : run_vampire /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.10/0.37  % Computer : n016.cluster.edu
% 0.10/0.37  % Model    : x86_64 x86_64
% 0.10/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.37  % Memory   : 8046.5625MB
% 0.10/0.37  % OS       : Linux 6.8.0-71-generic
% 0.10/0.37  % CPULimit : 300
% 0.10/0.37  % WCLimit  : 300
% 0.10/0.37  % DateTime : Sun Sep 27 09:42:02 UTC 2026
% 0.10/0.37  % CPUTime  : 
% 0.10/0.37  Running run_vampire /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.13/0.41  Running first-order theorem proving
% 0.13/0.41  Running: /export/starexec/sandbox/solver/bin/vampire --input_syntax tptp --output_axiom_names on --mode casc -m 16384 --cores 7 -t 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 10.01/2.66  % (2374285)Input is clausal, will run a generic CNF schedule.
% 10.01/2.66  % (2374291)lrs+10_1_ncem=casc2026/models/loop8.pt:sil=128000:npcc=on:urr=on:br=off:random_seed=3076523330:i=132376:av=off_2999 on theBenchmark for (2999ds/132376Mi)
% 10.01/2.66  % (2374290)lrs+10_1_ncem=casc2026/models/loop8.pt:sil=128000:tgt=full:npcc=on:drc=off:sp=weighted_frequency:spb=goal:fd=preordered:foolp=on:random_seed=3876303361:i=140167_2999 on theBenchmark for (2999ds/140167Mi)
% 10.01/2.66  % (2374293)lrs+10_1_sil=8000:sp=occurrence:random_seed=271045154:i=107:sd=3:ss=axioms:sgt=8_2999 on theBenchmark for (2999ds/107Mi)
% 10.01/2.66  % (2374292)lrs+1002_1_ncem=casc2026/models/loop8.pt:sil=128000:tgt=ground:npcc=on:sp=reverse_frequency:spb=intro:random_seed=3105788193:i=137899:s2at=10:gtgl=3:kws=precedence:add=on:bd=preordered:gtg=position_2999 on theBenchmark for (2999ds/137899Mi)
% 10.01/2.66  % (2374294)dis-1002_1_to=lpo:sil=16000:fd=off:random_seed=197047398:st=1.5:i=114:aac=none:ins=7:ss=axioms:fsd=on_2999 on theBenchmark for (2999ds/114Mi)
% 10.01/2.66  % (2374296)dis-21_1_sil=8000:lcm=predicate:random_seed=906186258:st=5:avsq=on:i=117:avsqr=1,16:sd=3:aac=none:ep=RS:fsr=off:ss=included_2999 on theBenchmark for (2999ds/117Mi)
% 10.01/2.66  % (2374295)dis-1011_1_sil=16000:fde=unused:s2agt=70:random_seed=3604326985:s2a=on:i=180:gtg=position_2999 on theBenchmark for (2999ds/180Mi)
% 10.01/2.66  % (2374296)Refutation not found, incomplete strategy
% 10.01/2.66  % (2374296)------------------------------
% 10.01/2.66  % (2374296)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 10.01/2.66  % (2374296)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 10.01/2.66  % (2374296)CaDiCaL version: 2.1.3
% 10.01/2.66  % (2374296)Termination reason: Refutation not found, incomplete strategy
% 10.01/2.66  % (2374296)Time elapsed: 0.002 s
% 10.01/2.66  % (2374296)Peak memory usage: 87 MB
% 10.01/2.66  % (2374293)Instruction limit reached! 
% 10.01/2.66  % (2374293)------------------------------
% 10.01/2.66  % (2374293)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 10.01/2.66  % (2374293)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 10.01/2.66  % (2374293)CaDiCaL version: 2.1.3
% 10.01/2.66  % (2374293)Termination reason: Instruction limit
% 10.01/2.66  % (2374293)Termination phase: Saturation
% 10.01/2.66  % (2374293)Time elapsed: 0.097 s
% 10.01/2.66  % (2374293)Peak memory usage: 88 MB
% 10.01/2.66  % (2374293)Instructions burned: 108 (million)
% 10.01/2.66  % (2374294)Instruction limit reached! 
% 10.01/2.66  % (2374294)------------------------------
% 10.01/2.66  % (2374294)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 10.01/2.66  % (2374294)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 10.01/2.66  % (2374294)CaDiCaL version: 2.1.3
% 10.01/2.66  % (2374294)Termination reason: Instruction limit
% 10.01/2.66  % (2374294)Termination phase: Saturation
% 10.01/2.66  % (2374294)Time elapsed: 0.111 s
% 10.01/2.66  % (2374294)Peak memory usage: 89 MB
% 10.01/2.66  % (2374294)Instructions burned: 114 (million)
% 10.01/2.66  % (2374295)Instruction limit reached! 
% 10.01/2.66  % (2374295)------------------------------
% 10.01/2.66  % (2374295)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 10.01/2.66  % (2374295)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 10.01/2.66  % (2374295)CaDiCaL version: 2.1.3
% 10.01/2.66  % (2374295)Termination reason: Instruction limit
% 10.01/2.66  % (2374295)Termination phase: Saturation
% 10.01/2.66  % (2374295)Time elapsed: 0.155 s
% 10.01/2.66  % (2374295)Peak memory usage: 89 MB
% 10.01/2.66  % (2374295)Instructions burned: 181 (million)
% 10.01/2.66  % (2374296)------------------------------
% 10.01/2.66  % (2374296)------------------------------
% 10.01/2.66  % (2374304)dis+1010_3_sil=8000:plsq=on:drc=off:fde=none:plsqc=1:bsd=on:plsqr=7,2:sos=on:spb=goal_then_units:random_seed=3574524143:i=143:sd=2:aac=none:ss=axioms:sgt=16_2995 on theBenchmark for (2995ds/143Mi)
% 10.01/2.66  % (2374305)ott-1010_1_to=lpo:sil=16000:sos=on:spb=units:urr=on:bce=on:br=off:random_seed=3719963556:st=3:avsq=on:s2a=on:i=189:s2at=1.2:avsqr=1,16:sd=2:bd=all:nm=64:ss=axioms:sgt=30_2995 on theBenchmark for (2995ds/189Mi)
% 10.01/2.66  % (2374306)lrs-1002_1_to=lpo:sil=8000:fde=none:sos=on:random_seed=1295710498:st=4:i=219:sd=3:ss=axioms_2995 on theBenchmark for (2995ds/219Mi)
% 10.01/2.66  % (2374304)Instruction limit reached! 
% 10.01/2.66  % (2374304)------------------------------
% 10.01/2.66  % (2374304)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374304)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374304)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374304)Termination reason: Instruction limit
% 11.19/2.88  % (2374304)Termination phase: Saturation
% 11.19/2.88  % (2374304)Time elapsed: 0.125 s
% 11.19/2.88  % (2374304)Peak memory usage: 88 MB
% 11.19/2.88  % (2374304)Instructions burned: 143 (million)
% 11.19/2.88  % (2374305)Instruction limit reached! 
% 11.19/2.88  % (2374305)------------------------------
% 11.19/2.88  % (2374305)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374305)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374305)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374305)Termination reason: Instruction limit
% 11.19/2.88  % (2374305)Termination phase: Saturation
% 11.19/2.88  % (2374305)Time elapsed: 0.181 s
% 11.19/2.88  % (2374305)Peak memory usage: 90 MB
% 11.19/2.88  % (2374305)Instructions burned: 189 (million)
% 11.19/2.88  % (2374309)lrs+10_64_to=lpo:sil=8000:random_seed=715385224:i=126:bd=preordered_2992 on theBenchmark for (2992ds/126Mi)
% 11.19/2.88  % (2374306)Instruction limit reached! 
% 11.19/2.88  % (2374306)------------------------------
% 11.19/2.88  % (2374306)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374306)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374306)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374306)Termination reason: Instruction limit
% 11.19/2.88  % (2374306)Termination phase: Saturation
% 11.19/2.88  % (2374306)Time elapsed: 0.199 s
% 11.19/2.88  % (2374306)Peak memory usage: 90 MB
% 11.19/2.88  % (2374306)Instructions burned: 219 (million)
% 11.19/2.88  % (2374309)Instruction limit reached! 
% 11.19/2.88  % (2374309)------------------------------
% 11.19/2.88  % (2374309)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374309)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374309)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374309)Termination reason: Instruction limit
% 11.19/2.88  % (2374309)Termination phase: Saturation
% 11.19/2.88  % (2374309)Time elapsed: 0.066 s
% 11.19/2.88  % (2374309)Peak memory usage: 89 MB
% 11.19/2.88  % (2374309)Instructions burned: 127 (million)
% 11.19/2.88  % (2374291)First to succeed.
% 11.19/2.88  % (2374291)Solution written to "/export/starexec/sandbox/tmp/vampire-proof-2374285"
% 11.19/2.88  % (2374311)lrs+1011_16_to=lpo:sil=8000:drc=off:sp=reverse_frequency:spb=goal_then_units:random_seed=828012313:avsq=on:i=194:fgj=on:bd=preordered_2991 on theBenchmark for (2991ds/194Mi)
% 11.19/2.88  % (2374312)lrs+10_1_sil=8000:tgt=full:acc=on:random_seed=3076017908:i=157:gtg=all_2991 on theBenchmark for (2991ds/157Mi)
% 11.19/2.88  % (2374314)lrs+10_1_ncem=casc2026/models/loop7.pt:sil=128000:npcc=on:random_seed=868268314:i=3394:sd=4:ss=included:sgt=64_2990 on theBenchmark for (2990ds/3394Mi)
% 11.19/2.88  % (2374315)lrs+1011_5_to=lpo:sil=8000:tgt=full:plsq=on:prc=on:drc=off:plsqr=31,4:sp=occurrence:urr=on:nwc=0.8:s2agt=16:br=off:random_seed=752956652:cts=off:s2a=on:i=106:fsr=off:gsp=on:ss=axioms:sgt=16:rawr=on_2989 on theBenchmark for (2989ds/106Mi)
% 11.19/2.88  % (2374315)Instruction limit reached! 
% 11.19/2.88  % (2374315)------------------------------
% 11.19/2.88  % (2374315)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374315)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374315)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374315)Termination reason: Instruction limit
% 11.19/2.88  % (2374315)Termination phase: Saturation
% 11.19/2.88  % (2374315)Time elapsed: 0.047 s
% 11.19/2.88  % (2374315)Peak memory usage: 89 MB
% 11.19/2.88  % (2374315)Instructions burned: 109 (million)
% 11.19/2.88  % (2374311)Instruction limit reached! 
% 11.19/2.88  % (2374311)------------------------------
% 11.19/2.88  % (2374311)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374311)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374311)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374311)Termination reason: Instruction limit
% 11.19/2.88  % (2374311)Termination phase: Saturation
% 11.19/2.88  % (2374311)Time elapsed: 0.196 s
% 11.19/2.88  % (2374311)Peak memory usage: 90 MB
% 11.19/2.88  % (2374311)Instructions burned: 194 (million)
% 11.19/2.88  % (2374312)Instruction limit reached! 
% 11.19/2.88  % (2374312)------------------------------
% 11.19/2.88  % (2374312)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374312)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374312)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374312)Termination reason: Instruction limit
% 11.19/2.88  % (2374312)Termination phase: Saturation
% 11.19/2.88  % (2374312)Time elapsed: 0.144 s
% 11.19/2.88  % (2374312)Peak memory usage: 89 MB
% 11.19/2.88  % (2374312)Instructions burned: 157 (million)
% 11.19/2.88  % (2374291)Refutation found. Thanks to Tanya!
% 11.19/2.88  % SZS status Unsatisfiable for theBenchmark
% 11.19/2.88  % SZS output start Proof for theBenchmark
% See solution above
% 11.19/2.88  % (2374291)------------------------------
% 11.19/2.88  % (2374291)Version: Vampire 5.0.1 (Release build, commit ea8961452 on 2026-07-16 15:14:34 +0200)
% 11.19/2.88  % (2374291)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 11.19/2.88  % (2374291)CaDiCaL version: 2.1.3
% 11.19/2.88  % (2374291)Termination reason: Refutation
% 11.19/2.88  % (2374291)Time elapsed: 0.913 s
% 11.19/2.88  % (2374291)Peak memory usage: 130 MB
% 11.19/2.88  % (2374291)Instructions burned: 1150 (million)
% 11.19/2.88  % (2374291)------------------------------
% 11.19/2.88  % (2374291)------------------------------
% 11.19/2.88  % (2374285)Success in time 1.465 s
% 11.19/2.88  % Vampire exiting
%------------------------------------------------------------------------------