TSTP Solution File: SET611+3 by Zipperpin---2.1.9999

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zipperpin---2.1.9999
% Problem  : SET611+3 : TPTP v8.1.2. Released v2.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.DY2UBiPzDR true

% Computer : n028.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 16:15:00 EDT 2023

% Result   : Theorem 210.29s 30.64s
% Output   : Refutation 210.29s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   17
%            Number of leaves      :   18
% Syntax   : Number of formulae    :   79 (  17 unt;  10 typ;   0 def)
%            Number of atoms       :  138 (  35 equ;   0 cnn)
%            Maximal formula atoms :    3 (   2 avg)
%            Number of connectives :  473 (  47   ~;  58   |;   3   &; 357   @)
%                                         (   7 <=>;   1  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   6 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   12 (  12   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   12 (  10 usr;   4 con; 0-2 aty)
%            Number of variables   :  103 (   0   ^; 103   !;   0   ?; 103   :)

% Comments : 
%------------------------------------------------------------------------------
thf(difference_type,type,
    difference: $i > $i > $i ).

thf(subset_type,type,
    subset: $i > $i > $o ).

thf(empty_set_type,type,
    empty_set: $i ).

thf(sk__5_type,type,
    sk__5: $i ).

thf(member_type,type,
    member: $i > $i > $o ).

thf(intersection_type,type,
    intersection: $i > $i > $i ).

thf(empty_type,type,
    empty: $i > $o ).

thf(sk__3_type,type,
    sk__3: $i > $i ).

thf(sk__2_type,type,
    sk__2: $i > $i > $i ).

thf(sk__4_type,type,
    sk__4: $i ).

thf(subset_defn,axiom,
    ! [B: $i,C: $i] :
      ( ( subset @ B @ C )
    <=> ! [D: $i] :
          ( ( member @ D @ B )
         => ( member @ D @ C ) ) ) ).

thf(zip_derived_cl18,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ~ ( member @ ( sk__2 @ X1 @ X0 ) @ X1 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(zip_derived_cl19,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(difference_defn,axiom,
    ! [B: $i,C: $i,D: $i] :
      ( ( member @ D @ ( difference @ B @ C ) )
    <=> ( ( member @ D @ B )
        & ~ ( member @ D @ C ) ) ) ).

thf(zip_derived_cl5,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( member @ X0 @ X1 )
      | ~ ( member @ X0 @ ( difference @ X1 @ X2 ) ) ),
    inference(cnf,[status(esa)],[difference_defn]) ).

thf(zip_derived_cl85,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( subset @ ( difference @ X1 @ X0 ) @ X2 )
      | ( member @ ( sk__2 @ X2 @ ( difference @ X1 @ X0 ) ) @ X1 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl19,zip_derived_cl5]) ).

thf(zip_derived_cl3907,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ ( difference @ X0 @ X1 ) @ X0 )
      | ( subset @ ( difference @ X0 @ X1 ) @ X0 ) ),
    inference('sup+',[status(thm)],[zip_derived_cl18,zip_derived_cl85]) ).

thf(zip_derived_cl3923,plain,
    ! [X0: $i,X1: $i] : ( subset @ ( difference @ X0 @ X1 ) @ X0 ),
    inference(simplify,[status(thm)],[zip_derived_cl3907]) ).

thf(equal_defn,axiom,
    ! [B: $i,C: $i] :
      ( ( B = C )
    <=> ( ( subset @ B @ C )
        & ( subset @ C @ B ) ) ) ).

thf(zip_derived_cl11,plain,
    ! [X0: $i,X1: $i] :
      ( ( X1 = X0 )
      | ~ ( subset @ X0 @ X1 )
      | ~ ( subset @ X1 @ X0 ) ),
    inference(cnf,[status(esa)],[equal_defn]) ).

thf(zip_derived_cl3991,plain,
    ! [X0: $i,X1: $i] :
      ( ~ ( subset @ X0 @ ( difference @ X0 @ X1 ) )
      | ( X0
        = ( difference @ X0 @ X1 ) ) ),
    inference('sup-',[status(thm)],[zip_derived_cl3923,zip_derived_cl11]) ).

thf(zip_derived_cl19_001,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(empty_defn,axiom,
    ! [B: $i] :
      ( ( empty @ B )
    <=> ! [C: $i] :
          ~ ( member @ C @ B ) ) ).

thf(zip_derived_cl22,plain,
    ! [X0: $i] :
      ( ( empty @ X0 )
      | ( member @ ( sk__3 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[empty_defn]) ).

thf(intersection_defn,axiom,
    ! [B: $i,C: $i,D: $i] :
      ( ( member @ D @ ( intersection @ B @ C ) )
    <=> ( ( member @ D @ B )
        & ( member @ D @ C ) ) ) ).

thf(zip_derived_cl2,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( member @ X0 @ X1 )
      | ~ ( member @ X0 @ ( intersection @ X1 @ X2 ) ) ),
    inference(cnf,[status(esa)],[intersection_defn]) ).

thf(zip_derived_cl54,plain,
    ! [X0: $i,X1: $i] :
      ( ( empty @ ( intersection @ X1 @ X0 ) )
      | ( member @ ( sk__3 @ ( intersection @ X1 @ X0 ) ) @ X1 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl22,zip_derived_cl2]) ).

thf(commutativity_of_intersection,axiom,
    ! [B: $i,C: $i] :
      ( ( intersection @ B @ C )
      = ( intersection @ C @ B ) ) ).

thf(zip_derived_cl12,plain,
    ! [X0: $i,X1: $i] :
      ( ( intersection @ X1 @ X0 )
      = ( intersection @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[commutativity_of_intersection]) ).

thf(zip_derived_cl54_002,plain,
    ! [X0: $i,X1: $i] :
      ( ( empty @ ( intersection @ X1 @ X0 ) )
      | ( member @ ( sk__3 @ ( intersection @ X1 @ X0 ) ) @ X1 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl22,zip_derived_cl2]) ).

thf(prove_th84,conjecture,
    ! [B: $i,C: $i] :
      ( ( ( intersection @ B @ C )
        = empty_set )
    <=> ( ( difference @ B @ C )
        = B ) ) ).

thf(zf_stmt_0,negated_conjecture,
    ~ ! [B: $i,C: $i] :
        ( ( ( intersection @ B @ C )
          = empty_set )
      <=> ( ( difference @ B @ C )
          = B ) ),
    inference('cnf.neg',[status(esa)],[prove_th84]) ).

thf(zip_derived_cl23,plain,
    ( ( ( difference @ sk__4 @ sk__5 )
      = sk__4 )
    | ( ( intersection @ sk__4 @ sk__5 )
      = empty_set ) ),
    inference(cnf,[status(esa)],[zf_stmt_0]) ).

thf(zip_derived_cl12_003,plain,
    ! [X0: $i,X1: $i] :
      ( ( intersection @ X1 @ X0 )
      = ( intersection @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[commutativity_of_intersection]) ).

thf(zip_derived_cl28,plain,
    ( ( ( difference @ sk__4 @ sk__5 )
      = sk__4 )
    | ( ( intersection @ sk__5 @ sk__4 )
      = empty_set ) ),
    inference(demod,[status(thm)],[zip_derived_cl23,zip_derived_cl12]) ).

thf(zip_derived_cl6,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ~ ( member @ X0 @ X1 )
      | ~ ( member @ X0 @ ( difference @ X2 @ X1 ) ) ),
    inference(cnf,[status(esa)],[difference_defn]) ).

thf(zip_derived_cl29,plain,
    ! [X0: $i] :
      ( ~ ( member @ X0 @ sk__4 )
      | ( ( intersection @ sk__5 @ sk__4 )
        = empty_set )
      | ~ ( member @ X0 @ sk__5 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl28,zip_derived_cl6]) ).

thf(zip_derived_cl348,plain,
    ! [X0: $i] :
      ( ( empty @ ( intersection @ sk__4 @ X0 ) )
      | ~ ( member @ ( sk__3 @ ( intersection @ sk__4 @ X0 ) ) @ sk__5 )
      | ( ( intersection @ sk__5 @ sk__4 )
        = empty_set ) ),
    inference('sup-',[status(thm)],[zip_derived_cl54,zip_derived_cl29]) ).

thf(zip_derived_cl419,plain,
    ! [X0: $i] :
      ( ~ ( member @ ( sk__3 @ ( intersection @ X0 @ sk__4 ) ) @ sk__5 )
      | ( ( intersection @ sk__5 @ sk__4 )
        = empty_set )
      | ( empty @ ( intersection @ sk__4 @ X0 ) ) ),
    inference('sup-',[status(thm)],[zip_derived_cl12,zip_derived_cl348]) ).

thf(zip_derived_cl423,plain,
    ( ( empty @ ( intersection @ sk__5 @ sk__4 ) )
    | ( empty @ ( intersection @ sk__4 @ sk__5 ) )
    | ( ( intersection @ sk__5 @ sk__4 )
      = empty_set ) ),
    inference('sup-',[status(thm)],[zip_derived_cl54,zip_derived_cl419]) ).

thf(zip_derived_cl12_004,plain,
    ! [X0: $i,X1: $i] :
      ( ( intersection @ X1 @ X0 )
      = ( intersection @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[commutativity_of_intersection]) ).

thf(zip_derived_cl431,plain,
    ( ( empty @ ( intersection @ sk__5 @ sk__4 ) )
    | ( empty @ ( intersection @ sk__5 @ sk__4 ) )
    | ( ( intersection @ sk__5 @ sk__4 )
      = empty_set ) ),
    inference(demod,[status(thm)],[zip_derived_cl423,zip_derived_cl12]) ).

thf(zip_derived_cl432,plain,
    ( ( ( intersection @ sk__5 @ sk__4 )
      = empty_set )
    | ( empty @ ( intersection @ sk__5 @ sk__4 ) ) ),
    inference(simplify,[status(thm)],[zip_derived_cl431]) ).

thf(zip_derived_cl19_005,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(zip_derived_cl21,plain,
    ! [X0: $i,X1: $i] :
      ( ~ ( member @ X0 @ X1 )
      | ~ ( empty @ X1 ) ),
    inference(cnf,[status(esa)],[empty_defn]) ).

thf(zip_derived_cl82,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ~ ( empty @ X0 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl19,zip_derived_cl21]) ).

thf(zip_derived_cl19_006,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(empty_set_defn,axiom,
    ! [B: $i] :
      ~ ( member @ B @ empty_set ) ).

thf(zip_derived_cl8,plain,
    ! [X0: $i] :
      ~ ( member @ X0 @ empty_set ),
    inference(cnf,[status(esa)],[empty_set_defn]) ).

thf(zip_derived_cl87,plain,
    ! [X0: $i] : ( subset @ empty_set @ X0 ),
    inference('sup-',[status(thm)],[zip_derived_cl19,zip_derived_cl8]) ).

thf(zip_derived_cl11_007,plain,
    ! [X0: $i,X1: $i] :
      ( ( X1 = X0 )
      | ~ ( subset @ X0 @ X1 )
      | ~ ( subset @ X1 @ X0 ) ),
    inference(cnf,[status(esa)],[equal_defn]) ).

thf(zip_derived_cl129,plain,
    ! [X0: $i] :
      ( ~ ( subset @ X0 @ empty_set )
      | ( X0 = empty_set ) ),
    inference('sup-',[status(thm)],[zip_derived_cl87,zip_derived_cl11]) ).

thf(zip_derived_cl177,plain,
    ! [X0: $i] :
      ( ~ ( empty @ X0 )
      | ( X0 = empty_set ) ),
    inference('sup-',[status(thm)],[zip_derived_cl82,zip_derived_cl129]) ).

thf(zip_derived_cl434,plain,
    ( ( intersection @ sk__5 @ sk__4 )
    = empty_set ),
    inference(clc,[status(thm)],[zip_derived_cl432,zip_derived_cl177]) ).

thf(zip_derived_cl4,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( member @ X0 @ ( intersection @ X1 @ X2 ) )
      | ~ ( member @ X0 @ X2 )
      | ~ ( member @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[intersection_defn]) ).

thf(zip_derived_cl21_008,plain,
    ! [X0: $i,X1: $i] :
      ( ~ ( member @ X0 @ X1 )
      | ~ ( empty @ X1 ) ),
    inference(cnf,[status(esa)],[empty_defn]) ).

thf(zip_derived_cl65,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ~ ( member @ X2 @ X1 )
      | ~ ( member @ X2 @ X0 )
      | ~ ( empty @ ( intersection @ X1 @ X0 ) ) ),
    inference('sup-',[status(thm)],[zip_derived_cl4,zip_derived_cl21]) ).

thf(zip_derived_cl444,plain,
    ! [X0: $i] :
      ( ~ ( empty @ empty_set )
      | ~ ( member @ X0 @ sk__4 )
      | ~ ( member @ X0 @ sk__5 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl434,zip_derived_cl65]) ).

thf(zip_derived_cl22_009,plain,
    ! [X0: $i] :
      ( ( empty @ X0 )
      | ( member @ ( sk__3 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[empty_defn]) ).

thf(zip_derived_cl8_010,plain,
    ! [X0: $i] :
      ~ ( member @ X0 @ empty_set ),
    inference(cnf,[status(esa)],[empty_set_defn]) ).

thf(zip_derived_cl58,plain,
    empty @ empty_set,
    inference('sup-',[status(thm)],[zip_derived_cl22,zip_derived_cl8]) ).

thf(zip_derived_cl446,plain,
    ! [X0: $i] :
      ( ~ ( member @ X0 @ sk__4 )
      | ~ ( member @ X0 @ sk__5 ) ),
    inference(demod,[status(thm)],[zip_derived_cl444,zip_derived_cl58]) ).

thf(zip_derived_cl456,plain,
    ! [X0: $i] :
      ( ( subset @ sk__4 @ X0 )
      | ~ ( member @ ( sk__2 @ X0 @ sk__4 ) @ sk__5 ) ),
    inference('sup-',[status(thm)],[zip_derived_cl19,zip_derived_cl446]) ).

thf(zip_derived_cl18_011,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ~ ( member @ ( sk__2 @ X1 @ X0 ) @ X1 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(zip_derived_cl19_012,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X0 ) ),
    inference(cnf,[status(esa)],[subset_defn]) ).

thf(zip_derived_cl7,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( member @ X0 @ ( difference @ X1 @ X2 ) )
      | ( member @ X0 @ X2 )
      | ~ ( member @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[difference_defn]) ).

thf(zip_derived_cl80,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( ( subset @ X0 @ X1 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ X2 )
      | ( member @ ( sk__2 @ X1 @ X0 ) @ ( difference @ X0 @ X2 ) ) ),
    inference('sup-',[status(thm)],[zip_derived_cl19,zip_derived_cl7]) ).

thf(zip_derived_cl3301,plain,
    ! [X0: $i,X1: $i] :
      ( ( subset @ X1 @ ( difference @ X1 @ X0 ) )
      | ( member @ ( sk__2 @ ( difference @ X1 @ X0 ) @ X1 ) @ X0 )
      | ( subset @ X1 @ ( difference @ X1 @ X0 ) ) ),
    inference('sup+',[status(thm)],[zip_derived_cl18,zip_derived_cl80]) ).

thf(zip_derived_cl3317,plain,
    ! [X0: $i,X1: $i] :
      ( ( member @ ( sk__2 @ ( difference @ X1 @ X0 ) @ X1 ) @ X0 )
      | ( subset @ X1 @ ( difference @ X1 @ X0 ) ) ),
    inference(simplify,[status(thm)],[zip_derived_cl3301]) ).

thf(zip_derived_cl201622,plain,
    ( ( subset @ sk__4 @ ( difference @ sk__4 @ sk__5 ) )
    | ( subset @ sk__4 @ ( difference @ sk__4 @ sk__5 ) ) ),
    inference('sup+',[status(thm)],[zip_derived_cl456,zip_derived_cl3317]) ).

thf(zip_derived_cl201728,plain,
    subset @ sk__4 @ ( difference @ sk__4 @ sk__5 ),
    inference(simplify,[status(thm)],[zip_derived_cl201622]) ).

thf(zip_derived_cl201813,plain,
    ( sk__4
    = ( difference @ sk__4 @ sk__5 ) ),
    inference('sup+',[status(thm)],[zip_derived_cl3991,zip_derived_cl201728]) ).

thf(zip_derived_cl24,plain,
    ( ( ( difference @ sk__4 @ sk__5 )
     != sk__4 )
    | ( ( intersection @ sk__4 @ sk__5 )
     != empty_set ) ),
    inference(cnf,[status(esa)],[zf_stmt_0]) ).

thf(zip_derived_cl12_013,plain,
    ! [X0: $i,X1: $i] :
      ( ( intersection @ X1 @ X0 )
      = ( intersection @ X0 @ X1 ) ),
    inference(cnf,[status(esa)],[commutativity_of_intersection]) ).

thf(zip_derived_cl25,plain,
    ( ( ( difference @ sk__4 @ sk__5 )
     != sk__4 )
    | ( ( intersection @ sk__5 @ sk__4 )
     != empty_set ) ),
    inference(demod,[status(thm)],[zip_derived_cl24,zip_derived_cl12]) ).

thf(zip_derived_cl434_014,plain,
    ( ( intersection @ sk__5 @ sk__4 )
    = empty_set ),
    inference(clc,[status(thm)],[zip_derived_cl432,zip_derived_cl177]) ).

thf(zip_derived_cl435,plain,
    ( ( ( difference @ sk__4 @ sk__5 )
     != sk__4 )
    | ( empty_set != empty_set ) ),
    inference(demod,[status(thm)],[zip_derived_cl25,zip_derived_cl434]) ).

thf(zip_derived_cl436,plain,
    ( ( difference @ sk__4 @ sk__5 )
   != sk__4 ),
    inference(simplify,[status(thm)],[zip_derived_cl435]) ).

thf(zip_derived_cl201870,plain,
    $false,
    inference('simplify_reflect-',[status(thm)],[zip_derived_cl201813,zip_derived_cl436]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : SET611+3 : TPTP v8.1.2. Released v2.2.0.
% 0.00/0.14  % Command  : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.DY2UBiPzDR true
% 0.14/0.35  % Computer : n028.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit : 300
% 0.14/0.35  % WCLimit  : 300
% 0.14/0.35  % DateTime : Sat Aug 26 12:54:52 EDT 2023
% 0.14/0.36  % CPUTime  : 
% 0.14/0.36  % Running portfolio for 300 s
% 0.14/0.36  % File         : /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.14/0.36  % Number of cores: 8
% 0.14/0.36  % Python version: Python 3.6.8
% 0.14/0.36  % Running in FO mode
% 0.21/0.66  % Total configuration time : 435
% 0.21/0.66  % Estimated wc time : 1092
% 0.21/0.66  % Estimated cpu time (7 cpus) : 156.0
% 0.21/0.71  % /export/starexec/sandbox2/solver/bin/fo/fo6_bce.sh running for 75s
% 0.21/0.73  % /export/starexec/sandbox2/solver/bin/fo/fo3_bce.sh running for 75s
% 0.21/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo1_av.sh running for 75s
% 0.21/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo7.sh running for 63s
% 0.21/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo13.sh running for 50s
% 0.21/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo5.sh running for 50s
% 0.21/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo4.sh running for 50s
% 210.29/30.64  % Solved by fo/fo4.sh.
% 210.29/30.64  % done 22062 iterations in 29.844s
% 210.29/30.64  % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p'
% 210.29/30.64  % SZS output start Refutation
% See solution above
% 210.29/30.64  
% 210.29/30.64  
% 210.29/30.64  % Terminating...
% 210.48/30.75  % Runner terminated.
% 210.48/30.76  % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------