TSTP Solution File: GRP129-1.003 by Beagle---0.9.51
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Beagle---0.9.51
% Problem : GRP129-1.003 : TPTP v8.1.2. Released v1.2.0.
% Transfm : none
% Format : tptp:raw
% Command : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox2/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox2/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% Computer : n004.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 : Tue Aug 22 10:40:12 EDT 2023
% Result : Unsatisfiable 8.62s 3.15s
% Output : CNFRefutation 9.00s
% Verified :
% SZS Type : Refutation
% Derivation depth : 39
% Number of leaves : 20
% Syntax : Number of formulae : 229 ( 106 unt; 6 typ; 0 def)
% Number of atoms : 534 ( 0 equ)
% Maximal formula atoms : 8 ( 2 avg)
% Number of connectives : 477 ( 166 ~; 311 |; 0 &)
% ( 0 <=>; 0 =>; 0 <=; 0 <~>)
% Maximal formula depth : 12 ( 3 avg)
% Maximal term depth : 1 ( 1 avg)
% Number of types : 2 ( 0 usr)
% Number of type conns : 6 ( 3 >; 3 *; 0 +; 0 <<)
% Number of predicates : 4 ( 3 usr; 1 prp; 0-3 aty)
% Number of functors : 3 ( 3 usr; 3 con; 0-0 aty)
% Number of variables : 131 (; 131 !; 0 ?; 0 :)
% Comments :
%------------------------------------------------------------------------------
%$ product > equalish > group_element > #nlpp > e_3 > e_2 > e_1
%Foreground sorts:
%Background operators:
%Foreground operators:
tff(group_element,type,
group_element: $i > $o ).
tff(e_2,type,
e_2: $i ).
tff(product,type,
product: ( $i * $i * $i ) > $o ).
tff(e_3,type,
e_3: $i ).
tff(equalish,type,
equalish: ( $i * $i ) > $o ).
tff(e_1,type,
e_1: $i ).
tff(f_39,axiom,
~ equalish(e_2,e_1),
file(unknown,unknown) ).
tff(f_32,axiom,
group_element(e_2),
file(unknown,unknown) ).
tff(f_31,axiom,
group_element(e_1),
file(unknown,unknown) ).
tff(f_57,axiom,
! [X,Y] :
( ~ group_element(X)
| ~ group_element(Y)
| product(X,Y,e_1)
| product(X,Y,e_2)
| product(X,Y,e_3) ),
file(unknown,unknown) ).
tff(f_81,axiom,
! [W,Y,X,Z] :
( ~ product(W,Y,X)
| ~ product(Z,Y,X)
| equalish(W,Z) ),
file(unknown,unknown) ).
tff(f_73,axiom,
! [X,W,Y,Z] :
( ~ product(X,W,Y)
| ~ product(X,Z,Y)
| equalish(W,Z) ),
file(unknown,unknown) ).
tff(f_89,axiom,
! [Y,X,Z1,Z2] :
( ~ product(Y,X,Z1)
| ~ product(X,Z1,Z2)
| product(Z1,Y,Z2) ),
file(unknown,unknown) ).
tff(f_43,axiom,
~ equalish(e_3,e_1),
file(unknown,unknown) ).
tff(f_45,axiom,
~ equalish(e_3,e_2),
file(unknown,unknown) ).
tff(f_37,axiom,
~ equalish(e_1,e_3),
file(unknown,unknown) ).
tff(f_35,axiom,
~ equalish(e_1,e_2),
file(unknown,unknown) ).
tff(f_33,axiom,
group_element(e_3),
file(unknown,unknown) ).
tff(f_65,axiom,
! [X,Y,W,Z] :
( ~ product(X,Y,W)
| ~ product(X,Y,Z)
| equalish(W,Z) ),
file(unknown,unknown) ).
tff(f_41,axiom,
~ equalish(e_2,e_3),
file(unknown,unknown) ).
tff(c_12,plain,
~ equalish(e_2,e_1),
inference(cnfTransformation,[status(thm)],[f_39]) ).
tff(c_4,plain,
group_element(e_2),
inference(cnfTransformation,[status(thm)],[f_32]) ).
tff(c_2,plain,
group_element(e_1),
inference(cnfTransformation,[status(thm)],[f_31]) ).
tff(c_20,plain,
! [X_1,Y_2] :
( product(X_1,Y_2,e_3)
| product(X_1,Y_2,e_2)
| product(X_1,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(X_1) ),
inference(cnfTransformation,[status(thm)],[f_57]) ).
tff(c_33,plain,
! [X_35,Y_36] :
( product(X_35,Y_36,e_3)
| product(X_35,Y_36,e_2)
| product(X_35,Y_36,e_1)
| ~ group_element(Y_36)
| ~ group_element(X_35) ),
inference(cnfTransformation,[status(thm)],[f_57]) ).
tff(c_26,plain,
! [W_11,Z_14,Y_12,X_13] :
( equalish(W_11,Z_14)
| ~ product(Z_14,Y_12,X_13)
| ~ product(W_11,Y_12,X_13) ),
inference(cnfTransformation,[status(thm)],[f_81]) ).
tff(c_46,plain,
! [W_37,X_38,Y_39] :
( equalish(W_37,X_38)
| ~ product(W_37,Y_39,e_3)
| product(X_38,Y_39,e_2)
| product(X_38,Y_39,e_1)
| ~ group_element(Y_39)
| ~ group_element(X_38) ),
inference(resolution,[status(thm)],[c_33,c_26]) ).
tff(c_49,plain,
! [X_1,X_38,Y_2] :
( equalish(X_1,X_38)
| product(X_38,Y_2,e_2)
| product(X_38,Y_2,e_1)
| ~ group_element(X_38)
| product(X_1,Y_2,e_2)
| product(X_1,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(X_1) ),
inference(resolution,[status(thm)],[c_20,c_46]) ).
tff(c_257,plain,
! [X_38,Y_2] :
( equalish(X_38,X_38)
| product(X_38,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(X_38)
| product(X_38,Y_2,e_2) ),
inference(factorization,[status(thm),theory(equality)],[c_49]) ).
tff(c_314,plain,
! [X_62,Y_63] :
( equalish(X_62,X_62)
| product(X_62,Y_63,e_1)
| ~ group_element(Y_63)
| ~ group_element(X_62)
| product(X_62,Y_63,e_2) ),
inference(factorization,[status(thm),theory(equality)],[c_49]) ).
tff(c_24,plain,
! [W_8,Z_10,X_7,Y_9] :
( equalish(W_8,Z_10)
| ~ product(X_7,Z_10,Y_9)
| ~ product(X_7,W_8,Y_9) ),
inference(cnfTransformation,[status(thm)],[f_73]) ).
tff(c_403,plain,
! [W_70,Y_71,X_72] :
( equalish(W_70,Y_71)
| ~ product(X_72,W_70,e_2)
| equalish(X_72,X_72)
| product(X_72,Y_71,e_1)
| ~ group_element(Y_71)
| ~ group_element(X_72) ),
inference(resolution,[status(thm)],[c_314,c_24]) ).
tff(c_420,plain,
! [Y_2,Y_71,X_38] :
( equalish(Y_2,Y_71)
| product(X_38,Y_71,e_1)
| ~ group_element(Y_71)
| equalish(X_38,X_38)
| product(X_38,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(X_38) ),
inference(resolution,[status(thm)],[c_257,c_403]) ).
tff(c_911,plain,
! [Y_96,X_97] :
( equalish(Y_96,Y_96)
| equalish(X_97,X_97)
| ~ group_element(Y_96)
| ~ group_element(X_97)
| product(X_97,Y_96,e_1) ),
inference(factorization,[status(thm),theory(equality)],[c_420]) ).
tff(c_28,plain,
! [Z1_17,Y_15,Z2_18,X_16] :
( product(Z1_17,Y_15,Z2_18)
| ~ product(X_16,Z1_17,Z2_18)
| ~ product(Y_15,X_16,Z1_17) ),
inference(cnfTransformation,[status(thm)],[f_89]) ).
tff(c_335,plain,
! [Y_63,Y_15,X_62] :
( product(Y_63,Y_15,e_2)
| ~ product(Y_15,X_62,Y_63)
| equalish(X_62,X_62)
| product(X_62,Y_63,e_1)
| ~ group_element(Y_63)
| ~ group_element(X_62) ),
inference(resolution,[status(thm)],[c_314,c_28]) ).
tff(c_913,plain,
! [X_97,Y_96] :
( product(e_1,X_97,e_2)
| product(Y_96,e_1,e_1)
| ~ group_element(e_1)
| equalish(Y_96,Y_96)
| equalish(X_97,X_97)
| ~ group_element(Y_96)
| ~ group_element(X_97) ),
inference(resolution,[status(thm)],[c_911,c_335]) ).
tff(c_934,plain,
! [X_97,Y_96] :
( product(e_1,X_97,e_2)
| product(Y_96,e_1,e_1)
| equalish(Y_96,Y_96)
| equalish(X_97,X_97)
| ~ group_element(Y_96)
| ~ group_element(X_97) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_913]) ).
tff(c_1226,plain,
! [X_113] :
( product(e_1,X_113,e_2)
| equalish(X_113,X_113)
| ~ group_element(X_113) ),
inference(splitLeft,[status(thm)],[c_934]) ).
tff(c_1237,plain,
! [X_113] :
( product(e_2,e_1,e_2)
| product(X_113,e_2,e_1)
| ~ group_element(e_2)
| equalish(X_113,X_113)
| ~ group_element(X_113) ),
inference(resolution,[status(thm)],[c_1226,c_335]) ).
tff(c_1281,plain,
! [X_113] :
( product(e_2,e_1,e_2)
| product(X_113,e_2,e_1)
| equalish(X_113,X_113)
| ~ group_element(X_113) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_1237]) ).
tff(c_1577,plain,
product(e_2,e_1,e_2),
inference(splitLeft,[status(thm)],[c_1281]) ).
tff(c_16,plain,
~ equalish(e_3,e_1),
inference(cnfTransformation,[status(thm)],[f_43]) ).
tff(c_18,plain,
~ equalish(e_3,e_2),
inference(cnfTransformation,[status(thm)],[f_45]) ).
tff(c_10,plain,
~ equalish(e_1,e_3),
inference(cnfTransformation,[status(thm)],[f_37]) ).
tff(c_8,plain,
~ equalish(e_1,e_2),
inference(cnfTransformation,[status(thm)],[f_35]) ).
tff(c_42,plain,
! [Y_36,Y_15,X_35] :
( product(Y_36,Y_15,e_3)
| ~ product(Y_15,X_35,Y_36)
| product(X_35,Y_36,e_2)
| product(X_35,Y_36,e_1)
| ~ group_element(Y_36)
| ~ group_element(X_35) ),
inference(resolution,[status(thm)],[c_33,c_28]) ).
tff(c_1608,plain,
( product(e_2,e_2,e_3)
| product(e_1,e_2,e_2)
| product(e_1,e_2,e_1)
| ~ group_element(e_2)
| ~ group_element(e_1) ),
inference(resolution,[status(thm)],[c_1577,c_42]) ).
tff(c_1666,plain,
( product(e_2,e_2,e_3)
| product(e_1,e_2,e_2)
| product(e_1,e_2,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_4,c_1608]) ).
tff(c_2051,plain,
product(e_1,e_2,e_1),
inference(splitLeft,[status(thm)],[c_1666]) ).
tff(c_1671,plain,
! [Y_15] :
( product(e_1,Y_15,e_2)
| ~ product(Y_15,e_2,e_1) ),
inference(resolution,[status(thm)],[c_1577,c_28]) ).
tff(c_2112,plain,
product(e_1,e_1,e_2),
inference(resolution,[status(thm)],[c_2051,c_1671]) ).
tff(c_1672,plain,
! [W_11] :
( equalish(W_11,e_2)
| ~ product(W_11,e_1,e_2) ),
inference(resolution,[status(thm)],[c_1577,c_26]) ).
tff(c_2158,plain,
equalish(e_1,e_2),
inference(resolution,[status(thm)],[c_2112,c_1672]) ).
tff(c_2209,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_8,c_2158]) ).
tff(c_2210,plain,
( product(e_1,e_2,e_2)
| product(e_2,e_2,e_3) ),
inference(splitRight,[status(thm)],[c_1666]) ).
tff(c_2232,plain,
product(e_2,e_2,e_3),
inference(splitLeft,[status(thm)],[c_2210]) ).
tff(c_6,plain,
group_element(e_3),
inference(cnfTransformation,[status(thm)],[f_33]) ).
tff(c_2248,plain,
( product(e_3,e_2,e_3)
| product(e_2,e_3,e_2)
| product(e_2,e_3,e_1)
| ~ group_element(e_3)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_2232,c_42]) ).
tff(c_2290,plain,
( product(e_3,e_2,e_3)
| product(e_2,e_3,e_2)
| product(e_2,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_6,c_2248]) ).
tff(c_2898,plain,
product(e_2,e_3,e_1),
inference(splitLeft,[status(thm)],[c_2290]) ).
tff(c_3253,plain,
! [Y_151] :
( product(e_3,Y_151,e_1)
| ~ product(Y_151,e_2,e_3) ),
inference(resolution,[status(thm)],[c_2898,c_28]) ).
tff(c_3262,plain,
product(e_3,e_2,e_1),
inference(resolution,[status(thm)],[c_2232,c_3253]) ).
tff(c_3305,plain,
product(e_1,e_3,e_2),
inference(resolution,[status(thm)],[c_3262,c_1671]) ).
tff(c_4020,plain,
! [Y_161] :
( product(e_2,Y_161,e_1)
| ~ product(Y_161,e_3,e_2) ),
inference(resolution,[status(thm)],[c_3262,c_28]) ).
tff(c_4050,plain,
product(e_2,e_1,e_1),
inference(resolution,[status(thm)],[c_3305,c_4020]) ).
tff(c_2976,plain,
! [W_8] :
( equalish(W_8,e_3)
| ~ product(e_2,W_8,e_1) ),
inference(resolution,[status(thm)],[c_2898,c_24]) ).
tff(c_4078,plain,
equalish(e_1,e_3),
inference(resolution,[status(thm)],[c_4050,c_2976]) ).
tff(c_4117,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_10,c_4078]) ).
tff(c_4118,plain,
( product(e_2,e_3,e_2)
| product(e_3,e_2,e_3) ),
inference(splitRight,[status(thm)],[c_2290]) ).
tff(c_4153,plain,
product(e_3,e_2,e_3),
inference(splitLeft,[status(thm)],[c_4118]) ).
tff(c_2301,plain,
! [W_11] :
( equalish(W_11,e_2)
| ~ product(W_11,e_2,e_3) ),
inference(resolution,[status(thm)],[c_2232,c_26]) ).
tff(c_4156,plain,
equalish(e_3,e_2),
inference(resolution,[status(thm)],[c_4153,c_2301]) ).
tff(c_4192,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_18,c_4156]) ).
tff(c_4193,plain,
product(e_2,e_3,e_2),
inference(splitRight,[status(thm)],[c_4118]) ).
tff(c_1674,plain,
! [W_8] :
( equalish(W_8,e_1)
| ~ product(e_2,W_8,e_2) ),
inference(resolution,[status(thm)],[c_1577,c_24]) ).
tff(c_4268,plain,
equalish(e_3,e_1),
inference(resolution,[status(thm)],[c_4193,c_1674]) ).
tff(c_4321,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_16,c_4268]) ).
tff(c_4322,plain,
product(e_1,e_2,e_2),
inference(splitRight,[status(thm)],[c_2210]) ).
tff(c_4935,plain,
! [Y_174] :
( product(e_2,Y_174,e_2)
| ~ product(Y_174,e_1,e_2) ),
inference(resolution,[status(thm)],[c_4322,c_28]) ).
tff(c_4965,plain,
product(e_2,e_2,e_2),
inference(resolution,[status(thm)],[c_1577,c_4935]) ).
tff(c_4323,plain,
~ product(e_2,e_2,e_3),
inference(splitRight,[status(thm)],[c_2210]) ).
tff(c_4431,plain,
( product(e_2,e_2,e_2)
| product(e_2,e_2,e_1)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_20,c_4323]) ).
tff(c_4434,plain,
( product(e_2,e_2,e_2)
| product(e_2,e_2,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_4431]) ).
tff(c_4665,plain,
product(e_2,e_2,e_1),
inference(splitLeft,[status(thm)],[c_4434]) ).
tff(c_22,plain,
! [W_5,Z_6,X_3,Y_4] :
( equalish(W_5,Z_6)
| ~ product(X_3,Y_4,Z_6)
| ~ product(X_3,Y_4,W_5) ),
inference(cnfTransformation,[status(thm)],[f_65]) ).
tff(c_4734,plain,
! [W_5] :
( equalish(W_5,e_1)
| ~ product(e_2,e_2,W_5) ),
inference(resolution,[status(thm)],[c_4665,c_22]) ).
tff(c_5055,plain,
equalish(e_2,e_1),
inference(resolution,[status(thm)],[c_4965,c_4734]) ).
tff(c_5107,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_12,c_5055]) ).
tff(c_5108,plain,
product(e_2,e_2,e_2),
inference(splitRight,[status(thm)],[c_4434]) ).
tff(c_4426,plain,
! [W_11] :
( equalish(W_11,e_1)
| ~ product(W_11,e_2,e_2) ),
inference(resolution,[status(thm)],[c_4322,c_26]) ).
tff(c_5112,plain,
equalish(e_2,e_1),
inference(resolution,[status(thm)],[c_5108,c_4426]) ).
tff(c_5159,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_12,c_5112]) ).
tff(c_5161,plain,
~ product(e_2,e_1,e_2),
inference(splitRight,[status(thm)],[c_1281]) ).
tff(c_1225,plain,
! [X_97] :
( product(e_1,X_97,e_2)
| equalish(X_97,X_97)
| ~ group_element(X_97) ),
inference(splitLeft,[status(thm)],[c_934]) ).
tff(c_5205,plain,
! [X_176] :
( product(X_176,e_2,e_1)
| equalish(X_176,X_176)
| ~ group_element(X_176) ),
inference(splitRight,[status(thm)],[c_1281]) ).
tff(c_5458,plain,
! [Y_186,X_187] :
( product(e_2,Y_186,e_1)
| ~ product(Y_186,X_187,e_2)
| equalish(X_187,X_187)
| ~ group_element(X_187) ),
inference(resolution,[status(thm)],[c_5205,c_28]) ).
tff(c_5477,plain,
! [X_97] :
( product(e_2,e_1,e_1)
| equalish(X_97,X_97)
| ~ group_element(X_97) ),
inference(resolution,[status(thm)],[c_1225,c_5458]) ).
tff(c_5488,plain,
product(e_2,e_1,e_1),
inference(splitLeft,[status(thm)],[c_5477]) ).
tff(c_5510,plain,
( product(e_1,e_2,e_3)
| product(e_1,e_1,e_2)
| product(e_1,e_1,e_1)
| ~ group_element(e_1) ),
inference(resolution,[status(thm)],[c_5488,c_42]) ).
tff(c_5556,plain,
( product(e_1,e_2,e_3)
| product(e_1,e_1,e_2)
| product(e_1,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_5510]) ).
tff(c_5858,plain,
product(e_1,e_1,e_1),
inference(splitLeft,[status(thm)],[c_5556]) ).
tff(c_5562,plain,
! [W_11] :
( equalish(W_11,e_2)
| ~ product(W_11,e_1,e_1) ),
inference(resolution,[status(thm)],[c_5488,c_26]) ).
tff(c_5861,plain,
equalish(e_1,e_2),
inference(resolution,[status(thm)],[c_5858,c_5562]) ).
tff(c_5877,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_8,c_5861]) ).
tff(c_5878,plain,
( product(e_1,e_1,e_2)
| product(e_1,e_2,e_3) ),
inference(splitRight,[status(thm)],[c_5556]) ).
tff(c_5880,plain,
product(e_1,e_2,e_3),
inference(splitLeft,[status(thm)],[c_5878]) ).
tff(c_5884,plain,
( product(e_3,e_1,e_3)
| product(e_2,e_3,e_2)
| product(e_2,e_3,e_1)
| ~ group_element(e_3)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_5880,c_42]) ).
tff(c_5905,plain,
( product(e_3,e_1,e_3)
| product(e_2,e_3,e_2)
| product(e_2,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_6,c_5884]) ).
tff(c_6079,plain,
product(e_2,e_3,e_1),
inference(splitLeft,[status(thm)],[c_5905]) ).
tff(c_5564,plain,
! [W_8] :
( equalish(W_8,e_1)
| ~ product(e_2,W_8,e_1) ),
inference(resolution,[status(thm)],[c_5488,c_24]) ).
tff(c_6084,plain,
equalish(e_3,e_1),
inference(resolution,[status(thm)],[c_6079,c_5564]) ).
tff(c_6106,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_16,c_6084]) ).
tff(c_6107,plain,
( product(e_2,e_3,e_2)
| product(e_3,e_1,e_3) ),
inference(splitRight,[status(thm)],[c_5905]) ).
tff(c_6109,plain,
product(e_3,e_1,e_3),
inference(splitLeft,[status(thm)],[c_6107]) ).
tff(c_6117,plain,
( product(e_3,e_3,e_3)
| product(e_1,e_3,e_2)
| product(e_1,e_3,e_1)
| ~ group_element(e_3)
| ~ group_element(e_1) ),
inference(resolution,[status(thm)],[c_6109,c_42]) ).
tff(c_6142,plain,
( product(e_3,e_3,e_3)
| product(e_1,e_3,e_2)
| product(e_1,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_6,c_6117]) ).
tff(c_6306,plain,
product(e_1,e_3,e_1),
inference(splitLeft,[status(thm)],[c_6142]) ).
tff(c_6152,plain,
! [Y_15] :
( product(e_1,Y_15,e_3)
| ~ product(Y_15,e_3,e_1) ),
inference(resolution,[status(thm)],[c_6109,c_28]) ).
tff(c_6325,plain,
product(e_1,e_1,e_3),
inference(resolution,[status(thm)],[c_6306,c_6152]) ).
tff(c_6153,plain,
! [W_11] :
( equalish(W_11,e_3)
| ~ product(W_11,e_1,e_3) ),
inference(resolution,[status(thm)],[c_6109,c_26]) ).
tff(c_6347,plain,
equalish(e_1,e_3),
inference(resolution,[status(thm)],[c_6325,c_6153]) ).
tff(c_6374,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_10,c_6347]) ).
tff(c_6375,plain,
( product(e_1,e_3,e_2)
| product(e_3,e_3,e_3) ),
inference(splitRight,[status(thm)],[c_6142]) ).
tff(c_6377,plain,
product(e_3,e_3,e_3),
inference(splitLeft,[status(thm)],[c_6375]) ).
tff(c_6155,plain,
! [W_8] :
( equalish(W_8,e_1)
| ~ product(e_3,W_8,e_3) ),
inference(resolution,[status(thm)],[c_6109,c_24]) ).
tff(c_6399,plain,
equalish(e_3,e_1),
inference(resolution,[status(thm)],[c_6377,c_6155]) ).
tff(c_6429,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_16,c_6399]) ).
tff(c_6431,plain,
~ product(e_3,e_3,e_3),
inference(splitRight,[status(thm)],[c_6375]) ).
tff(c_6486,plain,
( product(e_3,e_3,e_2)
| product(e_3,e_3,e_1)
| ~ group_element(e_3) ),
inference(resolution,[status(thm)],[c_20,c_6431]) ).
tff(c_6492,plain,
( product(e_3,e_3,e_2)
| product(e_3,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_6,c_6486]) ).
tff(c_6631,plain,
product(e_3,e_3,e_1),
inference(splitLeft,[status(thm)],[c_6492]) ).
tff(c_6652,plain,
product(e_1,e_3,e_3),
inference(resolution,[status(thm)],[c_6631,c_6152]) ).
tff(c_6430,plain,
product(e_1,e_3,e_2),
inference(splitRight,[status(thm)],[c_6375]) ).
tff(c_6479,plain,
! [W_5] :
( equalish(W_5,e_2)
| ~ product(e_1,e_3,W_5) ),
inference(resolution,[status(thm)],[c_6430,c_22]) ).
tff(c_6678,plain,
equalish(e_3,e_2),
inference(resolution,[status(thm)],[c_6652,c_6479]) ).
tff(c_6707,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_18,c_6678]) ).
tff(c_6708,plain,
product(e_3,e_3,e_2),
inference(splitRight,[status(thm)],[c_6492]) ).
tff(c_6478,plain,
! [W_11] :
( equalish(W_11,e_1)
| ~ product(W_11,e_3,e_2) ),
inference(resolution,[status(thm)],[c_6430,c_26]) ).
tff(c_6738,plain,
equalish(e_3,e_1),
inference(resolution,[status(thm)],[c_6708,c_6478]) ).
tff(c_6770,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_16,c_6738]) ).
tff(c_6772,plain,
~ product(e_3,e_1,e_3),
inference(splitRight,[status(thm)],[c_6107]) ).
tff(c_6778,plain,
( product(e_3,e_1,e_2)
| product(e_3,e_1,e_1)
| ~ group_element(e_1)
| ~ group_element(e_3) ),
inference(resolution,[status(thm)],[c_20,c_6772]) ).
tff(c_6784,plain,
( product(e_3,e_1,e_2)
| product(e_3,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_6,c_2,c_6778]) ).
tff(c_6972,plain,
product(e_3,e_1,e_1),
inference(splitLeft,[status(thm)],[c_6784]) ).
tff(c_6977,plain,
equalish(e_3,e_2),
inference(resolution,[status(thm)],[c_6972,c_5562]) ).
tff(c_6997,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_18,c_6977]) ).
tff(c_6998,plain,
product(e_3,e_1,e_2),
inference(splitRight,[status(thm)],[c_6784]) ).
tff(c_5915,plain,
! [Y_15] :
( product(e_2,Y_15,e_3)
| ~ product(Y_15,e_1,e_2) ),
inference(resolution,[status(thm)],[c_5880,c_28]) ).
tff(c_7020,plain,
product(e_2,e_3,e_3),
inference(resolution,[status(thm)],[c_6998,c_5915]) ).
tff(c_6771,plain,
product(e_2,e_3,e_2),
inference(splitRight,[status(thm)],[c_6107]) ).
tff(c_6832,plain,
! [W_5] :
( equalish(W_5,e_2)
| ~ product(e_2,e_3,W_5) ),
inference(resolution,[status(thm)],[c_6771,c_22]) ).
tff(c_7073,plain,
equalish(e_3,e_2),
inference(resolution,[status(thm)],[c_7020,c_6832]) ).
tff(c_7099,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_18,c_7073]) ).
tff(c_7100,plain,
product(e_1,e_1,e_2),
inference(splitRight,[status(thm)],[c_5878]) ).
tff(c_7274,plain,
! [Y_229] :
( product(e_1,Y_229,e_2)
| ~ product(Y_229,e_1,e_1) ),
inference(resolution,[status(thm)],[c_7100,c_28]) ).
tff(c_7277,plain,
product(e_1,e_2,e_2),
inference(resolution,[status(thm)],[c_5488,c_7274]) ).
tff(c_7135,plain,
! [W_8] :
( equalish(W_8,e_1)
| ~ product(e_1,W_8,e_2) ),
inference(resolution,[status(thm)],[c_7100,c_24]) ).
tff(c_7280,plain,
equalish(e_2,e_1),
inference(resolution,[status(thm)],[c_7277,c_7135]) ).
tff(c_7300,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_12,c_7280]) ).
tff(c_7302,plain,
~ product(e_2,e_1,e_1),
inference(splitRight,[status(thm)],[c_5477]) ).
tff(c_14,plain,
~ equalish(e_2,e_3),
inference(cnfTransformation,[status(thm)],[f_41]) ).
tff(c_50,plain,
! [W_40,Y_41,X_42] :
( equalish(W_40,Y_41)
| ~ product(X_42,W_40,e_3)
| product(X_42,Y_41,e_2)
| product(X_42,Y_41,e_1)
| ~ group_element(Y_41)
| ~ group_element(X_42) ),
inference(resolution,[status(thm)],[c_33,c_24]) ).
tff(c_53,plain,
! [Y_2,Y_41,X_1] :
( equalish(Y_2,Y_41)
| product(X_1,Y_41,e_2)
| product(X_1,Y_41,e_1)
| ~ group_element(Y_41)
| product(X_1,Y_2,e_2)
| product(X_1,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(X_1) ),
inference(resolution,[status(thm)],[c_20,c_50]) ).
tff(c_5179,plain,
! [Y_2] :
( equalish(Y_2,e_1)
| product(e_2,e_1,e_1)
| ~ group_element(e_1)
| product(e_2,Y_2,e_2)
| product(e_2,Y_2,e_1)
| ~ group_element(Y_2)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_53,c_5161]) ).
tff(c_5201,plain,
! [Y_2] :
( equalish(Y_2,e_1)
| product(e_2,e_1,e_1)
| product(e_2,Y_2,e_2)
| product(e_2,Y_2,e_1)
| ~ group_element(Y_2) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_2,c_5179]) ).
tff(c_8042,plain,
! [Y_2] :
( equalish(Y_2,e_1)
| product(e_2,Y_2,e_2)
| product(e_2,Y_2,e_1)
| ~ group_element(Y_2) ),
inference(negUnitSimplification,[status(thm)],[c_7302,c_5201]) ).
tff(c_8043,plain,
! [Y_264] :
( equalish(Y_264,e_1)
| product(e_2,Y_264,e_2)
| product(e_2,Y_264,e_1)
| ~ group_element(Y_264) ),
inference(negUnitSimplification,[status(thm)],[c_7302,c_5201]) ).
tff(c_8312,plain,
! [Y_271,Y_272] :
( product(Y_271,Y_272,e_2)
| ~ product(Y_272,e_2,Y_271)
| equalish(Y_271,e_1)
| product(e_2,Y_271,e_1)
| ~ group_element(Y_271) ),
inference(resolution,[status(thm)],[c_8043,c_28]) ).
tff(c_8315,plain,
( product(e_2,e_2,e_2)
| equalish(e_2,e_1)
| product(e_2,e_2,e_1)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_8042,c_8312]) ).
tff(c_8342,plain,
( product(e_2,e_2,e_2)
| equalish(e_2,e_1)
| product(e_2,e_2,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_8315]) ).
tff(c_8343,plain,
( product(e_2,e_2,e_2)
| product(e_2,e_2,e_1) ),
inference(negUnitSimplification,[status(thm)],[c_12,c_8342]) ).
tff(c_8376,plain,
product(e_2,e_2,e_1),
inference(splitLeft,[status(thm)],[c_8343]) ).
tff(c_8386,plain,
( product(e_1,e_2,e_3)
| product(e_2,e_1,e_2)
| product(e_2,e_1,e_1)
| ~ group_element(e_1)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_8376,c_42]) ).
tff(c_8415,plain,
( product(e_1,e_2,e_3)
| product(e_2,e_1,e_2)
| product(e_2,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_2,c_8386]) ).
tff(c_8416,plain,
product(e_1,e_2,e_3),
inference(negUnitSimplification,[status(thm)],[c_7302,c_5161,c_8415]) ).
tff(c_8153,plain,
! [Y_264,Y_15] :
( product(Y_264,Y_15,e_2)
| ~ product(Y_15,e_2,Y_264)
| equalish(Y_264,e_1)
| product(e_2,Y_264,e_1)
| ~ group_element(Y_264) ),
inference(resolution,[status(thm)],[c_8043,c_28]) ).
tff(c_8426,plain,
( product(e_3,e_1,e_2)
| equalish(e_3,e_1)
| product(e_2,e_3,e_1)
| ~ group_element(e_3) ),
inference(resolution,[status(thm)],[c_8416,c_8153]) ).
tff(c_8449,plain,
( product(e_3,e_1,e_2)
| equalish(e_3,e_1)
| product(e_2,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_6,c_8426]) ).
tff(c_8450,plain,
( product(e_3,e_1,e_2)
| product(e_2,e_3,e_1) ),
inference(negUnitSimplification,[status(thm)],[c_16,c_8449]) ).
tff(c_8715,plain,
product(e_2,e_3,e_1),
inference(splitLeft,[status(thm)],[c_8450]) ).
tff(c_8424,plain,
! [W_8] :
( equalish(W_8,e_2)
| ~ product(e_2,W_8,e_1) ),
inference(resolution,[status(thm)],[c_8376,c_24]) ).
tff(c_8730,plain,
equalish(e_3,e_2),
inference(resolution,[status(thm)],[c_8715,c_8424]) ).
tff(c_8754,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_18,c_8730]) ).
tff(c_8756,plain,
~ product(e_2,e_3,e_1),
inference(splitRight,[status(thm)],[c_8450]) ).
tff(c_8755,plain,
product(e_3,e_1,e_2),
inference(splitRight,[status(thm)],[c_8450]) ).
tff(c_9052,plain,
! [Y_290] :
( product(e_2,Y_290,e_3)
| ~ product(Y_290,e_1,e_2) ),
inference(resolution,[status(thm)],[c_8416,c_28]) ).
tff(c_9080,plain,
product(e_2,e_3,e_3),
inference(resolution,[status(thm)],[c_8755,c_9052]) ).
tff(c_8155,plain,
! [W_5,Y_264] :
( equalish(W_5,e_2)
| ~ product(e_2,Y_264,W_5)
| equalish(Y_264,e_1)
| product(e_2,Y_264,e_1)
| ~ group_element(Y_264) ),
inference(resolution,[status(thm)],[c_8043,c_22]) ).
tff(c_9107,plain,
( equalish(e_3,e_2)
| equalish(e_3,e_1)
| product(e_2,e_3,e_1)
| ~ group_element(e_3) ),
inference(resolution,[status(thm)],[c_9080,c_8155]) ).
tff(c_9134,plain,
( equalish(e_3,e_2)
| equalish(e_3,e_1)
| product(e_2,e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_6,c_9107]) ).
tff(c_9136,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_8756,c_16,c_18,c_9134]) ).
tff(c_9137,plain,
product(e_2,e_2,e_2),
inference(splitRight,[status(thm)],[c_8343]) ).
tff(c_8156,plain,
! [W_8,Y_264] :
( equalish(W_8,Y_264)
| ~ product(e_2,W_8,e_2)
| equalish(Y_264,e_1)
| product(e_2,Y_264,e_1)
| ~ group_element(Y_264) ),
inference(resolution,[status(thm)],[c_8043,c_24]) ).
tff(c_9565,plain,
! [Y_299] :
( equalish(e_2,Y_299)
| equalish(Y_299,e_1)
| product(e_2,Y_299,e_1)
| ~ group_element(Y_299) ),
inference(resolution,[status(thm)],[c_9137,c_8156]) ).
tff(c_10507,plain,
! [Y_334,Y_335] :
( product(Y_334,Y_335,e_1)
| ~ product(Y_335,e_2,Y_334)
| equalish(e_2,Y_334)
| equalish(Y_334,e_1)
| ~ group_element(Y_334) ),
inference(resolution,[status(thm)],[c_9565,c_28]) ).
tff(c_10548,plain,
! [X_1] :
( product(e_3,X_1,e_1)
| equalish(e_2,e_3)
| equalish(e_3,e_1)
| ~ group_element(e_3)
| product(X_1,e_2,e_2)
| product(X_1,e_2,e_1)
| ~ group_element(e_2)
| ~ group_element(X_1) ),
inference(resolution,[status(thm)],[c_20,c_10507]) ).
tff(c_10603,plain,
! [X_1] :
( product(e_3,X_1,e_1)
| equalish(e_2,e_3)
| equalish(e_3,e_1)
| product(X_1,e_2,e_2)
| product(X_1,e_2,e_1)
| ~ group_element(X_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_6,c_10548]) ).
tff(c_10605,plain,
! [X_336] :
( product(e_3,X_336,e_1)
| product(X_336,e_2,e_2)
| product(X_336,e_2,e_1)
| ~ group_element(X_336) ),
inference(negUnitSimplification,[status(thm)],[c_16,c_14,c_10603]) ).
tff(c_5173,plain,
! [X_38] :
( equalish(e_2,X_38)
| product(X_38,e_1,e_2)
| product(X_38,e_1,e_1)
| ~ group_element(X_38)
| product(e_2,e_1,e_1)
| ~ group_element(e_1)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_49,c_5161]) ).
tff(c_5195,plain,
! [X_38] :
( equalish(e_2,X_38)
| product(X_38,e_1,e_2)
| product(X_38,e_1,e_1)
| ~ group_element(X_38)
| product(e_2,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_2,c_5173]) ).
tff(c_7586,plain,
! [X_247] :
( equalish(e_2,X_247)
| product(X_247,e_1,e_2)
| product(X_247,e_1,e_1)
| ~ group_element(X_247) ),
inference(negUnitSimplification,[status(thm)],[c_7302,c_5195]) ).
tff(c_7648,plain,
! [W_5,X_247] :
( equalish(W_5,e_2)
| ~ product(X_247,e_1,W_5)
| equalish(e_2,X_247)
| product(X_247,e_1,e_1)
| ~ group_element(X_247) ),
inference(resolution,[status(thm)],[c_7586,c_22]) ).
tff(c_10628,plain,
( equalish(e_1,e_2)
| equalish(e_2,e_3)
| product(e_3,e_1,e_1)
| ~ group_element(e_3)
| product(e_1,e_2,e_2)
| product(e_1,e_2,e_1)
| ~ group_element(e_1) ),
inference(resolution,[status(thm)],[c_10605,c_7648]) ).
tff(c_10735,plain,
( equalish(e_1,e_2)
| equalish(e_2,e_3)
| product(e_3,e_1,e_1)
| product(e_1,e_2,e_2)
| product(e_1,e_2,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_6,c_10628]) ).
tff(c_10736,plain,
( product(e_3,e_1,e_1)
| product(e_1,e_2,e_2)
| product(e_1,e_2,e_1) ),
inference(negUnitSimplification,[status(thm)],[c_14,c_8,c_10735]) ).
tff(c_10813,plain,
product(e_1,e_2,e_1),
inference(splitLeft,[status(thm)],[c_10736]) ).
tff(c_10835,plain,
( product(e_1,e_1,e_3)
| product(e_2,e_1,e_2)
| product(e_2,e_1,e_1)
| ~ group_element(e_1)
| ~ group_element(e_2) ),
inference(resolution,[status(thm)],[c_10813,c_42]) ).
tff(c_10880,plain,
( product(e_1,e_1,e_3)
| product(e_2,e_1,e_2)
| product(e_2,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_4,c_2,c_10835]) ).
tff(c_10881,plain,
product(e_1,e_1,e_3),
inference(negUnitSimplification,[status(thm)],[c_7302,c_5161,c_10880]) ).
tff(c_10895,plain,
( equalish(e_3,e_2)
| equalish(e_2,e_1)
| product(e_1,e_1,e_1)
| ~ group_element(e_1) ),
inference(resolution,[status(thm)],[c_10881,c_7648]) ).
tff(c_10927,plain,
( equalish(e_3,e_2)
| equalish(e_2,e_1)
| product(e_1,e_1,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_2,c_10895]) ).
tff(c_10928,plain,
product(e_1,e_1,e_1),
inference(negUnitSimplification,[status(thm)],[c_12,c_18,c_10927]) ).
tff(c_11126,plain,
! [W_342] :
( equalish(W_342,e_2)
| ~ product(e_1,W_342,e_1) ),
inference(resolution,[status(thm)],[c_10813,c_24]) ).
tff(c_11129,plain,
equalish(e_1,e_2),
inference(resolution,[status(thm)],[c_10928,c_11126]) ).
tff(c_11136,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_8,c_11129]) ).
tff(c_11138,plain,
~ product(e_1,e_2,e_1),
inference(splitRight,[status(thm)],[c_10736]) ).
tff(c_9238,plain,
! [W_294] :
( equalish(W_294,e_2)
| ~ product(e_2,W_294,e_2) ),
inference(resolution,[status(thm)],[c_9137,c_24]) ).
tff(c_9280,plain,
! [Y_2] :
( equalish(Y_2,e_2)
| equalish(Y_2,e_1)
| product(e_2,Y_2,e_1)
| ~ group_element(Y_2) ),
inference(resolution,[status(thm)],[c_8042,c_9238]) ).
tff(c_11137,plain,
( product(e_1,e_2,e_2)
| product(e_3,e_1,e_1) ),
inference(splitRight,[status(thm)],[c_10736]) ).
tff(c_11139,plain,
product(e_3,e_1,e_1),
inference(splitLeft,[status(thm)],[c_11137]) ).
tff(c_11404,plain,
! [Y_350] :
( product(e_1,Y_350,e_1)
| ~ product(Y_350,e_3,e_1) ),
inference(resolution,[status(thm)],[c_11139,c_28]) ).
tff(c_11410,plain,
( product(e_1,e_2,e_1)
| equalish(e_3,e_2)
| equalish(e_3,e_1)
| ~ group_element(e_3) ),
inference(resolution,[status(thm)],[c_9280,c_11404]) ).
tff(c_11425,plain,
( product(e_1,e_2,e_1)
| equalish(e_3,e_2)
| equalish(e_3,e_1) ),
inference(demodulation,[status(thm),theory(equality)],[c_6,c_11410]) ).
tff(c_11427,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_16,c_18,c_11138,c_11425]) ).
tff(c_11428,plain,
product(e_1,e_2,e_2),
inference(splitRight,[status(thm)],[c_11137]) ).
tff(c_9227,plain,
! [Y_15] :
( product(e_2,Y_15,e_2)
| ~ product(Y_15,e_2,e_2) ),
inference(resolution,[status(thm)],[c_9137,c_28]) ).
tff(c_11437,plain,
product(e_2,e_1,e_2),
inference(resolution,[status(thm)],[c_11428,c_9227]) ).
tff(c_11485,plain,
$false,
inference(negUnitSimplification,[status(thm)],[c_5161,c_11437]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : GRP129-1.003 : TPTP v8.1.2. Released v1.2.0.
% 0.00/0.13 % Command : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox2/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox2/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% 0.13/0.34 % Computer : n004.cluster.edu
% 0.13/0.34 % Model : x86_64 x86_64
% 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34 % Memory : 8042.1875MB
% 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34 % CPULimit : 300
% 0.13/0.34 % WCLimit : 300
% 0.13/0.34 % DateTime : Thu Aug 3 22:14:26 EDT 2023
% 0.13/0.34 % CPUTime :
% 8.62/3.15 % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 8.97/3.17
% 8.97/3.17 % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 9.00/3.23
% 9.00/3.23 Inference rules
% 9.00/3.23 ----------------------
% 9.00/3.23 #Ref : 0
% 9.00/3.23 #Sup : 2224
% 9.00/3.23 #Fact : 6
% 9.00/3.23 #Define : 0
% 9.00/3.23 #Split : 24
% 9.00/3.23 #Chain : 0
% 9.00/3.23 #Close : 0
% 9.00/3.23
% 9.00/3.23 Ordering : KBO
% 9.00/3.23
% 9.00/3.23 Simplification rules
% 9.00/3.23 ----------------------
% 9.00/3.23 #Subsume : 271
% 9.00/3.23 #Demod : 2534
% 9.00/3.23 #Tautology : 810
% 9.00/3.23 #SimpNegUnit : 647
% 9.00/3.23 #BackRed : 0
% 9.00/3.23
% 9.00/3.23 #Partial instantiations: 0
% 9.00/3.23 #Strategies tried : 1
% 9.00/3.23
% 9.00/3.23 Timing (in seconds)
% 9.00/3.23 ----------------------
% 9.00/3.23 Preprocessing : 0.41
% 9.00/3.23 Parsing : 0.23
% 9.00/3.23 CNF conversion : 0.02
% 9.00/3.23 Main loop : 1.60
% 9.00/3.23 Inferencing : 0.54
% 9.00/3.23 Reduction : 0.41
% 9.00/3.23 Demodulation : 0.25
% 9.00/3.23 BG Simplification : 0.05
% 9.00/3.23 Subsumption : 0.50
% 9.00/3.23 Abstraction : 0.05
% 9.00/3.23 MUC search : 0.00
% 9.00/3.23 Cooper : 0.00
% 9.00/3.23 Total : 2.11
% 9.00/3.23 Index Insertion : 0.00
% 9.00/3.24 Index Deletion : 0.00
% 9.00/3.24 Index Matching : 0.00
% 9.00/3.24 BG Taut test : 0.00
%------------------------------------------------------------------------------