TSTP Solution File: GEO042-2 by Bliksem---1.12

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Bliksem---1.12
% Problem  : GEO042-2 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : bliksem %s

% Computer : n020.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  : 0s
% DateTime : Sat Jul 16 02:51:06 EDT 2022

% Result   : Unsatisfiable 7.27s 7.70s
% Output   : Refutation 7.34s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : GEO042-2 : TPTP v8.1.0. Released v1.0.0.
% 0.11/0.12  % Command  : bliksem %s
% 0.12/0.33  % Computer : n020.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % DateTime : Fri Jun 17 20:01:04 EDT 2022
% 0.19/0.34  % CPUTime  : 
% 7.27/7.70  *** allocated 10000 integers for termspace/termends
% 7.27/7.70  *** allocated 10000 integers for clauses
% 7.27/7.70  *** allocated 10000 integers for justifications
% 7.27/7.70  Bliksem 1.12
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Automatic Strategy Selection
% 7.27/7.70  
% 7.27/7.70  Clauses:
% 7.27/7.70  [
% 7.27/7.70     [ equidistant( X, Y, Y, X ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, Z, T ) ), ~( equidistant( X, Y, U, W ) ), 
% 7.27/7.70    equidistant( Z, T, U, W ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ],
% 7.27/7.70     [ between( X, Y, extension( X, Y, Z, T ) ) ],
% 7.27/7.70     [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, Z, T ) ), ~( equidistant( Y, U, T, W ) ), ~( 
% 7.27/7.70    equidistant( X, V0, Z, V1 ) ), ~( equidistant( Y, V0, T, V1 ) ), ~( 
% 7.27/7.70    between( X, Y, U ) ), ~( between( Z, T, W ) ), =( X, Y ), equidistant( U
% 7.27/7.70    , V0, W, V1 ) ],
% 7.27/7.70     [ ~( between( X, Y, X ) ), =( X, Y ) ],
% 7.27/7.70     [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( Y, 
% 7.27/7.70    'inner_pasch'( X, Y, Z, U, T ), T ) ],
% 7.27/7.70     [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( U, 
% 7.27/7.70    'inner_pasch'( X, Y, Z, U, T ), X ) ],
% 7.27/7.70     [ ~( between( 'lower_dimension_point_1', 'lower_dimension_point_2', 
% 7.27/7.70    'lower_dimension_point_3' ) ) ],
% 7.27/7.70     [ ~( between( 'lower_dimension_point_2', 'lower_dimension_point_3', 
% 7.27/7.70    'lower_dimension_point_1' ) ) ],
% 7.27/7.70     [ ~( between( 'lower_dimension_point_3', 'lower_dimension_point_1', 
% 7.27/7.70    'lower_dimension_point_2' ) ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( T, Y, T, Z ) ), ~( 
% 7.27/7.70    equidistant( U, Y, U, Z ) ), between( X, T, U ), between( T, U, X ), 
% 7.27/7.70    between( U, X, T ), =( Y, Z ) ],
% 7.27/7.70     [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, Y ), between( 
% 7.27/7.70    X, T, euclid1( X, T, Y, U, Z ) ) ],
% 7.27/7.70     [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, Y ), between( 
% 7.27/7.70    X, U, euclid2( X, T, Y, U, Z ) ) ],
% 7.27/7.70     [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, Y ), between( 
% 7.27/7.70    euclid1( X, T, Y, U, Z ), Z, euclid2( X, T, Y, U, Z ) ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( X, T, X, U ) ), ~( 
% 7.27/7.70    between( X, Y, T ) ), ~( between( Y, W, T ) ), between( Z, continuous( X
% 7.27/7.70    , Y, Z, W, T, U ), U ) ],
% 7.27/7.70     [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( X, T, X, U ) ), ~( 
% 7.27/7.70    between( X, Y, T ) ), ~( between( Y, W, T ) ), equidistant( X, W, X, 
% 7.27/7.70    continuous( X, Y, Z, W, T, U ) ) ],
% 7.27/7.70     [ between( u, v, x ) ],
% 7.27/7.70     [ between( v, w, x ) ],
% 7.27/7.70     [ ~( between( u, v, w ) ) ]
% 7.27/7.70  ] .
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  percentage equality = 0.118644, percentage horn = 0.761905
% 7.27/7.70  This is a problem with some equality
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Options Used:
% 7.27/7.70  
% 7.27/7.70  useres =            1
% 7.27/7.70  useparamod =        1
% 7.27/7.70  useeqrefl =         1
% 7.27/7.70  useeqfact =         1
% 7.27/7.70  usefactor =         1
% 7.27/7.70  usesimpsplitting =  0
% 7.27/7.70  usesimpdemod =      5
% 7.27/7.70  usesimpres =        3
% 7.27/7.70  
% 7.27/7.70  resimpinuse      =  1000
% 7.27/7.70  resimpclauses =     20000
% 7.27/7.70  substype =          eqrewr
% 7.27/7.70  backwardsubs =      1
% 7.27/7.70  selectoldest =      5
% 7.27/7.70  
% 7.27/7.70  litorderings [0] =  split
% 7.27/7.70  litorderings [1] =  extend the termordering, first sorting on arguments
% 7.27/7.70  
% 7.27/7.70  termordering =      kbo
% 7.27/7.70  
% 7.27/7.70  litapriori =        0
% 7.27/7.70  termapriori =       1
% 7.27/7.70  litaposteriori =    0
% 7.27/7.70  termaposteriori =   0
% 7.27/7.70  demodaposteriori =  0
% 7.27/7.70  ordereqreflfact =   0
% 7.27/7.70  
% 7.27/7.70  litselect =         negord
% 7.27/7.70  
% 7.27/7.70  maxweight =         15
% 7.27/7.70  maxdepth =          30000
% 7.27/7.70  maxlength =         115
% 7.27/7.70  maxnrvars =         195
% 7.27/7.70  excuselevel =       1
% 7.27/7.70  increasemaxweight = 1
% 7.27/7.70  
% 7.27/7.70  maxselected =       10000000
% 7.27/7.70  maxnrclauses =      10000000
% 7.27/7.70  
% 7.27/7.70  showgenerated =    0
% 7.27/7.70  showkept =         0
% 7.27/7.70  showselected =     0
% 7.27/7.70  showdeleted =      0
% 7.27/7.70  showresimp =       1
% 7.27/7.70  showstatus =       2000
% 7.27/7.70  
% 7.27/7.70  prologoutput =     1
% 7.27/7.70  nrgoals =          5000000
% 7.27/7.70  totalproof =       1
% 7.27/7.70  
% 7.27/7.70  Symbols occurring in the translation:
% 7.27/7.70  
% 7.27/7.70  {}  [0, 0]      (w:1, o:2, a:1, s:1, b:0), 
% 7.27/7.70  .  [1, 2]      (w:1, o:32, a:1, s:1, b:0), 
% 7.27/7.70  !  [4, 1]      (w:0, o:27, a:1, s:1, b:0), 
% 7.27/7.70  =  [13, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 7.27/7.70  ==>  [14, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 7.27/7.70  equidistant  [41, 4]      (w:1, o:58, a:1, s:1, b:0), 
% 7.27/7.70  extension  [46, 4]      (w:1, o:59, a:1, s:1, b:0), 
% 7.27/7.70  between  [47, 3]      (w:1, o:57, a:1, s:1, b:0), 
% 7.27/7.70  'inner_pasch'  [53, 5]      (w:1, o:60, a:1, s:1, b:0), 
% 7.27/7.70  'lower_dimension_point_1'  [54, 0]      (w:1, o:20, a:1, s:1, b:0), 
% 7.27/7.70  'lower_dimension_point_2'  [55, 0]      (w:1, o:21, a:1, s:1, b:0), 
% 7.27/7.70  'lower_dimension_point_3'  [56, 0]      (w:1, o:22, a:1, s:1, b:0), 
% 7.27/7.70  euclid1  [57, 5]      (w:1, o:61, a:1, s:1, b:0), 
% 7.27/7.70  euclid2  [58, 5]      (w:1, o:62, a:1, s:1, b:0), 
% 7.27/7.70  continuous  [59, 6]      (w:1, o:63, a:1, s:1, b:0), 
% 7.27/7.70  u  [60, 0]      (w:1, o:23, a:1, s:1, b:0), 
% 7.27/7.70  v  [61, 0]      (w:1, o:24, a:1, s:1, b:0), 
% 7.27/7.70  x  [62, 0]      (w:1, o:26, a:1, s:1, b:0), 
% 7.27/7.70  w  [63, 0]      (w:1, o:25, a:1, s:1, b:0).
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Starting Search:
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    17730
% 7.27/7.70  Kept:         2006
% 7.27/7.70  Inuse:        206
% 7.27/7.70  Deleted:      35
% 7.27/7.70  Deletedinuse: 0
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    29741
% 7.27/7.70  Kept:         4006
% 7.27/7.70  Inuse:        293
% 7.27/7.70  Deleted:      71
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    58187
% 7.27/7.70  Kept:         6115
% 7.27/7.70  Inuse:        491
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    85400
% 7.27/7.70  Kept:         8298
% 7.27/7.70  Inuse:        711
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    199346
% 7.27/7.70  Kept:         10308
% 7.27/7.70  Inuse:        812
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    322333
% 7.27/7.70  Kept:         12312
% 7.27/7.70  Inuse:        948
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    411630
% 7.27/7.70  Kept:         14312
% 7.27/7.70  Inuse:        1079
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    451629
% 7.27/7.70  Kept:         16343
% 7.27/7.70  Inuse:        1152
% 7.27/7.70  Deleted:      83
% 7.27/7.70  Deletedinuse: 3
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    504699
% 7.27/7.70  Kept:         18489
% 7.27/7.70  Inuse:        1250
% 7.27/7.70  Deleted:      182
% 7.27/7.70  Deletedinuse: 24
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  Resimplifying clauses:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Intermediate Status:
% 7.27/7.70  Generated:    548986
% 7.27/7.70  Kept:         20507
% 7.27/7.70  Inuse:        1306
% 7.27/7.70  Deleted:      2851
% 7.27/7.70  Deletedinuse: 31
% 7.27/7.70  
% 7.27/7.70  Resimplifying inuse:
% 7.27/7.70  Done
% 7.27/7.70  
% 7.27/7.70  
% 7.27/7.70  Bliksems!, er is een bewijs:
% 7.27/7.70  % SZS status Unsatisfiable
% 7.27/7.70  % SZS output start Refutation
% 7.27/7.70  
% 7.27/7.70  clause( 2, [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 3, [ between( X, Y, extension( X, Y, Z, T ) ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 4, [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 6, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 7, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( Y, 
% 7.27/7.70    'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 8, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( U, 
% 7.27/7.70    'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 18, [ between( u, v, x ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 19, [ between( v, w, x ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 20, [ ~( between( u, v, w ) ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 237, [ =( extension( Y, X, Z, Z ), X ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 243, [ between( X, Y, Y ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 357, [ ~( between( X, Y, x ) ), between( w, 'inner_pasch'( v, w, x
% 7.27/7.70    , Y, X ), X ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 364, [ ~( between( X, Y, Z ) ), ~( between( U, T, Z ) ), between( Y
% 7.27/7.70    , W, U ), ~( between( W, 'inner_pasch'( X, Y, Z, T, U ), W ) ) ] )
% 7.27/7.70  .
% 7.27/7.70  clause( 393, [ ~( between( X, Y, Z ) ), between( Y, 'inner_pasch'( T, Z, Z
% 7.34/7.70    , Y, X ), T ) ] )
% 7.34/7.70  .
% 7.34/7.70  clause( 397, [ ~( between( X, Y, Z ) ), ~( between( T, X, Z ) ), =( 
% 7.34/7.70    'inner_pasch'( X, Y, Z, X, T ), X ) ] )
% 7.34/7.70  .
% 7.34/7.70  clause( 18911, [ ~( between( X, Y, Z ) ), between( Z, Y, X ) ] )
% 7.34/7.70  .
% 7.34/7.70  clause( 19373, [ ~( between( w, v, u ) ) ] )
% 7.34/7.70  .
% 7.34/7.70  clause( 19909, [ ~( between( X, v, x ) ), between( w, v, X ) ] )
% 7.34/7.70  .
% 7.34/7.70  clause( 20802, [] )
% 7.34/7.70  .
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  % SZS output end Refutation
% 7.34/7.70  found a proof!
% 7.34/7.70  
% 7.34/7.70  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 7.34/7.70  
% 7.34/7.70  initialclauses(
% 7.34/7.70  [ clause( 20804, [ equidistant( X, Y, Y, X ) ] )
% 7.34/7.70  , clause( 20805, [ ~( equidistant( X, Y, Z, T ) ), ~( equidistant( X, Y, U
% 7.34/7.70    , W ) ), equidistant( Z, T, U, W ) ] )
% 7.34/7.70  , clause( 20806, [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ] )
% 7.34/7.70  , clause( 20807, [ between( X, Y, extension( X, Y, Z, T ) ) ] )
% 7.34/7.70  , clause( 20808, [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ] )
% 7.34/7.70  , clause( 20809, [ ~( equidistant( X, Y, Z, T ) ), ~( equidistant( Y, U, T
% 7.34/7.70    , W ) ), ~( equidistant( X, V0, Z, V1 ) ), ~( equidistant( Y, V0, T, V1 )
% 7.34/7.70     ), ~( between( X, Y, U ) ), ~( between( Z, T, W ) ), =( X, Y ), 
% 7.34/7.70    equidistant( U, V0, W, V1 ) ] )
% 7.34/7.70  , clause( 20810, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 7.34/7.70  , clause( 20811, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), 
% 7.34/7.70    between( Y, 'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 7.34/7.70  , clause( 20812, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), 
% 7.34/7.70    between( U, 'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 7.34/7.70  , clause( 20813, [ ~( between( 'lower_dimension_point_1', 
% 7.34/7.70    'lower_dimension_point_2', 'lower_dimension_point_3' ) ) ] )
% 7.34/7.70  , clause( 20814, [ ~( between( 'lower_dimension_point_2', 
% 7.34/7.70    'lower_dimension_point_3', 'lower_dimension_point_1' ) ) ] )
% 7.34/7.70  , clause( 20815, [ ~( between( 'lower_dimension_point_3', 
% 7.34/7.70    'lower_dimension_point_1', 'lower_dimension_point_2' ) ) ] )
% 7.34/7.70  , clause( 20816, [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( T, Y, T
% 7.34/7.70    , Z ) ), ~( equidistant( U, Y, U, Z ) ), between( X, T, U ), between( T, 
% 7.34/7.70    U, X ), between( U, X, T ), =( Y, Z ) ] )
% 7.34/7.70  , clause( 20817, [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, 
% 7.34/7.70    Y ), between( X, T, euclid1( X, T, Y, U, Z ) ) ] )
% 7.34/7.70  , clause( 20818, [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, 
% 7.34/7.70    Y ), between( X, U, euclid2( X, T, Y, U, Z ) ) ] )
% 7.34/7.70  , clause( 20819, [ ~( between( X, Y, Z ) ), ~( between( T, Y, U ) ), =( X, 
% 7.34/7.70    Y ), between( euclid1( X, T, Y, U, Z ), Z, euclid2( X, T, Y, U, Z ) ) ]
% 7.34/7.70     )
% 7.34/7.70  , clause( 20820, [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( X, T, X
% 7.34/7.70    , U ) ), ~( between( X, Y, T ) ), ~( between( Y, W, T ) ), between( Z, 
% 7.34/7.70    continuous( X, Y, Z, W, T, U ), U ) ] )
% 7.34/7.70  , clause( 20821, [ ~( equidistant( X, Y, X, Z ) ), ~( equidistant( X, T, X
% 7.34/7.70    , U ) ), ~( between( X, Y, T ) ), ~( between( Y, W, T ) ), equidistant( X
% 7.34/7.70    , W, X, continuous( X, Y, Z, W, T, U ) ) ] )
% 7.34/7.70  , clause( 20822, [ between( u, v, x ) ] )
% 7.34/7.70  , clause( 20823, [ between( v, w, x ) ] )
% 7.34/7.70  , clause( 20824, [ ~( between( u, v, w ) ) ] )
% 7.34/7.70  ] ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 2, [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ] )
% 7.34/7.70  , clause( 20806, [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 7.34/7.70    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 3, [ between( X, Y, extension( X, Y, Z, T ) ) ] )
% 7.34/7.70  , clause( 20807, [ between( X, Y, extension( X, Y, Z, T ) ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 7.34/7.70    permutation( 0, [ ==>( 0, 0 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 4, [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ] )
% 7.34/7.70  , clause( 20808, [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 7.34/7.70    permutation( 0, [ ==>( 0, 0 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 6, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 7.34/7.70  , clause( 20810, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 7.34/7.70     ), ==>( 1, 1 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 7, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( Y, 
% 7.34/7.70    'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 7.34/7.70  , clause( 20811, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), 
% 7.34/7.70    between( Y, 'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T ), :=( U
% 7.34/7.70    , U )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 ), ==>( 2, 2 )] )
% 7.34/7.70     ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 8, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( U, 
% 7.34/7.70    'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 7.34/7.70  , clause( 20812, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), 
% 7.34/7.70    between( U, 'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 7.34/7.70  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T ), :=( U
% 7.34/7.70    , U )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 ), ==>( 2, 2 )] )
% 7.34/7.70     ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 18, [ between( u, v, x ) ] )
% 7.34/7.70  , clause( 20822, [ between( u, v, x ) ] )
% 7.34/7.70  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 19, [ between( v, w, x ) ] )
% 7.34/7.70  , clause( 20823, [ between( v, w, x ) ] )
% 7.34/7.70  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 7.34/7.70  
% 7.34/7.70  
% 7.34/7.70  subsumption(
% 7.34/7.70  clause( 20, [ ~( between( u, v, w ) ) ] )
% 7.34/7.70  , clause( 20824, [ ~( between( u, v, w ) ) ] )
% 127.25/127.67  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  eqswap(
% 127.25/127.67  clause( 21104, [ =( Y, X ), ~( equidistant( X, Y, Z, Z ) ) ] )
% 127.25/127.67  , clause( 2, [ ~( equidistant( X, Y, Z, Z ) ), =( X, Y ) ] )
% 127.25/127.67  , 1, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 21105, [ =( extension( X, Y, Z, Z ), Y ) ] )
% 127.25/127.67  , clause( 21104, [ =( Y, X ), ~( equidistant( X, Y, Z, Z ) ) ] )
% 127.25/127.67  , 1, clause( 4, [ equidistant( X, extension( Y, X, Z, T ), Z, T ) ] )
% 127.25/127.67  , 0, substitution( 0, [ :=( X, Y ), :=( Y, extension( X, Y, Z, Z ) ), :=( Z
% 127.25/127.67    , Z )] ), substitution( 1, [ :=( X, Y ), :=( Y, X ), :=( Z, Z ), :=( T, Z
% 127.25/127.67     )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 237, [ =( extension( Y, X, Z, Z ), X ) ] )
% 127.25/127.67  , clause( 21105, [ =( extension( X, Y, Z, Z ), Y ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, Y ), :=( Y, X ), :=( Z, Z )] ), 
% 127.25/127.67    permutation( 0, [ ==>( 0, 0 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  paramod(
% 127.25/127.67  clause( 21108, [ between( X, Y, Y ) ] )
% 127.25/127.67  , clause( 237, [ =( extension( Y, X, Z, Z ), X ) ] )
% 127.25/127.67  , 0, clause( 3, [ between( X, Y, extension( X, Y, Z, T ) ) ] )
% 127.25/127.67  , 0, 3, substitution( 0, [ :=( X, Y ), :=( Y, X ), :=( Z, Z )] ), 
% 127.25/127.67    substitution( 1, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, Z )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 243, [ between( X, Y, Y ) ] )
% 127.25/127.67  , clause( 21108, [ between( X, Y, Y ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 127.25/127.67     )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 21109, [ ~( between( X, Y, x ) ), between( w, 'inner_pasch'( v, w, 
% 127.25/127.67    x, Y, X ), X ) ] )
% 127.25/127.67  , clause( 7, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( Y
% 127.25/127.67    , 'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 127.25/127.67  , 0, clause( 19, [ between( v, w, x ) ] )
% 127.25/127.67  , 0, substitution( 0, [ :=( X, v ), :=( Y, w ), :=( Z, x ), :=( T, X ), 
% 127.25/127.67    :=( U, Y )] ), substitution( 1, [] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 357, [ ~( between( X, Y, x ) ), between( w, 'inner_pasch'( v, w, x
% 127.25/127.67    , Y, X ), X ) ] )
% 127.25/127.67  , clause( 21109, [ ~( between( X, Y, x ) ), between( w, 'inner_pasch'( v, w
% 127.25/127.67    , x, Y, X ), X ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 127.25/127.67     ), ==>( 1, 1 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  eqswap(
% 127.25/127.67  clause( 21111, [ =( Y, X ), ~( between( X, Y, X ) ) ] )
% 127.25/127.67  , clause( 6, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 127.25/127.67  , 1, substitution( 0, [ :=( X, X ), :=( Y, Y )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  paramod(
% 127.25/127.67  clause( 21112, [ between( X, W, U ), ~( between( W, 'inner_pasch'( Y, X, Z
% 127.25/127.67    , T, U ), W ) ), ~( between( Y, X, Z ) ), ~( between( U, T, Z ) ) ] )
% 127.25/127.67  , clause( 21111, [ =( Y, X ), ~( between( X, Y, X ) ) ] )
% 127.25/127.67  , 0, clause( 7, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( 
% 127.25/127.67    Y, 'inner_pasch'( X, Y, Z, U, T ), T ) ] )
% 127.25/127.67  , 2, 2, substitution( 0, [ :=( X, W ), :=( Y, 'inner_pasch'( Y, X, Z, T, U
% 127.25/127.67     ) )] ), substitution( 1, [ :=( X, Y ), :=( Y, X ), :=( Z, Z ), :=( T, U
% 127.25/127.67     ), :=( U, T )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 364, [ ~( between( X, Y, Z ) ), ~( between( U, T, Z ) ), between( Y
% 127.25/127.67    , W, U ), ~( between( W, 'inner_pasch'( X, Y, Z, T, U ), W ) ) ] )
% 127.25/127.67  , clause( 21112, [ between( X, W, U ), ~( between( W, 'inner_pasch'( Y, X, 
% 127.25/127.67    Z, T, U ), W ) ), ~( between( Y, X, Z ) ), ~( between( U, T, Z ) ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, Y ), :=( Y, X ), :=( Z, Z ), :=( T, T ), :=( U
% 127.25/127.67    , U ), :=( W, W )] ), permutation( 0, [ ==>( 0, 2 ), ==>( 1, 3 ), ==>( 2
% 127.25/127.67    , 0 ), ==>( 3, 1 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26732, [ ~( between( Z, T, Y ) ), between( T, 'inner_pasch'( X, Y, 
% 127.25/127.67    Y, T, Z ), X ) ] )
% 127.25/127.67  , clause( 8, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( U
% 127.25/127.67    , 'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 127.25/127.67  , 0, clause( 243, [ between( X, Y, Y ) ] )
% 127.25/127.67  , 0, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Y ), :=( T, Z ), 
% 127.25/127.67    :=( U, T )] ), substitution( 1, [ :=( X, X ), :=( Y, Y )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 393, [ ~( between( X, Y, Z ) ), between( Y, 'inner_pasch'( T, Z, Z
% 127.25/127.67    , Y, X ), T ) ] )
% 127.25/127.67  , clause( 26732, [ ~( between( Z, T, Y ) ), between( T, 'inner_pasch'( X, Y
% 127.25/127.67    , Y, T, Z ), X ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, T ), :=( Y, Z ), :=( Z, X ), :=( T, Y )] ), 
% 127.25/127.67    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  eqswap(
% 127.25/127.67  clause( 26734, [ =( Y, X ), ~( between( X, Y, X ) ) ] )
% 127.25/127.67  , clause( 6, [ ~( between( X, Y, X ) ), =( X, Y ) ] )
% 127.25/127.67  , 1, substitution( 0, [ :=( X, X ), :=( Y, Y )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26735, [ =( 'inner_pasch'( X, Y, Z, X, T ), X ), ~( between( X, Y, 
% 127.25/127.67    Z ) ), ~( between( T, X, Z ) ) ] )
% 127.25/127.67  , clause( 26734, [ =( Y, X ), ~( between( X, Y, X ) ) ] )
% 127.25/127.67  , 1, clause( 8, [ ~( between( X, Y, Z ) ), ~( between( T, U, Z ) ), between( 
% 127.25/127.67    U, 'inner_pasch'( X, Y, Z, U, T ), X ) ] )
% 127.25/127.67  , 2, substitution( 0, [ :=( X, X ), :=( Y, 'inner_pasch'( X, Y, Z, X, T ) )] )
% 127.25/127.67    , substitution( 1, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T ), :=( 
% 127.25/127.67    U, X )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 397, [ ~( between( X, Y, Z ) ), ~( between( T, X, Z ) ), =( 
% 127.25/127.67    'inner_pasch'( X, Y, Z, X, T ), X ) ] )
% 127.25/127.67  , clause( 26735, [ =( 'inner_pasch'( X, Y, Z, X, T ), X ), ~( between( X, Y
% 127.25/127.67    , Z ) ), ~( between( T, X, Z ) ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 127.25/127.67    permutation( 0, [ ==>( 0, 2 ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26743, [ ~( between( X, Y, Y ) ), ~( between( Z, X, Y ) ), between( 
% 127.25/127.67    Y, X, Z ), ~( between( Z, X, Y ) ) ] )
% 127.25/127.67  , clause( 364, [ ~( between( X, Y, Z ) ), ~( between( U, T, Z ) ), between( 
% 127.25/127.67    Y, W, U ), ~( between( W, 'inner_pasch'( X, Y, Z, T, U ), W ) ) ] )
% 127.25/127.67  , 3, clause( 393, [ ~( between( X, Y, Z ) ), between( Y, 'inner_pasch'( T, 
% 127.25/127.67    Z, Z, Y, X ), T ) ] )
% 127.25/127.67  , 1, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Y ), :=( T, X ), 
% 127.25/127.67    :=( U, Z ), :=( W, X )] ), substitution( 1, [ :=( X, Z ), :=( Y, X ), 
% 127.25/127.67    :=( Z, Y ), :=( T, X )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26749, [ ~( between( Z, X, Y ) ), between( Y, X, Z ), ~( between( Z
% 127.25/127.67    , X, Y ) ) ] )
% 127.25/127.67  , clause( 26743, [ ~( between( X, Y, Y ) ), ~( between( Z, X, Y ) ), 
% 127.25/127.67    between( Y, X, Z ), ~( between( Z, X, Y ) ) ] )
% 127.25/127.67  , 0, clause( 243, [ between( X, Y, Y ) ] )
% 127.25/127.67  , 0, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 127.25/127.67    substitution( 1, [ :=( X, X ), :=( Y, Y )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  factor(
% 127.25/127.67  clause( 26750, [ ~( between( X, Y, Z ) ), between( Z, Y, X ) ] )
% 127.25/127.67  , clause( 26749, [ ~( between( Z, X, Y ) ), between( Y, X, Z ), ~( between( 
% 127.25/127.67    Z, X, Y ) ) ] )
% 127.25/127.67  , 0, 2, substitution( 0, [ :=( X, Y ), :=( Y, Z ), :=( Z, X )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 18911, [ ~( between( X, Y, Z ) ), between( Z, Y, X ) ] )
% 127.25/127.67  , clause( 26750, [ ~( between( X, Y, Z ) ), between( Z, Y, X ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 127.25/127.67    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26751, [ ~( between( w, v, u ) ) ] )
% 127.25/127.67  , clause( 20, [ ~( between( u, v, w ) ) ] )
% 127.25/127.67  , 0, clause( 18911, [ ~( between( X, Y, Z ) ), between( Z, Y, X ) ] )
% 127.25/127.67  , 1, substitution( 0, [] ), substitution( 1, [ :=( X, w ), :=( Y, v ), :=( 
% 127.25/127.67    Z, u )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 19373, [ ~( between( w, v, u ) ) ] )
% 127.25/127.67  , clause( 26751, [ ~( between( w, v, u ) ) ] )
% 127.25/127.67  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  paramod(
% 127.25/127.67  clause( 26753, [ between( w, v, X ), ~( between( v, w, x ) ), ~( between( X
% 127.25/127.67    , v, x ) ), ~( between( X, v, x ) ) ] )
% 127.25/127.67  , clause( 397, [ ~( between( X, Y, Z ) ), ~( between( T, X, Z ) ), =( 
% 127.25/127.67    'inner_pasch'( X, Y, Z, X, T ), X ) ] )
% 127.25/127.67  , 2, clause( 357, [ ~( between( X, Y, x ) ), between( w, 'inner_pasch'( v, 
% 127.25/127.67    w, x, Y, X ), X ) ] )
% 127.25/127.67  , 1, 2, substitution( 0, [ :=( X, v ), :=( Y, w ), :=( Z, x ), :=( T, X )] )
% 127.25/127.67    , substitution( 1, [ :=( X, X ), :=( Y, v )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26755, [ between( w, v, X ), ~( between( X, v, x ) ), ~( between( X
% 127.25/127.67    , v, x ) ) ] )
% 127.25/127.67  , clause( 26753, [ between( w, v, X ), ~( between( v, w, x ) ), ~( between( 
% 127.25/127.67    X, v, x ) ), ~( between( X, v, x ) ) ] )
% 127.25/127.67  , 1, clause( 19, [ between( v, w, x ) ] )
% 127.25/127.67  , 0, substitution( 0, [ :=( X, X )] ), substitution( 1, [] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  factor(
% 127.25/127.67  clause( 26756, [ between( w, v, X ), ~( between( X, v, x ) ) ] )
% 127.25/127.67  , clause( 26755, [ between( w, v, X ), ~( between( X, v, x ) ), ~( between( 
% 127.25/127.67    X, v, x ) ) ] )
% 127.25/127.67  , 1, 2, substitution( 0, [ :=( X, X )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 19909, [ ~( between( X, v, x ) ), between( w, v, X ) ] )
% 127.25/127.67  , clause( 26756, [ between( w, v, X ), ~( between( X, v, x ) ) ] )
% 127.25/127.67  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 127.25/127.67    0 )] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26757, [ ~( between( u, v, x ) ) ] )
% 127.25/127.67  , clause( 19373, [ ~( between( w, v, u ) ) ] )
% 127.25/127.67  , 0, clause( 19909, [ ~( between( X, v, x ) ), between( w, v, X ) ] )
% 127.25/127.67  , 1, substitution( 0, [] ), substitution( 1, [ :=( X, u )] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  resolution(
% 127.25/127.67  clause( 26758, [] )
% 127.25/127.67  , clause( 26757, [ ~( between( u, v, x ) ) ] )
% 127.25/127.67  , 0, clause( 18, [ between( u, v, x ) ] )
% 127.25/127.67  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  subsumption(
% 127.25/127.67  clause( 20802, [] )
% 127.25/127.67  , clause( 26758, [] )
% 127.25/127.67  , substitution( 0, [] ), permutation( 0, [] ) ).
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  end.
% 127.25/127.67  
% 127.25/127.67  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 127.25/127.67  
% 127.25/127.67  Memory use:
% 127.25/127.67  
% 127.25/127.67  space for terms:        331776
% 127.25/127.67  space for clauses:      911629
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  clauses generated:      562643
% 127.25/127.67  clauses kept:           20803
% 127.25/127.67  clauses selected:       1318
% 127.25/127.67  clauses deleted:        2851
% 127.25/127.67  clauses inuse deleted:  31
% 127.25/127.67  
% 127.25/127.67  subsentry:          89994428
% 127.25/127.67  literals s-matched: 73972077
% 127.25/127.67  literals matched:   25200082
% 127.25/127.67  full subsumption:   24984357
% 127.25/127.67  
% 127.25/127.67  checksum:           1594126648
% 127.25/127.67  
% 127.25/127.67  
% 127.25/127.67  Bliksem ended
%------------------------------------------------------------------------------