
Results obtained from Alexei Lisitsa's paper
"Finite countermodels for safety verification of parameterized tree systems"
submitted to FMCAD'2011.

-----------------------------------------------------------------------------

The two-way token protocol (Section IV).
$ date
Wed Jun 15 16:30:52 CEST 2011

$ pl2tptp -status axiom two-way-token.pl > two-way-token.p

$ memtime darwin -fd true --print-level 2 two-way-token.p
Darwin 1.4.2

Finite Domain: setting initial domain size to 1.
Finite Domain: using non-ground splitting in preprocessing.
Finite Domain: will print multiplication tables instead of DIG representation.

Defaulting to tptp format.
Parsing two-way-token.p ...



Configuration:
--resolve                               : true
--subsume                               : true
--compact                               : true
--productivity                          : true
--mixed-literals                        : true
--finite-domain                         : true
--finite-domain-functionality           : true
--unique-name-assumption                : false
--lemma                                 : Grounded
--lemma-min                             : 1000
--lemma-max                             : 5000
--lemma-uip                             : false
--lemma-parametric-assert               : 0
--plus-v                                : false
--equality                              : Axioms
--backtracking                          : Backjumping
--iterative-deepening                   : TermDepth
--depth-bound                           : 1
--max-depth-bound                       : 0
--lookahead-all                         : false
--restart                               : Lazy
--neg-assert-candidates                 : Use
--eprover                               :
--preprocess-split                      : NonGround
--preprocess-unit                       : true
--preprocess-pure                       : false
--preprocess-resolution                 : false
--preprocess-equality                   : true
--input-format                          : tptp
--timeout-cpu                           : 0.
--timeout-wc                            : 0.
--memory-limit                          : 0
--print-level                           : 2
--print-configuration                   : true
--print-preprocess-split                : false
--print-preprocess-unit                 : false
--print-preprocess-resolution           : false
--print-preprocess-pure                 : false
--print-preprocess-equality             : false
--print-equality-axioms                 : false
--print-lemmas                          : false
--print-fd-sorts                        : false
--print-fd-transformation               : false
--print-fd-axioms                       : false
--print-fd-problem                      : Silent
--print-statistics                      : true
--print-context                         : false
--print-context-file                    :
--print-DIG                             : false
--print-DIG-file                        :
--print-model-finite                    : true
--print-model-tptp                      : false
--print-model-tptp-file                 :
--print-derivation-online               : false
--print-context-unifier                 : false
--print-assert-candidates               : false
--print-split-candidates                : false
--print-constants                       : false

Problem:
Horn                                    : true
BS                                      : false
Equality                                : false

Proving  ...

SZS status Satisfiable for two-way-token.p

MODEL (Multiplication Tables):
SZS output start FiniteModel for two-way-token.p
Domain size: 3

Constants:
n = '1
q0 = '1
q1 = '2
q2 = '3
q3 = '2
t = '2

Functions:
fN('1, '1) = '1
fN('1, '2) = '2
fN('1, '3) = '3
fN('2, '1) = '2
fN('2, '2) = '3
fN('2, '3) = '3
fN('3, '1) = '3
fN('3, '2) = '3
fN('3, '3) = '3

fT('1, '1) = '2
fT('1, '2) = '3
fT('1, '3) = '3
fT('2, '1) = '3
fT('2, '2) = '3
fT('2, '3) = '3
fT('3, '1) = '3
fT('3, '2) = '3
fT('3, '3) = '3


Predicates:
bad1:
bad1('3)

init1:
init1('2)

bad:
bad('1, '1)
bad('2, '1)
bad('2, '2)
bad('3, '1)
bad('3, '2)
bad('3, '3)

init:
init('1, '1)
init('2, '2)

r:
r('1, '1)
r('1, '2)
r('1, '3)
r('2, '2)
r('3, '1)
r('3, '2)
r('3, '3)

predT:
predT('1, '1, '1)
predT('1, '1, '3)
predT('1, '2, '2)
predT('1, '2, '3)
predT('1, '3, '3)
predT('2, '1, '2)
predT('2, '2, '3)
predT('3, '1, '3)

SZS output end FiniteModel for two-way-token.p

Statistics:
Close                                   :       63
Assert                                  :     2755
Split                                   :      140
Resolve                                 :     1208
Subsume                                 :      366
Compact                                 :        0
Productivity Filtered                   :        8
Assert Candidates                       :     5791
Split Candidates                        :     5545
Jumps                                   :        0
Debug                                   :        0
Global Debug                            :        0
Global Debug2                           :        0
Maximum Context Size                    :      470
Incomplete Branches                     :        0
Restarts                                :        2
Bound                                   :        3
Lemmas                                  :       56

CPU  Time (s)                           :      0.2
Memory    (MB)                          :        1
Exit [0]
0.20 user, 0.00 system, 0.30 elapsed -- Max VSize = 4740KB, Max RSS = 3368KB



$ (echo "set(verbose)."; tptp_to_ladr <two-way-token.p) | memtime mace4
============================== Mace4 =================================
Mace4 (32) version 2008-06A, June 2008.
Process 7047 was started by goubault on dell26.lsv.ens-cachan.fr,
Wed Jun 15 16:47:58 2011
The command was "mace4".
============================== end of head ===========================

============================== INPUT =================================
set(verbose).
set(prolog_style_variables).

formulas(assumptions).
predT(n,n,q0) # label(clause1) # label(axiom).
predT(t,n,q1) # label(clause2) # label(axiom).
predT(n,t,q3) # label(clause3) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q0) | predT(fT(X,Y),fN(Z,V),q1) # label(clause4) # label(axiom).
-predT(X,Z,q1) | -predT(Y,V,q0) | predT(fN(X,Y),fT(Z,V),q2) # label(clause5) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q1) | predT(fN(X,Y),fT(Z,V),q2) # label(clause6) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q0) | predT(fN(X,Y),fN(Z,V),q0) # label(clause7) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q2) | predT(fN(X,Y),fN(Z,V),q2) # label(clause8) # label(axiom).
-predT(X,Z,q2) | -predT(Y,V,q0) | predT(fN(X,Y),fN(Z,V),q2) # label(clause9) # label(axiom).
-predT(X,Z,q3) | -predT(Y,V,q0) | predT(fT(X,Y),fN(Z,V),q2) # label(clause10) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q3) | predT(fT(X,Y),fN(Z,V),q2) # label(clause11) # label(axiom).
-predT(X,Z,q0) | -predT(Y,V,q0) | predT(fN(X,Y),fT(Z,V),q3) # label(clause12) # label(axiom).
init(n,q0) # label(clause13) # label(axiom).
init(t,q1) # label(clause14) # label(axiom).
-init(X,q0) | -init(Y,q0) | init(fT(X,Y),q1) # label(clause15) # label(axiom).
-init(X,q0) | -init(Y,q1) | init(fN(X,Y),q1) # label(clause16) # label(axiom).
-init(X,q0) | -init(Y,q0) | init(fN(X,Y),q0) # label(clause17) # label(axiom).
-init(X,q1) | -init(Y,q0) | init(fN(X,Y),q1) # label(clause18) # label(axiom).
bad(n,q0) # label(clause19) # label(axiom).
bad(t,q1) # label(clause20) # label(axiom).
-bad(X,q0) | -bad(Y,q0) | bad(fN(X,Y),q0) # label(clause21) # label(axiom).
-bad(X,q0) | -bad(Y,q0) | bad(fT(X,Y),q1) # label(clause22) # label(axiom).
-bad(X,q0) | -bad(Y,q1) | bad(fN(X,Y),q1) # label(clause23) # label(axiom).
-bad(X,q1) | -bad(Y,q0) | bad(fN(X,Y),q0) # label(clause24) # label(axiom).
-bad(X,q0) | -bad(Y,q1) | bad(fT(X,Y),q2) # label(clause25) # label(axiom).
-bad(X,q1) | -bad(Y,q0) | bad(fT(X,Y),q2) # label(clause26) # label(axiom).
-bad(X,q1) | -bad(Y,q1) | bad(fN(X,Y),q2) # label(clause27) # label(axiom).
-bad(X,q1) | -bad(Y,q2) | bad(fT(X,Y),q2) # label(clause28) # label(axiom).
-bad(X,q2) | -bad(Y,q1) | bad(fT(X,Y),q2) # label(clause29) # label(axiom).
-bad(X,q2) | -bad(Y,q2) | bad(fT(X,Y),q2) # label(clause30) # label(axiom).
-bad(X,q1) | -bad(Y,q1) | bad(fN(X,Y),q2) # label(clause31) # label(axiom).
-bad(X,q0) | -bad(Y,q2) | bad(fN(X,Y),q2) # label(clause32) # label(axiom).
-bad(X,q2) | -bad(Y,q0) | bad(fN(X,Y),q2) # label(clause33) # label(axiom).
-bad(X,q1) | -bad(Y,q2) | bad(fN(X,Y),q2) # label(clause34) # label(axiom).
-bad(X,q2) | -bad(Y,q1) | bad(fN(X,Y),q2) # label(clause35) # label(axiom).
-bad(X,q2) | -bad(Y,q2) | bad(fN(X,Y),q2) # label(clause36) # label(axiom).
-predT(X,Y,q2) | r(X,Y) # label(clause37) # label(axiom).
-r(X,Y) | -r(Y,Z) | r(X,Z) # label(clause38) # label(axiom).
-init(X,q1) | init1(X) # label(clause39) # label(axiom).
-bad(X,q2) | bad1(X) # label(clause40) # label(axiom).
-init1(X) | -r(X,Y) | -bad1(Y) # label(clause41) # label(axiom).
end_of_list.

formulas(goals).
end_of_list.

============================== end of input ==========================

============================== PROCESS NON-CLAUSAL FORMULAS ==========

% Formulas that are not ordinary clauses:

============================== end of process non-clausal formulas ===

============================== CLAUSES FOR SEARCH ====================

formulas(mace4_clauses).
predT(n,n,q0) # label(clause1) # label(axiom).
predT(t,n,q1) # label(clause2) # label(axiom).
predT(n,t,q3) # label(clause3) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q0) | predT(fT(A,C),fN(B,D),q1) # label(clause4) # label(axiom).
-predT(A,B,q1) | -predT(C,D,q0) | predT(fN(A,C),fT(B,D),q2) # label(clause5) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q1) | predT(fN(A,C),fT(B,D),q2) # label(clause6) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q0) | predT(fN(A,C),fN(B,D),q0) # label(clause7) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q2) | predT(fN(A,C),fN(B,D),q2) # label(clause8) # label(axiom).
-predT(A,B,q2) | -predT(C,D,q0) | predT(fN(A,C),fN(B,D),q2) # label(clause9) # label(axiom).
-predT(A,B,q3) | -predT(C,D,q0) | predT(fT(A,C),fN(B,D),q2) # label(clause10) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q3) | predT(fT(A,C),fN(B,D),q2) # label(clause11) # label(axiom).
-predT(A,B,q0) | -predT(C,D,q0) | predT(fN(A,C),fT(B,D),q3) # label(clause12) # label(axiom).
init(n,q0) # label(clause13) # label(axiom).
init(t,q1) # label(clause14) # label(axiom).
-init(A,q0) | -init(B,q0) | init(fT(A,B),q1) # label(clause15) # label(axiom).
-init(A,q0) | -init(B,q1) | init(fN(A,B),q1) # label(clause16) # label(axiom).
-init(A,q0) | -init(B,q0) | init(fN(A,B),q0) # label(clause17) # label(axiom).
-init(A,q1) | -init(B,q0) | init(fN(A,B),q1) # label(clause18) # label(axiom).
bad(n,q0) # label(clause19) # label(axiom).
bad(t,q1) # label(clause20) # label(axiom).
-bad(A,q0) | -bad(B,q0) | bad(fN(A,B),q0) # label(clause21) # label(axiom).
-bad(A,q0) | -bad(B,q0) | bad(fT(A,B),q1) # label(clause22) # label(axiom).
-bad(A,q0) | -bad(B,q1) | bad(fN(A,B),q1) # label(clause23) # label(axiom).
-bad(A,q1) | -bad(B,q0) | bad(fN(A,B),q0) # label(clause24) # label(axiom).
-bad(A,q0) | -bad(B,q1) | bad(fT(A,B),q2) # label(clause25) # label(axiom).
-bad(A,q1) | -bad(B,q0) | bad(fT(A,B),q2) # label(clause26) # label(axiom).
-bad(A,q1) | -bad(B,q1) | bad(fN(A,B),q2) # label(clause27) # label(axiom).
-bad(A,q1) | -bad(B,q2) | bad(fT(A,B),q2) # label(clause28) # label(axiom).
-bad(A,q2) | -bad(B,q1) | bad(fT(A,B),q2) # label(clause29) # label(axiom).
-bad(A,q2) | -bad(B,q2) | bad(fT(A,B),q2) # label(clause30) # label(axiom).
-bad(A,q1) | -bad(B,q1) | bad(fN(A,B),q2) # label(clause31) # label(axiom).
-bad(A,q0) | -bad(B,q2) | bad(fN(A,B),q2) # label(clause32) # label(axiom).
-bad(A,q2) | -bad(B,q0) | bad(fN(A,B),q2) # label(clause33) # label(axiom).
-bad(A,q1) | -bad(B,q2) | bad(fN(A,B),q2) # label(clause34) # label(axiom).
-bad(A,q2) | -bad(B,q1) | bad(fN(A,B),q2) # label(clause35) # label(axiom).
-bad(A,q2) | -bad(B,q2) | bad(fN(A,B),q2) # label(clause36) # label(axiom).
-predT(A,B,q2) | r(A,B) # label(clause37) # label(axiom).
-r(A,B) | -r(B,C) | r(A,C) # label(clause38) # label(axiom).
-init(A,q1) | init1(A) # label(clause39) # label(axiom).
-bad(A,q2) | bad1(A) # label(clause40) # label(axiom).
-init1(A) | -r(A,B) | -bad1(B) # label(clause41) # label(axiom).
end_of_list.

============================== end of clauses for search =============

% There are no domain elements in the input.

============================== DOMAIN SIZE 2 =========================

=== Mace4 starting on domain size 2. ===

% Cell selection order:

n.
q0.
q1.
q2.
q3.
t.
fN(0,0).
fT(0,0).
bad1(0).
init1(0).
bad(0,0).
init(0,0).
r(0,0).
predT(0,0,0).
fN(0,1).
fN(1,0).
fN(1,1).
fT(0,1).
fT(1,0).
fT(1,1).
bad1(1).
init1(1).
bad(0,1).
bad(1,0).
bad(1,1).
init(0,1).
init(1,0).
init(1,1).
r(0,1).
r(1,0).
r(1,1).
predT(0,0,1).
predT(0,1,0).
predT(1,0,0).
predT(0,1,1).
predT(1,0,1).
predT(1,1,0).
predT(1,1,1).

Initial partial model:

 n : -

 q0 : -

 q1 : -

 q2 : -

 q3 : -

 t : -

 fN :
      | 0 1
    --+----
    0 | - -
    1 | - -

 fT :
      | 0 1
    --+----
    0 | - -
    1 | - -

 bad1 :
        0 1
    -------
        - -

 init1 :
        0 1
    -------
        - -

 bad :
      | 0 1
    --+----
    0 | - -
    1 | - -

 init :
      | 0 1
    --+----
    0 | - -
    1 | - -

 r :
      | 0 1
    --+----
    0 | - -
    1 | - -
predT(0,0,0) = -.
predT(0,0,1) = -.
predT(0,1,0) = -.
predT(0,1,1) = -.
predT(1,0,0) = -.
predT(1,0,1) = -.
predT(1,1,0) = -.
predT(1,1,1) = -.

============================== STATISTICS ============================

For domain size 2.

Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds).
Ground clauses: seen=251, kept=251.
Selections=24, assignments=47, propagations=308, current_models=0.
Rewrite_terms=5508, rewrite_bools=3996, indexes=1788.
Rules_from_neg_clauses=58, cross_offs=58.

============================== end of statistics =====================

============================== DOMAIN SIZE 3 =========================

=== Mace4 starting on domain size 3. ===

% Cell selection order:

n.
q0.
q1.
q2.
q3.
t.
fN(0,0).
fT(0,0).
bad1(0).
init1(0).
bad(0,0).
init(0,0).
r(0,0).
predT(0,0,0).
fN(0,1).
fN(1,0).
fN(1,1).
fT(0,1).
fT(1,0).
fT(1,1).
bad1(1).
init1(1).
bad(0,1).
bad(1,0).
bad(1,1).
init(0,1).
init(1,0).
init(1,1).
r(0,1).
r(1,0).
r(1,1).
predT(0,0,1).
predT(0,1,0).
predT(1,0,0).
predT(0,1,1).
predT(1,0,1).
predT(1,1,0).
predT(1,1,1).
fN(0,2).
fN(2,0).
fN(1,2).
fN(2,1).
fN(2,2).
fT(0,2).
fT(2,0).
fT(1,2).
fT(2,1).
fT(2,2).
bad1(2).
init1(2).
bad(0,2).
bad(2,0).
bad(1,2).
bad(2,1).
bad(2,2).
init(0,2).
init(2,0).
init(1,2).
init(2,1).
init(2,2).
r(0,2).
r(2,0).
r(1,2).
r(2,1).
r(2,2).
predT(0,0,2).
predT(0,2,0).
predT(2,0,0).
predT(0,1,2).
predT(0,2,1).
predT(1,0,2).
predT(1,2,0).
predT(2,0,1).
predT(2,1,0).
predT(0,2,2).
predT(1,1,2).
predT(1,2,1).
predT(2,0,2).
predT(2,1,1).
predT(2,2,0).
predT(1,2,2).
predT(2,1,2).
predT(2,2,1).
predT(2,2,2).

Initial partial model:

 n : -

 q0 : -

 q1 : -

 q2 : -

 q3 : -

 t : -

 fN :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 fT :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 bad1 :
        0 1 2
    ---------
        - - -

 init1 :
        0 1 2
    ---------
        - - -

 bad :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 init :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 r :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -
predT(0,0,0) = -.
predT(0,0,1) = -.
predT(0,0,2) = -.
predT(0,1,0) = -.
predT(0,1,1) = -.
predT(0,1,2) = -.
predT(0,2,0) = -.
predT(0,2,1) = -.
predT(0,2,2) = -.
predT(1,0,0) = -.
predT(1,0,1) = -.
predT(1,0,2) = -.
predT(1,1,0) = -.
predT(1,1,1) = -.
predT(1,1,2) = -.
predT(1,2,0) = -.
predT(1,2,1) = -.
predT(1,2,2) = -.
predT(2,0,0) = -.
predT(2,0,1) = -.
predT(2,0,2) = -.
predT(2,1,0) = -.
predT(2,1,1) = -.
predT(2,1,2) = -.
predT(2,2,0) = -.
predT(2,2,1) = -.
predT(2,2,2) = -.

============================== MODEL =================================

interpretation( 3, [number=1, seconds=0], [

        function(n, [ 0 ]),

        function(q0, [ 0 ]),

        function(q1, [ 1 ]),

        function(q2, [ 2 ]),

        function(q3, [ 1 ]),

        function(t, [ 1 ]),

        function(fN(_,_), [
                           0, 1, 2,
                           1, 2, 2,
                           2, 2, 2 ]),

        function(fT(_,_), [
                           1, 2, 2,
                           2, 2, 2,
                           2, 2, 2 ]),

        relation(bad1(_), [ 0, 0, 1 ]),

        relation(init1(_), [ 0, 1, 0 ]),

        relation(bad(_,_), [
                           1, 0, 0,
                           1, 1, 0,
                           1, 1, 1 ]),

        relation(init(_,_), [
                           1, 0, 0,
                           0, 1, 0,
                           0, 0, 0 ]),

        relation(r(_,_), [
                           1, 0, 1,
                           0, 1, 0,
                           1, 0, 1 ]),

        relation(predT(_,_,_), [
                           1, 0, 0,
                           0, 1, 0,
                           0, 0, 1,
                           0, 1, 0,
                           0, 0, 1,
                           0, 0, 0,
                           0, 0, 1,
                           0, 0, 0,
                           0, 0, 0 ])
]).

============================== end of model ==========================

============================== STATISTICS ============================

For domain size 3.

Current CPU time: 0.00 seconds (total CPU time: 0.03 seconds).
Ground clauses: seen=967, kept=967.
Selections=68, assignments=174, propagations=1520, current_models=1.
Rewrite_terms=25313, rewrite_bools=28296, indexes=6432.
Rules_from_neg_clauses=193, cross_offs=508.

============================== end of statistics =====================

------------- memory usage (for entire run) -------------------

Total malloced: 20 megabytes
  type (bytes each)        gets      frees     in use      bytes
chunk ( 104)               1097       1097          0      0.0 K
string_buf (   8)          1097       1097          0      0.0 K
token (  20)               1779       1779          0      0.0 K
pterm (  16)               1209       1209          0      0.0 K
ilist (   8)                 58         44         14      0.1 K
plist (   8)               5139       4863        276      2.2 K
i2list (  12)                50         50          0      0.0 K
term (  20)               20551      20300        251      4.9 K
      term arg arrays:                                     1.2 K
topform (  44)               41          0         41      1.8 K
clist_pos (  20)              0          0          0      0.0 K
clist (  16)                  0          0          0      0.0 K
mclause (  20)             1218       1218          0      0.0 K (29.9 K high)
mstate (  16)               223        223          0      0.0 K
jnode (  28)               7446       7446          0      0.0 K
estack (3208)               439        439          0      0.0 K (avail=0, 0.0 K)

Memory report, 1 @ 20 = 20 megs (0.24 megs used).
List   1, length      66,      0.3 K
List   2, length     969,      7.6 K
List   3, length       8,      0.1 K
List   4, length      16,      0.2 K
List   5, length    2714,     53.0 K
List   6, length     149,      3.5 K
List   7, length    2468,     67.5 K
List   8, length    3091,     96.6 K
List  26, length      27,      2.7 K

User_CPU=0.03, System_CPU=0.01, Wall_clock=0.

Exiting with 1 model.

------ process 7047 exit (max_models) ------

Process 7047 exit (max_models) Wed Jun 15 16:47:58 2011
The process finished Wed Jun 15 16:47:58 2011
Exit [0]
0.03 user, 0.01 system, 0.10 elapsed -- Max VSize = 1488KB, Max RSS = 148KB




$ memtime paradox2-3 --verbose 2 two-way-token.p
Paradox, version 2.3, 2007-11-01.
+++ PROBLEM: two-way-token.p
Reading 'two-way-token.p' ... OK
+++ SOLVING: two-way-token.p
domain size 1
domain size 2
domain size 3
+++ RESULT: Satisfiable
Exit [0]
0.10 user, 0.00 system, 0.20 elapsed -- Max VSize = 5976KB, Max RSS = 3016KB



$ memtime h1 -all two-way-token.p
Exit [0]
3.48 user, 0.04 system, 3.54 elapsed -- Max VSize = 15072KB, Max RSS = 13668KB

$ pldet -v two-way-token.model.pl >two-way-token.xml 
$ grep "state name=" two-way-token.xml | wc
     32      64    1325
$ grep entry two-way-token.xml | wc
   1647    6676  210367

-----------------------------------------------------------------------------

The two-way token protocol (Section V).
$ date
Thu Jun 16 09:36:41 CEST 2011

$ pl2tptp -status axiom two-way-token-alt.pl > two-way-token-alt.p

$ memtime darwin -fd true --print-level 2 two-way-token-alt.p
Darwin 1.4.2

Finite Domain: setting initial domain size to 1.
Finite Domain: using non-ground splitting in preprocessing.
Finite Domain: will print multiplication tables instead of DIG representation.

Defaulting to tptp format.
Parsing two-way-token-alt.p ...



Configuration:
--resolve                               : true
--subsume                               : true
--compact                               : true
--productivity                          : true
--mixed-literals                        : true
--finite-domain                         : true
--finite-domain-functionality           : true
--unique-name-assumption                : false
--lemma                                 : Grounded
--lemma-min                             : 1000
--lemma-max                             : 5000
--lemma-uip                             : false
--lemma-parametric-assert               : 0
--plus-v                                : false
--equality                              : Axioms
--backtracking                          : Backjumping
--iterative-deepening                   : TermDepth
--depth-bound                           : 1
--max-depth-bound                       : 0
--lookahead-all                         : false
--restart                               : Lazy
--neg-assert-candidates                 : Use
--eprover                               :
--preprocess-split                      : NonGround
--preprocess-unit                       : true
--preprocess-pure                       : false
--preprocess-resolution                 : false
--preprocess-equality                   : true
--input-format                          : tptp
--timeout-cpu                           : 0.
--timeout-wc                            : 0.
--memory-limit                          : 0
--print-level                           : 2
--print-configuration                   : true
--print-preprocess-split                : false
--print-preprocess-unit                 : false
--print-preprocess-resolution           : false
--print-preprocess-pure                 : false
--print-preprocess-equality             : false
--print-equality-axioms                 : false
--print-lemmas                          : false
--print-fd-sorts                        : false
--print-fd-transformation               : false
--print-fd-axioms                       : false
--print-fd-problem                      : Silent
--print-statistics                      : true
--print-context                         : false
--print-context-file                    :
--print-DIG                             : false
--print-DIG-file                        :
--print-model-finite                    : true
--print-model-tptp                      : false
--print-model-tptp-file                 :
--print-derivation-online               : false
--print-context-unifier                 : false
--print-assert-candidates               : false
--print-split-candidates                : false
--print-constants                       : false

Problem:
Horn                                    : true
BS                                      : false
Equality                                : false

Proving  ...

SZS status Satisfiable for two-way-token-alt.p

MODEL (Multiplication Tables):
SZS output start FiniteModel for two-way-token-alt.p
Domain size: 3

Constants:
e = '1

Functions:
fn('1, '1) = '1
fn('1, '2) = '2
fn('1, '3) = '3
fn('2, '1) = '2
fn('2, '2) = '3
fn('2, '3) = '3
fn('3, '1) = '3
fn('3, '2) = '3
fn('3, '3) = '3

ft('1, '1) = '2
ft('1, '2) = '3
ft('1, '3) = '3
ft('2, '1) = '3
ft('2, '2) = '3
ft('2, '3) = '3
ft('3, '1) = '3
ft('3, '2) = '3
ft('3, '3) = '3


Predicates:
b1:
b1('2)
b1('3)

i1:
i1('1)

init:
init('2)

unsafe:
unsafe('3)

r:
r('1, '1)
r('2, '2)
r('3, '2)
r('3, '3)

SZS output end FiniteModel for two-way-token-alt.p

Statistics:
Close                                   :        7
Assert                                  :      247
Split                                   :       18
Resolve                                 :       25
Subsume                                 :       32
Compact                                 :        2
Productivity Filtered                   :        0
Assert Candidates                       :      755
Split Candidates                        :      991
Jumps                                   :        0
Debug                                   :        0
Global Debug                            :        0
Global Debug2                           :        0
Maximum Context Size                    :      192
Incomplete Branches                     :        0
Restarts                                :        2
Bound                                   :        3
Lemmas                                  :        2

CPU  Time (s)                           :      0.0
Memory    (MB)                          :        1
Exit [0]
0.03 user, 0.00 system, 0.21 elapsed -- Max VSize = 4096KB, Max RSS = 2660KB




$ (echo "set(verbose)."; tptp_to_ladr <two-way-token-alt.p) | memtime mace4
============================== Mace4 =================================
Mace4 (32) version 2008-06A, June 2008.
Process 5695 was started by goubault on dell26.lsv.ens-cachan.fr,
Thu Jun 16 09:39:30 2011
The command was "mace4".
============================== end of head ===========================

============================== INPUT =================================
set(verbose).
set(prolog_style_variables).

formulas(assumptions).
r(ft(fn(Y,Z),X),fn(ft(Y,Z),X)) # label(clause1) # label(axiom).
r(ft(X,fn(Y,Z)),fn(X,ft(Y,Z))) # label(clause2) # label(axiom).
r(fn(ft(Y,Z),X),ft(fn(Y,Z),X)) # label(clause3) # label(axiom).
r(fn(X,ft(Y,Z)),ft(X,fn(Y,Z))) # label(clause4) # label(axiom).
r(X,X) # label(clause5) # label(axiom).
-r(X,Y) | -r(Z,V) | r(fn(X,Z),fn(Y,V)) # label(clause6) # label(axiom).
-r(X,Y) | -r(Z,V) | r(ft(X,Z),ft(Y,V)) # label(clause7) # label(axiom).
-r(X,Y) | -r(Y,Z) | r(X,Z) # label(clause8) # label(axiom).
i1(fn(e,e)) # label(clause9) # label(axiom).
-i1(X) | -i1(Y) | i1(fn(X,Y)) # label(clause10) # label(axiom).
-i1(X) | -i1(Y) | init(ft(X,Y)) # label(clause11) # label(axiom).
-init(X) | -i1(Y) | init(fn(X,Y)) # label(clause12) # label(axiom).
-i1(X) | -init(Y) | init(fn(X,Y)) # label(clause13) # label(axiom).
b1(ft(X,Y)) # label(clause14) # label(axiom).
-b1(X) | b1(fn(X,Y)) # label(clause15) # label(axiom).
-b1(Y) | b1(fn(X,Y)) # label(clause16) # label(axiom).
-b1(X) | unsafe(ft(X,Y)) # label(clause17) # label(axiom).
-b1(Y) | unsafe(ft(X,Y)) # label(clause18) # label(axiom).
-b1(X) | -b1(Y) | unsafe(fn(X,Y)) # label(clause19) # label(axiom).
-b1(X) | -b1(Y) | unsafe(ft(X,Y)) # label(clause20) # label(axiom).
-unsafe(X) | unsafe(fn(X,Y)) # label(clause21) # label(axiom).
-unsafe(Y) | unsafe(fn(X,Y)) # label(clause22) # label(axiom).
-unsafe(X) | unsafe(ft(X,Y)) # label(clause23) # label(axiom).
-unsafe(Y) | unsafe(ft(X,Y)) # label(clause24) # label(axiom).
-init(X) | -r(X,Y) | -unsafe(Y) # label(clause25) # label(axiom).
end_of_list.

formulas(goals).
end_of_list.

============================== end of input ==========================

============================== PROCESS NON-CLAUSAL FORMULAS ==========

% Formulas that are not ordinary clauses:

============================== end of process non-clausal formulas ===

============================== CLAUSES FOR SEARCH ====================

formulas(mace4_clauses).
r(ft(fn(A,B),C),fn(ft(A,B),C)) # label(clause1) # label(axiom).
r(ft(A,fn(B,C)),fn(A,ft(B,C))) # label(clause2) # label(axiom).
r(fn(ft(A,B),C),ft(fn(A,B),C)) # label(clause3) # label(axiom).
r(fn(A,ft(B,C)),ft(A,fn(B,C))) # label(clause4) # label(axiom).
r(A,A) # label(clause5) # label(axiom).
-r(A,B) | -r(C,D) | r(fn(A,C),fn(B,D)) # label(clause6) # label(axiom).
-r(A,B) | -r(C,D) | r(ft(A,C),ft(B,D)) # label(clause7) # label(axiom).
-r(A,B) | -r(B,C) | r(A,C) # label(clause8) # label(axiom).
i1(fn(e,e)) # label(clause9) # label(axiom).
-i1(A) | -i1(B) | i1(fn(A,B)) # label(clause10) # label(axiom).
-i1(A) | -i1(B) | init(ft(A,B)) # label(clause11) # label(axiom).
-init(A) | -i1(B) | init(fn(A,B)) # label(clause12) # label(axiom).
-i1(A) | -init(B) | init(fn(A,B)) # label(clause13) # label(axiom).
b1(ft(A,B)) # label(clause14) # label(axiom).
-b1(A) | b1(fn(A,B)) # label(clause15) # label(axiom).
-b1(A) | b1(fn(B,A)) # label(clause16) # label(axiom).
-b1(A) | unsafe(ft(A,B)) # label(clause17) # label(axiom).
-b1(A) | unsafe(ft(B,A)) # label(clause18) # label(axiom).
-b1(A) | -b1(B) | unsafe(fn(A,B)) # label(clause19) # label(axiom).
-b1(A) | -b1(B) | unsafe(ft(A,B)) # label(clause20) # label(axiom).
-unsafe(A) | unsafe(fn(A,B)) # label(clause21) # label(axiom).
-unsafe(A) | unsafe(fn(B,A)) # label(clause22) # label(axiom).
-unsafe(A) | unsafe(ft(A,B)) # label(clause23) # label(axiom).
-unsafe(A) | unsafe(ft(B,A)) # label(clause24) # label(axiom).
-init(A) | -r(A,B) | -unsafe(B) # label(clause25) # label(axiom).
end_of_list.

============================== end of clauses for search =============

% There are no domain elements in the input.

============================== DOMAIN SIZE 2 =========================

=== Mace4 starting on domain size 2. ===

% Cell selection order:

e.
fn(0,0).
ft(0,0).
b1(0).
i1(0).
init(0).
unsafe(0).
r(0,0).
fn(0,1).
fn(1,0).
fn(1,1).
ft(0,1).
ft(1,0).
ft(1,1).
b1(1).
i1(1).
init(1).
unsafe(1).
r(0,1).
r(1,0).
r(1,1).

Initial partial model:

 e : -

 fn :
      | 0 1
    --+----
    0 | - -
    1 | - -

 ft :
      | 0 1
    --+----
    0 | - -
    1 | - -

 b1 :
        0 1
    -------
        - -

 i1 :
        0 1
    -------
        - -

 init :
        0 1
    -------
        - -

 unsafe :
        0 1
    -------
        - -

 r :
      | 0 1
    --+----
    0 | 1 -
    1 | - 1

============================== STATISTICS ============================

For domain size 2.

Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds).
Ground clauses: seen=139, kept=135.
Selections=5, assignments=9, propagations=40, current_models=0.
Rewrite_terms=261, rewrite_bools=267, indexes=103.
Rules_from_neg_clauses=11, cross_offs=11.

============================== end of statistics =====================

============================== DOMAIN SIZE 3 =========================

=== Mace4 starting on domain size 3. ===

% Cell selection order:

e.
fn(0,0).
ft(0,0).
b1(0).
i1(0).
init(0).
unsafe(0).
r(0,0).
fn(0,1).
fn(1,0).
fn(1,1).
ft(0,1).
ft(1,0).
ft(1,1).
b1(1).
i1(1).
init(1).
unsafe(1).
r(0,1).
r(1,0).
r(1,1).
fn(0,2).
fn(2,0).
fn(1,2).
fn(2,1).
fn(2,2).
ft(0,2).
ft(2,0).
ft(1,2).
ft(2,1).
ft(2,2).
b1(2).
i1(2).
init(2).
unsafe(2).
r(0,2).
r(2,0).
r(1,2).
r(2,1).
r(2,2).

Initial partial model:

 e : -

 fn :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 ft :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 b1 :
        0 1 2
    ---------
        - - -

 i1 :
        0 1 2
    ---------
        - - -

 init :
        0 1 2
    ---------
        - - -

 unsafe :
        0 1 2
    ---------
        - - -

 r :
      | 0 1 2
    --+------
    0 | 1 - -
    1 | - 1 -
    2 | - - 1

============================== MODEL =================================

interpretation( 3, [number=1, seconds=0], [

        function(e, [ 0 ]),

        function(fn(_,_), [
                           0, 1, 2,
                           1, 2, 2,
                           2, 2, 2 ]),

        function(ft(_,_), [
                           1, 2, 2,
                           2, 2, 2,
                           2, 2, 2 ]),

        relation(b1(_), [ 0, 1, 1 ]),

        relation(i1(_), [ 1, 0, 0 ]),

        relation(init(_), [ 0, 1, 0 ]),

        relation(unsafe(_), [ 0, 0, 1 ]),

        relation(r(_,_), [
                           1, 0, 0,
                           0, 1, 0,
                           0, 0, 1 ])
]).

============================== end of model ==========================

============================== STATISTICS ============================

For domain size 3.

Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds).
Ground clauses: seen=445, kept=436.
Selections=7, assignments=8, propagations=36, current_models=1.
Rewrite_terms=939, rewrite_bools=587, indexes=204.
Rules_from_neg_clauses=16, cross_offs=32.

============================== end of statistics =====================

------------- memory usage (for entire run) -------------------

Total malloced: 20 megabytes
  type (bytes each)        gets      frees     in use      bytes
chunk ( 104)                555        555          0      0.0 K
string_buf (   8)           555        555          0      0.0 K
token (  20)                933        933          0      0.0 K
pterm (  16)                604        604          0      0.0 K
ilist (   8)                 35         27          8      0.1 K
plist (   8)               1958       1744        214      1.7 K
i2list (  12)                32         32          0      0.0 K
term (  20)                7194       7103         91      1.8 K
      term arg arrays:                                     0.5 K
topform (  44)               25          0         25      1.1 K
clist_pos (  20)              0          0          0      0.0 K
clist (  16)                  0          0          0      0.0 K
mclause (  20)              571        571          0      0.0 K (11.8 K high)
mstate (  16)                19         19          0      0.0 K
jnode (  28)                342        342          0      0.0 K
estack (3208)                25         25          0      0.0 K (avail=0, 0.0 K)

Memory report, 1 @ 20 = 20 megs (0.08 megs used).
List   1, length      29,      0.1 K
List   2, length     437,      3.4 K
List   3, length       5,      0.1 K
List   4, length      16,      0.2 K
List   5, length     177,      3.5 K
List   6, length     476,     11.2 K
List   7, length    1665,     45.5 K
List   8, length     114,      3.6 K
List  26, length      24,      2.4 K

User_CPU=0.01, System_CPU=0.00, Wall_clock=0.

Exiting with 1 model.

------ process 5695 exit (max_models) ------

Process 5695 exit (max_models) Thu Jun 16 09:39:30 2011
The process finished Thu Jun 16 09:39:30 2011
Exit [0]
0.01 user, 0.00 system, 0.10 elapsed -- Max VSize = 22608KB, Max RSS = 404KB




$ memtime paradox2-3 --verbose 2 two-way-token-alt.p
Paradox, version 2.3, 2007-11-01.
+++ PROBLEM: two-way-token-alt.p
Reading 'two-way-token-alt.p' ... OK
+++ SOLVING: two-way-token-alt.p
domain size 1
domain size 2
domain size 3
+++ RESULT: Satisfiable
Exit [0]
0.04 user, 0.00 system, 0.41 elapsed -- Max VSize = 5320KB, Max RSS = 728KB



$ memtime ./h1 -all -progress two-way-token-alt.p
*** Derived: clause25 ***
Exit [0]
0.15 user, 0.01 system, 0.20 elapsed -- Max VSize = 8740KB, Max RSS = 7240KB

-----------------------------------------------------------------------------

The IEEE1394 protocol (Section VI, not described).

$ date
Thu Jun 16 09:56:44 CEST 2011

$ pl2tptp -status axiom ieee1394.pl > ieee1394.p

$ memtime darwin -fd true --print-level 2 ieee1394.p
Darwin 1.4.2

Finite Domain: setting initial domain size to 1.
Finite Domain: using non-ground splitting in preprocessing.
Finite Domain: will print multiplication tables instead of DIG representation.

Defaulting to tptp format.
Parsing ieee1394.p ...



Configuration:
--resolve                               : true
--subsume                               : true
--compact                               : true
--productivity                          : true
--mixed-literals                        : true
--finite-domain                         : true
--finite-domain-functionality           : true
--unique-name-assumption                : false
--lemma                                 : Grounded
--lemma-min                             : 1000
--lemma-max                             : 5000
--lemma-uip                             : false
--lemma-parametric-assert               : 0
--plus-v                                : false
--equality                              : Axioms
--backtracking                          : Backjumping
--iterative-deepening                   : TermDepth
--depth-bound                           : 1
--max-depth-bound                       : 0
--lookahead-all                         : false
--restart                               : Lazy
--neg-assert-candidates                 : Use
--eprover                               :
--preprocess-split                      : NonGround
--preprocess-unit                       : true
--preprocess-pure                       : false
--preprocess-resolution                 : false
--preprocess-equality                   : true
--input-format                          : tptp
--timeout-cpu                           : 0.
--timeout-wc                            : 0.
--memory-limit                          : 0
--print-level                           : 2
--print-configuration                   : true
--print-preprocess-split                : false
--print-preprocess-unit                 : false
--print-preprocess-resolution           : false
--print-preprocess-pure                 : false
--print-preprocess-equality             : false
--print-equality-axioms                 : false
--print-lemmas                          : false
--print-fd-sorts                        : false
--print-fd-transformation               : false
--print-fd-axioms                       : false
--print-fd-problem                      : Silent
--print-statistics                      : true
--print-context                         : false
--print-context-file                    :
--print-DIG                             : false
--print-DIG-file                        :
--print-model-finite                    : true
--print-model-tptp                      : false
--print-model-tptp-file                 :
--print-derivation-online               : false
--print-context-unifier                 : false
--print-assert-candidates               : false
--print-split-candidates                : false
--print-constants                       : false

Problem:
Horn                                    : true
BS                                      : false
Equality                                : false

Proving  ...

SZS status Satisfiable for ieee1394.p

MODEL (Multiplication Tables):
SZS output start FiniteModel for ieee1394.p
Domain size: 3

Constants:
e = '1
w = '1
y = '2

Functions:
fc('1, '1) = '1
fc('1, '2) = '2
fc('1, '3) = '2
fc('2, '1) = '2
fc('2, '2) = '2
fc('2, '3) = '2
fc('3, '1) = '2
fc('3, '2) = '2
fc('3, '3) = '2

fl('1, '1) = '2
fl('1, '2) = '2
fl('1, '3) = '2
fl('2, '1) = '2
fl('2, '2) = '2
fl('2, '3) = '2
fl('3, '1) = '2
fl('3, '2) = '2
fl('3, '3) = '2

fu('1, '1) = '3
fu('1, '2) = '2
fu('1, '3) = '3
fu('2, '1) = '2
fu('2, '2) = '2
fu('2, '3) = '2
fu('3, '1) = '3
fu('3, '2) = '2
fu('3, '3) = '3


Predicates:
b1:
b1('2)

bad:
bad('2)

init:
init('3)

r:
r('1, '1)
r('2, '1)
r('2, '2)
r('2, '3)
r('3, '1)
r('3, '3)

SZS output end FiniteModel for ieee1394.p

Statistics:
Close                                   :       26
Assert                                  :      989
Split                                   :       53
Resolve                                 :      359
Subsume                                 :      156
Compact                                 :       57
Productivity Filtered                   :        5
Assert Candidates                       :     2880
Split Candidates                        :     1974
Jumps                                   :        0
Debug                                   :        0
Global Debug                            :        0
Global Debug2                           :        0
Maximum Context Size                    :      341
Incomplete Branches                     :        0
Restarts                                :        2
Bound                                   :        3
Lemmas                                  :       20

CPU  Time (s)                           :      0.1
Memory    (MB)                          :        1
Exit [0]
0.09 user, 0.00 system, 0.30 elapsed -- Max VSize = 3292KB, Max RSS = 1448KB



$ (echo "set(verbose)."; tptp_to_ladr <ieee1394.p) | memtime mace4
============================== Mace4 =================================
Mace4 (32) version 2008-06A, June 2008.
Process 5939 was started by goubault on dell26.lsv.ens-cachan.fr,
Thu Jun 16 09:58:27 2011
The command was "mace4".
============================== end of head ===========================

============================== INPUT =================================
set(verbose).
set(prolog_style_variables).

formulas(assumptions).
r(fu(fu(e,e),X),fu(fc(e,e),X)) # label(clause1) # label(axiom).
r(fu(X,fu(e,e)),fu(X,fc(e,e))) # label(clause2) # label(axiom).
r(fc(w,fu(fu(X,Y),fc(Z,V))),fc(w,fc(fu(X,Y),fc(Z,V)))) # label(clause3) # label(axiom).
r(fc(w,fu(fc(X,Y),fu(Z,V))),fc(w,fc(fc(X,Y),fu(Z,V)))) # label(clause4) # label(axiom).
r(fu(w,fu(fc(X,Y),fc(Z,V))),fu(w,fc(fc(X,Y),fc(Z,V)))) # label(clause5) # label(axiom).
r(fc(w,fu(fc(X,Y),fc(Z,V))),fc(w,fl(fc(X,Y),fc(Z,V)))) # label(clause6) # label(axiom).
r(fc(fu(e,e),X),fc(fl(e,e),X)) # label(clause7) # label(axiom).
r(fc(X,fu(e,e)),fc(X,fl(e,e))) # label(clause8) # label(axiom).
r(X,X) # label(clause9) # label(axiom).
-r(X,Y) | -r(Z,V) | r(fc(X,Z),fc(Y,V)) # label(clause10) # label(axiom).
-r(X,Y) | -r(Z,V) | r(fu(X,Z),fu(Y,V)) # label(clause11) # label(axiom).
-r(X,Y) | -r(Z,V) | r(fl(X,Z),fl(Y,V)) # label(clause12) # label(axiom).
-r(X,Y) | -r(Y,Z) | r(X,Z) # label(clause13) # label(axiom).
init(fu(e,e)) # label(clause14) # label(axiom).
-init(X) | -init(Y) | init(fu(X,Y)) # label(clause15) # label(axiom).
b1(fl(X,Y)) # label(clause16) # label(axiom).
-b1(X) | -b1(Y) | b1(fc(X,Y)) # label(clause17) # label(axiom).
-b1(X) | -b1(Y) | b1(fl(X,Y)) # label(clause18) # label(axiom).
-b1(X) | -b1(Y) | b1(fu(X,Y)) # label(clause19) # label(axiom).
-b1(X) | bad(fl(X,Y)) # label(clause20) # label(axiom).
-b1(Y) | bad(fl(X,Y)) # label(clause21) # label(axiom).
-b1(X) | -b1(Y) | bad(fc(X,Y)) # label(clause22) # label(axiom).
-b1(X) | -b1(Y) | bad(fl(X,Y)) # label(clause23) # label(axiom).
-b1(X) | -b1(Y) | bad(fu(X,Y)) # label(clause24) # label(axiom).
-bad(X) | bad(fc(X,Y)) # label(clause25) # label(axiom).
-bad(Y) | bad(fc(X,Y)) # label(clause26) # label(axiom).
-bad(X) | bad(fl(X,Y)) # label(clause27) # label(axiom).
-bad(Y) | bad(fl(X,Y)) # label(clause28) # label(axiom).
-bad(X) | bad(fu(X,Y)) # label(clause29) # label(axiom).
-bad(Y) | bad(fu(X,y)) # label(clause30) # label(axiom).
-init(X) | -r(X,Y) | -bad(Y) # label(clause31) # label(axiom).
end_of_list.

formulas(goals).
end_of_list.

============================== end of input ==========================

============================== PROCESS NON-CLAUSAL FORMULAS ==========

% Formulas that are not ordinary clauses:

============================== end of process non-clausal formulas ===

============================== CLAUSES FOR SEARCH ====================

formulas(mace4_clauses).
r(fu(fu(e,e),A),fu(fc(e,e),A)) # label(clause1) # label(axiom).
r(fu(A,fu(e,e)),fu(A,fc(e,e))) # label(clause2) # label(axiom).
r(fc(w,fu(fu(A,B),fc(C,D))),fc(w,fc(fu(A,B),fc(C,D)))) # label(clause3) # label(axiom).
r(fc(w,fu(fc(A,B),fu(C,D))),fc(w,fc(fc(A,B),fu(C,D)))) # label(clause4) # label(axiom).
r(fu(w,fu(fc(A,B),fc(C,D))),fu(w,fc(fc(A,B),fc(C,D)))) # label(clause5) # label(axiom).
r(fc(w,fu(fc(A,B),fc(C,D))),fc(w,fl(fc(A,B),fc(C,D)))) # label(clause6) # label(axiom).
r(fc(fu(e,e),A),fc(fl(e,e),A)) # label(clause7) # label(axiom).
r(fc(A,fu(e,e)),fc(A,fl(e,e))) # label(clause8) # label(axiom).
r(A,A) # label(clause9) # label(axiom).
-r(A,B) | -r(C,D) | r(fc(A,C),fc(B,D)) # label(clause10) # label(axiom).
-r(A,B) | -r(C,D) | r(fu(A,C),fu(B,D)) # label(clause11) # label(axiom).
-r(A,B) | -r(C,D) | r(fl(A,C),fl(B,D)) # label(clause12) # label(axiom).
-r(A,B) | -r(B,C) | r(A,C) # label(clause13) # label(axiom).
init(fu(e,e)) # label(clause14) # label(axiom).
-init(A) | -init(B) | init(fu(A,B)) # label(clause15) # label(axiom).
b1(fl(A,B)) # label(clause16) # label(axiom).
-b1(A) | -b1(B) | b1(fc(A,B)) # label(clause17) # label(axiom).
-b1(A) | -b1(B) | b1(fl(A,B)) # label(clause18) # label(axiom).
-b1(A) | -b1(B) | b1(fu(A,B)) # label(clause19) # label(axiom).
-b1(A) | bad(fl(A,B)) # label(clause20) # label(axiom).
-b1(A) | bad(fl(B,A)) # label(clause21) # label(axiom).
-b1(A) | -b1(B) | bad(fc(A,B)) # label(clause22) # label(axiom).
-b1(A) | -b1(B) | bad(fl(A,B)) # label(clause23) # label(axiom).
-b1(A) | -b1(B) | bad(fu(A,B)) # label(clause24) # label(axiom).
-bad(A) | bad(fc(A,B)) # label(clause25) # label(axiom).
-bad(A) | bad(fc(B,A)) # label(clause26) # label(axiom).
-bad(A) | bad(fl(A,B)) # label(clause27) # label(axiom).
-bad(A) | bad(fl(B,A)) # label(clause28) # label(axiom).
-bad(A) | bad(fu(A,B)) # label(clause29) # label(axiom).
-bad(A) | bad(fu(B,y)) # label(clause30) # label(axiom).
-init(A) | -r(A,B) | -bad(B) # label(clause31) # label(axiom).
end_of_list.

============================== end of clauses for search =============

% There are no domain elements in the input.

============================== DOMAIN SIZE 2 =========================

=== Mace4 starting on domain size 2. ===

% Cell selection order:

e.
w.
y.
fc(0,0).
fl(0,0).
fu(0,0).
b1(0).
bad(0).
init(0).
r(0,0).
fc(0,1).
fc(1,0).
fc(1,1).
fl(0,1).
fl(1,0).
fl(1,1).
fu(0,1).
fu(1,0).
fu(1,1).
b1(1).
bad(1).
init(1).
r(0,1).
r(1,0).
r(1,1).

Initial partial model:

 e : -

 w : -

 y : -

 fc :
      | 0 1
    --+----
    0 | - -
    1 | - -

 fl :
      | 0 1
    --+----
    0 | - -
    1 | - -

 fu :
      | 0 1
    --+----
    0 | - -
    1 | - -

 b1 :
        0 1
    -------
        - -

 bad :
        0 1
    -------
        - -

 init :
        0 1
    -------
        - -

 r :
      | 0 1
    --+----
    0 | 1 -
    1 | - 1

============================== STATISTICS ============================

For domain size 2.

Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds).
Ground clauses: seen=199, kept=195.
Selections=24, assignments=47, propagations=230, current_models=0.
Rewrite_terms=2877, rewrite_bools=1504, indexes=726.
Rules_from_neg_clauses=96, cross_offs=96.

============================== end of statistics =====================

============================== DOMAIN SIZE 3 =========================

=== Mace4 starting on domain size 3. ===

% Cell selection order:

e.
w.
y.
fc(0,0).
fl(0,0).
fu(0,0).
b1(0).
bad(0).
init(0).
r(0,0).
fc(0,1).
fc(1,0).
fc(1,1).
fl(0,1).
fl(1,0).
fl(1,1).
fu(0,1).
fu(1,0).
fu(1,1).
b1(1).
bad(1).
init(1).
r(0,1).
r(1,0).
r(1,1).
fc(0,2).
fc(2,0).
fc(1,2).
fc(2,1).
fc(2,2).
fl(0,2).
fl(2,0).
fl(1,2).
fl(2,1).
fl(2,2).
fu(0,2).
fu(2,0).
fu(1,2).
fu(2,1).
fu(2,2).
b1(2).
bad(2).
init(2).
r(0,2).
r(2,0).
r(1,2).
r(2,1).
r(2,2).

Initial partial model:

 e : -

 w : -

 y : -

 fc :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 fl :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 fu :
      | 0 1 2
    --+------
    0 | - - -
    1 | - - -
    2 | - - -

 b1 :
        0 1 2
    ---------
        - - -

 bad :
        0 1 2
    ---------
        - - -

 init :
        0 1 2
    ---------
        - - -

 r :
      | 0 1 2
    --+------
    0 | 1 - -
    1 | - 1 -
    2 | - - 1

============================== MODEL =================================

interpretation( 3, [number=1, seconds=0], [

        function(e, [ 0 ]),

        function(w, [ 0 ]),

        function(y, [ 1 ]),

        function(fc(_,_), [
                           0, 1, 1,
                           1, 1, 1,
                           1, 1, 1 ]),

        function(fl(_,_), [
                           1, 1, 1,
                           1, 1, 1,
                           1, 1, 1 ]),

        function(fu(_,_), [
                           2, 1, 2,
                           1, 1, 1,
                           2, 1, 2 ]),

        relation(b1(_), [ 0, 1, 0 ]),

        relation(bad(_), [ 0, 1, 0 ]),

        relation(init(_), [ 0, 0, 1 ]),

        relation(r(_,_), [
                           1, 0, 0,
                           0, 1, 0,
                           0, 0, 1 ])
]).

============================== end of model ==========================

============================== STATISTICS ============================

For domain size 3.

Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds).
Ground clauses: seen=763, kept=754.
Selections=22, assignments=46, propagations=212, current_models=1.
Rewrite_terms=6355, rewrite_bools=2428, indexes=842.
Rules_from_neg_clauses=96, cross_offs=223.

============================== end of statistics =====================

------------- memory usage (for entire run) -------------------

Total malloced: 20 megabytes
  type (bytes each)        gets      frees     in use      bytes
chunk ( 104)                726        726          0      0.0 K
string_buf (   8)           726        726          0      0.0 K
token (  20)               1268       1268          0      0.0 K
pterm (  16)                844        844          0      0.0 K
ilist (   8)                 44         34         10      0.1 K
plist (   8)               2883       2647        236      1.8 K
i2list (  12)                38         38          0      0.0 K
term (  20)               13289      13128        161      3.1 K
      term arg arrays:                                     0.9 K
topform (  44)               31          0         31      1.3 K
clist_pos (  20)              0          0          0      0.0 K
clist (  16)                  0          0          0      0.0 K
mclause (  20)              949        949          0      0.0 K (19.7 K high)
mstate (  16)                95         95          0      0.0 K
jnode (  28)               1994       1994          0      0.0 K
estack (3208)               113        113          0      0.0 K (avail=0, 0.0 K)

Memory report, 1 @ 20 = 20 megs (0.17 megs used).
List   1, length      33,      0.1 K
List   2, length     755,      5.9 K
List   3, length       6,      0.1 K
List   4, length      16,      0.2 K
List   5, length     710,     13.9 K
List   6, length     728,     17.1 K
List   7, length    4572,    125.0 K
List   8, length     144,      4.5 K
List  26, length      26,      2.6 K

User_CPU=0.01, System_CPU=0.00, Wall_clock=0.

Exiting with 1 model.

------ process 5939 exit (max_models) ------

Process 5939 exit (max_models) Thu Jun 16 09:58:27 2011
The process finished Thu Jun 16 09:58:27 2011
Exit [0]
0.01 user, 0.00 system, 0.20 elapsed -- Max VSize = 1616KB, Max RSS = 228KB




$ memtime paradox2-3 --verbose 2 ieee1394.p
Paradox, version 2.3, 2007-11-01.
+++ PROBLEM: ieee1394.p
Reading 'ieee1394.p' ... OK
+++ SOLVING: ieee1394.p
domain size 1
domain size 2
domain size 3
+++ RESULT: Satisfiable
Exit [0]
0.07 user, 0.00 system, 0.41 elapsed -- Max VSize = 5716KB, Max RSS = 2776KB



$ memtime ./h1 -all -progress ieee1394.p
*** Derived: clause31 ***
Exit [0]
0.18 user, 0.01 system, 0.20 elapsed -- Max VSize = 8740KB, Max RSS = 7220KB
