TSTP Solution File: LCL953_8 by Zipperpin---2.1.9999
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Zipperpin---2.1.9999
% Problem : LCL953_8 : TPTP v8.2.0. Released v8.2.0.
% Transfm : NO INFORMATION
% Format : NO INFORMATION
% Command : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.k5fKCslXhw true
% Computer : n008.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 : Thu Aug 31 09:02:48 EDT 2023
% Result : Theorem 1.74s 1.22s
% Output : Refutation 1.74s
% Verified :
% SZS Type : Refutation
% Derivation depth : 13
% Number of leaves : 17
% Syntax : Number of formulae : 55 ( 19 unt; 15 typ; 0 def)
% Number of atoms : 141 ( 0 equ; 0 cnn)
% Maximal formula atoms : 10 ( 3 avg)
% Number of connectives : 575 ( 77 ~; 74 |; 0 &; 397 @)
% ( 0 <=>; 27 =>; 0 <=; 0 <~>)
% Maximal formula depth : 21 ( 9 avg)
% Number of types : 3 ( 1 usr)
% Number of type conns : 15 ( 15 >; 0 *; 0 +; 0 <<)
% Number of symbols : 15 ( 14 usr; 8 con; 0-3 aty)
% Number of variables : 77 ( 0 ^; 77 !; 0 ?; 77 :)
% Comments :
%------------------------------------------------------------------------------
thf('$ki_world_type',type,
'$ki_world': $tType ).
thf(in_type,type,
in: '$ki_world' > $i > $i > $o ).
thf(sk__8_type,type,
sk__8: '$ki_world' ).
thf('$ki_exists_in_world_$i_type',type,
'$ki_exists_in_world_$i': '$ki_world' > $i > $o ).
thf('$ki_accessible_type',type,
'$ki_accessible': '$ki_world' > '$ki_world' > $o ).
thf(singleton_type,type,
singleton: $i > $i ).
thf(sk__9_type,type,
sk__9: $i ).
thf(sk__13_type,type,
sk__13: '$ki_world' > '$ki_world' ).
thf(sk__7_type,type,
sk__7: '$ki_world' > $i > $i > '$ki_world' ).
thf(disjoint_type,type,
disjoint: '$ki_world' > $i > $i > $o ).
thf(sk__11_type,type,
sk__11: $i ).
thf(sk__10_type,type,
sk__10: '$ki_world' ).
thf('$ki_local_world_type',type,
'$ki_local_world': '$ki_world' ).
thf(sk__12_type,type,
sk__12: '$ki_world' ).
thf(sk__14_type,type,
sk__14: '$ki_world' ).
thf(verify,conjecture,
! [W: '$ki_world'] :
( ( '$ki_accessible' @ '$ki_local_world' @ W )
=> ! [A: $i] :
( ( '$ki_exists_in_world_$i' @ W @ A )
=> ! [W0: '$ki_world'] :
( ( '$ki_accessible' @ W @ W0 )
=> ! [B: $i] :
( ( '$ki_exists_in_world_$i' @ W0 @ B )
=> ! [W1: '$ki_world'] :
( ( '$ki_accessible' @ W0 @ W1 )
=> ( ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ~ ! [W3: '$ki_world'] :
( ( '$ki_accessible' @ W2 @ W3 )
=> ( in @ W3 @ A @ B ) ) )
=> ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ( disjoint @ W2 @ ( singleton @ A ) @ B ) ) ) ) ) ) ) ) ).
thf(zf_stmt_0,negated_conjecture,
~ ! [W: '$ki_world'] :
( ( '$ki_accessible' @ '$ki_local_world' @ W )
=> ! [A: $i] :
( ( '$ki_exists_in_world_$i' @ W @ A )
=> ! [W0: '$ki_world'] :
( ( '$ki_accessible' @ W @ W0 )
=> ! [B: $i] :
( ( '$ki_exists_in_world_$i' @ W0 @ B )
=> ! [W1: '$ki_world'] :
( ( '$ki_accessible' @ W0 @ W1 )
=> ( ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ~ ! [W3: '$ki_world'] :
( ( '$ki_accessible' @ W2 @ W3 )
=> ( in @ W3 @ A @ B ) ) )
=> ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ( disjoint @ W2 @ ( singleton @ A ) @ B ) ) ) ) ) ) ) ),
inference('cnf.neg',[status(esa)],[verify]) ).
thf(zip_derived_cl22,plain,
! [X0: '$ki_world'] :
( ( '$ki_accessible' @ X0 @ ( sk__13 @ X0 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X0 ) ),
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl18,plain,
'$ki_accessible' @ sk__10 @ sk__12,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl23,plain,
'$ki_exists_in_world_$i' @ sk__10 @ sk__11,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl17,plain,
'$ki_accessible' @ sk__8 @ sk__10,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl24,plain,
'$ki_exists_in_world_$i' @ sk__8 @ sk__9,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl16,plain,
'$ki_accessible' @ '$ki_local_world' @ sk__8,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(l28_zfmisc_1,axiom,
! [W: '$ki_world'] :
( ( '$ki_accessible' @ '$ki_local_world' @ W )
=> ! [A: $i] :
( ( '$ki_exists_in_world_$i' @ W @ A )
=> ! [W0: '$ki_world'] :
( ( '$ki_accessible' @ W @ W0 )
=> ! [B: $i] :
( ( '$ki_exists_in_world_$i' @ W0 @ B )
=> ! [W1: '$ki_world'] :
( ( '$ki_accessible' @ W0 @ W1 )
=> ( ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ~ ! [W3: '$ki_world'] :
( ( '$ki_accessible' @ W2 @ W3 )
=> ( in @ W3 @ A @ B ) ) )
=> ! [W2: '$ki_world'] :
( ( '$ki_accessible' @ W1 @ W2 )
=> ( disjoint @ W2 @ ( singleton @ A ) @ B ) ) ) ) ) ) ) ) ).
thf(zip_derived_cl15,plain,
! [X0: '$ki_world',X1: $i,X2: '$ki_world',X3: $i,X4: '$ki_world',X5: '$ki_world'] :
( ~ ( '$ki_exists_in_world_$i' @ X0 @ X1 )
| ~ ( '$ki_exists_in_world_$i' @ X2 @ X3 )
| ( '$ki_accessible' @ X4 @ ( sk__7 @ X4 @ X3 @ X1 ) )
| ~ ( '$ki_accessible' @ X4 @ X5 )
| ( disjoint @ X5 @ ( singleton @ X1 ) @ X3 )
| ~ ( '$ki_accessible' @ X2 @ X4 )
| ~ ( '$ki_accessible' @ X0 @ X2 )
| ~ ( '$ki_accessible' @ '$ki_local_world' @ X0 ) ),
inference(cnf,[status(esa)],[l28_zfmisc_1]) ).
thf(zip_derived_cl54,plain,
! [X0: $i,X1: $i,X2: '$ki_world',X3: '$ki_world',X4: '$ki_world'] :
( ~ ( '$ki_exists_in_world_$i' @ sk__8 @ X0 )
| ~ ( '$ki_exists_in_world_$i' @ X2 @ X1 )
| ( '$ki_accessible' @ X3 @ ( sk__7 @ X3 @ X1 @ X0 ) )
| ~ ( '$ki_accessible' @ X3 @ X4 )
| ( disjoint @ X4 @ ( singleton @ X0 ) @ X1 )
| ~ ( '$ki_accessible' @ X2 @ X3 )
| ~ ( '$ki_accessible' @ sk__8 @ X2 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl16,zip_derived_cl15]) ).
thf(zip_derived_cl153,plain,
! [X0: $i,X1: '$ki_world',X2: '$ki_world',X3: '$ki_world'] :
( ~ ( '$ki_exists_in_world_$i' @ X1 @ X0 )
| ( '$ki_accessible' @ X2 @ ( sk__7 @ X2 @ X0 @ sk__9 ) )
| ~ ( '$ki_accessible' @ X2 @ X3 )
| ( disjoint @ X3 @ ( singleton @ sk__9 ) @ X0 )
| ~ ( '$ki_accessible' @ X1 @ X2 )
| ~ ( '$ki_accessible' @ sk__8 @ X1 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl24,zip_derived_cl54]) ).
thf(zip_derived_cl528,plain,
! [X0: $i,X1: '$ki_world',X2: '$ki_world'] :
( ~ ( '$ki_exists_in_world_$i' @ sk__10 @ X0 )
| ( '$ki_accessible' @ X1 @ ( sk__7 @ X1 @ X0 @ sk__9 ) )
| ~ ( '$ki_accessible' @ X1 @ X2 )
| ( disjoint @ X2 @ ( singleton @ sk__9 ) @ X0 )
| ~ ( '$ki_accessible' @ sk__10 @ X1 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl17,zip_derived_cl153]) ).
thf(zip_derived_cl714,plain,
! [X0: '$ki_world',X1: '$ki_world'] :
( ( '$ki_accessible' @ X0 @ ( sk__7 @ X0 @ sk__11 @ sk__9 ) )
| ~ ( '$ki_accessible' @ X0 @ X1 )
| ( disjoint @ X1 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ sk__10 @ X0 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl23,zip_derived_cl528]) ).
thf(zip_derived_cl909,plain,
! [X0: '$ki_world'] :
( ( '$ki_accessible' @ sk__12 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X0 )
| ( disjoint @ X0 @ ( singleton @ sk__9 ) @ sk__11 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl18,zip_derived_cl714]) ).
thf(zip_derived_cl19,plain,
~ ( disjoint @ sk__14 @ ( singleton @ sk__9 ) @ sk__11 ),
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl921,plain,
( ~ ( '$ki_accessible' @ sk__12 @ sk__14 )
| ( '$ki_accessible' @ sk__12 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl909,zip_derived_cl19]) ).
thf(zip_derived_cl20,plain,
'$ki_accessible' @ sk__12 @ sk__14,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl922,plain,
'$ki_accessible' @ sk__12 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ),
inference(demod,[status(thm)],[zip_derived_cl921,zip_derived_cl20]) ).
thf(zip_derived_cl20_001,plain,
'$ki_accessible' @ sk__12 @ sk__14,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl18_002,plain,
'$ki_accessible' @ sk__10 @ sk__12,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl17_003,plain,
'$ki_accessible' @ sk__8 @ sk__10,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl16_004,plain,
'$ki_accessible' @ '$ki_local_world' @ sk__8,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl14,plain,
! [X0: '$ki_world',X1: $i,X2: '$ki_world',X3: $i,X4: '$ki_world',X5: '$ki_world',X6: '$ki_world'] :
( ~ ( '$ki_exists_in_world_$i' @ X0 @ X1 )
| ~ ( '$ki_exists_in_world_$i' @ X2 @ X3 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X4 @ X3 @ X1 ) @ X5 )
| ( in @ X5 @ X1 @ X3 )
| ~ ( '$ki_accessible' @ X4 @ X6 )
| ( disjoint @ X6 @ ( singleton @ X1 ) @ X3 )
| ~ ( '$ki_accessible' @ X2 @ X4 )
| ~ ( '$ki_accessible' @ X0 @ X2 )
| ~ ( '$ki_accessible' @ '$ki_local_world' @ X0 ) ),
inference(cnf,[status(esa)],[l28_zfmisc_1]) ).
thf(zip_derived_cl21,plain,
! [X0: '$ki_world'] :
( ~ ( in @ ( sk__13 @ X0 ) @ sk__9 @ sk__11 )
| ~ ( '$ki_accessible' @ sk__12 @ X0 ) ),
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl32,plain,
! [X0: '$ki_world',X1: '$ki_world',X2: '$ki_world',X3: '$ki_world',X4: '$ki_world'] :
( ~ ( '$ki_accessible' @ '$ki_local_world' @ X1 )
| ~ ( '$ki_accessible' @ X1 @ X2 )
| ~ ( '$ki_accessible' @ X2 @ X3 )
| ( disjoint @ X4 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ X3 @ X4 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X3 @ sk__11 @ sk__9 ) @ ( sk__13 @ X0 ) )
| ~ ( '$ki_exists_in_world_$i' @ X2 @ sk__11 )
| ~ ( '$ki_exists_in_world_$i' @ X1 @ sk__9 )
| ~ ( '$ki_accessible' @ sk__12 @ X0 ) ),
inference('dp-resolution',[status(thm)],[zip_derived_cl14,zip_derived_cl21]) ).
thf(zip_derived_cl59,plain,
! [X0: '$ki_world',X1: '$ki_world',X2: '$ki_world',X3: '$ki_world'] :
( ~ ( '$ki_accessible' @ sk__8 @ X0 )
| ~ ( '$ki_accessible' @ X0 @ X1 )
| ( disjoint @ X2 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ X1 @ X2 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X1 @ sk__11 @ sk__9 ) @ ( sk__13 @ X3 ) )
| ~ ( '$ki_exists_in_world_$i' @ X0 @ sk__11 )
| ~ ( '$ki_exists_in_world_$i' @ sk__8 @ sk__9 )
| ~ ( '$ki_accessible' @ sk__12 @ X3 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl16,zip_derived_cl32]) ).
thf(zip_derived_cl24_005,plain,
'$ki_exists_in_world_$i' @ sk__8 @ sk__9,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl61,plain,
! [X0: '$ki_world',X1: '$ki_world',X2: '$ki_world',X3: '$ki_world'] :
( ~ ( '$ki_accessible' @ sk__8 @ X0 )
| ~ ( '$ki_accessible' @ X0 @ X1 )
| ( disjoint @ X2 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ X1 @ X2 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X1 @ sk__11 @ sk__9 ) @ ( sk__13 @ X3 ) )
| ~ ( '$ki_exists_in_world_$i' @ X0 @ sk__11 )
| ~ ( '$ki_accessible' @ sk__12 @ X3 ) ),
inference(demod,[status(thm)],[zip_derived_cl59,zip_derived_cl24]) ).
thf(zip_derived_cl90,plain,
! [X0: '$ki_world',X1: '$ki_world',X2: '$ki_world'] :
( ~ ( '$ki_accessible' @ sk__10 @ X0 )
| ( disjoint @ X1 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ X0 @ X1 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X0 @ sk__11 @ sk__9 ) @ ( sk__13 @ X2 ) )
| ~ ( '$ki_exists_in_world_$i' @ sk__10 @ sk__11 )
| ~ ( '$ki_accessible' @ sk__12 @ X2 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl17,zip_derived_cl61]) ).
thf(zip_derived_cl23_006,plain,
'$ki_exists_in_world_$i' @ sk__10 @ sk__11,
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl92,plain,
! [X0: '$ki_world',X1: '$ki_world',X2: '$ki_world'] :
( ~ ( '$ki_accessible' @ sk__10 @ X0 )
| ( disjoint @ X1 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ X0 @ X1 )
| ~ ( '$ki_accessible' @ ( sk__7 @ X0 @ sk__11 @ sk__9 ) @ ( sk__13 @ X2 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X2 ) ),
inference(demod,[status(thm)],[zip_derived_cl90,zip_derived_cl23]) ).
thf(zip_derived_cl118,plain,
! [X0: '$ki_world',X1: '$ki_world'] :
( ( disjoint @ X0 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ sk__12 @ X0 )
| ~ ( '$ki_accessible' @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) @ ( sk__13 @ X1 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X1 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl18,zip_derived_cl92]) ).
thf(zip_derived_cl130,plain,
! [X0: '$ki_world'] :
( ( disjoint @ sk__14 @ ( singleton @ sk__9 ) @ sk__11 )
| ~ ( '$ki_accessible' @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) @ ( sk__13 @ X0 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X0 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl20,zip_derived_cl118]) ).
thf(zip_derived_cl19_007,plain,
~ ( disjoint @ sk__14 @ ( singleton @ sk__9 ) @ sk__11 ),
inference(cnf,[status(esa)],[zf_stmt_0]) ).
thf(zip_derived_cl132,plain,
! [X0: '$ki_world'] :
( ~ ( '$ki_accessible' @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) @ ( sk__13 @ X0 ) )
| ~ ( '$ki_accessible' @ sk__12 @ X0 ) ),
inference(demod,[status(thm)],[zip_derived_cl130,zip_derived_cl19]) ).
thf(zip_derived_cl923,plain,
~ ( '$ki_accessible' @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) @ ( sk__13 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl922,zip_derived_cl132]) ).
thf(zip_derived_cl927,plain,
~ ( '$ki_accessible' @ sk__12 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ) ),
inference('s_sup-',[status(thm)],[zip_derived_cl22,zip_derived_cl923]) ).
thf(zip_derived_cl922_008,plain,
'$ki_accessible' @ sk__12 @ ( sk__7 @ sk__12 @ sk__11 @ sk__9 ),
inference(demod,[status(thm)],[zip_derived_cl921,zip_derived_cl20]) ).
thf(zip_derived_cl928,plain,
$false,
inference(demod,[status(thm)],[zip_derived_cl927,zip_derived_cl922]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : LCL953_8 : TPTP v8.2.0. Released v8.2.0.
% 0.00/0.13 % Command : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.k5fKCslXhw true
% 0.17/0.35 % Computer : n008.cluster.edu
% 0.17/0.35 % Model : x86_64 x86_64
% 0.17/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.17/0.35 % Memory : 8042.1875MB
% 0.17/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.17/0.35 % CPULimit : 300
% 0.17/0.35 % WCLimit : 300
% 0.17/0.35 % DateTime : Fri Aug 25 02:05:32 EDT 2023
% 0.17/0.35 % CPUTime :
% 0.17/0.35 % Running portfolio for 300 s
% 0.17/0.35 % File : /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.17/0.35 % Number of cores: 8
% 0.17/0.35 % Python version: Python 3.6.8
% 0.17/0.35 % Running in FO mode
% 0.21/0.63 % Total configuration time : 435
% 0.21/0.63 % Estimated wc time : 1092
% 0.21/0.63 % Estimated cpu time (7 cpus) : 156.0
% 0.21/0.70 % /export/starexec/sandbox2/solver/bin/fo/fo6_bce.sh running for 75s
% 0.21/0.72 % /export/starexec/sandbox2/solver/bin/fo/fo3_bce.sh running for 75s
% 0.21/0.73 % /export/starexec/sandbox2/solver/bin/fo/fo1_av.sh running for 75s
% 0.21/0.74 % /export/starexec/sandbox2/solver/bin/fo/fo13.sh running for 50s
% 0.21/0.74 % /export/starexec/sandbox2/solver/bin/fo/fo5.sh running for 50s
% 0.21/0.74 % /export/starexec/sandbox2/solver/bin/fo/fo7.sh running for 63s
% 0.21/0.75 % /export/starexec/sandbox2/solver/bin/fo/fo4.sh running for 50s
% 1.74/1.22 % Solved by fo/fo6_bce.sh.
% 1.74/1.22 % BCE start: 25
% 1.74/1.22 % BCE eliminated: 2
% 1.74/1.22 % PE start: 23
% 1.74/1.22 logic: neq
% 1.74/1.22 % PE eliminated: 2
% 1.74/1.22 % done 267 iterations in 0.493s
% 1.74/1.22 % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p'
% 1.74/1.22 % SZS output start Refutation
% See solution above
% 1.74/1.22
% 1.74/1.22
% 1.74/1.22 % Terminating...
% 1.79/1.36 % Runner terminated.
% 1.79/1.37 % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------