TSTP Solution File: NLP005+1 by SnakeForV-SAT---1.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SnakeForV-SAT---1.0
% Problem  : NLP005+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_sat --cores 0 -t %d %s

% Computer : n002.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 : Wed Aug 31 17:54:51 EDT 2022

% Result   : CounterSatisfiable 1.12s 0.67s
% Output   : Saturation 1.12s
% Verified : 
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)

% Comments : 
%------------------------------------------------------------------------------
cnf(u105,negated_conjecture,
    sP19(sK9,sK16,sK12,sK18,sK13,sK15,sK17,sK11,sK10,sK14) ).

cnf(u109,negated_conjecture,
    down(sK0,sK2) ).

cnf(u114,negated_conjecture,
    event(sK0) ).

cnf(u117,negated_conjecture,
    sP20(X37,X36,X35,X34,X33,X32,X31,X30,X29) ).

cnf(u122,negated_conjecture,
    in(sK0,sK8) ).

cnf(u127,negated_conjecture,
    city(sK8) ).

cnf(u132,negated_conjecture,
    in(sK1,sK3) ).

cnf(u137,negated_conjecture,
    front(sK3) ).

cnf(u142,negated_conjecture,
    barrel(sK0,sK7) ).

cnf(u147,negated_conjecture,
    chevy(sK7) ).

cnf(u152,negated_conjecture,
    young(sK6) ).

cnf(u158,negated_conjecture,
    lonely(sK2) ).

cnf(u165,negated_conjecture,
    man(sK6) ).

cnf(u170,negated_conjecture,
    fellow(sK4) ).

cnf(u175,negated_conjecture,
    hollywood(sK8) ).

cnf(u180,negated_conjecture,
    white(sK7) ).

cnf(u185,negated_conjecture,
    man(sK4) ).

cnf(u190,negated_conjecture,
    way(sK2) ).

cnf(u196,negated_conjecture,
    sK1 = sK4 ).

cnf(u202,negated_conjecture,
    fellow(sK6) ).

cnf(u206,negated_conjecture,
    sK4 = sK6 ).

cnf(u212,negated_conjecture,
    seat(sK3) ).

cnf(u217,negated_conjecture,
    car(sK7) ).

cnf(u222,negated_conjecture,
    furniture(sK3) ).

cnf(u227,negated_conjecture,
    old(sK7) ).

cnf(u233,negated_conjecture,
    sK5 = sK6 ).

cnf(u240,negated_conjecture,
    in(sK5,sK3) ).

cnf(u245,negated_conjecture,
    dirty(sK7) ).

cnf(u253,negated_conjecture,
    young(sK4) ).

cnf(u259,negated_conjecture,
    street(sK2) ).

cnf(u303,negated_conjecture,
    ~ city(sK3) ).

cnf(u339,negated_conjecture,
    ~ fellow(sK0) ).

cnf(u366,negated_conjecture,
    man(sK1) ).

cnf(u370,negated_conjecture,
    fellow(sK1) ).

cnf(u374,negated_conjecture,
    young(sK1) ).

cnf(u382,negated_conjecture,
    man(sK5) ).

cnf(u386,negated_conjecture,
    young(sK5) ).

cnf(u393,negated_conjecture,
    fellow(sK5) ).

cnf(u422,negated_conjecture,
    sK5 = sK1 ).

cnf(u460,negated_conjecture,
    ( ~ in(X5,X6)
    | ~ front(X6)
    | ~ man(X0)
    | ~ man(X5)
    | ~ young(X0)
    | ~ young(X5)
    | X0 = X5
    | ~ in(X0,X6)
    | ~ seat(X6)
    | ~ fellow(X5)
    | ~ furniture(X6)
    | ~ fellow(X0) ) ).

cnf(u506,negated_conjecture,
    ~ front(sK16) ).

cnf(u539,negated_conjecture,
    man(sK17) ).

cnf(u543,negated_conjecture,
    front(sK9) ).

cnf(u547,negated_conjecture,
    young(sK17) ).

cnf(u551,negated_conjecture,
    seat(sK9) ).

cnf(u555,negated_conjecture,
    fellow(sK17) ).

cnf(u559,negated_conjecture,
    furniture(sK9) ).

cnf(u568,negated_conjecture,
    young(sK10) ).

cnf(u572,negated_conjecture,
    man(sK10) ).

cnf(u576,negated_conjecture,
    front(sK14) ).

cnf(u580,negated_conjecture,
    furniture(sK14) ).

cnf(u584,negated_conjecture,
    fellow(sK10) ).

cnf(u588,negated_conjecture,
    seat(sK14) ).

cnf(u599,negated_conjecture,
    ( ~ in(X1,sK3)
    | ~ young(X1)
    | ~ fellow(X1)
    | sK1 = X1
    | ~ man(X1) ) ).

cnf(u603,negated_conjecture,
    ( ~ in(X5,sK9)
    | ~ man(X5)
    | sK17 = X5
    | ~ fellow(X5)
    | ~ young(X5) ) ).

cnf(u607,negated_conjecture,
    ( ~ in(X3,sK14)
    | ~ fellow(X3)
    | sK10 = X3
    | ~ young(X3)
    | ~ man(X3) ) ).

cnf(u611,negated_conjecture,
    ( ~ in(X2,sK3)
    | ~ man(X2)
    | ~ young(X2)
    | sK5 = X2
    | ~ fellow(X2) ) ).

cnf(u101,negated_conjecture,
    ( ~ sP20(X37,X36,X35,X34,X33,X32,X31,X31,X36)
    | ~ fellow(X36)
    | ~ in(X32,X33)
    | ~ white(X37)
    | ~ down(X32,X34)
    | X31 = X36
    | ~ event(X32)
    | ~ seat(X35)
    | ~ barrel(X32,X37)
    | ~ young(X36)
    | ~ furniture(X35)
    | ~ dirty(X37)
    | ~ way(X34)
    | ~ in(X36,X35)
    | ~ city(X33)
    | ~ in(X31,X35)
    | ~ young(X31)
    | ~ man(X36)
    | ~ lonely(X34)
    | ~ man(X31)
    | ~ hollywood(X33)
    | ~ front(X35)
    | ~ car(X37)
    | ~ old(X37)
    | ~ chevy(X37)
    | ~ fellow(X31)
    | ~ street(X34) ) ).

cnf(u464,negated_conjecture,
    sP19(sK9,sK16,sK12,sK17,sK13,sK15,sK17,sK10,sK10,sK14) ).

cnf(u36,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | fellow(X25) ) ).

cnf(u35,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | street(X26) ) ).

cnf(u34,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | seat(X28) ) ).

cnf(u33,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | furniture(X28) ) ).

cnf(u32,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | hollywood(X27) ) ).

cnf(u31,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | fellow(X20) ) ).

cnf(u30,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | X20 = X21 ) ).

cnf(u29,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | chevy(X24) ) ).

cnf(u28,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | lonely(X26) ) ).

cnf(u27,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | man(X20) ) ).

cnf(u26,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | front(X19) ) ).

cnf(u25,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | barrel(X23,X24) ) ).

cnf(u24,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | young(X25) ) ).

cnf(u23,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | man(X25) ) ).

cnf(u22,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | young(X20) ) ).

cnf(u21,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | old(X24) ) ).

cnf(u20,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | X22 = X25 ) ).

cnf(u19,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | white(X24) ) ).

cnf(u18,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | seat(X19) ) ).

cnf(u17,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | in(X21,X19) ) ).

cnf(u16,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | car(X24) ) ).

cnf(u15,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | event(X23) ) ).

cnf(u14,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | way(X26) ) ).

cnf(u13,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | front(X28) ) ).

cnf(u12,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | down(X23,X26) ) ).

cnf(u11,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | furniture(X19) ) ).

cnf(u10,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | in(X23,X27) ) ).

cnf(u9,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | in(X22,X28) ) ).

cnf(u8,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | city(X27) ) ).

cnf(u6,negated_conjecture,
    ( ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X20,X19)
    | dirty(X24) ) ).

cnf(u99,negated_conjecture,
    ~ sP19(X28,X27,X26,X25,X24,X23,X22,X21,X25,X19) ).

cnf(u455,negated_conjecture,
    young(sK17) ).

cnf(u439,negated_conjecture,
    young(sK10) ).

cnf(u291,negated_conjecture,
    young(sK5) ).

cnf(u286,negated_conjecture,
    young(sK1) ).

cnf(u456,negated_conjecture,
    man(sK17) ).

cnf(u444,negated_conjecture,
    man(sK10) ).

cnf(u285,negated_conjecture,
    man(sK5) ).

cnf(u287,negated_conjecture,
    man(sK1) ).

cnf(u453,negated_conjecture,
    fellow(sK18) ).

cnf(u462,negated_conjecture,
    fellow(sK17) ).

cnf(u448,negated_conjecture,
    fellow(sK10) ).

cnf(u290,negated_conjecture,
    fellow(sK5) ).

cnf(u288,negated_conjecture,
    fellow(sK1) ).

cnf(u426,negated_conjecture,
    in(sK17,sK9) ).

cnf(u427,negated_conjecture,
    in(sK15,sK16) ).

cnf(u454,negated_conjecture,
    in(sK10,sK14) ).

cnf(u429,negated_conjecture,
    down(sK15,sK12) ).

cnf(u442,negated_conjecture,
    barrel(sK15,sK13) ).

cnf(u445,negated_conjecture,
    lonely(sK12) ).

cnf(u431,negated_conjecture,
    way(sK12) ).

cnf(u452,negated_conjecture,
    street(sK12) ).

cnf(u438,negated_conjecture,
    old(sK13) ).

cnf(u424,negated_conjecture,
    dirty(sK13) ).

cnf(u436,negated_conjecture,
    white(sK13) ).

cnf(u433,negated_conjecture,
    car(sK13) ).

cnf(u446,negated_conjecture,
    chevy(sK13) ).

cnf(u432,negated_conjecture,
    event(sK15) ).

cnf(u425,negated_conjecture,
    city(sK16) ).

cnf(u449,negated_conjecture,
    hollywood(sK16) ).

cnf(u443,negated_conjecture,
    front(sK14) ).

cnf(u430,negated_conjecture,
    front(sK9) ).

cnf(u450,negated_conjecture,
    furniture(sK9) ).

cnf(u428,negated_conjecture,
    furniture(sK14) ).

cnf(u451,negated_conjecture,
    seat(sK9) ).

cnf(u435,negated_conjecture,
    seat(sK14) ).

cnf(u437,negated_conjecture,
    sK18 = sK17 ).

cnf(u447,negated_conjecture,
    sK11 = sK10 ).

cnf(u651,negated_conjecture,
    sK1 = sK6 ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem    : NLP005+1 : TPTP v8.1.0. Released v2.4.0.
% 0.11/0.12  % Command    : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_sat --cores 0 -t %d %s
% 0.13/0.33  % Computer : n002.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit   : 300
% 0.13/0.33  % WCLimit    : 300
% 0.13/0.33  % DateTime   : Tue Aug 30 03:46:43 EDT 2022
% 0.13/0.33  % CPUTime    : 
% 0.13/0.35  ipcrm: permission denied for id (653262849)
% 0.13/0.36  ipcrm: permission denied for id (653361161)
% 0.13/0.36  ipcrm: permission denied for id (653393931)
% 0.13/0.36  ipcrm: permission denied for id (653426701)
% 0.13/0.36  ipcrm: permission denied for id (653459472)
% 0.13/0.37  ipcrm: permission denied for id (653492243)
% 0.13/0.37  ipcrm: permission denied for id (653525016)
% 0.13/0.38  ipcrm: permission denied for id (653557786)
% 0.13/0.39  ipcrm: permission denied for id (653721635)
% 0.13/0.39  ipcrm: permission denied for id (653754405)
% 0.13/0.39  ipcrm: permission denied for id (653852714)
% 0.13/0.40  ipcrm: permission denied for id (653918255)
% 0.19/0.41  ipcrm: permission denied for id (653983800)
% 0.19/0.41  ipcrm: permission denied for id (654049337)
% 0.19/0.41  ipcrm: permission denied for id (654082107)
% 0.19/0.42  ipcrm: permission denied for id (654180414)
% 0.19/0.42  ipcrm: permission denied for id (654213183)
% 0.19/0.42  ipcrm: permission denied for id (654278721)
% 0.19/0.42  ipcrm: permission denied for id (654344260)
% 0.19/0.43  ipcrm: permission denied for id (654475340)
% 0.19/0.44  ipcrm: permission denied for id (654508109)
% 0.19/0.44  ipcrm: permission denied for id (654573652)
% 0.19/0.46  ipcrm: permission denied for id (654934117)
% 0.19/0.47  ipcrm: permission denied for id (655065198)
% 0.19/0.47  ipcrm: permission denied for id (655097967)
% 0.19/0.48  ipcrm: permission denied for id (655130737)
% 0.19/0.49  ipcrm: permission denied for id (655261817)
% 0.19/0.49  ipcrm: permission denied for id (655294586)
% 0.19/0.49  ipcrm: permission denied for id (655360124)
% 0.19/0.49  ipcrm: permission denied for id (655392895)
% 1.12/0.63  % (5415)ott+4_1:1_av=off:bd=off:nwc=5.0:s2a=on:s2at=2.0:slsq=on:slsqc=2:slsql=off:slsqr=1,2:sp=frequency:i=37:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/37Mi)
% 1.12/0.63  % (5422)ott-1_1:6_av=off:cond=on:fsr=off:nwc=3.0:i=51:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/51Mi)
% 1.12/0.65  % (5430)fmb+10_1:1_bce=on:i=59:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/59Mi)
% 1.12/0.65  % (5424)ott+10_1:32_bd=off:fsr=off:newcnf=on:tgt=full:i=100:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/100Mi)
% 1.12/0.65  % (5424)First to succeed.
% 1.12/0.66  % (5438)ott+10_1:5_bd=off:tgt=full:i=500:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/500Mi)
% 1.12/0.66  % (5426)ott+10_1:5_bd=off:tgt=full:i=99:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/99Mi)
% 1.12/0.66  % (5413)fmb+10_1:1_bce=on:fmbsr=1.5:nm=4:skr=on:i=191324:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/191324Mi)
% 1.12/0.66  % (5425)ott+10_1:28_bd=off:bs=on:tgt=ground:i=101:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/101Mi)
% 1.12/0.66  % (5440)ott+11_2:3_av=off:fde=unused:nwc=5.0:tgt=ground:i=177:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/177Mi)
% 1.12/0.66  % (5417)ott+33_1:4_s2a=on:tgt=ground:i=51:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/51Mi)
% 1.12/0.66  % (5435)dis+21_1:1_av=off:er=filter:slsq=on:slsqc=0:slsqr=1,1:sp=frequency:to=lpo:i=498:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/498Mi)
% 1.12/0.66  % (5439)ins+10_1:1_awrs=decay:awrsf=30:bsr=unit_only:foolp=on:igrr=8/457:igs=10:igwr=on:nwc=1.5:sp=weighted_frequency:to=lpo:uhcvi=on:i=68:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/68Mi)
% 1.12/0.66  % (5415)Instruction limit reached!
% 1.12/0.66  % (5415)------------------------------
% 1.12/0.66  % (5415)Version: Vampire 4.7 (commit 807e37dd9 on 2022-08-23 09:55:27 +0200)
% 1.12/0.66  % (5415)Linked with Z3 4.8.13.0 f03d756e086f81f2596157241e0decfb1c982299 z3-4.8.4-5390-gf03d756e0
% 1.12/0.66  % (5415)Termination reason: Unknown
% 1.12/0.66  % (5415)Termination phase: Saturation
% 1.12/0.66  
% 1.12/0.66  % (5415)Memory used [KB]: 1279
% 1.12/0.66  % (5415)Time elapsed: 0.122 s
% 1.12/0.66  % (5415)Instructions burned: 38 (million)
% 1.12/0.66  % (5415)------------------------------
% 1.12/0.66  % (5415)------------------------------
% 1.12/0.66  % (5427)ins+10_1:1_awrs=decay:awrsf=30:bsr=unit_only:foolp=on:igrr=8/457:igs=10:igwr=on:nwc=1.5:sp=weighted_frequency:to=lpo:uhcvi=on:i=68:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/68Mi)
% 1.12/0.66  % (5441)ott+33_1:4_s2a=on:tgt=ground:i=439:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/439Mi)
% 1.12/0.67  % (5414)ott+10_1:32_abs=on:br=off:urr=ec_only:i=50:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/50Mi)
% 1.12/0.67  % (5414)Refutation not found, incomplete strategy% (5414)------------------------------
% 1.12/0.67  % (5414)Version: Vampire 4.7 (commit 807e37dd9 on 2022-08-23 09:55:27 +0200)
% 1.12/0.67  % (5414)Linked with Z3 4.8.13.0 f03d756e086f81f2596157241e0decfb1c982299 z3-4.8.4-5390-gf03d756e0
% 1.12/0.67  % (5414)Termination reason: Refutation not found, incomplete strategy
% 1.12/0.67  
% 1.12/0.67  % (5414)Memory used [KB]: 5756
% 1.12/0.67  % (5414)Time elapsed: 0.123 s
% 1.12/0.67  % (5414)Instructions burned: 8 (million)
% 1.12/0.67  % (5414)------------------------------
% 1.12/0.67  % (5414)------------------------------
% 1.12/0.67  % (5437)ott+10_1:1_kws=precedence:tgt=ground:i=482:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/482Mi)
% 1.12/0.67  % (5433)ott+10_1:8_bsd=on:fsd=on:lcm=predicate:nwc=5.0:s2a=on:s2at=1.5:spb=goal_then_units:i=176:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/176Mi)
% 1.12/0.67  % (5429)dis+34_1:32_abs=on:add=off:bsr=on:gsp=on:sp=weighted_frequency:i=99:si=on:rawr=on:rtra=on_0 on theBenchmark for (2998ds/99Mi)
% 1.12/0.67  % SZS status CounterSatisfiable for theBenchmark
% 1.12/0.67  % (5424)# SZS output start Saturation.
% See solution above
% 1.12/0.67  % (5424)------------------------------
% 1.12/0.67  % (5424)Version: Vampire 4.7 (commit 807e37dd9 on 2022-08-23 09:55:27 +0200)
% 1.12/0.67  % (5424)Linked with Z3 4.8.13.0 f03d756e086f81f2596157241e0decfb1c982299 z3-4.8.4-5390-gf03d756e0
% 1.12/0.67  % (5424)Termination reason: Satisfiable
% 1.12/0.67  
% 1.12/0.67  % (5424)Memory used [KB]: 5884
% 1.12/0.67  % (5424)Time elapsed: 0.102 s
% 1.12/0.67  % (5424)Instructions burned: 13 (million)
% 1.12/0.67  % (5424)------------------------------
% 1.12/0.67  % (5424)------------------------------
% 1.12/0.67  % (5278)Success in time 0.331 s
%------------------------------------------------------------------------------