TSTP Solution File: SWV312-1 by Beagle---0.9.51

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Beagle---0.9.51
% Problem  : SWV312-1 : TPTP v8.1.2. Released v3.2.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 : n011.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 11:03:39 EDT 2023

% Result   : Unsatisfiable 7.63s 2.97s
% Output   : CNFRefutation 8.17s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    3
%            Number of leaves      :  251
% Syntax   : Number of formulae    :  256 (   6 unt; 248 typ;   0 def)
%            Number of atoms       :   10 (   0 equ)
%            Maximal formula atoms :    2 (   1 avg)
%            Number of connectives :    7 (   5   ~;   2   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    3 (   2 avg)
%            Maximal term depth    :   11 (   3 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :  451 ( 207   >; 244   *;   0   +;   0  <<)
%            Number of predicates  :   82 (  81 usr;   1 prp; 0-3 aty)
%            Number of functors    :  167 ( 167 usr;  41 con; 0-6 aty)
%            Number of variables   :    2 (;   2   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
%$ c_lessequals > c_less > c_in > c_Divides_Oop_Advd > c_Wellfounded__Recursion_Owf > c_Wellfounded__Recursion_Oacyclic > c_Relation_Otrans > c_List_Odistinct > c_Infinite__Set_Oatmost__one > class_Wellfounded__Recursion_Owellorder > class_Ring__and__Field_Osemiring__1__cancel > class_Ring__and__Field_Osemiring__1 > class_Ring__and__Field_Osemiring__0__cancel > class_Ring__and__Field_Osemiring__0 > class_Ring__and__Field_Osemiring > class_Ring__and__Field_Oring__1 > class_Ring__and__Field_Oring > class_Ring__and__Field_Opordered__semiring > class_Ring__and__Field_Opordered__ring > class_Ring__and__Field_Opordered__comm__semiring > class_Ring__and__Field_Opordered__comm__ring > class_Ring__and__Field_Opordered__cancel__semiring > class_Ring__and__Field_Opordered__cancel__comm__semiring > class_Ring__and__Field_Oordered__semiring__strict > class_Ring__and__Field_Oordered__semidom > class_Ring__and__Field_Oordered__ring__strict > class_Ring__and__Field_Oordered__idom > class_Ring__and__Field_Oordered__field > class_Ring__and__Field_Oordered__comm__semiring__strict > class_Ring__and__Field_Olordered__ring > class_Ring__and__Field_Oidom > class_Ring__and__Field_Ofield > class_Ring__and__Field_Odivision__by__zero > class_Ring__and__Field_Ocomm__semiring__1__cancel > class_Ring__and__Field_Ocomm__semiring__1 > class_Ring__and__Field_Ocomm__semiring__0__cancel > class_Ring__and__Field_Ocomm__semiring__0 > class_Ring__and__Field_Ocomm__semiring > class_Ring__and__Field_Ocomm__ring__1 > class_Ring__and__Field_Ocomm__ring > class_Ring__and__Field_Oaxclass__no__zero__divisors > class_Ring__and__Field_Oaxclass__abs__if > class_Ring__and__Field_Oaxclass__0__neq__1 > class_Power_Orecpower > class_Parity_Oeven__odd > class_Orderings_Oorder > class_Orderings_Oord > class_Orderings_Olinorder > class_OrderedGroup_Osemigroup__mult > class_OrderedGroup_Osemigroup__add > class_OrderedGroup_Opordered__cancel__ab__semigroup__add > class_OrderedGroup_Opordered__ab__semigroup__add__imp__le > class_OrderedGroup_Opordered__ab__semigroup__add > class_OrderedGroup_Opordered__ab__group__add > class_OrderedGroup_Oordered__cancel__ab__semigroup__add > class_OrderedGroup_Omonoid__mult > class_OrderedGroup_Olordered__ab__group__meet > class_OrderedGroup_Olordered__ab__group__join > class_OrderedGroup_Olordered__ab__group__abs > class_OrderedGroup_Olordered__ab__group > class_OrderedGroup_Ocomm__monoid__mult > class_OrderedGroup_Ocomm__monoid__add > class_OrderedGroup_Ocancel__semigroup__add > class_OrderedGroup_Ocancel__ab__semigroup__add > class_OrderedGroup_Oab__semigroup__mult > class_OrderedGroup_Oab__semigroup__add > class_OrderedGroup_Oab__group__add > class_Numeral_Onumber__ring > class_Numeral_Onumber > class_Nat_Opower > class_LOrder_Omeet__semilorder > class_LOrder_Olorder > class_LOrder_Ojoin__semilorder > class_HOL_Ozero > class_HOL_Otimes > class_HOL_Oplus > class_HOL_Oone > class_HOL_Ominus > class_HOL_Oinverse > class_Finite__Set_Ofinite > class_Divides_Odiv > c_Main_Orel__compE__3 > c_Main_Orel__compE__2 > c_Main_Orel__compE__1 > v_sko__u__1 > c_Relation_Orel__comp > c_Main_OuprodE__2 > c_Main_OuprodE__1 > c_Main_Olistrel__Cons2__2 > c_Main_Olistrel__Cons2__1 > c_Main_Olistrel__Cons1__2 > c_Main_Olistrel__Cons1__1 > c_Main_OdprodE__4 > c_Main_OdprodE__3 > c_Main_OdprodE__2 > c_Main_OdprodE__1 > c_Main_OImageE__1 > c_Wellfounded__Relations_Olex__prod > c_Sum__Type_OPlus > c_Relation_OImage > c_Pair > c_Main_OusumE__2 > c_Main_OusumE__1 > c_Main_OdsumE__4 > c_Main_OdsumE__3 > c_Main_OdsumE__2 > c_Main_OdsumE__1 > c_Main_OconverseE__2 > c_Main_OconverseE__1 > c_Main_ORangeE__1 > c_Main_OPlusE__2 > c_Main_OPlusE__1 > c_Main_ODomainE__1 > c_Datatype__Universe_Ousum > c_Datatype__Universe_Ouprod > c_Datatype__Universe_Odsum > c_Datatype__Universe_Odprod > c_Datatype__Universe_OScons > v_sko__usf > c_union > c_times > c_plus > c_minus > c_inter > c_insert > c_append > c_Sum__Type_OInr > c_Sum__Type_OInl > c_SetInterval_OgreaterThanLessThan > c_SetInterval_OgreaterThanAtMost > c_SetInterval_OatLeastLessThan > c_SetInterval_OatLeastAtMost > c_Relation_Oconverse > c_Relation_ORange > c_Relation_ODomain > c_Main_OsubsetI__1 > c_Main_Oin__listsI__1 > c_Main_OdiagE__1 > c_Main_OUnionE__1 > c_Main_OInterI__1 > c_List_Olist_OCons > c_Event_Oevent_OSays > c_Equiv__Relations_Oquotient > c_Divides_Oop_Amod > c_Datatype__Universe_ONumb > c_Datatype__Universe_OLeaf > c_Datatype__Universe_OIn1 > c_Datatype__Universe_OIn0 > c_Datatype__Universe_OAtom > tc_sum > tc_prod > tc_fun > tc_Datatype__Universe_Onode > c_uminus > c_Union > c_Transitive__Closure_Otrancl > c_Transitive__Closure_Ortrancl > c_SetInterval_OlessThan > c_SetInterval_OgreaterThan > c_SetInterval_OatMost > c_SetInterval_OatLeast > c_Relation_Odiag > c_Public_OpublicKey > c_Pow > c_Nat_Osize > c_Message_Omsg_OMPair > c_Message_Omsg_OCrypt > c_Message_OHPair > c_Main_Ozmod__eq__0D__dest__1 > c_Main_Onot__Some__eq__iff1__1 > c_Main_Onot__None__eq__iff1__1 > c_Main_Omod__eq__0D__dest__1 > c_Main_Ofinite__Union__1 > c_Main_OIdE__1 > c_List_Oset > c_List_Orev > c_List_Oremdups > c_List_Olists > c_List_Olistrel > c_List_Olex > c_List_Olenlex > c_List_Ochar_OChar > c_Inter > c_Event_Oknows > c_Event_Oevent_ONotes > c_Event_Oevent_OGets > c_Datatype_Ooption_OSome > c_Datatype_Oo2s > #nlpp > tc_set > tc_List_Olist > tc_Datatype_Ooption > c_Suc > c_Public_OshrK > c_Message_Osynth > c_Message_Oparts > c_Message_Omsg_ONumber > c_Message_Omsg_ONonce > c_Message_Omsg_OKey > c_Message_Omsg_OHash > c_Message_Omsg_OAgent > c_Message_OinvKey > c_Message_Oanalz > c_Message_Oagent_OFriend > c_IntDef_Oint > c_GCD_Ogcd > c_Event_Oused > c_Event_OinitState > v_x > v_evs4 > v_X_H > v_X > v_NBa > v_NB > v_NAa > v_NA > v_Ka > v_K > v_Ba > v_B > v_Aa > v_A > tc_nat > tc_bool > tc_Product__Type_Ounit > tc_Message_Omsg > tc_Message_Oagent > tc_IntDef_Oint > tc_Event_Oevent > c_emptyset > c_Wellfounded__Relations_Oless__than > c_UNIV > c_Relation_OId > c_Public_Okeymode_OSignature > c_Public_Okeymode_OEncryption > c_OtwayRees_Ootway > c_Numeral_Obit_OB1 > c_Numeral_Obit_OB0 > c_Message_OsymKeys > c_Message_Oagent_OSpy > c_Message_Oagent_OServer > c_List_Olist_ONil > c_Finite__Set_OFinites > c_Extraction_Osumbool_ORight > c_Extraction_Osumbool_OLeft > c_Event_Obad > c_Datatype_Ooption_ONone > c_1 > c_0

%Foreground sorts:

%Background operators:

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

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

tff(class_Ring__and__Field_Ocomm__semiring__0,type,
    class_Ring__and__Field_Ocomm__semiring__0: $i > $o ).

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

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

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

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

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

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

tff(class_Orderings_Olinorder,type,
    class_Orderings_Olinorder: $i > $o ).

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

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

tff(class_OrderedGroup_Opordered__ab__semigroup__add,type,
    class_OrderedGroup_Opordered__ab__semigroup__add: $i > $o ).

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

tff(class_Finite__Set_Ofinite,type,
    class_Finite__Set_Ofinite: $i > $o ).

tff(class_Ring__and__Field_Osemiring__1__cancel,type,
    class_Ring__and__Field_Osemiring__1__cancel: $i > $o ).

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

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

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

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

tff(class_HOL_Ominus,type,
    class_HOL_Ominus: $i > $o ).

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

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

tff(c_Wellfounded__Recursion_Oacyclic,type,
    c_Wellfounded__Recursion_Oacyclic: ( $i * $i ) > $o ).

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

tff(class_HOL_Otimes,type,
    class_HOL_Otimes: $i > $o ).

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

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

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

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

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

tff(c_List_Odistinct,type,
    c_List_Odistinct: ( $i * $i ) > $o ).

tff(class_Numeral_Onumber__ring,type,
    class_Numeral_Onumber__ring: $i > $o ).

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

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

tff(class_Ring__and__Field_Opordered__comm__semiring,type,
    class_Ring__and__Field_Opordered__comm__semiring: $i > $o ).

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

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

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

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

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

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

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

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

tff(class_OrderedGroup_Ocancel__ab__semigroup__add,type,
    class_OrderedGroup_Ocancel__ab__semigroup__add: $i > $o ).

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

tff(class_Ring__and__Field_Osemiring,type,
    class_Ring__and__Field_Osemiring: $i > $o ).

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

tff(c_Relation_Otrans,type,
    c_Relation_Otrans: ( $i * $i ) > $o ).

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

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

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

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

tff(class_Ring__and__Field_Ocomm__semiring,type,
    class_Ring__and__Field_Ocomm__semiring: $i > $o ).

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

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

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

tff(class_Ring__and__Field_Oring,type,
    class_Ring__and__Field_Oring: $i > $o ).

tff(class_Ring__and__Field_Osemiring__0,type,
    class_Ring__and__Field_Osemiring__0: $i > $o ).

tff(c_Infinite__Set_Oatmost__one,type,
    c_Infinite__Set_Oatmost__one: ( $i * $i ) > $o ).

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

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

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

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

tff(class_OrderedGroup_Oab__semigroup__add,type,
    class_OrderedGroup_Oab__semigroup__add: $i > $o ).

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

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

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

tff(class_OrderedGroup_Olordered__ab__group__abs,type,
    class_OrderedGroup_Olordered__ab__group__abs: $i > $o ).

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

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

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

tff(class_Wellfounded__Recursion_Owellorder,type,
    class_Wellfounded__Recursion_Owellorder: $i > $o ).

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

tff(class_Orderings_Oorder,type,
    class_Orderings_Oorder: $i > $o ).

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

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

tff(class_OrderedGroup_Oab__semigroup__mult,type,
    class_OrderedGroup_Oab__semigroup__mult: $i > $o ).

tff(class_Ring__and__Field_Odivision__by__zero,type,
    class_Ring__and__Field_Odivision__by__zero: $i > $o ).

tff(class_Ring__and__Field_Oordered__field,type,
    class_Ring__and__Field_Oordered__field: $i > $o ).

tff(class_Ring__and__Field_Opordered__ring,type,
    class_Ring__and__Field_Opordered__ring: $i > $o ).

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

tff(class_Divides_Odiv,type,
    class_Divides_Odiv: $i > $o ).

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

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

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

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

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

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

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

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

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

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

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

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

tff(class_Ring__and__Field_Opordered__cancel__comm__semiring,type,
    class_Ring__and__Field_Opordered__cancel__comm__semiring: $i > $o ).

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

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

tff(c_Divides_Oop_Advd,type,
    c_Divides_Oop_Advd: ( $i * $i * $i ) > $o ).

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

tff(class_Ring__and__Field_Oordered__ring__strict,type,
    class_Ring__and__Field_Oordered__ring__strict: $i > $o ).

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

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

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

tff(class_OrderedGroup_Olordered__ab__group__meet,type,
    class_OrderedGroup_Olordered__ab__group__meet: $i > $o ).

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

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

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

tff(class_OrderedGroup_Olordered__ab__group__join,type,
    class_OrderedGroup_Olordered__ab__group__join: $i > $o ).

tff(class_Ring__and__Field_Oaxclass__abs__if,type,
    class_Ring__and__Field_Oaxclass__abs__if: $i > $o ).

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

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

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

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

tff(class_OrderedGroup_Opordered__ab__semigroup__add__imp__le,type,
    class_OrderedGroup_Opordered__ab__semigroup__add__imp__le: $i > $o ).

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

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

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

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

tff(class_Ring__and__Field_Oordered__comm__semiring__strict,type,
    class_Ring__and__Field_Oordered__comm__semiring__strict: $i > $o ).

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

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

tff(class_Ring__and__Field_Ocomm__ring__1,type,
    class_Ring__and__Field_Ocomm__ring__1: $i > $o ).

tff(class_Ring__and__Field_Ofield,type,
    class_Ring__and__Field_Ofield: $i > $o ).

tff(class_Power_Orecpower,type,
    class_Power_Orecpower: $i > $o ).

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

tff(class_HOL_Oinverse,type,
    class_HOL_Oinverse: $i > $o ).

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

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

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

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

tff(class_Parity_Oeven__odd,type,
    class_Parity_Oeven__odd: $i > $o ).

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

tff(class_Ring__and__Field_Oordered__idom,type,
    class_Ring__and__Field_Oordered__idom: $i > $o ).

tff(class_OrderedGroup_Ocancel__semigroup__add,type,
    class_OrderedGroup_Ocancel__semigroup__add: $i > $o ).

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

tff(c_lessequals,type,
    c_lessequals: ( $i * $i * $i ) > $o ).

tff(c_in,type,
    c_in: ( $i * $i * $i ) > $o ).

tff(class_Ring__and__Field_Oaxclass__no__zero__divisors,type,
    class_Ring__and__Field_Oaxclass__no__zero__divisors: $i > $o ).

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

tff(class_HOL_Oone,type,
    class_HOL_Oone: $i > $o ).

tff(class_Ring__and__Field_Oaxclass__0__neq__1,type,
    class_Ring__and__Field_Oaxclass__0__neq__1: $i > $o ).

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

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

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

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

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

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

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

tff(class_OrderedGroup_Opordered__cancel__ab__semigroup__add,type,
    class_OrderedGroup_Opordered__cancel__ab__semigroup__add: $i > $o ).

tff(class_OrderedGroup_Ocomm__monoid__mult,type,
    class_OrderedGroup_Ocomm__monoid__mult: $i > $o ).

tff(class_OrderedGroup_Ocomm__monoid__add,type,
    class_OrderedGroup_Ocomm__monoid__add: $i > $o ).

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

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

tff(class_OrderedGroup_Oordered__cancel__ab__semigroup__add,type,
    class_OrderedGroup_Oordered__cancel__ab__semigroup__add: $i > $o ).

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

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

tff(class_Ring__and__Field_Oidom,type,
    class_Ring__and__Field_Oidom: $i > $o ).

tff(class_Orderings_Oord,type,
    class_Orderings_Oord: $i > $o ).

tff(class_Ring__and__Field_Opordered__comm__ring,type,
    class_Ring__and__Field_Opordered__comm__ring: $i > $o ).

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

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

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

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

tff(class_OrderedGroup_Osemigroup__mult,type,
    class_OrderedGroup_Osemigroup__mult: $i > $o ).

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

tff(class_Ring__and__Field_Ocomm__ring,type,
    class_Ring__and__Field_Ocomm__ring: $i > $o ).

tff(class_OrderedGroup_Olordered__ab__group,type,
    class_OrderedGroup_Olordered__ab__group: $i > $o ).

tff(class_Ring__and__Field_Oordered__semiring__strict,type,
    class_Ring__and__Field_Oordered__semiring__strict: $i > $o ).

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

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

tff(class_Ring__and__Field_Opordered__cancel__semiring,type,
    class_Ring__and__Field_Opordered__cancel__semiring: $i > $o ).

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

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

tff(class_OrderedGroup_Osemigroup__add,type,
    class_OrderedGroup_Osemigroup__add: $i > $o ).

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

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

tff(c_less,type,
    c_less: ( $i * $i * $i ) > $o ).

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

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

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

tff(class_LOrder_Omeet__semilorder,type,
    class_LOrder_Omeet__semilorder: $i > $o ).

tff(class_OrderedGroup_Omonoid__mult,type,
    class_OrderedGroup_Omonoid__mult: $i > $o ).

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

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

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

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

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

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

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

tff(class_OrderedGroup_Oab__group__add,type,
    class_OrderedGroup_Oab__group__add: $i > $o ).

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

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

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

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

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

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

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

tff(class_Ring__and__Field_Ocomm__semiring__0__cancel,type,
    class_Ring__and__Field_Ocomm__semiring__0__cancel: $i > $o ).

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

tff(class_Ring__and__Field_Oring__1,type,
    class_Ring__and__Field_Oring__1: $i > $o ).

tff(class_Ring__and__Field_Olordered__ring,type,
    class_Ring__and__Field_Olordered__ring: $i > $o ).

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

tff(class_LOrder_Ojoin__semilorder,type,
    class_LOrder_Ojoin__semilorder: $i > $o ).

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

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

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

tff(class_Ring__and__Field_Osemiring__0__cancel,type,
    class_Ring__and__Field_Osemiring__0__cancel: $i > $o ).

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

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

tff(class_HOL_Oplus,type,
    class_HOL_Oplus: $i > $o ).

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

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

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

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

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

tff(class_Ring__and__Field_Ocomm__semiring__1,type,
    class_Ring__and__Field_Ocomm__semiring__1: $i > $o ).

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

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

tff(class_Numeral_Onumber,type,
    class_Numeral_Onumber: $i > $o ).

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

tff(class_Ring__and__Field_Opordered__semiring,type,
    class_Ring__and__Field_Opordered__semiring: $i > $o ).

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

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

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

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

tff(class_OrderedGroup_Opordered__ab__group__add,type,
    class_OrderedGroup_Opordered__ab__group__add: $i > $o ).

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

tff(class_Nat_Opower,type,
    class_Nat_Opower: $i > $o ).

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

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

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

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

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

tff(class_Ring__and__Field_Ocomm__semiring__1__cancel,type,
    class_Ring__and__Field_Ocomm__semiring__1__cancel: $i > $o ).

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

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

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

tff(class_Ring__and__Field_Osemiring__1,type,
    class_Ring__and__Field_Osemiring__1: $i > $o ).

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

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

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

tff(c_Wellfounded__Recursion_Owf,type,
    c_Wellfounded__Recursion_Owf: ( $i * $i ) > $o ).

tff(class_LOrder_Olorder,type,
    class_LOrder_Olorder: $i > $o ).

tff(class_Ring__and__Field_Oordered__semidom,type,
    class_Ring__and__Field_Oordered__semidom: $i > $o ).

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

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

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

tff(f_6860,axiom,
    ! [V_U] : ~ c_in(c_Event_Oevent_OSays(v_B,c_Message_Oagent_OServer,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_B),c_Message_Omsg_OMPair(V_U,c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OAgent(v_B)))))))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent),
    file(unknown,unknown) ).

tff(f_6864,axiom,
    ( c_in(c_Event_Oevent_OSays(v_B,c_Message_Oagent_OServer,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_B),c_Message_Omsg_OMPair(v_x,c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OAgent(v_B)))))))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent)
    | ~ c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer,v_B,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OCrypt(c_Public_OshrK(v_A),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OKey(v_K))),c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OKey(v_K)))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent) ),
    file(unknown,unknown) ).

tff(f_6857,axiom,
    c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer,v_B,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OCrypt(c_Public_OshrK(v_A),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OKey(v_K))),c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OKey(v_K)))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent),
    file(unknown,unknown) ).

tff(c_2964,plain,
    ! [V_U_2249] : ~ c_in(c_Event_Oevent_OSays(v_B,c_Message_Oagent_OServer,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_B),c_Message_Omsg_OMPair(V_U_2249,c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OAgent(v_B)))))))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent),
    inference(cnfTransformation,[status(thm)],[f_6860]) ).

tff(c_2966,plain,
    ( ~ c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer,v_B,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OCrypt(c_Public_OshrK(v_A),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OKey(v_K))),c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OKey(v_K)))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent)
    | c_in(c_Event_Oevent_OSays(v_B,c_Message_Oagent_OServer,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_B),c_Message_Omsg_OMPair(v_x,c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(v_A),c_Message_Omsg_OAgent(v_B)))))))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent) ),
    inference(cnfTransformation,[status(thm)],[f_6864]) ).

tff(c_2969,plain,
    ~ c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer,v_B,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OCrypt(c_Public_OshrK(v_A),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OKey(v_K))),c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OKey(v_K)))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent),
    inference(negUnitSimplification,[status(thm)],[c_2964,c_2966]) ).

tff(c_2962,plain,
    c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer,v_B,c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OMPair(c_Message_Omsg_OCrypt(c_Public_OshrK(v_A),c_Message_Omsg_OMPair(v_NA,c_Message_Omsg_OKey(v_K))),c_Message_Omsg_OCrypt(c_Public_OshrK(v_B),c_Message_Omsg_OMPair(v_NB,c_Message_Omsg_OKey(v_K)))))),c_List_Oset(v_evs4,tc_Event_Oevent),tc_Event_Oevent),
    inference(cnfTransformation,[status(thm)],[f_6857]) ).

tff(c_2970,plain,
    $false,
    inference(negUnitSimplification,[status(thm)],[c_2969,c_2962]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.14  % Problem  : SWV312-1 : TPTP v8.1.2. Released v3.2.0.
% 0.00/0.15  % 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.15/0.37  % Computer : n011.cluster.edu
% 0.15/0.37  % Model    : x86_64 x86_64
% 0.15/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.37  % Memory   : 8042.1875MB
% 0.15/0.37  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.37  % CPULimit : 300
% 0.15/0.37  % WCLimit  : 300
% 0.15/0.37  % DateTime : Thu Aug  3 23:19:51 EDT 2023
% 0.15/0.37  % CPUTime  : 
% 7.63/2.97  % SZS status Unsatisfiable for /export/starexec/sandbox/benchmark/theBenchmark.p
% 7.63/2.97  
% 7.63/2.97  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 8.17/3.01  
% 8.17/3.01  Inference rules
% 8.17/3.01  ----------------------
% 8.17/3.01  #Ref     : 0
% 8.17/3.01  #Sup     : 0
% 8.17/3.01  #Fact    : 0
% 8.17/3.01  #Define  : 0
% 8.17/3.01  #Split   : 0
% 8.17/3.01  #Chain   : 0
% 8.17/3.01  #Close   : 0
% 8.17/3.01  
% 8.17/3.01  Ordering : KBO
% 8.17/3.01  
% 8.17/3.01  Simplification rules
% 8.17/3.01  ----------------------
% 8.17/3.01  #Subsume      : 1483
% 8.17/3.01  #Demod        : 0
% 8.17/3.01  #Tautology    : 0
% 8.17/3.01  #SimpNegUnit  : 2
% 8.17/3.01  #BackRed      : 0
% 8.17/3.01  
% 8.17/3.01  #Partial instantiations: 0
% 8.17/3.01  #Strategies tried      : 1
% 8.17/3.01  
% 8.17/3.01  Timing (in seconds)
% 8.17/3.01  ----------------------
% 8.17/3.01  Preprocessing        : 1.81
% 8.17/3.01  Parsing              : 1.06
% 8.17/3.01  CNF conversion       : 0.13
% 8.17/3.01  Main loop            : 0.12
% 8.17/3.01  Inferencing          : 0.00
% 8.40/3.02  Reduction            : 0.04
% 8.40/3.02  Demodulation         : 0.02
% 8.40/3.02  BG Simplification    : 0.16
% 8.40/3.02  Subsumption          : 0.05
% 8.40/3.02  Abstraction          : 0.02
% 8.40/3.02  MUC search           : 0.00
% 8.40/3.02  Cooper               : 0.00
% 8.40/3.02  Total                : 1.99
% 8.40/3.02  Index Insertion      : 0.00
% 8.40/3.02  Index Deletion       : 0.00
% 8.40/3.02  Index Matching       : 0.00
% 8.40/3.02  BG Taut test         : 0.00
%------------------------------------------------------------------------------