TSTP Solution File: SYN530-1 by Refute---2015
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Refute---2015
% Problem : SYN530-1 : TPTP v6.4.0. Released v2.1.0.
% Transfm : none
% Format : tptp:raw
% Command : isabelle tptp_refute %d %s
% Computer : n054.star.cs.uiowa.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory : 32218.75MB
% OS : Linux 3.10.0-327.10.1.el7.x86_64
% CPULimit : 300s
% DateTime : Thu Apr 14 06:42:16 EDT 2016
% Result : Timeout 287.48s
% Output : None
% Verified :
% SZS Type : None (Parsing solution fails)
% Syntax : Number of formulae : 0
% Comments :
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : SYN530-1 : TPTP v6.4.0. Released v2.1.0.
% 0.00/0.04 % Command : isabelle tptp_refute %d %s
% 0.03/0.23 % Computer : n054.star.cs.uiowa.edu
% 0.03/0.23 % Model : x86_64 x86_64
% 0.03/0.23 % CPU : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% 0.03/0.23 % Memory : 32218.75MB
% 0.03/0.23 % OS : Linux 3.10.0-327.10.1.el7.x86_64
% 0.03/0.23 % CPULimit : 300
% 0.03/0.23 % DateTime : Sat Apr 9 00:14:11 CDT 2016
% 0.03/0.23 % CPUTime:
% 6.31/5.85 > val it = (): unit
% 6.60/6.17 Trying to find a model that refutes: True
% 9.11/8.60 Unfolded term: [| !!U V W X Y.
% 9.11/8.60 ((((((((((((~ bnd_c5_2 U V | ~ bnd_c4_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_c4_2 U W) |
% 9.11/8.60 ~ bnd_c5_2 U X) |
% 9.11/8.60 ~ bnd_c1_2 U X) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c1_2 Y bnd_a362) |
% 9.11/8.60 ~ bnd_c4_1 Y) |
% 9.11/8.60 ~ bnd_c2_0) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c5_2 U W) |
% 9.11/8.60 bnd_c3_2 U W) |
% 9.11/8.60 bnd_c4_2 U X;
% 9.11/8.60 !!U V W X Y.
% 9.11/8.60 ((((((((((((~ bnd_c5_2 U V | ~ bnd_c4_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_c4_2 U W) |
% 9.11/8.60 ~ bnd_c5_2 U X) |
% 9.11/8.60 ~ bnd_c1_2 U X) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c4_1 Y) |
% 9.11/8.60 ~ bnd_c2_0) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c5_2 U W) |
% 9.11/8.60 bnd_c3_2 U W) |
% 9.11/8.60 bnd_c4_2 U X) |
% 9.11/8.60 bnd_ndr1_1 Y;
% 9.11/8.60 !!U V.
% 9.11/8.60 ((((((~ bnd_c3_2 U V | ~ bnd_ndr1_1 U) | ~ bnd_c4_2 U bnd_a376) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c2_0) |
% 9.11/8.60 ~ bnd_c4_0) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c1_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 ((((((~ bnd_c3_2 U V | ~ bnd_ndr1_1 U) | ~ bnd_c1_2 U bnd_a365) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_c2_2 U V) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c5_1 U) |
% 9.11/8.60 bnd_ssSkC1;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c4_2 bnd_a378 bnd_a379) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c1_2 bnd_a378 bnd_a379) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 ((((((~ bnd_c3_2 U V | ~ bnd_ndr1_1 U) | ~ bnd_ndr1_0) | ~ bnd_c2_0) |
% 9.11/8.60 ~ bnd_c4_0) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c3_2 U bnd_a376) |
% 9.11/8.60 bnd_c1_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 ((((((~ bnd_c3_2 U V | ~ bnd_ndr1_1 U) | ~ bnd_ndr1_0) | ~ bnd_c2_0) |
% 9.11/8.60 ~ bnd_c4_0) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c1_2 U bnd_a376) |
% 9.11/8.60 bnd_c1_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 ((((((~ bnd_c3_2 U V | ~ bnd_ndr1_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_c2_2 U V) |
% 9.11/8.60 bnd_c1_2 U V) |
% 9.11/8.60 bnd_c3_2 U bnd_a365) |
% 9.11/8.60 bnd_c5_1 U) |
% 9.11/8.60 bnd_ssSkC1;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c5_1 bnd_a378) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U) |
% 9.11/8.60 bnd_c2_2 bnd_a378 bnd_a379;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U) |
% 9.11/8.60 bnd_c3_1 bnd_a378;
% 9.11/8.60 !!U V.
% 9.11/8.60 (((((~ bnd_c2_2 U V | ~ bnd_c3_2 U V) | ~ bnd_ndr1_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c3_0) |
% 9.11/8.60 bnd_c3_1 U) |
% 9.11/8.60 bnd_ndr1_1 bnd_a378;
% 9.11/8.60 !!U. ((((~ bnd_c5_2 bnd_a371 U | ~ bnd_c1_2 bnd_a371 U) |
% 9.11/8.60 ~ bnd_ndr1_1 bnd_a371) |
% 9.11/8.60 bnd_c4_2 bnd_a371 U) |
% 9.11/8.60 bnd_c1_0) |
% 9.11/8.60 bnd_c2_0;
% 9.11/8.60 !!U. (((~ bnd_ndr1_1 bnd_a361 | ~ bnd_c1_0) | ~ bnd_c5_0) |
% 9.11/8.60 bnd_c2_2 bnd_a361 U) |
% 9.11/8.60 bnd_c3_2 bnd_a361 U;
% 9.11/8.60 !!U. (((~ bnd_c3_2 bnd_a363 U | ~ bnd_ndr1_1 bnd_a363) | ~ bnd_c1_0) |
% 9.11/8.60 bnd_c1_2 bnd_a363 U) |
% 9.11/8.60 bnd_c3_0;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP0 U | ~ bnd_ssSkC1) | ~ bnd_c4_2 U bnd_a367) |
% 9.11/8.60 ~ bnd_c2_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_c5_0;
% 9.11/8.60 !!U. ((((~ bnd_c1_1 U | ~ bnd_ndr1_0) | ~ bnd_c3_1 bnd_a369) |
% 9.11/8.60 bnd_c5_1 U) |
% 9.11/8.60 bnd_c4_1 U) |
% 9.11/8.60 bnd_c3_0;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP1 U | ~ bnd_ndr1_0) | ~ bnd_c1_0) | ~ bnd_c5_0) |
% 9.11/8.60 bnd_c1_2 U bnd_a375) |
% 9.11/8.60 bnd_c5_1 U;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP1 U | ~ bnd_ndr1_0) | ~ bnd_c1_0) | ~ bnd_c5_0) |
% 9.11/8.60 bnd_c4_2 U bnd_a375) |
% 9.11/8.60 bnd_c5_1 U;
% 9.11/8.60 !!U. (((~ bnd_ssSkP2 U | ~ bnd_c2_2 U bnd_a381) | ~ bnd_c2_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c1_0;
% 9.11/8.60 !!U. (((~ bnd_ssSkP2 U | ~ bnd_c3_2 U bnd_a381) | ~ bnd_c2_1 U) |
% 9.11/8.60 ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c1_0;
% 9.11/8.60 !!U. (((~ bnd_ssSkC0 | ~ bnd_c5_1 U) | ~ bnd_c1_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c5_1 bnd_a359;
% 9.11/8.60 !!U. (((~ bnd_ssSkC0 | ~ bnd_c5_1 U) | ~ bnd_c1_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 ~ bnd_c3_1 bnd_a359;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP0 U | ~ bnd_ssSkC1) | ~ bnd_c2_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_c2_2 U bnd_a367) |
% 9.11/8.60 bnd_c5_0;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP0 U | ~ bnd_ssSkC1) | ~ bnd_c2_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_c3_2 U bnd_a367) |
% 9.11/8.60 bnd_c5_0;
% 9.11/8.60 !!U. ((((~ bnd_c2_2 U bnd_a368 | ~ bnd_ndr1_0) | bnd_c3_1 U) |
% 9.11/8.60 bnd_c4_1 U) |
% 9.11/8.60 bnd_c5_0) |
% 9.11/8.60 bnd_c2_0;
% 9.11/8.60 !!U. ((((~ bnd_c4_2 U bnd_a368 | ~ bnd_ndr1_0) | bnd_c3_1 U) |
% 9.11/8.60 bnd_c4_1 U) |
% 9.11/8.60 bnd_c5_0) |
% 9.11/8.60 bnd_c2_0;
% 9.11/8.60 !!U. ((((~ bnd_c1_1 U | ~ bnd_ndr1_0) | bnd_c5_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c4_1 bnd_a369) |
% 9.11/8.60 bnd_c3_0;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP1 U | ~ bnd_ndr1_0) | ~ bnd_c1_0) | ~ bnd_c5_0) |
% 9.11/8.60 bnd_ndr1_1 U) |
% 9.11/8.60 bnd_c5_1 U;
% 9.11/8.60 !!U. (((~ bnd_ssSkP2 U | ~ bnd_c2_1 U) | ~ bnd_ndr1_0) | ~ bnd_c1_0) |
% 9.11/8.60 bnd_c4_2 U bnd_a381;
% 9.11/8.60 !!U. ((((~ bnd_ssSkP0 U | ~ bnd_ssSkC1) | ~ bnd_c2_1 U) | ~ bnd_ndr1_0) |
% 9.11/8.60 bnd_ndr1_1 U) |
% 9.11/8.60 bnd_c5_0;
% 9.11/8.60 !!U. ((((~ bnd_ndr1_0 | bnd_c1_2 U bnd_a368) | bnd_c3_1 U) |
% 9.11/8.60 bnd_c4_1 U) |
% 9.11/8.60 bnd_c5_0) |
% 9.11/8.60 bnd_c2_0;
% 9.11/8.60 !!U. (((~ bnd_c5_2 U bnd_a370 | ~ bnd_ndr1_0) | bnd_c5_1 U) |
% 9.11/8.60 bnd_c4_1 U) |
% 9.11/8.60 bnd_c4_0;
% 9.11/8.60 !!U. (((~ bnd_ssSkP2 U | ~ bnd_c2_1 U) | ~ bnd_ndr1_0) | ~ bnd_c1_0) |
% 9.11/8.60 bnd_ndr1_1 U;
% 9.11/8.60 !!U. (((~ bnd_ndr1_0 | ~ bnd_c1_0) | bnd_c5_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c3_1 bnd_a386;
% 9.11/8.60 !!U. ((((~ bnd_ndr1_0 | bnd_ndr1_1 U) | bnd_c3_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c5_0) |
% 9.11/8.60 bnd_c2_0;
% 9.11/8.60 !!U. (((~ bnd_ndr1_0 | bnd_c1_2 U bnd_a370) | bnd_c5_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c4_0;
% 9.11/8.60 !!U. (((~ bnd_ndr1_0 | bnd_c3_2 U bnd_a370) | bnd_c5_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c4_0;
% 9.11/8.60 !!U. (((~ bnd_ndr1_0 | bnd_ndr1_1 U) | bnd_c5_1 U) | bnd_c4_1 U) |
% 9.11/8.60 bnd_c4_0;
% 9.11/8.60 (~ bnd_c1_1 bnd_a361 | ~ bnd_c1_0) | ~ bnd_c5_0;
% 9.11/8.60 (~ bnd_c5_2 bnd_a363 bnd_a364 | ~ bnd_c1_0) | bnd_c3_0;
% 9.11/8.60 (~ bnd_c2_2 bnd_a363 bnd_a364 | ~ bnd_c1_0) | bnd_c3_0;
% 9.11/8.60 (~ bnd_c4_2 bnd_a363 bnd_a364 | ~ bnd_c1_0) | bnd_c3_0;
% 9.11/8.60 (~ bnd_c4_1 bnd_a363 | ~ bnd_c1_0) | bnd_c3_0;
% 9.11/8.60 (~ bnd_c2_2 bnd_a371 bnd_a372 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 (~ bnd_c1_2 bnd_a371 bnd_a372 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 (~ bnd_c1_2 bnd_a371 bnd_a373 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 (~ bnd_ssSkC2 | ~ bnd_c1_2 bnd_a383 bnd_a384) | bnd_c4_0;
% 9.11/8.60 (~ bnd_ssSkC2 | ~ bnd_c5_2 bnd_a383 bnd_a384) | bnd_c4_0;
% 9.11/8.60 ~ bnd_c1_2 bnd_a357 bnd_a358 | bnd_ssSkC0;
% 9.11/8.60 ~ bnd_c5_2 bnd_a357 bnd_a358 | bnd_ssSkC0;
% 9.11/8.60 !!U. ~ bnd_c1_2 U bnd_a366 | bnd_ssSkP0 U;
% 9.11/8.60 !!U. ~ bnd_c2_2 U bnd_a366 | bnd_ssSkP0 U;
% 9.11/8.60 !!U. ~ bnd_c1_2 U bnd_a374 | bnd_ssSkP1 U;
% 9.11/8.60 !!U. ~ bnd_c3_2 U bnd_a380 | bnd_ssSkP2 U;
% 9.11/8.60 !!U. ~ bnd_c5_2 U bnd_a380 | bnd_ssSkP2 U;
% 9.11/8.60 (~ bnd_c5_1 bnd_a360 | bnd_c5_0) | bnd_c1_0;
% 9.11/8.60 (~ bnd_c1_0 | ~ bnd_c5_0) | bnd_ndr1_0;
% 9.11/8.60 (~ bnd_c1_0 | bnd_ndr1_1 bnd_a363) | bnd_c3_0;
% 9.11/8.60 (bnd_c4_2 bnd_a371 bnd_a372 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 (bnd_c2_2 bnd_a371 bnd_a373 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 ~ bnd_c1_1 bnd_a377 | ~ bnd_c2_0;
% 9.11/8.60 (~ bnd_ssSkC2 | ~ bnd_c3_1 bnd_a383) | bnd_c4_0;
% 9.11/8.60 (~ bnd_c1_0 | bnd_c5_1 bnd_a385) | bnd_c4_0;
% 9.11/8.60 (~ bnd_c1_0 | bnd_c4_1 bnd_a385) | bnd_c4_0;
% 9.11/8.60 ~ bnd_c5_1 bnd_a357 | bnd_ssSkC0; ~ bnd_c2_1 bnd_a357 | bnd_ssSkC0;
% 9.11/8.60 bnd_c3_2 bnd_a357 bnd_a358 | bnd_ssSkC0;
% 9.11/8.60 !!U. bnd_c5_2 U bnd_a374 | bnd_ssSkP1 U;
% 9.11/8.60 !!U. bnd_c3_2 U bnd_a374 | bnd_ssSkP1 U;
% 9.11/8.60 !!U. bnd_c2_2 U bnd_a380 | bnd_ssSkP2 U;
% 9.11/8.60 (~ bnd_c3_0 | bnd_c4_0) | bnd_c5_0;
% 9.11/8.60 (bnd_c3_1 bnd_a360 | bnd_c5_0) | bnd_c1_0;
% 9.11/8.60 (~ bnd_c1_0 | bnd_ndr1_0) | bnd_c3_0;
% 9.11/8.60 (bnd_ndr1_1 bnd_a371 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 ~ bnd_c2_0 | bnd_c3_1 bnd_a377;
% 9.11/8.60 (~ bnd_ssSkC2 | bnd_c1_1 bnd_a383) | bnd_c4_0;
% 9.11/8.60 (~ bnd_ssSkC2 | bnd_ndr1_1 bnd_a383) | bnd_c4_0;
% 9.11/8.60 (~ bnd_c1_0 | bnd_ndr1_0) | bnd_c4_0; bnd_ndr1_1 bnd_a357 | bnd_ssSkC0;
% 9.11/8.60 !!U. bnd_ndr1_1 U | bnd_ssSkP0 U; !!U. bnd_ndr1_1 U | bnd_ssSkP1 U;
% 9.11/8.60 !!U. bnd_ndr1_1 U | bnd_ssSkP2 U; bnd_c5_1 bnd_a382 | bnd_ssSkC2;
% 9.11/8.60 bnd_c1_1 bnd_a382 | bnd_ssSkC2; bnd_c4_1 bnd_a382 | bnd_ssSkC2;
% 9.11/8.60 ~ bnd_c4_0 | bnd_c5_0; ~ bnd_c2_0 | bnd_c4_0;
% 9.11/8.60 (bnd_ndr1_0 | bnd_c5_0) | bnd_c1_0; (bnd_ndr1_0 | bnd_c1_0) | bnd_c2_0;
% 9.11/8.60 ~ bnd_c2_0 | bnd_ndr1_0; (~ bnd_ssSkC2 | bnd_ndr1_0) | bnd_c4_0;
% 9.11/8.60 bnd_ndr1_0 | bnd_ssSkC0; bnd_ndr1_0 | bnd_ssSkC2 |]
% 9.11/8.60 ==> True
% 9.11/8.60 Adding axioms...
% 9.11/8.61 Typedef.type_definition_def
% 15.52/15.09 ...done.
% 15.62/15.10 Ground types: ?'b, TPTP_Interpret.ind
% 15.62/15.10 Translating term (sizes: 1, 1) ...
% 23.64/23.11 Invoking SAT solver...
% 23.64/23.11 No model exists.
% 23.64/23.11 Translating term (sizes: 2, 1) ...
% 32.24/31.76 Invoking SAT solver...
% 32.24/31.76 No model exists.
% 32.24/31.76 Translating term (sizes: 1, 2) ...
% 66.32/65.75 Invoking SAT solver...
% 66.32/65.75 No model exists.
% 66.32/65.75 Translating term (sizes: 3, 1) ...
% 77.35/76.78 Invoking SAT solver...
% 77.35/76.78 No model exists.
% 77.35/76.78 Translating term (sizes: 2, 2) ...
% 119.18/118.49 Invoking SAT solver...
% 119.18/118.49 No model exists.
% 119.18/118.49 Translating term (sizes: 1, 3) ...
% 287.48/285.76 Invoking SAT solver...
% 287.48/285.76 No model exists.
% 287.48/285.76 Translating term (sizes: 4, 1) ...
% 300.01/298.13 /export/starexec/sandbox2/solver/lib/scripts/run-polyml-5.5.2: line 82: 57210 CPU time limit exceeded (core dumped) "$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" -t "$MLEXIT" $FEEDER_OPTS
% 300.01/298.13 57211 (core dumped) | { read FPID; "$POLY" -q -i $ML_OPTIONS; RC="$?"; kill -TERM "$FPID"; exit "$RC"; }
% 300.01/298.14 /export/starexec/sandbox2/solver/src/HOL/TPTP/lib/Tools/tptp_refute: line 26: 57156 Exit 152 "$ISABELLE_PROCESS" -q -e "use_thy \"/tmp/$SCRATCH\"; exit 1;" HOL-TPTP
% 300.01/298.14 57157 CPU time limit exceeded (core dumped) | grep --line-buffered -v "^###\|^PROOF FAILED for depth\|^Failure node\|inferences so far. Searching to depth\|^val \|^Loading theory\|^Warning-The type of\|^ monotype.$"
%------------------------------------------------------------------------------