↑ Up

Beagle---0.9.52.UNS-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Beagle---0.9.52
% Problem  : LCL256-1 : TPTP v9.3.1. Released v1.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s

% Computer : n020.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 : Mon Sep  7 11:11:38 AM UTC 2026

% Result   : Unsatisfiable 94.83s 74.71s
% Output   : CNFRefutation 94.83s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   17
%            Number of leaves      :    5
% Syntax   : Number of formulae    :   75 (  29 unt;   0 typ;   0 def)
%            Number of atoms       :  138 (   0 equ)
%            Maximal formula atoms :    3 (   1 avg)
%            Number of connectives :  128 (  65   ~;  63   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   5 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :    2 (   1 usr;   1 prp; 0-1 aty)
%            Number of functors    :    3 (   3 usr;   1 con; 0-2 aty)
%            Number of variables   :  189 ( 189   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
%$ is_a_theorem > implies > #nlpp > not > p

%Foreground sorts:

%Background operators:

%Foreground operators:
tff(is_a_theorem,type,
    is_a_theorem: $i > $o ).

tff(not,type,
    not: $i > $i ).

tff(p,type,
    p: $i ).

tff(implies,type,
    implies: ( $i * $i ) > $i ).

tff(f_40,axiom,
    ! [X] : is_a_theorem(implies(implies(not(X),X),X)),
    file(unknown,unknown) ).

tff(f_38,axiom,
    ! [X,Y,Z] : is_a_theorem(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z)))),
    file(unknown,unknown) ).

tff(f_36,axiom,
    ! [X,Y] :
      ( ~ is_a_theorem(implies(X,Y))
      | ~ is_a_theorem(X)
      | is_a_theorem(Y) ),
    file(unknown,unknown) ).

tff(f_42,axiom,
    ! [X,Y] : is_a_theorem(implies(X,implies(not(X),Y))),
    file(unknown,unknown) ).

tff(f_44,axiom,
    ~ is_a_theorem(not(not(implies(p,p)))),
    file(unknown,unknown) ).

tff(c_6,plain,
    ! [X_6] : is_a_theorem(implies(implies(not(X_6),X_6),X_6)),
    inference(cnfTransformation,[status(thm)],[f_40]) ).

tff(c_23,plain,
    ! [X_15,Y_16,Z_17] : is_a_theorem(implies(implies(X_15,Y_16),implies(implies(Y_16,Z_17),implies(X_15,Z_17)))),
    inference(cnfTransformation,[status(thm)],[f_38]) ).

tff(c_2,plain,
    ! [Y_2,X_1] :
      ( is_a_theorem(Y_2)
      | ~ is_a_theorem(X_1)
      | ~ is_a_theorem(implies(X_1,Y_2)) ),
    inference(cnfTransformation,[status(thm)],[f_36]) ).

tff(c_40,plain,
    ! [Y_21,Z_22,X_23] :
      ( is_a_theorem(implies(implies(Y_21,Z_22),implies(X_23,Z_22)))
      | ~ is_a_theorem(implies(X_23,Y_21)) ),
    inference(resolution,[status(thm)],[c_23,c_2]) ).

tff(c_45,plain,
    ! [X_24,Z_25,Y_26] :
      ( is_a_theorem(implies(X_24,Z_25))
      | ~ is_a_theorem(implies(Y_26,Z_25))
      | ~ is_a_theorem(implies(X_24,Y_26)) ),
    inference(resolution,[status(thm)],[c_40,c_2]) ).

tff(c_83,plain,
    ! [X_33,X_34] :
      ( is_a_theorem(implies(X_33,X_34))
      | ~ is_a_theorem(implies(X_33,implies(not(X_34),X_34))) ),
    inference(resolution,[status(thm)],[c_6,c_45]) ).

tff(c_107,plain,
    ! [X_34] : is_a_theorem(implies(implies(not(implies(not(X_34),X_34)),implies(not(X_34),X_34)),X_34)),
    inference(resolution,[status(thm)],[c_6,c_83]) ).

tff(c_8,plain,
    ! [X_7,Y_8] : is_a_theorem(implies(X_7,implies(not(X_7),Y_8))),
    inference(cnfTransformation,[status(thm)],[f_42]) ).

tff(c_70,plain,
    ! [X_30,X_31,Y_32] :
      ( is_a_theorem(implies(X_30,implies(not(X_31),Y_32)))
      | ~ is_a_theorem(implies(X_30,X_31)) ),
    inference(resolution,[status(thm)],[c_8,c_45]) ).

tff(c_44,plain,
    ! [X_23,Z_22,Y_21] :
      ( is_a_theorem(implies(X_23,Z_22))
      | ~ is_a_theorem(implies(Y_21,Z_22))
      | ~ is_a_theorem(implies(X_23,Y_21)) ),
    inference(resolution,[status(thm)],[c_40,c_2]) ).

tff(c_1094,plain,
    ! [X_111,X_112,Y_113,X_114] :
      ( is_a_theorem(implies(X_111,implies(not(X_112),Y_113)))
      | ~ is_a_theorem(implies(X_111,X_114))
      | ~ is_a_theorem(implies(X_114,X_112)) ),
    inference(resolution,[status(thm)],[c_70,c_44]) ).

tff(c_1552,plain,
    ! [X_139,X_140,Y_141,Y_142] :
      ( is_a_theorem(implies(X_139,implies(not(X_140),Y_141)))
      | ~ is_a_theorem(implies(implies(not(X_139),Y_142),X_140)) ),
    inference(resolution,[status(thm)],[c_8,c_1094]) ).

tff(c_1605,plain,
    ! [X_34,Y_141] : is_a_theorem(implies(implies(not(X_34),X_34),implies(not(X_34),Y_141))),
    inference(resolution,[status(thm)],[c_107,c_1552]) ).

tff(c_27,plain,
    ! [Y_16,Z_17,X_15] :
      ( is_a_theorem(implies(implies(Y_16,Z_17),implies(X_15,Z_17)))
      | ~ is_a_theorem(implies(X_15,Y_16)) ),
    inference(resolution,[status(thm)],[c_23,c_2]) ).

tff(c_216,plain,
    ! [X_47,Y_48,X_49] :
      ( is_a_theorem(implies(not(X_47),Y_48))
      | ~ is_a_theorem(X_49)
      | ~ is_a_theorem(implies(X_49,X_47)) ),
    inference(resolution,[status(thm)],[c_70,c_2]) ).

tff(c_8856,plain,
    ! [X_441,Z_442,Y_443,Y_444] :
      ( is_a_theorem(implies(not(implies(X_441,Z_442)),Y_443))
      | ~ is_a_theorem(implies(Y_444,Z_442))
      | ~ is_a_theorem(implies(X_441,Y_444)) ),
    inference(resolution,[status(thm)],[c_27,c_216]) ).

tff(c_9858,plain,
    ! [X_464,X_465,Y_466] :
      ( is_a_theorem(implies(not(implies(X_464,X_465)),Y_466))
      | ~ is_a_theorem(implies(X_464,implies(not(X_465),X_465))) ),
    inference(resolution,[status(thm)],[c_6,c_8856]) ).

tff(c_12492,plain,
    ! [Y_510,Y_511] : is_a_theorem(implies(not(implies(implies(not(Y_510),Y_510),Y_510)),Y_511)),
    inference(resolution,[status(thm)],[c_1605,c_9858]) ).

tff(c_13,plain,
    ! [Y_12,X_13] :
      ( is_a_theorem(Y_12)
      | ~ is_a_theorem(X_13)
      | ~ is_a_theorem(implies(X_13,Y_12)) ),
    inference(cnfTransformation,[status(thm)],[f_36]) ).

tff(c_21,plain,
    ! [X_7,Y_8] :
      ( is_a_theorem(implies(not(X_7),Y_8))
      | ~ is_a_theorem(X_7) ),
    inference(resolution,[status(thm)],[c_8,c_13]) ).

tff(c_127,plain,
    ! [X_36,X_37,Z_38,Y_39] :
      ( is_a_theorem(implies(X_36,implies(X_37,Z_38)))
      | ~ is_a_theorem(implies(X_36,implies(Y_39,Z_38)))
      | ~ is_a_theorem(implies(X_37,Y_39)) ),
    inference(resolution,[status(thm)],[c_27,c_45]) ).

tff(c_194,plain,
    ! [X_44,X_45,Y_46] :
      ( is_a_theorem(implies(X_44,implies(X_45,Y_46)))
      | ~ is_a_theorem(implies(X_45,not(X_44))) ),
    inference(resolution,[status(thm)],[c_8,c_127]) ).

tff(c_244,plain,
    ! [X_50,X_51,Y_52] :
      ( is_a_theorem(implies(X_50,implies(not(X_51),Y_52)))
      | ~ is_a_theorem(X_51) ),
    inference(resolution,[status(thm)],[c_21,c_194]) ).

tff(c_59,plain,
    ! [X_24,X_6] :
      ( is_a_theorem(implies(X_24,X_6))
      | ~ is_a_theorem(implies(X_24,implies(not(X_6),X_6))) ),
    inference(resolution,[status(thm)],[c_6,c_45]) ).

tff(c_268,plain,
    ! [X_53,Y_54] :
      ( is_a_theorem(implies(X_53,Y_54))
      | ~ is_a_theorem(Y_54) ),
    inference(resolution,[status(thm)],[c_244,c_59]) ).

tff(c_296,plain,
    ! [X_53,X_6] :
      ( is_a_theorem(implies(X_53,X_6))
      | ~ is_a_theorem(implies(not(X_6),X_6)) ),
    inference(resolution,[status(thm)],[c_268,c_59]) ).

tff(c_12690,plain,
    ! [X_53,Y_510] : is_a_theorem(implies(X_53,implies(implies(not(Y_510),Y_510),Y_510))),
    inference(resolution,[status(thm)],[c_12492,c_296]) ).

tff(c_4,plain,
    ! [X_3,Y_4,Z_5] : is_a_theorem(implies(implies(X_3,Y_4),implies(implies(Y_4,Z_5),implies(X_3,Z_5)))),
    inference(cnfTransformation,[status(thm)],[f_38]) ).

tff(c_2147,plain,
    ! [X_174,Y_175,X_176,Z_177] :
      ( is_a_theorem(implies(implies(X_174,Y_175),implies(X_176,implies(X_174,Z_177))))
      | ~ is_a_theorem(implies(X_176,implies(Y_175,Z_177))) ),
    inference(resolution,[status(thm)],[c_4,c_127]) ).

tff(c_13339,plain,
    ! [X_523,Y_524,Z_525] :
      ( is_a_theorem(implies(implies(X_523,Y_524),implies(X_523,Z_525)))
      | ~ is_a_theorem(implies(not(implies(X_523,Z_525)),implies(Y_524,Z_525))) ),
    inference(resolution,[status(thm)],[c_2147,c_59]) ).

tff(c_13471,plain,
    ! [X_523,Y_510] : is_a_theorem(implies(implies(X_523,implies(not(Y_510),Y_510)),implies(X_523,Y_510))),
    inference(resolution,[status(thm)],[c_12690,c_13339]) ).

tff(c_108,plain,
    ! [Y_8] : is_a_theorem(implies(Y_8,Y_8)),
    inference(resolution,[status(thm)],[c_8,c_83]) ).

tff(c_359,plain,
    ! [X_61,Y_62,Z_63,X_64] :
      ( is_a_theorem(implies(X_61,implies(implies(Y_62,Z_63),implies(X_64,Z_63))))
      | ~ is_a_theorem(implies(X_61,implies(X_64,Y_62))) ),
    inference(resolution,[status(thm)],[c_4,c_45]) ).

tff(c_56,plain,
    ! [X_24,X_15,Z_17,Y_16] :
      ( is_a_theorem(implies(X_24,implies(X_15,Z_17)))
      | ~ is_a_theorem(implies(X_24,implies(Y_16,Z_17)))
      | ~ is_a_theorem(implies(X_15,Y_16)) ),
    inference(resolution,[status(thm)],[c_27,c_45]) ).

tff(c_3603,plain,
    ! [X_263,Z_264,Y_261,X_265,X_262] :
      ( is_a_theorem(implies(X_265,implies(X_263,implies(X_262,Z_264))))
      | ~ is_a_theorem(implies(X_263,implies(Y_261,Z_264)))
      | ~ is_a_theorem(implies(X_265,implies(X_262,Y_261))) ),
    inference(resolution,[status(thm)],[c_359,c_56]) ).

tff(c_6412,plain,
    ! [X_363,X_364,X_365,Y_366] :
      ( is_a_theorem(implies(X_363,implies(X_364,implies(X_365,Y_366))))
      | ~ is_a_theorem(implies(X_363,implies(X_365,not(X_364)))) ),
    inference(resolution,[status(thm)],[c_8,c_3603]) ).

tff(c_7010,plain,
    ! [X_381,X_382,Y_383] : is_a_theorem(implies(implies(X_381,not(X_382)),implies(X_382,implies(X_381,Y_383)))),
    inference(resolution,[status(thm)],[c_108,c_6412]) ).

tff(c_2387,plain,
    ! [Y_194,Z_195,X_196,X_197] :
      ( is_a_theorem(implies(implies(Y_194,Z_195),implies(X_196,Z_195)))
      | ~ is_a_theorem(implies(X_196,X_197))
      | ~ is_a_theorem(implies(X_197,Y_194)) ),
    inference(resolution,[status(thm)],[c_27,c_127]) ).

tff(c_2477,plain,
    ! [Y_194,Z_195,X_7,Y_8] :
      ( is_a_theorem(implies(implies(Y_194,Z_195),implies(X_7,Z_195)))
      | ~ is_a_theorem(implies(implies(not(X_7),Y_8),Y_194)) ),
    inference(resolution,[status(thm)],[c_8,c_2387]) ).

tff(c_152216,plain,
    ! [X_2233,X_2234,Y_2235,Z_2236] : is_a_theorem(implies(implies(implies(X_2233,implies(not(X_2234),Y_2235)),Z_2236),implies(X_2234,Z_2236))),
    inference(resolution,[status(thm)],[c_7010,c_2477]) ).

tff(c_264,plain,
    ! [X_50,Y_52] :
      ( is_a_theorem(implies(X_50,Y_52))
      | ~ is_a_theorem(Y_52) ),
    inference(resolution,[status(thm)],[c_244,c_59]) ).

tff(c_173,plain,
    ! [Y_42,Z_43] :
      ( is_a_theorem(implies(implies(Y_42,Z_43),Z_43))
      | ~ is_a_theorem(implies(not(Z_43),Y_42)) ),
    inference(resolution,[status(thm)],[c_27,c_83]) ).

tff(c_604,plain,
    ! [Z_89,Y_90] :
      ( is_a_theorem(Z_89)
      | ~ is_a_theorem(implies(Y_90,Z_89))
      | ~ is_a_theorem(implies(not(Z_89),Y_90)) ),
    inference(resolution,[status(thm)],[c_173,c_2]) ).

tff(c_656,plain,
    ! [Z_89,Y_52] :
      ( is_a_theorem(Z_89)
      | ~ is_a_theorem(implies(Y_52,Z_89))
      | ~ is_a_theorem(Y_52) ),
    inference(resolution,[status(thm)],[c_264,c_604]) ).

tff(c_170730,plain,
    ! [X_2373,Z_2374,X_2375,Y_2376] :
      ( is_a_theorem(implies(X_2373,Z_2374))
      | ~ is_a_theorem(implies(implies(X_2375,implies(not(X_2373),Y_2376)),Z_2374)) ),
    inference(resolution,[status(thm)],[c_152216,c_656]) ).

tff(c_172759,plain,
    ! [Y_2383,X_2384] : is_a_theorem(implies(Y_2383,implies(X_2384,Y_2383))),
    inference(resolution,[status(thm)],[c_13471,c_170730]) ).

tff(c_3725,plain,
    ! [X_265,X_7,X_262,Y_8] :
      ( is_a_theorem(implies(X_265,implies(X_7,implies(X_262,Y_8))))
      | ~ is_a_theorem(implies(X_265,implies(X_262,not(X_7)))) ),
    inference(resolution,[status(thm)],[c_8,c_3603]) ).

tff(c_176462,plain,
    ! [X_2414,X_2415,Y_2416] : is_a_theorem(implies(not(X_2414),implies(X_2414,implies(X_2415,Y_2416)))),
    inference(resolution,[status(thm)],[c_172759,c_3725]) ).

tff(c_185570,plain,
    ! [X_2490,Y_2491] : is_a_theorem(implies(not(not(implies(X_2490,Y_2491))),implies(X_2490,Y_2491))),
    inference(resolution,[status(thm)],[c_176462,c_59]) ).

tff(c_215,plain,
    ! [X_44,Y_46] : is_a_theorem(implies(X_44,implies(implies(not(not(X_44)),not(X_44)),Y_46))),
    inference(resolution,[status(thm)],[c_6,c_194]) ).

tff(c_8030,plain,
    ! [X_417,Z_418,Y_419] :
      ( is_a_theorem(implies(X_417,Z_418))
      | ~ is_a_theorem(implies(X_417,implies(Y_419,Z_418)))
      | ~ is_a_theorem(implies(not(Z_418),Y_419)) ),
    inference(resolution,[status(thm)],[c_173,c_44]) ).

tff(c_8208,plain,
    ! [X_44,Y_46] :
      ( is_a_theorem(implies(X_44,Y_46))
      | ~ is_a_theorem(implies(not(Y_46),implies(not(not(X_44)),not(X_44)))) ),
    inference(resolution,[status(thm)],[c_215,c_8030]) ).

tff(c_190345,plain,
    ! [X_2517] : is_a_theorem(implies(X_2517,not(implies(not(not(X_2517)),not(X_2517))))),
    inference(resolution,[status(thm)],[c_185570,c_8208]) ).

tff(c_1613,plain,
    ! [X_139,Y_142,Y_141] : is_a_theorem(implies(X_139,implies(not(implies(not(X_139),Y_142)),Y_141))),
    inference(resolution,[status(thm)],[c_108,c_1552]) ).

tff(c_8203,plain,
    ! [X_139,Y_141,Y_142] :
      ( is_a_theorem(implies(X_139,Y_141))
      | ~ is_a_theorem(implies(not(Y_141),not(implies(not(X_139),Y_142)))) ),
    inference(resolution,[status(thm)],[c_1613,c_8030]) ).

tff(c_190885,plain,
    ! [Y_2518] : is_a_theorem(implies(not(not(Y_2518)),Y_2518)),
    inference(resolution,[status(thm)],[c_190345,c_8203]) ).

tff(c_105,plain,
    ! [Y_16,Z_17] :
      ( is_a_theorem(implies(implies(Y_16,Z_17),Z_17))
      | ~ is_a_theorem(implies(not(Z_17),Y_16)) ),
    inference(resolution,[status(thm)],[c_27,c_83]) ).

tff(c_10063,plain,
    ! [Y_467,Y_468] : is_a_theorem(implies(not(implies(Y_467,Y_467)),Y_468)),
    inference(resolution,[status(thm)],[c_8,c_9858]) ).

tff(c_1620,plain,
    ! [X_143,Y_144] : is_a_theorem(implies(implies(not(X_143),X_143),implies(not(X_143),Y_144))),
    inference(resolution,[status(thm)],[c_107,c_1552]) ).

tff(c_82,plain,
    ! [X_31,Y_32,X_30] :
      ( is_a_theorem(implies(not(X_31),Y_32))
      | ~ is_a_theorem(X_30)
      | ~ is_a_theorem(implies(X_30,X_31)) ),
    inference(resolution,[status(thm)],[c_70,c_2]) ).

tff(c_1655,plain,
    ! [X_143,Y_144,Y_32] :
      ( is_a_theorem(implies(not(implies(not(X_143),Y_144)),Y_32))
      | ~ is_a_theorem(implies(not(X_143),X_143)) ),
    inference(resolution,[status(thm)],[c_1620,c_82]) ).

tff(c_13519,plain,
    ! [Y_526,Y_527,Y_528] : is_a_theorem(implies(not(implies(not(implies(Y_526,Y_526)),Y_527)),Y_528)),
    inference(resolution,[status(thm)],[c_10063,c_1655]) ).

tff(c_1194,plain,
    ! [X_120,X_121,Y_122] :
      ( is_a_theorem(implies(implies(not(X_120),X_120),implies(not(X_121),Y_122)))
      | ~ is_a_theorem(implies(X_120,X_121)) ),
    inference(resolution,[status(thm)],[c_6,c_1094]) ).

tff(c_1275,plain,
    ! [X_125,Y_126] :
      ( is_a_theorem(implies(implies(not(X_125),X_125),Y_126))
      | ~ is_a_theorem(implies(X_125,Y_126)) ),
    inference(resolution,[status(thm)],[c_1194,c_59]) ).

tff(c_1311,plain,
    ! [Y_126,X_125] :
      ( is_a_theorem(Y_126)
      | ~ is_a_theorem(implies(not(X_125),X_125))
      | ~ is_a_theorem(implies(X_125,Y_126)) ),
    inference(resolution,[status(thm)],[c_1275,c_656]) ).

tff(c_20688,plain,
    ! [Y_650,Y_651,Y_652] :
      ( is_a_theorem(Y_650)
      | ~ is_a_theorem(implies(implies(not(implies(Y_651,Y_651)),Y_652),Y_650)) ),
    inference(resolution,[status(thm)],[c_13519,c_1311]) ).

tff(c_21044,plain,
    ! [Z_17,Y_651] :
      ( is_a_theorem(Z_17)
      | ~ is_a_theorem(implies(not(Z_17),not(implies(Y_651,Y_651)))) ),
    inference(resolution,[status(thm)],[c_105,c_20688]) ).

tff(c_191259,plain,
    ! [Y_651] : is_a_theorem(not(not(implies(Y_651,Y_651)))),
    inference(resolution,[status(thm)],[c_190885,c_21044]) ).

tff(c_10,plain,
    ~ is_a_theorem(not(not(implies(p,p)))),
    inference(cnfTransformation,[status(thm)],[f_44]) ).

tff(c_191716,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_191259,c_10]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : LCL256-1 : TPTP v9.3.1. Released v1.1.0.
% 0.00/0.04  % Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% 0.09/0.36  % Computer : n020.cluster.edu
% 0.09/0.36  % Model    : x86_64 x86_64
% 0.09/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.36  % Memory   : 8046.5625MB
% 0.09/0.36  % OS       : Linux 6.8.0-71-generic
% 0.09/0.36  % CPULimit : 300
% 0.09/0.36  % WCLimit  : 300
% 0.09/0.36  % DateTime : Sat Sep  5 23:27:12 UTC 2026
% 0.13/0.36  % CPUTime  : 
% 94.83/74.71  % SZS status Unsatisfiable for /export/starexec/sandbox/benchmark/theBenchmark.p
% 94.83/74.73  
% 94.83/74.73  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
%------------------------------------------------------------------------------