TSTP Solution File: PUZ012-1 by Bliksem---1.12

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Bliksem---1.12
% Problem  : PUZ012-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% Transfm  : none
% Format   : tptp:raw
% Command  : bliksem %s

% Computer : n029.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 : Mon Jul 18 17:58:11 EDT 2022

% Result   : Unsatisfiable 0.60s 1.02s
% Output   : Refutation 0.60s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.08  % Problem  : PUZ012-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% 0.08/0.09  % Command  : bliksem %s
% 0.09/0.28  % Computer : n029.cluster.edu
% 0.09/0.28  % Model    : x86_64 x86_64
% 0.09/0.28  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.28  % Memory   : 8042.1875MB
% 0.09/0.28  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.09/0.28  % CPULimit : 300
% 0.09/0.28  % DateTime : Sun May 29 03:16:13 EDT 2022
% 0.09/0.28  % CPUTime  : 
% 0.60/1.02  *** allocated 10000 integers for termspace/termends
% 0.60/1.02  *** allocated 10000 integers for clauses
% 0.60/1.02  *** allocated 10000 integers for justifications
% 0.60/1.02  Bliksem 1.12
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  Automatic Strategy Selection
% 0.60/1.02  
% 0.60/1.02  Clauses:
% 0.60/1.02  [
% 0.60/1.02     [ 'equal_fruits'( X, X ) ],
% 0.60/1.02     [ 'equal_boxes'( X, X ) ],
% 0.60/1.02     [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ],
% 0.60/1.02     [ contains( boxa, X ), contains( boxb, X ), contains( boxc, X ) ],
% 0.60/1.02     [ contains( X, apples ), contains( X, bananas ), contains( X, oranges )
% 0.60/1.02     ],
% 0.60/1.02     [ ~( contains( X, Y ) ), ~( contains( X, Z ) ), 'equal_fruits'( Y, Z ) ]
% 0.60/1.02    ,
% 0.60/1.02     [ ~( contains( X, Y ) ), ~( contains( Z, Y ) ), 'equal_boxes'( X, Z ) ]
% 0.60/1.02    ,
% 0.60/1.02     [ ~( 'equal_boxes'( boxa, boxb ) ) ],
% 0.60/1.02     [ ~( 'equal_boxes'( boxb, boxc ) ) ],
% 0.60/1.02     [ ~( 'equal_boxes'( boxa, boxc ) ) ],
% 0.60/1.02     [ ~( 'equal_fruits'( apples, bananas ) ) ],
% 0.60/1.02     [ ~( 'equal_fruits'( bananas, oranges ) ) ],
% 0.60/1.02     [ ~( 'equal_fruits'( apples, oranges ) ) ],
% 0.60/1.02     [ label( boxa, apples ) ],
% 0.60/1.02     [ label( boxb, oranges ) ],
% 0.60/1.02     [ label( boxc, bananas ) ],
% 0.60/1.02     [ contains( boxb, apples ) ],
% 0.60/1.02     [ ~( contains( boxa, bananas ) ), ~( contains( boxc, oranges ) ) ]
% 0.60/1.02  ] .
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  percentage equality = 0.000000, percentage horn = 0.888889
% 0.60/1.02  This a non-horn, non-equality problem
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  Options Used:
% 0.60/1.02  
% 0.60/1.02  useres =            1
% 0.60/1.02  useparamod =        0
% 0.60/1.02  useeqrefl =         0
% 0.60/1.02  useeqfact =         0
% 0.60/1.02  usefactor =         1
% 0.60/1.02  usesimpsplitting =  0
% 0.60/1.02  usesimpdemod =      0
% 0.60/1.02  usesimpres =        3
% 0.60/1.02  
% 0.60/1.02  resimpinuse      =  1000
% 0.60/1.02  resimpclauses =     20000
% 0.60/1.02  substype =          standard
% 0.60/1.02  backwardsubs =      1
% 0.60/1.02  selectoldest =      5
% 0.60/1.02  
% 0.60/1.02  litorderings [0] =  split
% 0.60/1.02  litorderings [1] =  liftord
% 0.60/1.02  
% 0.60/1.02  termordering =      none
% 0.60/1.02  
% 0.60/1.02  litapriori =        1
% 0.60/1.02  termapriori =       0
% 0.60/1.02  litaposteriori =    0
% 0.60/1.02  termaposteriori =   0
% 0.60/1.02  demodaposteriori =  0
% 0.60/1.02  ordereqreflfact =   0
% 0.60/1.02  
% 0.60/1.02  litselect =         none
% 0.60/1.02  
% 0.60/1.02  maxweight =         15
% 0.60/1.02  maxdepth =          30000
% 0.60/1.02  maxlength =         115
% 0.60/1.02  maxnrvars =         195
% 0.60/1.02  excuselevel =       1
% 0.60/1.02  increasemaxweight = 1
% 0.60/1.02  
% 0.60/1.02  maxselected =       10000000
% 0.60/1.02  maxnrclauses =      10000000
% 0.60/1.02  
% 0.60/1.02  showgenerated =    0
% 0.60/1.02  showkept =         0
% 0.60/1.02  showselected =     0
% 0.60/1.02  showdeleted =      0
% 0.60/1.02  showresimp =       1
% 0.60/1.02  showstatus =       2000
% 0.60/1.02  
% 0.60/1.02  prologoutput =     1
% 0.60/1.02  nrgoals =          5000000
% 0.60/1.02  totalproof =       1
% 0.60/1.02  
% 0.60/1.02  Symbols occurring in the translation:
% 0.60/1.02  
% 0.60/1.02  {}  [0, 0]      (w:1, o:2, a:1, s:1, b:0), 
% 0.60/1.02  .  [1, 2]      (w:1, o:23, a:1, s:1, b:0), 
% 0.60/1.02  !  [4, 1]      (w:0, o:18, a:1, s:1, b:0), 
% 0.60/1.02  =  [13, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.60/1.02  ==>  [14, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.60/1.02  'equal_fruits'  [40, 2]      (w:1, o:48, a:1, s:1, b:0), 
% 0.60/1.02  'equal_boxes'  [41, 2]      (w:1, o:49, a:1, s:1, b:0), 
% 0.60/1.02  label  [43, 2]      (w:1, o:50, a:1, s:1, b:0), 
% 0.60/1.02  contains  [44, 2]      (w:1, o:51, a:1, s:1, b:0), 
% 0.60/1.02  boxa  [45, 0]      (w:1, o:13, a:1, s:1, b:0), 
% 0.60/1.02  boxb  [46, 0]      (w:1, o:14, a:1, s:1, b:0), 
% 0.60/1.02  boxc  [47, 0]      (w:1, o:15, a:1, s:1, b:0), 
% 0.60/1.02  apples  [48, 0]      (w:1, o:12, a:1, s:1, b:0), 
% 0.60/1.02  bananas  [49, 0]      (w:1, o:16, a:1, s:1, b:0), 
% 0.60/1.02  oranges  [50, 0]      (w:1, o:7, a:1, s:1, b:0).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  Starting Search:
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  Bliksems!, er is een bewijs:
% 0.60/1.02  % SZS status Unsatisfiable
% 0.60/1.02  % SZS output start Refutation
% 0.60/1.02  
% 0.60/1.02  clause( 2, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 3, [ contains( boxa, X ), contains( boxb, X ), contains( boxc, X )
% 0.60/1.02     ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 4, [ contains( X, apples ), contains( X, oranges ), contains( X, 
% 0.60/1.02    bananas ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( X
% 0.60/1.02    , Z ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 6, [ 'equal_boxes'( X, Z ), ~( contains( X, Y ) ), ~( contains( Z, 
% 0.60/1.02    Y ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 7, [ ~( 'equal_boxes'( boxa, boxb ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 10, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 11, [ ~( 'equal_fruits'( bananas, oranges ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 12, [ ~( 'equal_fruits'( apples, oranges ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 15, [ label( boxc, bananas ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 16, [ contains( boxb, apples ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 17, [ ~( contains( boxc, oranges ) ), ~( contains( boxa, bananas )
% 0.60/1.02     ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 19, [ contains( boxa, X ), ~( label( boxc, X ) ), contains( boxb, X
% 0.60/1.02     ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 20, [ contains( X, oranges ), ~( label( X, bananas ) ), contains( X
% 0.60/1.02    , apples ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 21, [ ~( contains( boxc, oranges ) ), contains( boxa, oranges ), 
% 0.60/1.02    contains( boxa, apples ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 27, [ 'equal_boxes'( X, boxb ), ~( contains( X, apples ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 29, [ 'equal_fruits'( X, bananas ), contains( Y, oranges ), 
% 0.60/1.02    contains( Y, apples ), ~( contains( Y, X ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 31, [ 'equal_fruits'( X, Y ), contains( boxa, Y ), contains( boxb, 
% 0.60/1.02    Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 32, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 48, [ ~( label( boxc, X ) ), 'equal_fruits'( apples, X ), contains( 
% 0.60/1.02    boxa, X ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 67, [ contains( boxa, oranges ), ~( contains( boxc, oranges ) ) ]
% 0.60/1.02     )
% 0.60/1.02  .
% 0.60/1.02  clause( 69, [ contains( boxa, oranges ), contains( boxb, oranges ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 76, [ contains( boxa, oranges ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 82, [ 'equal_fruits'( X, oranges ), ~( contains( boxa, X ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 157, [ 'equal_fruits'( apples, bananas ), ~( contains( boxc, 
% 0.60/1.02    oranges ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 160, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 200, [ 'equal_fruits'( X, Y ), 'equal_fruits'( apples, Y ), 
% 0.60/1.02    contains( boxa, Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 208, [ 'equal_fruits'( apples, X ), ~( contains( boxc, apples ) ), 
% 0.60/1.02    contains( boxa, X ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 209, [ 'equal_fruits'( apples, X ), 'equal_fruits'( Y, bananas ), 
% 0.60/1.02    ~( contains( boxc, Y ) ), contains( boxa, X ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 222, [ ~( contains( boxc, apples ) ), contains( boxa, bananas ) ]
% 0.60/1.02     )
% 0.60/1.02  .
% 0.60/1.02  clause( 224, [ ~( contains( boxc, apples ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 227, [ ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  .
% 0.60/1.02  clause( 228, [] )
% 0.60/1.02  .
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  % SZS output end Refutation
% 0.60/1.02  found a proof!
% 0.60/1.02  
% 0.60/1.02  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.60/1.02  
% 0.60/1.02  initialclauses(
% 0.60/1.02  [ clause( 230, [ 'equal_fruits'( X, X ) ] )
% 0.60/1.02  , clause( 231, [ 'equal_boxes'( X, X ) ] )
% 0.60/1.02  , clause( 232, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  , clause( 233, [ contains( boxa, X ), contains( boxb, X ), contains( boxc, 
% 0.60/1.02    X ) ] )
% 0.60/1.02  , clause( 234, [ contains( X, apples ), contains( X, bananas ), contains( X
% 0.60/1.02    , oranges ) ] )
% 0.60/1.02  , clause( 235, [ ~( contains( X, Y ) ), ~( contains( X, Z ) ), 
% 0.60/1.02    'equal_fruits'( Y, Z ) ] )
% 0.60/1.02  , clause( 236, [ ~( contains( X, Y ) ), ~( contains( Z, Y ) ), 
% 0.60/1.02    'equal_boxes'( X, Z ) ] )
% 0.60/1.02  , clause( 237, [ ~( 'equal_boxes'( boxa, boxb ) ) ] )
% 0.60/1.02  , clause( 238, [ ~( 'equal_boxes'( boxb, boxc ) ) ] )
% 0.60/1.02  , clause( 239, [ ~( 'equal_boxes'( boxa, boxc ) ) ] )
% 0.60/1.02  , clause( 240, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  , clause( 241, [ ~( 'equal_fruits'( bananas, oranges ) ) ] )
% 0.60/1.02  , clause( 242, [ ~( 'equal_fruits'( apples, oranges ) ) ] )
% 0.60/1.02  , clause( 243, [ label( boxa, apples ) ] )
% 0.60/1.02  , clause( 244, [ label( boxb, oranges ) ] )
% 0.60/1.02  , clause( 245, [ label( boxc, bananas ) ] )
% 0.60/1.02  , clause( 246, [ contains( boxb, apples ) ] )
% 0.60/1.02  , clause( 247, [ ~( contains( boxa, bananas ) ), ~( contains( boxc, oranges
% 0.60/1.02     ) ) ] )
% 0.60/1.02  ] ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 2, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  , clause( 232, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.60/1.02     ), ==>( 1, 1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 3, [ contains( boxa, X ), contains( boxb, X ), contains( boxc, X )
% 0.60/1.02     ] )
% 0.60/1.02  , clause( 233, [ contains( boxa, X ), contains( boxb, X ), contains( boxc, 
% 0.60/1.02    X ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    1 ), ==>( 2, 2 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 4, [ contains( X, apples ), contains( X, oranges ), contains( X, 
% 0.60/1.02    bananas ) ] )
% 0.60/1.02  , clause( 234, [ contains( X, apples ), contains( X, bananas ), contains( X
% 0.60/1.02    , oranges ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    2 ), ==>( 2, 1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( X
% 0.60/1.02    , Z ) ) ] )
% 0.60/1.02  , clause( 235, [ ~( contains( X, Y ) ), ~( contains( X, Z ) ), 
% 0.60/1.02    'equal_fruits'( Y, Z ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.60/1.02    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 2 ), ==>( 2, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 6, [ 'equal_boxes'( X, Z ), ~( contains( X, Y ) ), ~( contains( Z, 
% 0.60/1.02    Y ) ) ] )
% 0.60/1.02  , clause( 236, [ ~( contains( X, Y ) ), ~( contains( Z, Y ) ), 
% 0.60/1.02    'equal_boxes'( X, Z ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.60/1.02    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 2 ), ==>( 2, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 7, [ ~( 'equal_boxes'( boxa, boxb ) ) ] )
% 0.60/1.02  , clause( 237, [ ~( 'equal_boxes'( boxa, boxb ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 10, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  , clause( 240, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 11, [ ~( 'equal_fruits'( bananas, oranges ) ) ] )
% 0.60/1.02  , clause( 241, [ ~( 'equal_fruits'( bananas, oranges ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 12, [ ~( 'equal_fruits'( apples, oranges ) ) ] )
% 0.60/1.02  , clause( 242, [ ~( 'equal_fruits'( apples, oranges ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 15, [ label( boxc, bananas ) ] )
% 0.60/1.02  , clause( 245, [ label( boxc, bananas ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 16, [ contains( boxb, apples ) ] )
% 0.60/1.02  , clause( 246, [ contains( boxb, apples ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 17, [ ~( contains( boxc, oranges ) ), ~( contains( boxa, bananas )
% 0.60/1.02     ) ] )
% 0.60/1.02  , clause( 247, [ ~( contains( boxa, bananas ) ), ~( contains( boxc, oranges
% 0.60/1.02     ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] )
% 0.60/1.02     ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 267, [ ~( label( boxc, X ) ), contains( boxa, X ), contains( boxb, 
% 0.60/1.02    X ) ] )
% 0.60/1.02  , clause( 2, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  , 1, clause( 3, [ contains( boxa, X ), contains( boxb, X ), contains( boxc
% 0.60/1.02    , X ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, boxc ), :=( Y, X )] ), substitution( 1, [ 
% 0.60/1.02    :=( X, X )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 19, [ contains( boxa, X ), ~( label( boxc, X ) ), contains( boxb, X
% 0.60/1.02     ) ] )
% 0.60/1.02  , clause( 267, [ ~( label( boxc, X ) ), contains( boxa, X ), contains( boxb
% 0.60/1.02    , X ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.60/1.02    0 ), ==>( 2, 2 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 270, [ ~( label( X, bananas ) ), contains( X, apples ), contains( X
% 0.60/1.02    , oranges ) ] )
% 0.60/1.02  , clause( 2, [ ~( label( X, Y ) ), ~( contains( X, Y ) ) ] )
% 0.60/1.02  , 1, clause( 4, [ contains( X, apples ), contains( X, oranges ), contains( 
% 0.60/1.02    X, bananas ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, X ), :=( Y, bananas )] ), substitution( 1, [
% 0.60/1.02     :=( X, X )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 20, [ contains( X, oranges ), ~( label( X, bananas ) ), contains( X
% 0.60/1.02    , apples ) ] )
% 0.60/1.02  , clause( 270, [ ~( label( X, bananas ) ), contains( X, apples ), contains( 
% 0.60/1.02    X, oranges ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.60/1.02    2 ), ==>( 2, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 272, [ ~( contains( boxc, oranges ) ), contains( boxa, apples ), 
% 0.60/1.02    contains( boxa, oranges ) ] )
% 0.60/1.02  , clause( 17, [ ~( contains( boxc, oranges ) ), ~( contains( boxa, bananas
% 0.60/1.02     ) ) ] )
% 0.60/1.02  , 1, clause( 4, [ contains( X, apples ), contains( X, oranges ), contains( 
% 0.60/1.02    X, bananas ) ] )
% 0.60/1.02  , 2, substitution( 0, [] ), substitution( 1, [ :=( X, boxa )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 21, [ ~( contains( boxc, oranges ) ), contains( boxa, oranges ), 
% 0.60/1.02    contains( boxa, apples ) ] )
% 0.60/1.02  , clause( 272, [ ~( contains( boxc, oranges ) ), contains( boxa, apples ), 
% 0.60/1.02    contains( boxa, oranges ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2
% 0.60/1.02    , 1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 274, [ 'equal_boxes'( X, boxb ), ~( contains( X, apples ) ) ] )
% 0.60/1.02  , clause( 6, [ 'equal_boxes'( X, Z ), ~( contains( X, Y ) ), ~( contains( Z
% 0.60/1.02    , Y ) ) ] )
% 0.60/1.02  , 2, clause( 16, [ contains( boxb, apples ) ] )
% 0.60/1.02  , 0, substitution( 0, [ :=( X, X ), :=( Y, apples ), :=( Z, boxb )] ), 
% 0.60/1.02    substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 27, [ 'equal_boxes'( X, boxb ), ~( contains( X, apples ) ) ] )
% 0.60/1.02  , clause( 274, [ 'equal_boxes'( X, boxb ), ~( contains( X, apples ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 280, [ 'equal_fruits'( X, bananas ), ~( contains( Y, X ) ), 
% 0.60/1.02    contains( Y, apples ), contains( Y, oranges ) ] )
% 0.60/1.02  , clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( 
% 0.60/1.02    X, Z ) ) ] )
% 0.60/1.02  , 2, clause( 4, [ contains( X, apples ), contains( X, oranges ), contains( 
% 0.60/1.02    X, bananas ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, Y ), :=( Y, X ), :=( Z, bananas )] ), 
% 0.60/1.02    substitution( 1, [ :=( X, Y )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 29, [ 'equal_fruits'( X, bananas ), contains( Y, oranges ), 
% 0.60/1.02    contains( Y, apples ), ~( contains( Y, X ) ) ] )
% 0.60/1.02  , clause( 280, [ 'equal_fruits'( X, bananas ), ~( contains( Y, X ) ), 
% 0.60/1.02    contains( Y, apples ), contains( Y, oranges ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.60/1.02     ), ==>( 1, 3 ), ==>( 2, 2 ), ==>( 3, 1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 286, [ 'equal_fruits'( X, Y ), ~( contains( boxc, X ) ), contains( 
% 0.60/1.02    boxa, Y ), contains( boxb, Y ) ] )
% 0.60/1.02  , clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( 
% 0.60/1.02    X, Z ) ) ] )
% 0.60/1.02  , 2, clause( 3, [ contains( boxa, X ), contains( boxb, X ), contains( boxc
% 0.60/1.02    , X ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, boxc ), :=( Y, X ), :=( Z, Y )] ), 
% 0.60/1.02    substitution( 1, [ :=( X, Y )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 31, [ 'equal_fruits'( X, Y ), contains( boxa, Y ), contains( boxb, 
% 0.60/1.02    Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  , clause( 286, [ 'equal_fruits'( X, Y ), ~( contains( boxc, X ) ), contains( 
% 0.60/1.02    boxa, Y ), contains( boxb, Y ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.60/1.02     ), ==>( 1, 3 ), ==>( 2, 1 ), ==>( 3, 2 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 287, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( 
% 0.60/1.02    X, Z ) ) ] )
% 0.60/1.02  , 1, clause( 16, [ contains( boxb, apples ) ] )
% 0.60/1.02  , 0, substitution( 0, [ :=( X, boxb ), :=( Y, apples ), :=( Z, X )] ), 
% 0.60/1.02    substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 32, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , clause( 287, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 289, [ 'equal_fruits'( apples, X ), contains( boxa, X ), ~( label( 
% 0.60/1.02    boxc, X ) ) ] )
% 0.60/1.02  , clause( 32, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , 1, clause( 19, [ contains( boxa, X ), ~( label( boxc, X ) ), contains( 
% 0.60/1.02    boxb, X ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, X )] )
% 0.60/1.02    ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 48, [ ~( label( boxc, X ) ), 'equal_fruits'( apples, X ), contains( 
% 0.60/1.02    boxa, X ) ] )
% 0.60/1.02  , clause( 289, [ 'equal_fruits'( apples, X ), contains( boxa, X ), ~( label( 
% 0.60/1.02    boxc, X ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.60/1.02    2 ), ==>( 2, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 290, [ 'equal_boxes'( boxa, boxb ), ~( contains( boxc, oranges ) )
% 0.60/1.02    , contains( boxa, oranges ) ] )
% 0.60/1.02  , clause( 27, [ 'equal_boxes'( X, boxb ), ~( contains( X, apples ) ) ] )
% 0.60/1.02  , 1, clause( 21, [ ~( contains( boxc, oranges ) ), contains( boxa, oranges
% 0.60/1.02     ), contains( boxa, apples ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, boxa )] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 291, [ ~( contains( boxc, oranges ) ), contains( boxa, oranges ) ]
% 0.60/1.02     )
% 0.60/1.02  , clause( 7, [ ~( 'equal_boxes'( boxa, boxb ) ) ] )
% 0.60/1.02  , 0, clause( 290, [ 'equal_boxes'( boxa, boxb ), ~( contains( boxc, oranges
% 0.60/1.02     ) ), contains( boxa, oranges ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 67, [ contains( boxa, oranges ), ~( contains( boxc, oranges ) ) ]
% 0.60/1.02     )
% 0.60/1.02  , clause( 291, [ ~( contains( boxc, oranges ) ), contains( boxa, oranges )
% 0.60/1.02     ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] )
% 0.60/1.02     ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 292, [ contains( boxa, oranges ), contains( boxa, oranges ), 
% 0.60/1.02    contains( boxb, oranges ) ] )
% 0.60/1.02  , clause( 67, [ contains( boxa, oranges ), ~( contains( boxc, oranges ) ) ]
% 0.60/1.02     )
% 0.60/1.02  , 1, clause( 3, [ contains( boxa, X ), contains( boxb, X ), contains( boxc
% 0.60/1.02    , X ) ] )
% 0.60/1.02  , 2, substitution( 0, [] ), substitution( 1, [ :=( X, oranges )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  factor(
% 0.60/1.02  clause( 293, [ contains( boxa, oranges ), contains( boxb, oranges ) ] )
% 0.60/1.02  , clause( 292, [ contains( boxa, oranges ), contains( boxa, oranges ), 
% 0.60/1.02    contains( boxb, oranges ) ] )
% 0.60/1.02  , 0, 1, substitution( 0, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 69, [ contains( boxa, oranges ), contains( boxb, oranges ) ] )
% 0.60/1.02  , clause( 293, [ contains( boxa, oranges ), contains( boxb, oranges ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] )
% 0.60/1.02     ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 294, [ 'equal_fruits'( apples, oranges ), contains( boxa, oranges )
% 0.60/1.02     ] )
% 0.60/1.02  , clause( 32, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , 1, clause( 69, [ contains( boxa, oranges ), contains( boxb, oranges ) ]
% 0.60/1.02     )
% 0.60/1.02  , 1, substitution( 0, [ :=( X, oranges )] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 295, [ contains( boxa, oranges ) ] )
% 0.60/1.02  , clause( 12, [ ~( 'equal_fruits'( apples, oranges ) ) ] )
% 0.60/1.02  , 0, clause( 294, [ 'equal_fruits'( apples, oranges ), contains( boxa, 
% 0.60/1.02    oranges ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 76, [ contains( boxa, oranges ) ] )
% 0.60/1.02  , clause( 295, [ contains( boxa, oranges ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 297, [ 'equal_fruits'( X, oranges ), ~( contains( boxa, X ) ) ] )
% 0.60/1.02  , clause( 5, [ 'equal_fruits'( Y, Z ), ~( contains( X, Y ) ), ~( contains( 
% 0.60/1.02    X, Z ) ) ] )
% 0.60/1.02  , 2, clause( 76, [ contains( boxa, oranges ) ] )
% 0.60/1.02  , 0, substitution( 0, [ :=( X, boxa ), :=( Y, X ), :=( Z, oranges )] ), 
% 0.60/1.02    substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 82, [ 'equal_fruits'( X, oranges ), ~( contains( boxa, X ) ) ] )
% 0.60/1.02  , clause( 297, [ 'equal_fruits'( X, oranges ), ~( contains( boxa, X ) ) ]
% 0.60/1.02     )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 298, [ ~( contains( boxc, oranges ) ), ~( label( boxc, bananas ) )
% 0.60/1.02    , 'equal_fruits'( apples, bananas ) ] )
% 0.60/1.02  , clause( 17, [ ~( contains( boxc, oranges ) ), ~( contains( boxa, bananas
% 0.60/1.02     ) ) ] )
% 0.60/1.02  , 1, clause( 48, [ ~( label( boxc, X ) ), 'equal_fruits'( apples, X ), 
% 0.60/1.02    contains( boxa, X ) ] )
% 0.60/1.02  , 2, substitution( 0, [] ), substitution( 1, [ :=( X, bananas )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 299, [ ~( contains( boxc, oranges ) ), 'equal_fruits'( apples, 
% 0.60/1.02    bananas ) ] )
% 0.60/1.02  , clause( 298, [ ~( contains( boxc, oranges ) ), ~( label( boxc, bananas )
% 0.60/1.02     ), 'equal_fruits'( apples, bananas ) ] )
% 0.60/1.02  , 1, clause( 15, [ label( boxc, bananas ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 157, [ 'equal_fruits'( apples, bananas ), ~( contains( boxc, 
% 0.60/1.02    oranges ) ) ] )
% 0.60/1.02  , clause( 299, [ ~( contains( boxc, oranges ) ), 'equal_fruits'( apples, 
% 0.60/1.02    bananas ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] )
% 0.60/1.02     ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 300, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  , clause( 10, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  , 0, clause( 157, [ 'equal_fruits'( apples, bananas ), ~( contains( boxc, 
% 0.60/1.02    oranges ) ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 160, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  , clause( 300, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 301, [ 'equal_fruits'( apples, X ), 'equal_fruits'( Y, X ), 
% 0.60/1.02    contains( boxa, X ), ~( contains( boxc, Y ) ) ] )
% 0.60/1.02  , clause( 32, [ 'equal_fruits'( apples, X ), ~( contains( boxb, X ) ) ] )
% 0.60/1.02  , 1, clause( 31, [ 'equal_fruits'( X, Y ), contains( boxa, Y ), contains( 
% 0.60/1.02    boxb, Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, Y ), :=( Y
% 0.60/1.02    , X )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 200, [ 'equal_fruits'( X, Y ), 'equal_fruits'( apples, Y ), 
% 0.60/1.02    contains( boxa, Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  , clause( 301, [ 'equal_fruits'( apples, X ), 'equal_fruits'( Y, X ), 
% 0.60/1.02    contains( boxa, X ), ~( contains( boxc, Y ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, Y ), :=( Y, X )] ), permutation( 0, [ ==>( 0, 1
% 0.60/1.02     ), ==>( 1, 0 ), ==>( 2, 2 ), ==>( 3, 3 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  factor(
% 0.60/1.02  clause( 303, [ 'equal_fruits'( apples, X ), contains( boxa, X ), ~( 
% 0.60/1.02    contains( boxc, apples ) ) ] )
% 0.60/1.02  , clause( 200, [ 'equal_fruits'( X, Y ), 'equal_fruits'( apples, Y ), 
% 0.60/1.02    contains( boxa, Y ), ~( contains( boxc, X ) ) ] )
% 0.60/1.02  , 0, 1, substitution( 0, [ :=( X, apples ), :=( Y, X )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 208, [ 'equal_fruits'( apples, X ), ~( contains( boxc, apples ) ), 
% 0.60/1.02    contains( boxa, X ) ] )
% 0.60/1.02  , clause( 303, [ 'equal_fruits'( apples, X ), contains( boxa, X ), ~( 
% 0.60/1.02    contains( boxc, apples ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.60/1.02    2 ), ==>( 2, 1 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 304, [ 'equal_fruits'( apples, X ), contains( boxa, X ), 
% 0.60/1.02    'equal_fruits'( Y, bananas ), contains( boxc, oranges ), ~( contains( 
% 0.60/1.02    boxc, Y ) ) ] )
% 0.60/1.02  , clause( 208, [ 'equal_fruits'( apples, X ), ~( contains( boxc, apples ) )
% 0.60/1.02    , contains( boxa, X ) ] )
% 0.60/1.02  , 1, clause( 29, [ 'equal_fruits'( X, bananas ), contains( Y, oranges ), 
% 0.60/1.02    contains( Y, apples ), ~( contains( Y, X ) ) ] )
% 0.60/1.02  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, Y ), :=( Y
% 0.60/1.02    , boxc )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 307, [ 'equal_fruits'( apples, X ), contains( boxa, X ), 
% 0.60/1.02    'equal_fruits'( Y, bananas ), ~( contains( boxc, Y ) ) ] )
% 0.60/1.02  , clause( 160, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  , 0, clause( 304, [ 'equal_fruits'( apples, X ), contains( boxa, X ), 
% 0.60/1.02    'equal_fruits'( Y, bananas ), contains( boxc, oranges ), ~( contains( 
% 0.60/1.02    boxc, Y ) ) ] )
% 0.60/1.02  , 3, substitution( 0, [] ), substitution( 1, [ :=( X, X ), :=( Y, Y )] )
% 0.60/1.02    ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 209, [ 'equal_fruits'( apples, X ), 'equal_fruits'( Y, bananas ), 
% 0.60/1.02    ~( contains( boxc, Y ) ), contains( boxa, X ) ] )
% 0.60/1.02  , clause( 307, [ 'equal_fruits'( apples, X ), contains( boxa, X ), 
% 0.60/1.02    'equal_fruits'( Y, bananas ), ~( contains( boxc, Y ) ) ] )
% 0.60/1.02  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.60/1.02     ), ==>( 1, 3 ), ==>( 2, 1 ), ==>( 3, 2 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  factor(
% 0.60/1.02  clause( 309, [ 'equal_fruits'( apples, bananas ), ~( contains( boxc, apples
% 0.60/1.02     ) ), contains( boxa, bananas ) ] )
% 0.60/1.02  , clause( 209, [ 'equal_fruits'( apples, X ), 'equal_fruits'( Y, bananas )
% 0.60/1.02    , ~( contains( boxc, Y ) ), contains( boxa, X ) ] )
% 0.60/1.02  , 0, 1, substitution( 0, [ :=( X, bananas ), :=( Y, apples )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 310, [ ~( contains( boxc, apples ) ), contains( boxa, bananas ) ]
% 0.60/1.02     )
% 0.60/1.02  , clause( 10, [ ~( 'equal_fruits'( apples, bananas ) ) ] )
% 0.60/1.02  , 0, clause( 309, [ 'equal_fruits'( apples, bananas ), ~( contains( boxc, 
% 0.60/1.02    apples ) ), contains( boxa, bananas ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 222, [ ~( contains( boxc, apples ) ), contains( boxa, bananas ) ]
% 0.60/1.02     )
% 0.60/1.02  , clause( 310, [ ~( contains( boxc, apples ) ), contains( boxa, bananas ) ]
% 0.60/1.02     )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] )
% 0.60/1.02     ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 311, [ 'equal_fruits'( bananas, oranges ), ~( contains( boxc, 
% 0.60/1.02    apples ) ) ] )
% 0.60/1.02  , clause( 82, [ 'equal_fruits'( X, oranges ), ~( contains( boxa, X ) ) ] )
% 0.60/1.02  , 1, clause( 222, [ ~( contains( boxc, apples ) ), contains( boxa, bananas
% 0.60/1.02     ) ] )
% 0.60/1.02  , 1, substitution( 0, [ :=( X, bananas )] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 312, [ ~( contains( boxc, apples ) ) ] )
% 0.60/1.02  , clause( 11, [ ~( 'equal_fruits'( bananas, oranges ) ) ] )
% 0.60/1.02  , 0, clause( 311, [ 'equal_fruits'( bananas, oranges ), ~( contains( boxc, 
% 0.60/1.02    apples ) ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 224, [ ~( contains( boxc, apples ) ) ] )
% 0.60/1.02  , clause( 312, [ ~( contains( boxc, apples ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 313, [ contains( boxc, oranges ), ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  , clause( 224, [ ~( contains( boxc, apples ) ) ] )
% 0.60/1.02  , 0, clause( 20, [ contains( X, oranges ), ~( label( X, bananas ) ), 
% 0.60/1.02    contains( X, apples ) ] )
% 0.60/1.02  , 2, substitution( 0, [] ), substitution( 1, [ :=( X, boxc )] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 314, [ ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  , clause( 160, [ ~( contains( boxc, oranges ) ) ] )
% 0.60/1.02  , 0, clause( 313, [ contains( boxc, oranges ), ~( label( boxc, bananas ) )
% 0.60/1.02     ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 227, [ ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  , clause( 314, [ ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  resolution(
% 0.60/1.02  clause( 315, [] )
% 0.60/1.02  , clause( 227, [ ~( label( boxc, bananas ) ) ] )
% 0.60/1.02  , 0, clause( 15, [ label( boxc, bananas ) ] )
% 0.60/1.02  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  subsumption(
% 0.60/1.02  clause( 228, [] )
% 0.60/1.02  , clause( 315, [] )
% 0.60/1.02  , substitution( 0, [] ), permutation( 0, [] ) ).
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  end.
% 0.60/1.02  
% 0.60/1.02  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.60/1.02  
% 0.60/1.02  Memory use:
% 0.60/1.02  
% 0.60/1.02  space for terms:        2970
% 0.60/1.02  space for clauses:      8988
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  clauses generated:      477
% 0.60/1.02  clauses kept:           229
% 0.60/1.02  clauses selected:       67
% 0.60/1.02  clauses deleted:        8
% 0.60/1.02  clauses inuse deleted:  0
% 0.60/1.02  
% 0.60/1.02  subsentry:          847
% 0.60/1.02  literals s-matched: 731
% 0.60/1.02  literals matched:   731
% 0.60/1.02  full subsumption:   223
% 0.60/1.02  
% 0.60/1.02  checksum:           -1760690614
% 0.60/1.02  
% 0.60/1.02  
% 0.60/1.02  Bliksem ended
%------------------------------------------------------------------------------