TPTP Problem File: SYN420+1.p
View Solutions
- Solve Problem
%--------------------------------------------------------------------------
% File : SYN420+1 : TPTP v8.2.0. Released v2.1.0.
% Domain : Syntactic (Translated)
% Problem : ALC, N=10, R=1, L=110, K=3, D=2, P=0, Index=036
% Version : Especial.
% English :
% Refs : [OS95] Ohlbach & Schmidt (1995), Functional Translation and S
% : [HS97] Hustadt & Schmidt (1997), On Evaluating Decision Proce
% : [Wei97] Weidenbach (1997), Email to G. Sutcliffe
% Source : [Wei97]
% Names : alc-10-1-110-3-2-036.dfg [Wei97]
% Status : CounterSatisfiable
% Rating : 0.00 v6.1.0, 0.17 v6.0.0, 0.00 v5.5.0, 0.10 v5.4.0, 0.20 v5.3.0, 0.25 v5.0.0, 0.33 v4.1.0, 0.50 v4.0.1, 0.33 v3.7.0, 0.00 v3.5.0, 0.25 v3.4.0, 0.00 v3.2.0, 0.25 v3.1.0, 0.83 v2.6.0, 0.50 v2.5.0, 0.33 v2.4.0, 0.67 v2.3.0, 0.33 v2.2.1, 0.00 v2.1.0
% Syntax : Number of formulae : 1 ( 0 unt; 0 def)
% Number of atoms : 1310 ( 0 equ)
% Maximal formula atoms : 1310 (1310 avg)
% Number of connectives : 1797 ( 488 ~; 518 |; 609 &)
% ( 0 <=>; 182 =>; 0 <=; 0 <~>)
% Maximal formula depth : 109 ( 109 avg)
% Maximal term depth : 1 ( 1 avg)
% Number of predicates : 32 ( 32 usr; 11 prp; 0-2 aty)
% Number of functors : 180 ( 180 usr; 180 con; 0-0 aty)
% Number of variables : 182 ( 182 !; 0 ?)
% SPC : FOF_CSA_EPR_NEQ
% Comments : These ALC problems have been translated from propositional
% multi-modal K logic formulae generated according to the scheme
% described in [HS97], using the optimized functional translation
% described in [OS95]. The finite model property holds, the
% Herbrand Universe is finite, they are decidable (the complexity
% is PSPACE-complete), resolution + subsumption + condensing is a
% decision procedure, and the translated formulae belong to the
% (CNF-translation of the) Bernays-Schoenfinkel class [Wei97].
%--------------------------------------------------------------------------
fof(co1,conjecture,
~ ( ( ~ c1_0
| ! [U] :
( ndr1_0
=> ( ~ c9_1(U)
| ~ c10_1(U)
| c7_1(U) ) )
| c3_0 )
& ( ( ndr1_0
& ndr1_1(a269)
& c9_2(a269,a270)
& ~ c3_2(a269,a270)
& ~ c7_2(a269,a270)
& c2_1(a269)
& c4_1(a269) )
| c9_0
| ! [V] :
( ndr1_0
=> ( ! [W] :
( ndr1_1(V)
=> ( ~ c10_2(V,W)
| c3_2(V,W)
| ~ c7_2(V,W) ) )
| ! [X] :
( ndr1_1(V)
=> ( ~ c7_2(V,X)
| ~ c2_2(V,X)
| ~ c1_2(V,X) ) )
| c6_1(V) ) ) )
& ( ~ c4_0
| ~ c6_0
| ( ndr1_0
& c4_1(a271)
& c3_1(a271) ) )
& ( ( ndr1_0
& ! [Y] :
( ndr1_1(a272)
=> ( c1_2(a272,Y)
| ~ c6_2(a272,Y) ) )
& ndr1_1(a272)
& ~ c2_2(a272,a273)
& ~ c4_2(a272,a273)
& c1_2(a272,a273)
& c5_1(a272) )
| c4_0 )
& ( ~ c1_0
| ! [Z] :
( ndr1_0
=> ( c1_1(Z)
| ( ndr1_1(Z)
& ~ c8_2(Z,a274)
& ~ c3_2(Z,a274)
& ~ c5_2(Z,a274) )
| ( ndr1_1(Z)
& ~ c2_2(Z,a275)
& ~ c10_2(Z,a275)
& ~ c6_2(Z,a275) ) ) )
| c7_0 )
& ( ~ c5_0
| ! [X1] :
( ndr1_0
=> ( ( ndr1_1(X1)
& c2_2(X1,a276)
& c8_2(X1,a276)
& ~ c4_2(X1,a276) )
| ! [X2] :
( ndr1_1(X1)
=> ( c3_2(X1,X2)
| c5_2(X1,X2) ) )
| c6_1(X1) ) )
| ~ c4_0 )
& ( ~ c6_0
| ~ c1_0 )
& ( ( ndr1_0
& ~ c5_1(a277)
& ! [X3] :
( ndr1_1(a277)
=> ( c10_2(a277,X3)
| ~ c3_2(a277,X3)
| ~ c4_2(a277,X3) ) )
& ! [X4] :
( ndr1_1(a277)
=> ( c4_2(a277,X4)
| ~ c6_2(a277,X4)
| c7_2(a277,X4) ) ) )
| ~ c8_0 )
& ( c6_0
| ~ c7_0
| ( ndr1_0
& ndr1_1(a278)
& c4_2(a278,a279)
& c3_2(a278,a279)
& c8_2(a278,a279)
& ! [X5] :
( ndr1_1(a278)
=> ( ~ c7_2(a278,X5)
| c4_2(a278,X5)
| ~ c2_2(a278,X5) ) )
& ~ c4_1(a278) ) )
& ( ~ c10_0
| ! [X6] :
( ndr1_0
=> ( c7_1(X6)
| c4_1(X6) ) ) )
& ( ~ c3_0
| c8_0
| ( ndr1_0
& ! [X7] :
( ndr1_1(a280)
=> ( ~ c10_2(a280,X7)
| c9_2(a280,X7)
| c6_2(a280,X7) ) )
& ! [X8] :
( ndr1_1(a280)
=> ( c7_2(a280,X8)
| c6_2(a280,X8)
| c4_2(a280,X8) ) )
& ! [X9] :
( ndr1_1(a280)
=> ( ~ c2_2(a280,X9)
| c1_2(a280,X9)
| c3_2(a280,X9) ) ) ) )
& ( c4_0
| ( ndr1_0
& ~ c10_1(a281)
& ! [X10] :
( ndr1_1(a281)
=> ( ~ c8_2(a281,X10)
| ~ c2_2(a281,X10)
| c1_2(a281,X10) ) ) )
| ( ndr1_0
& ! [X11] :
( ndr1_1(a282)
=> ( c3_2(a282,X11)
| ~ c7_2(a282,X11) ) )
& c4_1(a282)
& ~ c6_1(a282) ) )
& ( ( ndr1_0
& ~ c2_1(a283)
& c4_1(a283)
& ndr1_1(a283)
& ~ c8_2(a283,a284)
& ~ c3_2(a283,a284) )
| ! [X12] :
( ndr1_0
=> ( ~ c1_1(X12)
| c7_1(X12)
| ~ c4_1(X12) ) )
| ! [X13] :
( ndr1_0
=> ( ( ndr1_1(X13)
& c7_2(X13,a285)
& c6_2(X13,a285)
& c1_2(X13,a285) )
| c9_1(X13)
| ( ndr1_1(X13)
& ~ c8_2(X13,a286)
& ~ c7_2(X13,a286)
& c6_2(X13,a286) ) ) ) )
& ( c2_0
| ! [X14] :
( ndr1_0
=> ( c8_1(X14)
| ~ c2_1(X14) ) )
| ( ndr1_0
& ndr1_1(a287)
& ~ c6_2(a287,a288)
& c4_2(a287,a288)
& ndr1_1(a287)
& ~ c6_2(a287,a289)
& c8_2(a287,a289)
& ndr1_1(a287)
& ~ c3_2(a287,a290)
& c5_2(a287,a290)
& ~ c9_2(a287,a290) ) )
& ( ~ c7_0
| ( ndr1_0
& ndr1_1(a291)
& c10_2(a291,a292)
& c8_2(a291,a292)
& ~ c5_2(a291,a292)
& ndr1_1(a291)
& ~ c5_2(a291,a293)
& c3_2(a291,a293)
& ~ c1_2(a291,a293) )
| c5_0 )
& ( ! [X15] :
( ndr1_0
=> ( c3_1(X15)
| ~ c2_1(X15)
| c8_1(X15) ) )
| c6_0
| ( ndr1_0
& ! [X16] :
( ndr1_1(a294)
=> c7_2(a294,X16) )
& ndr1_1(a294)
& c3_2(a294,a295)
& ~ c2_2(a294,a295)
& ~ c1_2(a294,a295)
& ~ c4_1(a294) ) )
& ( ( ndr1_0
& c6_1(a296)
& ~ c7_1(a296)
& c10_1(a296) )
| ( ndr1_0
& ndr1_1(a297)
& ~ c5_2(a297,a298)
& c8_2(a297,a298)
& ~ c4_2(a297,a298)
& ~ c7_1(a297)
& ~ c4_1(a297) )
| ! [X17] :
( ndr1_0
=> ( c9_1(X17)
| c8_1(X17)
| ( ndr1_1(X17)
& c9_2(X17,a299)
& c8_2(X17,a299)
& ~ c3_2(X17,a299) ) ) ) )
& ( ! [X18] :
( ndr1_0
=> ( ~ c1_1(X18)
| ! [X19] :
( ndr1_1(X18)
=> ( c9_2(X18,X19)
| ~ c8_2(X18,X19)
| ~ c5_2(X18,X19) ) )
| ~ c4_1(X18) ) )
| ( ndr1_0
& ~ c8_1(a300)
& ! [X20] :
( ndr1_1(a300)
=> ( ~ c2_2(a300,X20)
| ~ c7_2(a300,X20)
| c4_2(a300,X20) ) )
& ndr1_1(a300)
& ~ c5_2(a300,a301)
& c4_2(a300,a301)
& c6_2(a300,a301) )
| ( ndr1_0
& ~ c7_1(a302)
& ndr1_1(a302)
& c6_2(a302,a303)
& ~ c5_2(a302,a303)
& c10_1(a302) ) )
& ( ~ c10_0
| c9_0
| ~ c6_0 )
& ( ! [X21] :
( ndr1_0
=> ( ~ c8_1(X21)
| ~ c1_1(X21)
| ! [X22] :
( ndr1_1(X21)
=> ( ~ c9_2(X21,X22)
| c5_2(X21,X22)
| c3_2(X21,X22) ) ) ) )
| ! [X23] :
( ndr1_0
=> ( c10_1(X23)
| ~ c5_1(X23)
| ( ndr1_1(X23)
& c2_2(X23,a304)
& c6_2(X23,a304)
& ~ c4_2(X23,a304) ) ) )
| ~ c1_0 )
& ( ~ c1_0
| ~ c9_0
| ( ndr1_0
& ndr1_1(a305)
& ~ c5_2(a305,a306)
& c3_2(a305,a306)
& c1_2(a305,a306)
& c3_1(a305)
& ! [X24] :
( ndr1_1(a305)
=> ( ~ c8_2(a305,X24)
| ~ c4_2(a305,X24)
| ~ c10_2(a305,X24) ) ) ) )
& ( ! [X25] :
( ndr1_0
=> ( ! [X26] :
( ndr1_1(X25)
=> ( ~ c3_2(X25,X26)
| ~ c10_2(X25,X26)
| ~ c2_2(X25,X26) ) )
| ~ c10_1(X25)
| ~ c4_1(X25) ) )
| c1_0
| ! [X27] :
( ndr1_0
=> ( c4_1(X27)
| ! [X28] :
( ndr1_1(X27)
=> ( ~ c3_2(X27,X28)
| c7_2(X27,X28)
| c6_2(X27,X28) ) ) ) ) )
& ( ! [X29] :
( ndr1_0
=> ( ~ c9_1(X29)
| ~ c6_1(X29)
| ! [X30] :
( ndr1_1(X29)
=> ( c1_2(X29,X30)
| c6_2(X29,X30)
| ~ c4_2(X29,X30) ) ) ) )
| c1_0
| ! [X31] :
( ndr1_0
=> ( ~ c4_1(X31)
| ~ c8_1(X31) ) ) )
& ( ( ndr1_0
& ! [X32] :
( ndr1_1(a307)
=> ( c6_2(a307,X32)
| ~ c7_2(a307,X32)
| ~ c5_2(a307,X32) ) )
& ~ c9_1(a307)
& c8_1(a307) )
| c5_0 )
& ( ( ndr1_0
& ~ c5_1(a308)
& ~ c10_1(a308)
& ndr1_1(a308)
& ~ c7_2(a308,a309)
& c8_2(a308,a309)
& c1_2(a308,a309) )
| ( ndr1_0
& ~ c5_1(a310)
& ~ c2_1(a310)
& ndr1_1(a310)
& ~ c2_2(a310,a311)
& c4_2(a310,a311)
& ~ c6_2(a310,a311) )
| ! [X33] :
( ndr1_0
=> ( c3_1(X33)
| ( ndr1_1(X33)
& c5_2(X33,a312)
& ~ c4_2(X33,a312)
& c2_2(X33,a312) )
| c7_1(X33) ) ) )
& ( ! [X34] :
( ndr1_0
=> ( ! [X35] :
( ndr1_1(X34)
=> ( ~ c7_2(X34,X35)
| c9_2(X34,X35)
| ~ c2_2(X34,X35) ) )
| c3_1(X34)
| c9_1(X34) ) )
| c1_0
| ~ c9_0 )
& ( c7_0
| ( ndr1_0
& ! [X36] :
( ndr1_1(a313)
=> ( ~ c7_2(a313,X36)
| ~ c4_2(a313,X36)
| ~ c3_2(a313,X36) ) )
& ndr1_1(a313)
& ~ c9_2(a313,a314)
& ~ c4_2(a313,a314)
& ~ c2_2(a313,a314) )
| ( ndr1_0
& c5_1(a315)
& ! [X37] :
( ndr1_1(a315)
=> ( c1_2(a315,X37)
| c10_2(a315,X37)
| c5_2(a315,X37) ) )
& ! [X38] :
( ndr1_1(a315)
=> ( c9_2(a315,X38)
| c3_2(a315,X38)
| ~ c7_2(a315,X38) ) ) ) )
& ( ~ c7_0
| ! [X39] :
( ndr1_0
=> ( ( ndr1_1(X39)
& ~ c3_2(X39,a316)
& ~ c5_2(X39,a316)
& c8_2(X39,a316) )
| ! [X40] :
( ndr1_1(X39)
=> ( ~ c1_2(X39,X40)
| c7_2(X39,X40)
| c6_2(X39,X40) ) )
| ~ c3_1(X39) ) )
| c3_0 )
& ( ! [X41] :
( ndr1_0
=> ( c3_1(X41)
| ! [X42] :
( ndr1_1(X41)
=> ( ~ c10_2(X41,X42)
| c4_2(X41,X42) ) )
| ! [X43] :
( ndr1_1(X41)
=> ( c9_2(X41,X43)
| c7_2(X41,X43)
| c4_2(X41,X43) ) ) ) )
| ( ndr1_0
& c5_1(a317)
& c4_1(a317)
& ! [X44] :
( ndr1_1(a317)
=> ( ~ c2_2(a317,X44)
| c6_2(a317,X44)
| c10_2(a317,X44) ) ) )
| c8_0 )
& ( ! [X45] :
( ndr1_0
=> ( ( ndr1_1(X45)
& c10_2(X45,a318)
& c7_2(X45,a318)
& c3_2(X45,a318) )
| c5_1(X45) ) )
| c9_0
| ( ndr1_0
& ~ c9_1(a319)
& ~ c10_1(a319)
& ! [X46] :
( ndr1_1(a319)
=> ( ~ c10_2(a319,X46)
| c3_2(a319,X46) ) ) ) )
& ( ! [X47] :
( ndr1_0
=> ( ~ c9_1(X47)
| ! [X48] :
( ndr1_1(X47)
=> ( ~ c4_2(X47,X48)
| ~ c8_2(X47,X48)
| c5_2(X47,X48) ) )
| ~ c10_1(X47) ) )
| ( ndr1_0
& c6_1(a320)
& ndr1_1(a320)
& ~ c6_2(a320,a321)
& c2_2(a320,a321)
& ndr1_1(a320)
& ~ c7_2(a320,a322)
& ~ c2_2(a320,a322) )
| ! [X49] :
( ndr1_0
=> ( ! [X50] :
( ndr1_1(X49)
=> ( c1_2(X49,X50)
| c8_2(X49,X50)
| ~ c5_2(X49,X50) ) )
| ~ c1_1(X49) ) ) )
& ( ~ c5_0
| ( ndr1_0
& ~ c10_1(a323)
& ndr1_1(a323)
& ~ c9_2(a323,a324)
& c7_2(a323,a324)
& c4_2(a323,a324)
& ~ c3_1(a323) )
| ( ndr1_0
& ndr1_1(a325)
& c5_2(a325,a326)
& c7_2(a325,a326)
& ~ c4_2(a325,a326)
& ! [X51] :
( ndr1_1(a325)
=> ( ~ c6_2(a325,X51)
| c4_2(a325,X51)
| ~ c2_2(a325,X51) ) )
& ~ c1_1(a325) ) )
& ( ! [X52] :
( ndr1_0
=> ( c3_1(X52)
| ~ c10_1(X52)
| ~ c2_1(X52) ) )
| ! [X53] :
( ndr1_0
=> ( c10_1(X53)
| ~ c7_1(X53)
| ~ c9_1(X53) ) )
| ~ c4_0 )
& ( ( ndr1_0
& c2_1(a327)
& ! [X54] :
( ndr1_1(a327)
=> ( c7_2(a327,X54)
| c6_2(a327,X54)
| ~ c5_2(a327,X54) ) )
& ~ c5_1(a327) )
| ! [X55] :
( ndr1_0
=> ( ~ c4_1(X55)
| ~ c2_1(X55)
| ! [X56] :
( ndr1_1(X55)
=> ( ~ c2_2(X55,X56)
| ~ c5_2(X55,X56)
| ~ c1_2(X55,X56) ) ) ) )
| c5_0 )
& ( c9_0
| c6_0 )
& ( ! [X57] :
( ndr1_0
=> ( ( ndr1_1(X57)
& c8_2(X57,a328)
& ~ c1_2(X57,a328)
& c2_2(X57,a328) )
| c3_1(X57)
| c6_1(X57) ) )
| ~ c7_0
| ~ c4_0 )
& ( ~ c6_0
| ( ndr1_0
& ! [X58] :
( ndr1_1(a329)
=> ( c2_2(a329,X58)
| ~ c3_2(a329,X58)
| ~ c7_2(a329,X58) ) )
& c1_1(a329)
& c3_1(a329) ) )
& ( ( ndr1_0
& ~ c1_1(a330)
& ndr1_1(a330)
& c1_2(a330,a331)
& ~ c10_2(a330,a331)
& c6_2(a330,a331)
& ! [X59] :
( ndr1_1(a330)
=> ( c3_2(a330,X59)
| ~ c1_2(a330,X59)
| c2_2(a330,X59) ) ) )
| ( ndr1_0
& ~ c6_1(a332)
& ! [X60] :
( ndr1_1(a332)
=> ( ~ c3_2(a332,X60)
| ~ c10_2(a332,X60) ) )
& ~ c10_1(a332) ) )
& ( ! [X61] :
( ndr1_0
=> ( ! [X62] :
( ndr1_1(X61)
=> ( ~ c2_2(X61,X62)
| c8_2(X61,X62)
| c1_2(X61,X62) ) )
| ~ c9_1(X61)
| ! [X63] :
( ndr1_1(X61)
=> ( c10_2(X61,X63)
| c4_2(X61,X63)
| c3_2(X61,X63) ) ) ) )
| c2_0
| ! [X64] :
( ndr1_0
=> ( ! [X65] :
( ndr1_1(X64)
=> ( ~ c5_2(X64,X65)
| ~ c4_2(X64,X65)
| ~ c6_2(X64,X65) ) )
| ~ c4_1(X64)
| ~ c1_1(X64) ) ) )
& ( ~ c10_0
| ! [X66] :
( ndr1_0
=> ( ! [X67] :
( ndr1_1(X66)
=> ( c4_2(X66,X67)
| ~ c10_2(X66,X67)
| ~ c3_2(X66,X67) ) )
| c9_1(X66) ) )
| ~ c4_0 )
& ( ( ndr1_0
& c8_1(a333)
& ndr1_1(a333)
& c8_2(a333,a334)
& ~ c7_2(a333,a334)
& c9_2(a333,a334)
& ndr1_1(a333)
& ~ c7_2(a333,a335)
& c5_2(a333,a335)
& ~ c9_2(a333,a335) )
| c7_0
| ! [X68] :
( ndr1_0
=> ( ( ndr1_1(X68)
& ~ c1_2(X68,a336)
& c8_2(X68,a336) )
| ~ c10_1(X68)
| ~ c1_1(X68) ) ) )
& ( ! [X69] :
( ndr1_0
=> ( c8_1(X69)
| c7_1(X69)
| ( ndr1_1(X69)
& ~ c8_2(X69,a337)
& ~ c4_2(X69,a337) ) ) )
| c10_0
| ! [X70] :
( ndr1_0
=> ( ~ c4_1(X70)
| ( ndr1_1(X70)
& ~ c7_2(X70,a338)
& ~ c8_2(X70,a338)
& ~ c10_2(X70,a338) )
| ~ c10_1(X70) ) ) )
& ( ~ c6_0
| ( ndr1_0
& ndr1_1(a339)
& ~ c3_2(a339,a340)
& c9_2(a339,a340)
& ~ c7_2(a339,a340)
& ~ c6_1(a339)
& ndr1_1(a339)
& c4_2(a339,a341)
& ~ c9_2(a339,a341)
& ~ c5_2(a339,a341) )
| ! [X71] :
( ndr1_0
=> ( c9_1(X71)
| ( ndr1_1(X71)
& c1_2(X71,a342)
& c7_2(X71,a342)
& ~ c2_2(X71,a342) )
| ~ c7_1(X71) ) ) )
& ( c8_0
| c5_0
| ( ndr1_0
& ~ c8_1(a343)
& c5_1(a343)
& ndr1_1(a343)
& ~ c4_2(a343,a344)
& c10_2(a343,a344)
& c2_2(a343,a344) ) )
& ( ! [X72] :
( ndr1_0
=> ( c9_1(X72)
| ! [X73] :
( ndr1_1(X72)
=> ( c5_2(X72,X73)
| c1_2(X72,X73)
| c8_2(X72,X73) ) )
| ! [X74] :
( ndr1_1(X72)
=> ( ~ c6_2(X72,X74)
| ~ c4_2(X72,X74) ) ) ) )
| ( ndr1_0
& ! [X75] :
( ndr1_1(a345)
=> ( c6_2(a345,X75)
| ~ c2_2(a345,X75)
| ~ c4_2(a345,X75) ) )
& c1_1(a345)
& ndr1_1(a345)
& c2_2(a345,a346)
& ~ c10_2(a345,a346)
& c8_2(a345,a346) )
| ! [X76] :
( ndr1_0
=> ( ( ndr1_1(X76)
& ~ c1_2(X76,a347)
& c10_2(X76,a347)
& c7_2(X76,a347) )
| ~ c4_1(X76) ) ) )
& ( c3_0
| ( ndr1_0
& ndr1_1(a348)
& ~ c3_2(a348,a349)
& c6_2(a348,a349)
& c7_2(a348,a349)
& ~ c6_1(a348) ) )
& ( ( ndr1_0
& ~ c3_1(a350)
& c2_1(a350)
& ndr1_1(a350)
& c7_2(a350,a351)
& ~ c8_2(a350,a351)
& c2_2(a350,a351) )
| c7_0 )
& ( ~ c1_0
| ~ c6_0 )
& ( ( ndr1_0
& ndr1_1(a352)
& ~ c2_2(a352,a353)
& ~ c5_2(a352,a353)
& c6_2(a352,a353)
& c10_1(a352)
& ~ c8_1(a352) )
| c10_0 )
& ( ~ c2_0
| ! [X77] :
( ndr1_0
=> ( ~ c1_1(X77)
| ( ndr1_1(X77)
& c5_2(X77,a354)
& c9_2(X77,a354)
& c4_2(X77,a354) )
| c7_1(X77) ) )
| ( ndr1_0
& ~ c7_1(a355)
& ~ c4_1(a355)
& ~ c6_1(a355) ) )
& ( ( ndr1_0
& c8_1(a356)
& ndr1_1(a356)
& c1_2(a356,a357)
& ~ c6_2(a356,a357)
& ~ c5_2(a356,a357)
& ~ c2_1(a356) )
| ( ndr1_0
& ndr1_1(a358)
& ~ c2_2(a358,a359)
& c5_2(a358,a359)
& c10_2(a358,a359)
& ~ c3_1(a358)
& ~ c8_1(a358) )
| ! [X78] :
( ndr1_0
=> ( c10_1(X78)
| ! [X79] :
( ndr1_1(X78)
=> ( c3_2(X78,X79)
| c7_2(X78,X79)
| ~ c1_2(X78,X79) ) )
| ! [X80] :
( ndr1_1(X78)
=> ( c6_2(X78,X80)
| ~ c8_2(X78,X80)
| c5_2(X78,X80) ) ) ) ) )
& ( ( ndr1_0
& ~ c7_1(a360)
& ~ c6_1(a360)
& ~ c5_1(a360) )
| c9_0
| ( ndr1_0
& c3_1(a361)
& c4_1(a361)
& ~ c1_1(a361) ) )
& ( ! [X81] :
( ndr1_0
=> ( ! [X82] :
( ndr1_1(X81)
=> ( c2_2(X81,X82)
| c7_2(X81,X82)
| c10_2(X81,X82) ) )
| c2_1(X81)
| c5_1(X81) ) )
| ( ndr1_0
& ! [X83] :
( ndr1_1(a362)
=> ( ~ c10_2(a362,X83)
| ~ c4_2(a362,X83)
| c7_2(a362,X83) ) )
& ~ c10_1(a362)
& ! [X84] :
( ndr1_1(a362)
=> ( ~ c7_2(a362,X84)
| c4_2(a362,X84)
| ~ c5_2(a362,X84) ) ) )
| ! [X85] :
( ndr1_0
=> ( ( ndr1_1(X85)
& c5_2(X85,a363)
& c4_2(X85,a363) )
| c6_1(X85)
| ~ c10_1(X85) ) ) )
& ( ~ c10_0
| ~ c1_0
| c5_0 )
& ( ~ c6_0
| ( ndr1_0
& c8_1(a364)
& c9_1(a364)
& ! [X86] :
( ndr1_1(a364)
=> ( c4_2(a364,X86)
| c2_2(a364,X86) ) ) )
| ! [X87] :
( ndr1_0
=> ( ~ c3_1(X87)
| ! [X88] :
( ndr1_1(X87)
=> ( ~ c4_2(X87,X88)
| c7_2(X87,X88)
| c6_2(X87,X88) ) ) ) ) )
& ( ! [X89] :
( ndr1_0
=> ( c3_1(X89)
| ! [X90] :
( ndr1_1(X89)
=> ( c5_2(X89,X90)
| ~ c2_2(X89,X90)
| c3_2(X89,X90) ) )
| c1_1(X89) ) )
| ( ndr1_0
& c7_1(a365)
& c3_1(a365)
& ndr1_1(a365)
& ~ c8_2(a365,a366)
& c1_2(a365,a366)
& c4_2(a365,a366) )
| ! [X91] :
( ndr1_0
=> ( c3_1(X91)
| ~ c5_1(X91) ) ) )
& ( ~ c6_0
| ~ c1_0
| ~ c9_0 )
& ( ( ndr1_0
& ! [X92] :
( ndr1_1(a367)
=> ( c10_2(a367,X92)
| ~ c7_2(a367,X92)
| ~ c1_2(a367,X92) ) )
& ndr1_1(a367)
& c2_2(a367,a368)
& c7_2(a367,a368)
& c10_2(a367,a368) )
| ! [X93] :
( ndr1_0
=> ( ! [X94] :
( ndr1_1(X93)
=> ( ~ c7_2(X93,X94)
| c4_2(X93,X94)
| c5_2(X93,X94) ) )
| ! [X95] :
( ndr1_1(X93)
=> ( ~ c6_2(X93,X95)
| ~ c3_2(X93,X95)
| c1_2(X93,X95) ) )
| c6_1(X93) ) )
| ( ndr1_0
& ndr1_1(a369)
& ~ c4_2(a369,a370)
& ~ c9_2(a369,a370)
& c3_2(a369,a370)
& ~ c2_1(a369)
& ~ c1_1(a369) ) )
& ( c7_0
| ( ndr1_0
& ndr1_1(a371)
& ~ c2_2(a371,a372)
& ~ c1_2(a371,a372)
& c6_1(a371)
& ndr1_1(a371)
& ~ c9_2(a371,a373)
& ~ c1_2(a371,a373)
& ~ c6_2(a371,a373) )
| ( ndr1_0
& ~ c9_1(a374)
& c8_1(a374)
& c10_1(a374) ) )
& ( ~ c6_0
| ~ c4_0
| ! [X96] :
( ndr1_0
=> ( c8_1(X96)
| ! [X97] :
( ndr1_1(X96)
=> ( c7_2(X96,X97)
| c10_2(X96,X97)
| c2_2(X96,X97) ) )
| ! [X98] :
( ndr1_1(X96)
=> ( ~ c10_2(X96,X98)
| c3_2(X96,X98)
| ~ c4_2(X96,X98) ) ) ) ) )
& ( ( ndr1_0
& ndr1_1(a375)
& c7_2(a375,a376)
& ~ c2_2(a375,a376)
& c1_2(a375,a376)
& c8_1(a375)
& ndr1_1(a375)
& ~ c8_2(a375,a377)
& ~ c6_2(a375,a377) )
| ! [X99] :
( ndr1_0
=> ( ! [X100] :
( ndr1_1(X99)
=> ( c9_2(X99,X100)
| c3_2(X99,X100)
| c5_2(X99,X100) ) )
| ~ c1_1(X99)
| ~ c3_1(X99) ) )
| ! [X101] :
( ndr1_0
=> ( c3_1(X101)
| ! [X102] :
( ndr1_1(X101)
=> ( ~ c6_2(X101,X102)
| c9_2(X101,X102)
| c2_2(X101,X102) ) )
| ~ c9_1(X101) ) ) )
& ( c6_0
| c9_0
| ( ndr1_0
& ! [X103] :
( ndr1_1(a378)
=> ( ~ c4_2(a378,X103)
| ~ c9_2(a378,X103)
| ~ c2_2(a378,X103) ) )
& ! [X104] :
( ndr1_1(a378)
=> ( c5_2(a378,X104)
| c8_2(a378,X104)
| ~ c9_2(a378,X104) ) )
& c2_1(a378) ) )
& ( ~ c4_0
| c8_0
| ! [X105] :
( ndr1_0
=> ( ( ndr1_1(X105)
& c6_2(X105,a379)
& c7_2(X105,a379)
& ~ c4_2(X105,a379) )
| ( ndr1_1(X105)
& ~ c2_2(X105,a380)
& ~ c1_2(X105,a380)
& ~ c4_2(X105,a380) ) ) ) )
& ( ~ c4_0
| ( ndr1_0
& c1_1(a381)
& ndr1_1(a381)
& ~ c2_2(a381,a382)
& ~ c5_2(a381,a382)
& c8_2(a381,a382)
& ! [X106] :
( ndr1_1(a381)
=> ( ~ c9_2(a381,X106)
| ~ c10_2(a381,X106)
| c8_2(a381,X106) ) ) )
| ~ c5_0 )
& ( c9_0
| c3_0
| ! [X107] :
( ndr1_0
=> ( ( ndr1_1(X107)
& c8_2(X107,a383)
& ~ c3_2(X107,a383)
& ~ c9_2(X107,a383) )
| ! [X108] :
( ndr1_1(X107)
=> ( ~ c3_2(X107,X108)
| c9_2(X107,X108)
| ~ c6_2(X107,X108) ) )
| ! [X109] :
( ndr1_1(X107)
=> ( ~ c2_2(X107,X109)
| ~ c10_2(X107,X109) ) ) ) ) )
& ( ~ c9_0
| c4_0
| ( ndr1_0
& ! [X110] :
( ndr1_1(a384)
=> ( ~ c5_2(a384,X110)
| c2_2(a384,X110)
| c6_2(a384,X110) ) )
& ! [X111] :
( ndr1_1(a384)
=> ( c4_2(a384,X111)
| c8_2(a384,X111)
| c3_2(a384,X111) ) )
& ndr1_1(a384)
& ~ c5_2(a384,a385)
& c9_2(a384,a385)
& ~ c6_2(a384,a385) ) )
& ( ( ndr1_0
& ~ c7_1(a386)
& c9_1(a386)
& c2_1(a386) )
| ~ c2_0
| ! [X112] :
( ndr1_0
=> ( ( ndr1_1(X112)
& c2_2(X112,a387)
& ~ c6_2(X112,a387)
& ~ c1_2(X112,a387) )
| ~ c10_1(X112)
| c5_1(X112) ) ) )
& ( ~ c4_0
| ! [X113] :
( ndr1_0
=> ( c3_1(X113)
| ( ndr1_1(X113)
& ~ c7_2(X113,a388)
& ~ c9_2(X113,a388)
& ~ c4_2(X113,a388) )
| ~ c9_1(X113) ) )
| ! [X114] :
( ndr1_0
=> ( ( ndr1_1(X114)
& ~ c2_2(X114,a389)
& c4_2(X114,a389)
& c5_2(X114,a389) )
| ( ndr1_1(X114)
& ~ c5_2(X114,a390)
& c9_2(X114,a390)
& ~ c1_2(X114,a390) )
| ~ c6_1(X114) ) ) )
& ( ! [X115] :
( ndr1_0
=> ( ( ndr1_1(X115)
& ~ c1_2(X115,a391)
& ~ c9_2(X115,a391)
& ~ c2_2(X115,a391) )
| ( ndr1_1(X115)
& c1_2(X115,a392)
& ~ c2_2(X115,a392)
& ~ c6_2(X115,a392) )
| ( ndr1_1(X115)
& ~ c8_2(X115,a393)
& ~ c3_2(X115,a393)
& c6_2(X115,a393) ) ) )
| ( ndr1_0
& ~ c4_1(a394)
& c1_1(a394)
& c3_1(a394) )
| ( ndr1_0
& ~ c2_1(a395)
& c7_1(a395)
& ndr1_1(a395)
& c9_2(a395,a396)
& c3_2(a395,a396)
& c6_2(a395,a396) ) )
& ( c9_0
| ( ndr1_0
& ~ c6_1(a397)
& ! [X116] :
( ndr1_1(a397)
=> ( ~ c7_2(a397,X116)
| c1_2(a397,X116)
| c10_2(a397,X116) ) ) )
| c6_0 )
& ( ( ndr1_0
& c8_1(a398)
& ! [X117] :
( ndr1_1(a398)
=> ( c1_2(a398,X117)
| c2_2(a398,X117)
| ~ c3_2(a398,X117) ) )
& c7_1(a398) )
| ~ c6_0 )
& ( ! [X118] :
( ndr1_0
=> ( c9_1(X118)
| ( ndr1_1(X118)
& c8_2(X118,a399)
& ~ c9_2(X118,a399)
& c3_2(X118,a399) )
| c3_1(X118) ) )
| ! [X119] :
( ndr1_0
=> ( ~ c3_1(X119)
| ! [X120] :
( ndr1_1(X119)
=> ( c5_2(X119,X120)
| ~ c7_2(X119,X120)
| c2_2(X119,X120) ) )
| ( ndr1_1(X119)
& ~ c8_2(X119,a400)
& c2_2(X119,a400)
& ~ c7_2(X119,a400) ) ) )
| ~ c7_0 )
& ( ! [X121] :
( ndr1_0
=> ( ~ c4_1(X121)
| ! [X122] :
( ndr1_1(X121)
=> ( ~ c6_2(X121,X122)
| c1_2(X121,X122)
| ~ c9_2(X121,X122) ) )
| ! [X123] :
( ndr1_1(X121)
=> ( c6_2(X121,X123)
| ~ c10_2(X121,X123) ) ) ) )
| c4_0
| ( ndr1_0
& ~ c6_1(a401)
& c1_1(a401) ) )
& ( ! [X124] :
( ndr1_0
=> ( ( ndr1_1(X124)
& ~ c9_2(X124,a402)
& c7_2(X124,a402)
& ~ c2_2(X124,a402) )
| ~ c10_1(X124)
| ~ c2_1(X124) ) )
| ( ndr1_0
& ndr1_1(a403)
& c5_2(a403,a404)
& c3_2(a403,a404)
& ~ c7_2(a403,a404)
& ! [X125] :
( ndr1_1(a403)
=> ( ~ c10_2(a403,X125)
| ~ c6_2(a403,X125)
| ~ c4_2(a403,X125) ) )
& ~ c3_1(a403) )
| ( ndr1_0
& c8_1(a405)
& ! [X126] :
( ndr1_1(a405)
=> ( c1_2(a405,X126)
| ~ c10_2(a405,X126) ) ) ) )
& ( ( ndr1_0
& ! [X127] :
( ndr1_1(a406)
=> ( ~ c2_2(a406,X127)
| c1_2(a406,X127)
| c9_2(a406,X127) ) )
& ~ c3_1(a406) )
| ! [X128] :
( ndr1_0
=> ( ~ c2_1(X128)
| ( ndr1_1(X128)
& c10_2(X128,a407)
& c5_2(X128,a407)
& ~ c2_2(X128,a407) )
| c9_1(X128) ) )
| ( ndr1_0
& ndr1_1(a408)
& c10_2(a408,a409)
& c2_2(a408,a409)
& ~ c5_2(a408,a409)
& ! [X129] :
( ndr1_1(a408)
=> ( ~ c7_2(a408,X129)
| c8_2(a408,X129)
| c3_2(a408,X129) ) )
& ndr1_1(a408)
& c2_2(a408,a410)
& c10_2(a408,a410)
& ~ c4_2(a408,a410) ) )
& ( ! [X130] :
( ndr1_0
=> ( ! [X131] :
( ndr1_1(X130)
=> ( ~ c5_2(X130,X131)
| c2_2(X130,X131)
| c9_2(X130,X131) ) )
| ! [X132] :
( ndr1_1(X130)
=> ( c10_2(X130,X132)
| c2_2(X130,X132)
| ~ c7_2(X130,X132) ) )
| ~ c8_1(X130) ) )
| ~ c6_0
| ~ c8_0 )
& ( ! [X133] :
( ndr1_0
=> ( ~ c1_1(X133)
| ! [X134] :
( ndr1_1(X133)
=> ( ~ c10_2(X133,X134)
| c6_2(X133,X134)
| c4_2(X133,X134) ) )
| ( ndr1_1(X133)
& ~ c7_2(X133,a411)
& c3_2(X133,a411)
& ~ c2_2(X133,a411) ) ) )
| ! [X135] :
( ndr1_0
=> ( ( ndr1_1(X135)
& c3_2(X135,a412)
& c5_2(X135,a412)
& ~ c4_2(X135,a412) )
| ( ndr1_1(X135)
& ~ c4_2(X135,a413)
& ~ c1_2(X135,a413)
& c3_2(X135,a413) )
| ~ c5_1(X135) ) )
| ~ c10_0 )
& ( ! [X136] :
( ndr1_0
=> ( ~ c10_1(X136)
| ~ c2_1(X136)
| ! [X137] :
( ndr1_1(X136)
=> ( c10_2(X136,X137)
| c6_2(X136,X137)
| ~ c2_2(X136,X137) ) ) ) )
| ~ c8_0
| c7_0 )
& ( ( ndr1_0
& ~ c1_1(a414)
& ndr1_1(a414)
& c6_2(a414,a415)
& ~ c8_2(a414,a415)
& c2_2(a414,a415)
& ! [X138] :
( ndr1_1(a414)
=> ( c7_2(a414,X138)
| ~ c3_2(a414,X138)
| c1_2(a414,X138) ) ) )
| ~ c3_0
| ( ndr1_0
& ! [X139] :
( ndr1_1(a416)
=> ( c4_2(a416,X139)
| ~ c1_2(a416,X139)
| ~ c5_2(a416,X139) ) )
& ndr1_1(a416)
& ~ c4_2(a416,a417)
& c7_2(a416,a417)
& c5_2(a416,a417)
& ndr1_1(a416)
& c8_2(a416,a418)
& c6_2(a416,a418) ) )
& ( ~ c8_0
| ! [X140] :
( ndr1_0
=> ( ! [X141] :
( ndr1_1(X140)
=> ( ~ c5_2(X140,X141)
| c1_2(X140,X141)
| c6_2(X140,X141) ) )
| ( ndr1_1(X140)
& ~ c5_2(X140,a419)
& ~ c1_2(X140,a419) )
| ~ c9_1(X140) ) )
| ~ c4_0 )
& ( ~ c10_0
| ( ndr1_0
& ndr1_1(a420)
& c7_2(a420,a421)
& ~ c3_2(a420,a421)
& c10_2(a420,a421)
& ~ c8_1(a420)
& c7_1(a420) )
| ~ c9_0 )
& ( ( ndr1_0
& ! [X142] :
( ndr1_1(a422)
=> ( ~ c9_2(a422,X142)
| c5_2(a422,X142)
| ~ c7_2(a422,X142) ) )
& c1_1(a422)
& ndr1_1(a422)
& ~ c10_2(a422,a423)
& ~ c6_2(a422,a423)
& ~ c8_2(a422,a423) )
| ( ndr1_0
& ~ c5_1(a424)
& ndr1_1(a424)
& ~ c5_2(a424,a425)
& c7_2(a424,a425) )
| ~ c3_0 )
& ( ~ c2_0
| ! [X143] :
( ndr1_0
=> ( ~ c3_1(X143)
| ( ndr1_1(X143)
& ~ c3_2(X143,a426)
& c9_2(X143,a426)
& c4_2(X143,a426) ) ) )
| ~ c8_0 )
& ( ( ndr1_0
& ~ c7_1(a427)
& ! [X144] :
( ndr1_1(a427)
=> ( c10_2(a427,X144)
| ~ c6_2(a427,X144)
| ~ c8_2(a427,X144) ) )
& ! [X145] :
( ndr1_1(a427)
=> ( c3_2(a427,X145)
| ~ c1_2(a427,X145)
| ~ c10_2(a427,X145) ) ) )
| ! [X146] :
( ndr1_0
=> ( ! [X147] :
( ndr1_1(X146)
=> ( c7_2(X146,X147)
| c1_2(X146,X147)
| ~ c2_2(X146,X147) ) )
| c6_1(X146)
| ( ndr1_1(X146)
& ~ c10_2(X146,a428)
& ~ c1_2(X146,a428)
& ~ c8_2(X146,a428) ) ) )
| ! [X148] :
( ndr1_0
=> ( ( ndr1_1(X148)
& c7_2(X148,a429)
& ~ c8_2(X148,a429)
& ~ c5_2(X148,a429) )
| ~ c9_1(X148)
| c1_1(X148) ) ) )
& ( c7_0
| c3_0
| ~ c8_0 )
& ( ! [X149] :
( ndr1_0
=> ~ c10_1(X149) )
| ! [X150] :
( ndr1_0
=> ( ( ndr1_1(X150)
& c6_2(X150,a430)
& c2_2(X150,a430)
& ~ c10_2(X150,a430) )
| c5_1(X150)
| ~ c4_1(X150) ) )
| ( ndr1_0
& c2_1(a431)
& ~ c4_1(a431)
& c6_1(a431) ) )
& ( c9_0
| ~ c10_0
| ( ndr1_0
& ndr1_1(a432)
& ~ c2_2(a432,a433)
& ~ c8_2(a432,a433)
& ~ c9_2(a432,a433)
& ~ c5_1(a432)
& c3_1(a432) ) )
& ( ! [X151] :
( ndr1_0
=> ( c4_1(X151)
| ! [X152] :
( ndr1_1(X151)
=> ( c7_2(X151,X152)
| ~ c8_2(X151,X152)
| ~ c2_2(X151,X152) ) )
| ! [X153] :
( ndr1_1(X151)
=> ( ~ c5_2(X151,X153)
| ~ c6_2(X151,X153)
| ~ c9_2(X151,X153) ) ) ) )
| ! [X154] :
( ndr1_0
=> ( ~ c10_1(X154)
| ! [X155] :
( ndr1_1(X154)
=> ( ~ c2_2(X154,X155)
| ~ c7_2(X154,X155)
| c10_2(X154,X155) ) )
| ~ c1_1(X154) ) )
| c3_0 )
& ( ( ndr1_0
& c7_1(a434)
& ndr1_1(a434)
& c9_2(a434,a435)
& c4_2(a434,a435)
& ~ c1_2(a434,a435)
& ~ c6_1(a434) )
| ( ndr1_0
& ndr1_1(a436)
& c8_2(a436,a437)
& c3_2(a436,a437)
& c4_2(a436,a437)
& ! [X156] :
( ndr1_1(a436)
=> ( c1_2(a436,X156)
| ~ c9_2(a436,X156)
| ~ c3_2(a436,X156) ) )
& ~ c2_1(a436) )
| c8_0 )
& ( c5_0
| ( ndr1_0
& ! [X157] :
( ndr1_1(a438)
=> ( ~ c10_2(a438,X157)
| c3_2(a438,X157)
| c9_2(a438,X157) ) )
& ! [X158] :
( ndr1_1(a438)
=> ( c7_2(a438,X158)
| ~ c6_2(a438,X158)
| c1_2(a438,X158) ) )
& ! [X159] :
( ndr1_1(a438)
=> ( c6_2(a438,X159)
| ~ c2_2(a438,X159)
| c10_2(a438,X159) ) ) )
| ~ c2_0 )
& ( ! [X160] :
( ndr1_0
=> ( ! [X161] :
( ndr1_1(X160)
=> ( ~ c1_2(X160,X161)
| c4_2(X160,X161)
| ~ c10_2(X160,X161) ) )
| c1_1(X160)
| ~ c4_1(X160) ) )
| ! [X162] :
( ndr1_0
=> ( ~ c9_1(X162)
| c1_1(X162)
| ( ndr1_1(X162)
& ~ c5_2(X162,a439)
& c7_2(X162,a439) ) ) )
| c6_0 )
& ( ~ c7_0
| ! [X163] :
( ndr1_0
=> ( c10_1(X163)
| ~ c9_1(X163)
| ( ndr1_1(X163)
& ~ c5_2(X163,a440)
& c1_2(X163,a440)
& c6_2(X163,a440) ) ) ) )
& ( ( ndr1_0
& ! [X164] :
( ndr1_1(a441)
=> ( c7_2(a441,X164)
| ~ c5_2(a441,X164)
| ~ c8_2(a441,X164) ) )
& ! [X165] :
( ndr1_1(a441)
=> ( c5_2(a441,X165)
| c2_2(a441,X165)
| ~ c4_2(a441,X165) ) ) )
| ( ndr1_0
& c8_1(a442)
& ! [X166] :
( ndr1_1(a442)
=> ( c5_2(a442,X166)
| ~ c3_2(a442,X166)
| ~ c10_2(a442,X166) ) )
& ! [X167] :
( ndr1_1(a442)
=> ( c2_2(a442,X167)
| ~ c1_2(a442,X167)
| c7_2(a442,X167) ) ) )
| ( ndr1_0
& ! [X168] :
( ndr1_1(a443)
=> ( c3_2(a443,X168)
| c10_2(a443,X168)
| ~ c5_2(a443,X168) ) )
& ! [X169] :
( ndr1_1(a443)
=> ( c8_2(a443,X169)
| c6_2(a443,X169)
| ~ c5_2(a443,X169) ) )
& ! [X170] :
( ndr1_1(a443)
=> ( ~ c3_2(a443,X170)
| ~ c9_2(a443,X170) ) ) ) )
& ( c8_0
| ! [X171] :
( ndr1_0
=> ( ~ c1_1(X171)
| c8_1(X171)
| ~ c7_1(X171) ) )
| ( ndr1_0
& ! [X172] :
( ndr1_1(a444)
=> ( c10_2(a444,X172)
| c4_2(a444,X172)
| c2_2(a444,X172) ) )
& c8_1(a444)
& ! [X173] :
( ndr1_1(a444)
=> ( ~ c5_2(a444,X173)
| ~ c10_2(a444,X173)
| c9_2(a444,X173) ) ) ) )
& ( ~ c7_0
| ( ndr1_0
& c1_1(a445)
& c6_1(a445) )
| c3_0 )
& ( c4_0
| ! [X174] :
( ndr1_0
=> ( ( ndr1_1(X174)
& ~ c8_2(X174,a446)
& c10_2(X174,a446)
& c1_2(X174,a446) )
| ( ndr1_1(X174)
& ~ c10_2(X174,a447)
& c7_2(X174,a447)
& c3_2(X174,a447) )
| ! [X175] :
( ndr1_1(X174)
=> ( c10_2(X174,X175)
| ~ c3_2(X174,X175)
| ~ c4_2(X174,X175) ) ) ) )
| ~ c5_0 )
& ( ~ c5_0
| c6_0
| c4_0 )
& ( ( ndr1_0
& c10_1(a448)
& ~ c2_1(a448)
& ! [X176] :
( ndr1_1(a448)
=> ( ~ c4_2(a448,X176)
| c7_2(a448,X176)
| c6_2(a448,X176) ) ) )
| c8_0
| c2_0 ) ) ).
%--------------------------------------------------------------------------