Here is a list of the statistics maintained about each clause:
Here is a list of all inferences:
This proof uses all but "ef", although it uses some in fairly trivial
ways. Note that clause normalization is inherently performed after
all inferences but rewriting.
PUZ031-1
Bliksem 1.12
H. de Nivelle
Max Planck Institut für Informatik,
Germany
nivelle@mpi-sb.mpg.de
Here is a list of the inference rules:
Human Readable Short Proof
(0) {G0,W4,D2,L1,V1,M1} I { product( identity, X, X ) }.
(1) {G0,W4,D2,L1,V1,M1} I { product( X, identity, X ) }.
(3) {G0,W5,D3,L1,V1,M1} I { product( X, inverse( X ), identity ) }.
(4) {G0,W6,D3,L1,V2,M1} I { product( X, Y, multiply( X, Y ) ) }.
(5) {G0,W11,D2,L3,V4,M1} I { ! product( X, Y, Z ), Z = T, ! product( X, Y, T ) }.
(6) {G0,W16,D2,L4,V6,M1} I { ! product( Y, T, U ), ! product( X, Y, Z ), product( X, U, W ), ! product( Z, T, W ) }.
(7) {G0,W16,D2,L4,V6,M1} I { ! product( X, Y, Z ), ! product( X, U, W ), product( Z, T, W ), ! product( Y, T, U ) }.
(8) {G0,W4,D2,L1,V1,M1} I { product( X, X, identity ) }.
(9) {G0,W4,D2,L1,V0,M1} I { product( a, b, c ) }.
(10) {G0,W4,D2,L1,V0,M1} I { ! product( b, a, c ) }.
(17) {G1,W9,D3,L2,V3,M1} R(5,4) { Z = multiply( X, Y ), ! product( X, Y, Z) }.
(22) {G1,W7,D2,L2,V2,M1} R(5,1) { Y = X, ! product( X, identity, Y ) }.
(28) {G1,W12,D2,L3,V4,M1} R(6,0) { ! product( X, Y, Z ), product( T, Z, Y ), ! product( T, X, identity ) }.
(41) {G1,W12,D2,L3,V4,M1} R(7,8) { ! product( X, identity, T ), product( Z, Y, T ), ! product( X, Y, Z ) }.
(42) {G2,W5,D3,L1,V1,M1} R(22,4) { multiply( X, identity ) ==> X }.
(140) {G2,W8,D2,L2,V3,M1} R(28,8) { product( X, Z, Y ), ! product( X, Y, Z) }.
(145) {G3,W5,D3,L1,V1,M1} R(140,3) { product( X, identity, inverse( X ) ) }.
(146) {G3,W4,D2,L1,V0,M1} R(140,9) { product( a, c, b ) }.
(169) {G4,W4,D3,L1,V1,M1} R(145,17);d(42) { inverse( X ) ==> X }.
(236) {G4,W8,D2,L2,V1,M1} R(41,146) { ! product( a, identity, X ), product( b, c, X ) }.
(307) {G5,W8,D2,L2,V1,M1} R(236,140) { product( b, X, c ), ! product( a, identity, X ) }.
(320) {G6,W0,D0,L0,V0,M0} R(307,145);d(169);r(10) { }.
Human Readable Total Proof
(322) {G0,W4,D2,L1,V1,M1} { product( identity, X, X ) }.
(323) {G0,W4,D2,L1,V1,M1} { product( X, identity, X ) }.
(324) {G0,W5,D3,L1,V1,M1} { product( inverse( X ), X, identity ) }.
(325) {G0,W5,D3,L1,V1,M1} { product( X, inverse( X ), identity ) }.
(326) {G0,W6,D3,L1,V2,M1} { product( X, Y, multiply( X, Y ) ) }.
(327) {G0,W11,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( X, Y, T ), Z = T }.
(328) {G0,W16,D2,L4,V6,M4} { ! product( X, Y, Z ), ! product( Y, T, U ), ! product( Z, T, W ), product( X, U, W ) }.
(329) {G0,W16,D2,L4,V6,M4} { ! product( X, Y, Z ), ! product( Y, T, U ), ! product( X, U, W ), product( Z, T, W ) }.
(330) {G0,W4,D2,L1,V1,M1} { product( X, X, identity ) }.
(331) {G0,W4,D2,L1,V0,M1} { product( a, b, c ) }.
(332) {G0,W4,D2,L1,V0,M1} { ! product( b, a, c ) }.
Total Proof:
subsumption: (0) {G0,W4,D2,L1,V1,M1} I { product( identity, X, X ) }.
parent0: (322) {G0,W4,D2,L1,V1,M1} { product( identity, X, X ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
subsumption: (1) {G0,W4,D2,L1,V1,M1} I { product( X, identity, X ) }.
parent0: (323) {G0,W4,D2,L1,V1,M1} { product( X, identity, X ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
subsumption: (3) {G0,W5,D3,L1,V1,M1} I { product( X, inverse( X ), identity) }.
parent0: (325) {G0,W5,D3,L1,V1,M1} { product( X, inverse( X ), identity ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
subsumption: (4) {G0,W6,D3,L1,V2,M1} I { product( X, Y, multiply( X, Y ) ) }.
parent0: (326) {G0,W6,D3,L1,V2,M1} { product( X, Y, multiply( X, Y ) ) }.
substitution0:
X := X
Y := Y
end
permutation0:
0 ==> 0
end
subsumption: (5) {G0,W11,D2,L3,V4,M1} I { ! product( X, Y, Z ), Z = T, ! product( X, Y, T ) }.
parent0: (327) {G0,W11,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( X, Y, T ), Z = T }.
substitution0:
X := X
Y := Y
Z := Z
T := T
end
permutation0:
0 ==> 0
1 ==> 2
2 ==> 1
end
subsumption: (6) {G0,W16,D2,L4,V6,M1} I { ! product( Y, T, U ), ! product( X, Y, Z ), product( X, U, W ), ! product( Z, T, W ) }.
parent0: (328) {G0,W16,D2,L4,V6,M4} { ! product( X, Y, Z ), ! product( Y, T, U ), ! product( Z, T, W ), product( X, U, W ) }.
substitution0:
X := X
Y := Y
Z := Z
T := T
U := U
W := W
end
permutation0:
0 ==> 1
1 ==> 0
2 ==> 3
3 ==> 2
end
subsumption: (7) {G0,W16,D2,L4,V6,M1} I { ! product( X, Y, Z ), ! product( X, U, W ), product( Z, T, W ), ! product( Y, T, U ) }.
parent0: (329) {G0,W16,D2,L4,V6,M4} { ! product( X, Y, Z ), ! product( Y, T, U ), ! product( X, U, W ), product( Z, T, W ) }.
substitution0:
X := X
Y := Y
Z := Z
T := T
U := U
W := W
end
permutation0:
0 ==> 0
1 ==> 3
2 ==> 1
3 ==> 2
end
subsumption: (8) {G0,W4,D2,L1,V1,M1} I { product( X, X, identity ) }.
parent0: (330) {G0,W4,D2,L1,V1,M1} { product( X, X, identity ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
subsumption: (9) {G0,W4,D2,L1,V0,M1} I { product( a, b, c ) }.
parent0: (331) {G0,W4,D2,L1,V0,M1} { product( a, b, c ) }.
substitution0:
end
permutation0:
0 ==> 0
end
subsumption: (10) {G0,W4,D2,L1,V0,M1} I { ! product( b, a, c ) }.
parent0: (332) {G0,W4,D2,L1,V0,M1} { ! product( b, a, c ) }.
substitution0:
end
permutation0:
0 ==> 0
end
resolution: (376) {G1,W9,D3,L2,V3,M2} { ! product( X, Y, Z ), Z = multiply ( X, Y ) }.
parent0[2]: (5) {G0,W11,D2,L3,V4,M1} I { ! product( X, Y, Z ), Z = T, ! product( X, Y, T ) }.
parent1[0]: (4) {G0,W6,D3,L1,V2,M1} I { product( X, Y, multiply( X, Y ) ) }.
substitution0:
X := X
Y := Y
Z := Z
T := multiply( X, Y )
end
substitution1:
X := X
Y := Y
end
subsumption: (17) {G1,W9,D3,L2,V3,M1} R(5,4) { Z = multiply( X, Y ), ! product( X, Y, Z ) }.
parent0: (376) {G1,W9,D3,L2,V3,M2} { ! product( X, Y, Z ), Z = multiply( X , Y ) }.
substitution0:
X := X
Y := Y
Z := Z
end
permutation0:
0 ==> 1
1 ==> 0
end
resolution: (378) {G1,W7,D2,L2,V2,M2} { ! product( X, identity, Y ), Y = X }.
parent0[2]: (5) {G0,W11,D2,L3,V4,M1} I { ! product( X, Y, Z ), Z = T, ! product( X, Y, T ) }.
parent1[0]: (1) {G0,W4,D2,L1,V1,M1} I { product( X, identity, X ) }.
substitution0:
X := X
Y := identity
Z := Y
T := X
end
substitution1:
X := X
end
subsumption: (22) {G1,W7,D2,L2,V2,M1} R(5,1) { Y = X, ! product( X, identity, Y ) }.
parent0: (378) {G1,W7,D2,L2,V2,M2} { ! product( X, identity, Y ), Y = X }.
substitution0:
X := X
Y := Y
end
permutation0:
0 ==> 1
1 ==> 0
end
resolution: (381) {G1,W12,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( T, X, identity ), product( T, Z, Y ) }.
parent0[3]: (6) {G0,W16,D2,L4,V6,M1} I { ! product( Y, T, U ), ! product( X , Y, Z ), product( X, U, W ), ! product( Z, T, W ) }.
parent1[0]: (0) {G0,W4,D2,L1,V1,M1} I { product( identity, X, X ) }.
substitution0:
X := T
Y := X
Z := identity
T := Y
U := Z
W := Y
end
substitution1:
X := Y
end
subsumption: (28) {G1,W12,D2,L3,V4,M1} R(6,0) { ! product( X, Y, Z ), product( T, Z, Y ), ! product( T, X, identity ) }.
parent0: (381) {G1,W12,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( T, X, identity ), product( T, Z, Y ) }.
substitution0:
X := X
Y := Y
Z := Z
T := T
end
permutation0:
0 ==> 0
1 ==> 2
2 ==> 1
end
resolution: (387) {G1,W12,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( X, identity, T ), product( Z, Y, T ) }.
parent0[3]: (7) {G0,W16,D2,L4,V6,M1} I { ! product( X, Y, Z ), ! product( X , U, W ), product( Z, T, W ), ! product( Y, T, U ) }.
parent1[0]: (8) {G0,W4,D2,L1,V1,M1} I { product( X, X, identity ) }.
substitution0:
X := X
Y := Y
Z := Z
T := Y
U := identity
W := T
end
substitution1:
X := Y
end
subsumption: (41) {G1,W12,D2,L3,V4,M1} R(7,8) { ! product( X, identity, T ) , product( Z, Y, T ), ! product( X, Y, Z ) }.
parent0: (387) {G1,W12,D2,L3,V4,M3} { ! product( X, Y, Z ), ! product( X, identity, T ), product( Z, Y, T ) }.
substitution0:
X := X
Y := Y
Z := Z
T := T
end
permutation0:
0 ==> 2
1 ==> 0
2 ==> 1
end
eqswap: (391) {G1,W7,D2,L2,V2,M2} { Y = X, ! product( Y, identity, X ) }.
parent0[0]: (22) {G1,W7,D2,L2,V2,M1} R(5,1) { Y = X, ! product( X, identity , Y ) }.
substitution0:
X := Y
Y := X
end
resolution: (392) {G1,W5,D3,L1,V1,M1} { X = multiply( X, identity ) }.
parent0[1]: (391) {G1,W7,D2,L2,V2,M2} { Y = X, ! product( Y, identity, X ) }.
parent1[0]: (4) {G0,W6,D3,L1,V2,M1} I { product( X, Y, multiply( X, Y ) ) }.
substitution0:
X := multiply( X, identity )
Y := X
end
substitution1:
X := X
Y := identity
end
eqswap: (393) {G1,W5,D3,L1,V1,M1} { multiply( X, identity ) = X }.
parent0[0]: (392) {G1,W5,D3,L1,V1,M1} { X = multiply( X, identity ) }.
substitution0:
X := X
end
subsumption: (42) {G2,W5,D3,L1,V1,M1} R(22,4) { multiply( X, identity ) ==> X }.
parent0: (393) {G1,W5,D3,L1,V1,M1} { multiply( X, identity ) = X }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
resolution: (395) {G1,W8,D2,L2,V3,M2} { ! product( X, Y, Z ), product( X, Z, Y ) }.
parent0[2]: (28) {G1,W12,D2,L3,V4,M1} R(6,0) { ! product( X, Y, Z ), product( T, Z, Y ), ! product( T, X, identity ) }.
parent1[0]: (8) {G0,W4,D2,L1,V1,M1} I { product( X, X, identity ) }.
substitution0:
X := X
Y := Y
Z := Z
T := X
end
substitution1:
X := X
end
subsumption: (140) {G2,W8,D2,L2,V3,M1} R(28,8) { product( X, Z, Y ), ! product( X, Y, Z ) }.
parent0: (395) {G1,W8,D2,L2,V3,M2} { ! product( X, Y, Z ), product( X, Z, Y ) }.
substitution0:
X := X
Y := Y
Z := Z
end
permutation0:
0 ==> 1
1 ==> 0
end
resolution: (396) {G1,W5,D3,L1,V1,M1} { product( X, identity, inverse( X )) }.
parent0[1]: (140) {G2,W8,D2,L2,V3,M1} R(28,8) { product( X, Z, Y ), ! product( X, Y, Z ) }.
parent1[0]: (3) {G0,W5,D3,L1,V1,M1} I { product( X, inverse( X ), identity) }.
substitution0:
X := X
Y := inverse( X )
Z := identity
end
substitution1:
X := X
end
subsumption: (145) {G3,W5,D3,L1,V1,M1} R(140,3) { product( X, identity, inverse( X ) ) }.
parent0: (396) {G1,W5,D3,L1,V1,M1} { product( X, identity, inverse( X ) ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
resolution: (397) {G1,W4,D2,L1,V0,M1} { product( a, c, b ) }.
parent0[1]: (140) {G2,W8,D2,L2,V3,M1} R(28,8) { product( X, Z, Y ), ! product( X, Y, Z ) }.
parent1[0]: (9) {G0,W4,D2,L1,V0,M1} I { product( a, b, c ) }.
substitution0:
X := a
Y := b
Z := c
end
substitution1:
end
subsumption: (146) {G3,W4,D2,L1,V0,M1} R(140,9) { product( a, c, b ) }.
parent0: (397) {G1,W4,D2,L1,V0,M1} { product( a, c, b ) }.
substitution0:
end
permutation0:
0 ==> 0
end
eqswap: (398) {G1,W9,D3,L2,V3,M2} { multiply( Y, Z ) = X, ! product( Y, Z , X ) }.
parent0[0]: (17) {G1,W9,D3,L2,V3,M1} R(5,4) { Z = multiply( X, Y ), ! product( X, Y, Z ) }.
substitution0:
X := Y
Y := Z
Z := X
end
resolution: (400) {G2,W6,D3,L1,V1,M1} { multiply( X, identity ) = inverse ( X ) }.
parent0[1]: (398) {G1,W9,D3,L2,V3,M2} { multiply( Y, Z ) = X, ! product( Y , Z, X ) }.
parent1[0]: (145) {G3,W5,D3,L1,V1,M1} R(140,3) { product( X, identity, inverse( X ) ) }.
substitution0:
X := inverse( X )
Y := X
Z := identity
end
substitution1:
X := X
end
paramod: (401) {G3,W4,D3,L1,V1,M1} { X = inverse( X ) }.
parent0[0]: (42) {G2,W5,D3,L1,V1,M1} R(22,4) { multiply( X, identity ) ==> X }.
parent1[0; 1]: (400) {G2,W6,D3,L1,V1,M1} { multiply( X, identity ) = inverse( X ) }.
substitution0:
X := X
end
substitution1:
X := X
end
eqswap: (402) {G3,W4,D3,L1,V1,M1} { inverse( X ) = X }.
parent0[0]: (401) {G3,W4,D3,L1,V1,M1} { X = inverse( X ) }.
substitution0:
X := X
end
subsumption: (169) {G4,W4,D3,L1,V1,M1} R(145,17);d(42) { inverse( X ) ==> X }.
parent0: (402) {G3,W4,D3,L1,V1,M1} { inverse( X ) = X }.
substitution0:
X := X
end
permutation0:
0 ==> 0
end
resolution: (403) {G2,W8,D2,L2,V1,M2} { ! product( a, identity, X ), product( b, c, X ) }.
parent0[2]: (41) {G1,W12,D2,L3,V4,M1} R(7,8) { ! product( X, identity, T ) , product( Z, Y, T ), ! product( X, Y, Z ) }.
parent1[0]: (146) {G3,W4,D2,L1,V0,M1} R(140,9) { product( a, c, b ) }.
substitution0:
X := a
Y := c
Z := b
T := X
end
substitution1:
end
subsumption: (236) {G4,W8,D2,L2,V1,M1} R(41,146) { ! product( a, identity, X ), product( b, c, X ) }.
parent0: (403) {G2,W8,D2,L2,V1,M2} { ! product( a, identity, X ), product ( b, c, X ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
1 ==> 1
end
resolution: (405) {G3,W8,D2,L2,V1,M2} { product( b, X, c ), ! product( a, identity, X ) }.
parent0[1]: (140) {G2,W8,D2,L2,V3,M1} R(28,8) { product( X, Z, Y ), ! product( X, Y, Z ) }.
parent1[1]: (236) {G4,W8,D2,L2,V1,M1} R(41,146) { ! product( a, identity, X), product( b, c, X ) }.
substitution0:
X := b
Y := c
Z := X
end
substitution1:
X := X
end
subsumption: (307) {G5,W8,D2,L2,V1,M1} R(236,140) { product( b, X, c ), ! product( a, identity, X ) }.
parent0: (405) {G3,W8,D2,L2,V1,M2} { product( b, X, c ), ! product( a, identity, X ) }.
substitution0:
X := X
end
permutation0:
0 ==> 0
1 ==> 1
end
resolution: (407) {G4,W5,D3,L1,V0,M1} { product( b, inverse( a ), c ) }.
parent0[1]: (307) {G5,W8,D2,L2,V1,M1} R(236,140) { product( b, X, c ), ! product( a, identity, X ) }.
parent1[0]: (145) {G3,W5,D3,L1,V1,M1} R(140,3) { product( X, identity, inverse( X ) ) }.
substitution0:
X := inverse( a )
end
substitution1:
X := a
end
paramod: (408) {G5,W4,D2,L1,V0,M1} { product( b, a, c ) }.
parent0[0]: (169) {G4,W4,D3,L1,V1,M1} R(145,17);d(42) { inverse( X ) ==> X }.
parent1[0; 2]: (407) {G4,W5,D3,L1,V0,M1} { product( b, inverse( a ), c ) }.
substitution0:
X := a
end
substitution1:
end
resolution: (409) {G1,W0,D0,L0,V0,M0} { }.
parent0[0]: (10) {G0,W4,D2,L1,V0,M1} I { ! product( b, a, c ) }.
parent1[0]: (408) {G5,W4,D2,L1,V0,M1} { product( b, a, c ) }.
substitution0:
end
substitution1:
end
subsumption: (320) {G6,W0,D0,L0,V0,M0} R(307,145);d(169);r(10) { }.
parent0: (409) {G1,W0,D0,L0,V0,M0} { }.
substitution0:
end
permutation0:
end
Machine Readable Total Proof
clause( 0, [ product( identity, X, X ) ] ) .
clause( 1, [ product( X, identity, X ) ] ) .
clause( 3, [ product( X, inverse( X ), identity ) ] ) .
clause( 4, [ product( X, Y, multiply( X, Y ) ) ] ) .
clause( 5, [ ~( product( X, Y, Z ) ), =( Z, T ), ~( product( X, Y, T ) ) ]) .
clause( 6, [ ~( product( Y, T, U ) ), ~( product( X, Y, Z ) ), product( X, U, W ), ~( product( Z, T, W ) ) ] ) .
clause( 7, [ ~( product( X, Y, Z ) ), ~( product( X, U, W ) ), product( Z, T, W ), ~( product( Y, T, U ) ) ] ) .
clause( 8, [ product( X, X, identity ) ] ) .
clause( 9, [ product( a, b, c ) ] ) .
clause( 10, [ ~( product( b, a, c ) ) ] ) .
clause( 17, [ =( Z, multiply( X, Y ) ), ~( product( X, Y, Z ) ) ] ) .
clause( 22, [ =( Y, X ), ~( product( X, identity, Y ) ) ] ) .
clause( 28, [ ~( product( X, Y, Z ) ), product( T, Z, Y ), ~( product( T, X , identity ) ) ] ) .
clause( 41, [ ~( product( X, identity, T ) ), product( Z, Y, T ), ~( product( X, Y, Z ) ) ] ) .
clause( 42, [ =( multiply( X, identity ), X ) ] ) .
clause( 140, [ product( X, Z, Y ), ~( product( X, Y, Z ) ) ] ) .
clause( 145, [ product( X, identity, inverse( X ) ) ] ) .
clause( 146, [ product( a, c, b ) ] ) .
clause( 169, [ =( inverse( X ), X ) ] ) .
clause( 236, [ ~( product( a, identity, X ) ), product( b, c, X ) ] ) .
clause( 307, [ product( b, X, c ), ~( product( a, identity, X ) ) ] ) .
clause( 320, [] ) .
found a proof!
% ABCDEFGHIJKLMNOPQRSTUVWXYZ
initialclauses(
[ clause( 322, [ product( identity, X, X ) ] )
, clause( 323, [ product( X, identity, X ) ] )
, clause( 324, [ product( inverse( X ), X, identity ) ] )
, clause( 325, [ product( X, inverse( X ), identity ) ] )
, clause( 326, [ product( X, Y, multiply( X, Y ) ) ] )
, clause( 327, [ ~( product( X, Y, Z ) ), ~( product( X, Y, T ) ), =( Z, T) ] )
, clause( 328, [ ~( product( X, Y, Z ) ), ~( product( Y, T, U ) ), ~( product( Z, T, W ) ), product( X, U, W ) ] )
, clause( 329, [ ~( product( X, Y, Z ) ), ~( product( Y, T, U ) ), ~( product( X, U, W ) ), product( Z, T, W ) ] )
, clause( 330, [ product( X, X, identity ) ] )
, clause( 331, [ product( a, b, c ) ] )
, clause( 332, [ ~( product( b, a, c ) ) ] )
] ).
subsumption(
clause( 0, [ product( identity, X, X ) ] )
, clause( 322, [ product( identity, X, X ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
subsumption(
clause( 1, [ product( X, identity, X ) ] )
, clause( 323, [ product( X, identity, X ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
subsumption(
clause( 3, [ product( X, inverse( X ), identity ) ] )
, clause( 325, [ product( X, inverse( X ), identity ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
subsumption(
clause( 4, [ product( X, Y, multiply( X, Y ) ) ] )
, clause( 326, [ product( X, Y, multiply( X, Y ) ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
)] ) ).
subsumption(
clause( 5, [ ~( product( X, Y, Z ) ), =( Z, T ), ~( product( X, Y, T ) ) ]
)
, clause( 327, [ ~( product( X, Y, Z ) ), ~( product( X, Y, T ) ), =( Z, T
) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ),
permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
subsumption(
clause( 6, [ ~( product( Y, T, U ) ), ~( product( X, Y, Z ) ), product( X,
U, W ), ~( product( Z, T, W ) ) ] )
, clause( 328, [ ~( product( X, Y, Z ) ), ~( product( Y, T, U ) ), ~(
product( Z, T, W ) ), product( X, U, W ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T ), :=( U
, U ), :=( W, W )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 ), ==>( 2
, 3 ), ==>( 3, 2 )] ) ).
subsumption(
clause( 7, [ ~( product( X, Y, Z ) ), ~( product( X, U, W ) ), product( Z,
T, W ), ~( product( Y, T, U ) ) ] )
, clause( 329, [ ~( product( X, Y, Z ) ), ~( product( Y, T, U ) ), ~(
product( X, U, W ) ), product( Z, T, W ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T ), :=( U
, U ), :=( W, W )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 3 ), ==>( 2
, 1 ), ==>( 3, 2 )] ) ).
subsumption(
clause( 8, [ product( X, X, identity ) ] )
, clause( 330, [ product( X, X, identity ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
subsumption(
clause( 9, [ product( a, b, c ) ] )
, clause( 331, [ product( a, b, c ) ] )
, substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
subsumption(
clause( 10, [ ~( product( b, a, c ) ) ] )
, clause( 332, [ ~( product( b, a, c ) ) ] )
, substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
resolution(
clause( 376, [ ~( product( X, Y, Z ) ), =( Z, multiply( X, Y ) ) ] )
, clause( 5, [ ~( product( X, Y, Z ) ), =( Z, T ), ~( product( X, Y, T ) )
] )
, 2, clause( 4, [ product( X, Y, multiply( X, Y ) ) ] )
, 0, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, multiply(
X, Y ) )] ), substitution( 1, [ :=( X, X ), :=( Y, Y )] )).
subsumption(
clause( 17, [ =( Z, multiply( X, Y ) ), ~( product( X, Y, Z ) ) ] )
, clause( 376, [ ~( product( X, Y, Z ) ), =( Z, multiply( X, Y ) ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ),
permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
resolution(
clause( 378, [ ~( product( X, identity, Y ) ), =( Y, X ) ] )
, clause( 5, [ ~( product( X, Y, Z ) ), =( Z, T ), ~( product( X, Y, T ) )
] )
, 2, clause( 1, [ product( X, identity, X ) ] )
, 0, substitution( 0, [ :=( X, X ), :=( Y, identity ), :=( Z, Y ), :=( T, X
)] ), substitution( 1, [ :=( X, X )] )).
subsumption(
clause( 22, [ =( Y, X ), ~( product( X, identity, Y ) ) ] )
, clause( 378, [ ~( product( X, identity, Y ) ), =( Y, X ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 1
), ==>( 1, 0 )] ) ).
resolution(
clause( 381, [ ~( product( X, Y, Z ) ), ~( product( T, X, identity ) ),
product( T, Z, Y ) ] )
, clause( 6, [ ~( product( Y, T, U ) ), ~( product( X, Y, Z ) ), product( X
, U, W ), ~( product( Z, T, W ) ) ] )
, 3, clause( 0, [ product( identity, X, X ) ] )
, 0, substitution( 0, [ :=( X, T ), :=( Y, X ), :=( Z, identity ), :=( T, Y
), :=( U, Z ), :=( W, Y )] ), substitution( 1, [ :=( X, Y )] )).
subsumption(
clause( 28, [ ~( product( X, Y, Z ) ), product( T, Z, Y ), ~( product( T, X
, identity ) ) ] )
, clause( 381, [ ~( product( X, Y, Z ) ), ~( product( T, X, identity ) ),
product( T, Z, Y ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ),
permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
resolution(
clause( 387, [ ~( product( X, Y, Z ) ), ~( product( X, identity, T ) ),
product( Z, Y, T ) ] )
, clause( 7, [ ~( product( X, Y, Z ) ), ~( product( X, U, W ) ), product( Z
, T, W ), ~( product( Y, T, U ) ) ] )
, 3, clause( 8, [ product( X, X, identity ) ] )
, 0, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, Y ),
:=( U, identity ), :=( W, T )] ), substitution( 1, [ :=( X, Y )] )).
subsumption(
clause( 41, [ ~( product( X, identity, T ) ), product( Z, Y, T ), ~(
product( X, Y, Z ) ) ] )
, clause( 387, [ ~( product( X, Y, Z ) ), ~( product( X, identity, T ) ),
product( Z, Y, T ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ),
permutation( 0, [ ==>( 0, 2 ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
eqswap(
clause( 391, [ =( Y, X ), ~( product( Y, identity, X ) ) ] )
, clause( 22, [ =( Y, X ), ~( product( X, identity, Y ) ) ] )
, 0, substitution( 0, [ :=( X, Y ), :=( Y, X )] )).
resolution(
clause( 392, [ =( X, multiply( X, identity ) ) ] )
, clause( 391, [ =( Y, X ), ~( product( Y, identity, X ) ) ] )
, 1, clause( 4, [ product( X, Y, multiply( X, Y ) ) ] )
, 0, substitution( 0, [ :=( X, multiply( X, identity ) ), :=( Y, X )] ),
substitution( 1, [ :=( X, X ), :=( Y, identity )] )).
eqswap(
clause( 393, [ =( multiply( X, identity ), X ) ] )
, clause( 392, [ =( X, multiply( X, identity ) ) ] )
, 0, substitution( 0, [ :=( X, X )] )).
subsumption(
clause( 42, [ =( multiply( X, identity ), X ) ] )
, clause( 393, [ =( multiply( X, identity ), X ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
resolution(
clause( 395, [ ~( product( X, Y, Z ) ), product( X, Z, Y ) ] )
, clause( 28, [ ~( product( X, Y, Z ) ), product( T, Z, Y ), ~( product( T
, X, identity ) ) ] )
, 2, clause( 8, [ product( X, X, identity ) ] )
, 0, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, X )] ),
substitution( 1, [ :=( X, X )] )).
subsumption(
clause( 140, [ product( X, Z, Y ), ~( product( X, Y, Z ) ) ] )
, clause( 395, [ ~( product( X, Y, Z ) ), product( X, Z, Y ) ] )
, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ),
permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
resolution(
clause( 396, [ product( X, identity, inverse( X ) ) ] )
, clause( 140, [ product( X, Z, Y ), ~( product( X, Y, Z ) ) ] )
, 1, clause( 3, [ product( X, inverse( X ), identity ) ] )
, 0, substitution( 0, [ :=( X, X ), :=( Y, inverse( X ) ), :=( Z, identity
)] ), substitution( 1, [ :=( X, X )] )).
subsumption(
clause( 145, [ product( X, identity, inverse( X ) ) ] )
, clause( 396, [ product( X, identity, inverse( X ) ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
resolution(
clause( 397, [ product( a, c, b ) ] )
, clause( 140, [ product( X, Z, Y ), ~( product( X, Y, Z ) ) ] )
, 1, clause( 9, [ product( a, b, c ) ] )
, 0, substitution( 0, [ :=( X, a ), :=( Y, b ), :=( Z, c )] ),
substitution( 1, [] )).
subsumption(
clause( 146, [ product( a, c, b ) ] )
, clause( 397, [ product( a, c, b ) ] )
, substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
eqswap(
clause( 398, [ =( multiply( Y, Z ), X ), ~( product( Y, Z, X ) ) ] )
, clause( 17, [ =( Z, multiply( X, Y ) ), ~( product( X, Y, Z ) ) ] )
, 0, substitution( 0, [ :=( X, Y ), :=( Y, Z ), :=( Z, X )] )).
resolution(
clause( 400, [ =( multiply( X, identity ), inverse( X ) ) ] )
, clause( 398, [ =( multiply( Y, Z ), X ), ~( product( Y, Z, X ) ) ] )
, 1, clause( 145, [ product( X, identity, inverse( X ) ) ] )
, 0, substitution( 0, [ :=( X, inverse( X ) ), :=( Y, X ), :=( Z, identity
)] ), substitution( 1, [ :=( X, X )] )).
paramod(
clause( 401, [ =( X, inverse( X ) ) ] )
, clause( 42, [ =( multiply( X, identity ), X ) ] )
, 0, clause( 400, [ =( multiply( X, identity ), inverse( X ) ) ] )
, 0, 1, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, X )] )
).
eqswap(
clause( 402, [ =( inverse( X ), X ) ] )
, clause( 401, [ =( X, inverse( X ) ) ] )
, 0, substitution( 0, [ :=( X, X )] )).
subsumption(
clause( 169, [ =( inverse( X ), X ) ] )
, clause( 402, [ =( inverse( X ), X ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
resolution(
clause( 403, [ ~( product( a, identity, X ) ), product( b, c, X ) ] )
, clause( 41, [ ~( product( X, identity, T ) ), product( Z, Y, T ), ~(
product( X, Y, Z ) ) ] )
, 2, clause( 146, [ product( a, c, b ) ] )
, 0, substitution( 0, [ :=( X, a ), :=( Y, c ), :=( Z, b ), :=( T, X )] ),
substitution( 1, [] )).
subsumption(
clause( 236, [ ~( product( a, identity, X ) ), product( b, c, X ) ] )
, clause( 403, [ ~( product( a, identity, X ) ), product( b, c, X ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1,
1 )] ) ).
resolution(
clause( 405, [ product( b, X, c ), ~( product( a, identity, X ) ) ] )
, clause( 140, [ product( X, Z, Y ), ~( product( X, Y, Z ) ) ] )
, 1, clause( 236, [ ~( product( a, identity, X ) ), product( b, c, X ) ] )
, 1, substitution( 0, [ :=( X, b ), :=( Y, c ), :=( Z, X )] ),
substitution( 1, [ :=( X, X )] )).
subsumption(
clause( 307, [ product( b, X, c ), ~( product( a, identity, X ) ) ] )
, clause( 405, [ product( b, X, c ), ~( product( a, identity, X ) ) ] )
, substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1,
1 )] ) ).
resolution(
clause( 407, [ product( b, inverse( a ), c ) ] )
, clause( 307, [ product( b, X, c ), ~( product( a, identity, X ) ) ] )
, 1, clause( 145, [ product( X, identity, inverse( X ) ) ] )
, 0, substitution( 0, [ :=( X, inverse( a ) )] ), substitution( 1, [ :=( X
, a )] )).
paramod(
clause( 408, [ product( b, a, c ) ] )
, clause( 169, [ =( inverse( X ), X ) ] )
, 0, clause( 407, [ product( b, inverse( a ), c ) ] )
, 0, 2, substitution( 0, [ :=( X, a )] ), substitution( 1, [] )).
resolution(
clause( 409, [] )
, clause( 10, [ ~( product( b, a, c ) ) ] )
, 0, clause( 408, [ product( b, a, c ) ] )
, 0, substitution( 0, [] ), substitution( 1, [] )).
subsumption(
clause( 320, [] )
, clause( 409, [] )
, substitution( 0, [] ), permutation( 0, [] ) ).
end.
EP 0.62
S. Schulz
Institut für Informatik, Technische Universität München,
Germany
schulz@informatik.tu-muenchen.de
0 : [++equal(a, b),++equal(a, c)] : initial
1 : [++equal(i(X1), i(X2))] : initial
2 : [++equal(b, c),--equal(X1, X2),--equal(X3, X4),--equal(c, d)] : initial
3 : [++equal(c, d),--equal(h(i(a)), h(i(e)))] : initial
4 : [++equal(f(X1,X2), f(X2,X1))] : initial
5 : [--equal(f(f(X1,X2),f(X3,g(X4,X5))), f(f(g(X4,X5),X3),f(X2,X1))),--equal(k(X1,X1), k(a,b))] : initial
6 : [--equal(k(X1,X1), k(a,b))]: ar(5, 0, 4)
7 : [++equal(c, b),++epred1_0,--equal(d, c),--equal(X1, X2)] : split(2)
8 : [++epred2_0,--equal(X3, X4)] : split(2)
9 : [--epred2_0,--epred1_0] : split(2)
10 : [++epred2_0] : er(8)
11 : [--$true,--epred1_0] : rw(9,10)
12 : [++equal(c, b),++epred1_0,--equal(d, c)] : er(7)
13 : [++equal(d, c)] : sr(3,1)
14 : [++equal(c, b),++epred1_0,--equal(c, c)] : rw(12,13)
15 : [++equal(c, b),++epred1_0] : cn(14)
16 : [++equal(b, a),++epred1_0] : pm(15,0)
17 : [++epred1_0,--equal(k(a,a), k(X1,X1))] : pm(16,6)
18 : [++epred1_0] : er(17)
19 : [--$true,--$true] : rw(11,18)
20 : [] : cn(19)
21 : [] : 20 : {proof}
0 : [++subclass(X1,universal_class)] : initial
1 : [--member(y,universal_class)] : initial
2 : [++equal(unordered_pair(X1,X1), singleton(X1))] : initial
3 : [++equal(X1, null_class),++member(regular(X1),X1)] : initial
4 : [++member(X1,X2),--subclass(X3,X2),--member(X1,X3)] : initial
5 : [++equal(X1, X2),++equal(X1, X3),--member(X1,unordered_pair(X2,X3))] : initial
6 : [++equal(unordered_pair(singleton(X1),unordered_pair(X1,singleton(X2))), ordered_pair(X1,X2))] : initial
7 : [--equal(unordered_pair(singleton(x),unordered_pair(x,null_class)), ordered_pair(x,y))] : initial
8 : [++member(X2,universal_class),--member(X2,X1)] : pm(0,4)
9 : [++member(regular(X1),universal_class),++equal(X1, null_class)] : pm(3,8)
10 : [++equal(X1, X2),--member(X1,singleton(X2))] : pm(2,5)
11 : [++equal(regular(singleton(X1)), X1),++equal(singleton(X1), null_class)] : pm(3,10)
12 : [++member(X1,universal_class),++equal(singleton(X1), null_class)] : pm(11,9)
13 : [++equal(singleton(y), null_class)] : pm(12,1)
14 : [++equal(unordered_pair(singleton(X1),unordered_pair(X1,null_class)), ordered_pair(X1,y))] : pm(13,6)
15 : [--equal(ordered_pair(x,y), ordered_pair(x,y))] : rw(7,14)
16 : [] : cn(15)
17 : [] : 16 : {proof}
0 : [++equal(j(0,X1), X1)] : initial
1 : [++equal(j(X1,0), X1)] : initial
2 : [++equal(f(X1,X1), X1)] : initial
3 : [++equal(j(X1,g(X1)), 0)] : initial
4 : [++equal(j(X1,X2), j(X2,X1))] : initial
5 : [--equal(f(a,b), f(b,a))] : initial
6 : [++equal(j(j(X1,X2),X3), j(X1,j(X2,X3)))] : initial
7 : [++equal(f(X1,j(X2,X3)), j(f(X1,X2),f(X1,X3)))] : initial
8 : [++equal(f(j(X1,X2),X3), j(f(X1,X3),f(X2,X3)))] : initial
9 : [++equal(j(0,X2), j(X1,j(g(X1),X2)))] : pm(3,6)
10 : [++equal(j(X1,j(X2,X3)), j(X3,j(X1,X2)))] : pm(6,4)
11 : [++equal(X2, j(X1,j(g(X1),X2)))] : rw(9,0)
12 : [++equal(j(X1,0), g(g(X1)))] : pm(3,11)
13 : [++equal(X1, g(g(X1)))] : rw(12,1)
14 : [++equal(j(X1,f(X1,X2)), f(X1,j(X1,X2)))] : pm(2,7)
15 : [++equal(j(f(X1,X2),X1), f(X1,j(X2,X1)))] : pm(2,7)
16 : [++equal(j(X1,f(X1,X2)), f(X1,j(X2,X1)))] : rw(15,4)
17 : [++equal(f(X1,X1), j(X1,f(X1,0)))] : pm(1,14)
18 : [++equal(f(X1,0), j(X1,f(X1,g(X1))))] : pm(3,14)
19 : [++equal(X1, j(X1,f(X1,0)))] : rw(17,2)
20 : [++equal(j(X1,g(X1)), f(g(X1),0))] : pm(19,11)
21 : [++equal(0, f(g(X1),0))] : rw(20,3)
22 : [++equal(f(X1,0), 0)] : pm(13,21)
23 : [++equal(0, j(X1,f(X1,g(X1))))] : rw(18,22)
24 : [++equal(j(X1,0), f(g(X1),g(g(X1))))] : pm(23,11)
25 : [++equal(X1, f(g(X1),g(g(X1))))] : rw(24,1)
26 : [++equal(X1, f(g(X1),X1))] : rw(25,13)
27 : [++equal(j(X1,f(X2,X1)), f(j(X1,X2),X1))] : pm(2,8)
28 : [++equal(j(f(X1,X2),X2), f(j(X1,X2),X2))] : pm(2,8)
29 : [++equal(j(X2,f(X1,X2)), f(j(X1,X2),X2))] : rw(28,4)
30 : [++equal(f(X1,X1), j(X1,f(0,X1)))] : pm(1,27)
31 : [++equal(f(0,X1), j(X1,f(g(X1),X1)))] : pm(3,27)
32 : [++equal(X1, j(X1,f(0,X1)))] : rw(30,2)
33 : [++equal(f(0,X1), j(X1,X1))] : rw(31,26)
34 : [++equal(j(X1,g(X1)), f(0,g(X1)))] : pm(32,11)
35 : [++equal(0, f(0,g(X1)))] : rw(34,3)
36 : [++equal(f(0,X1), 0)] : pm(13,35)
37 : [++equal(0, j(X1,X1))] : rw(33,36)
38 : [++equal(j(0,X2), j(X1,j(X1,X2)))] : pm(37,6)
39 : [++equal(j(X1,0), j(X2,j(X1,X2)))] : pm(37,10)
40 : [++equal(X2, j(X1,j(X1,X2)))] : rw(38,0)
41 : [++equal(X1, j(X2,j(X1,X2)))] : rw(39,1)
42 : [++equal(f(X2,j(X2,X1)), j(j(X2,X1),f(X1,j(X2,X1))))] : pm(41,29)
43 : [++equal(j(X2,f(X2,X1)), j(j(X2,X1),f(X1,j(X2,X1))))] : rw(42,14)
44 : [++equal(j(X2,f(X2,X1)), j(j(X2,X1),j(X1,f(X1,X2))))] : rw(43,16)
45 : [++equal(j(X2,f(X2,X1)), j(X2,j(X1,j(X1,f(X1,X2)))))] : rw(44,6)
46 : [++equal(j(X2,f(X2,X1)), j(X2,f(X1,X2)))] : rw(45,40)
47 : [++equal(j(X1,j(X1,f(X2,X1))), j(X1,f(X1,j(X1,X2))))] : pm(27,46)
48 : [++equal(j(X1,j(X1,f(X2,X1))), j(X1,j(X1,f(X1,X2))))] : rw(47,14)
49 : [++equal(f(X2,X1), j(X1,j(X1,f(X1,X2))))] : rw(48,40)
50 : [++equal(f(X2,X1), f(X1,X2))] : rw(49,40)
51 : [--equal(f(a,b), f(a,b))] : rw(5,50)
52 : [] : cn(51)
53 : [] : 52 : {proof}
0 : [++wolf(a_wolf)] : initial
1 : [++fox(a_fox)] : initial
2 : [++bird(a_bird)] : initial
3 : [++snail(a_snail)] : initial
4 : [++grain(a_grain)] : initial
5 : [++animal(X1),--wolf(X1)] : initial
6 : [++animal(X1),--fox(X1)] : initial
7 : [++animal(X1),--bird(X1)] : initial
8 : [++animal(X1),--snail(X1)] : initial
9 : [++plant(X1),--grain(X1)] : initial
10 : [++plant(snail_food_of(X1)),--snail(X1)] : initial
11 : [++eats(X1,snail_food_of(X1)),--snail(X1)] : initial
12 : [++much_smaller(X1,X2),--snail(X1),--bird(X2)] : initial
13 : [++much_smaller(X1,X2),--bird(X1),--fox(X2)] : initial
14 : [++much_smaller(X1,X2),--fox(X1),--wolf(X2)] : initial
15 : [--wolf(X1),--fox(X2),--eats(X1,X2)] : initial
16 : [--wolf(X1),--grain(X2),--eats(X1,X2)] : initial
17 : [--bird(X1),--snail(X2),--eats(X1,X2)] : initial
18 : [--animal(X1),--animal(X2),--grain(X3),--eats(X1,X2),--eats(X2,X3)] : initial
19 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(X4),--much_smaller(X3,X1),--eats(X3,X4)] : initial
20 : [++animal(a_wolf)] : pm(0,5)
21 : [++animal(a_fox)] : pm(1,6)
22 : [++animal(a_bird)] : pm(2,7)
23 : [++animal(a_snail)] : pm(3,8)
24 : [++eats(X2,X3),++eats(X2,X1),--animal(X2),--plant(X3),--animal(X1),--plant(snail_food_of(X1)),--much_smaller(X1,X2),--snail(X1)] : pm(11,19)
25 : [++eats(X2,X3),++eats(X2,X1),--animal(X2),--plant(X3),--animal(X1),--plant(snail_food_of(X1)),--snail(X1),--bird(X2)] : pm(12,24)
26 : [++eats(X1,X3),--bird(X1),--snail(X2),--animal(X1),--plant(X3),--animal(X2),--plant(snail_food_of(X2))] : pm(25,17)
27 : [++eats(X2,X3),--bird(X2),--snail(X1),--animal(X2),--plant(X3),--animal(X1)] : pm(10,26)
28 : [++eats(X1,X2),--bird(X1),--animal(X1),--plant(X2),--animal(a_snail)] : pm(3,27)
29 : [++eats(X1,X2),--bird(X1),--animal(X1),--plant(X2),--$true] : rw(28,23)
30 : [++eats(X1,X2),--bird(X1),--animal(X1),--plant(X2)] : cn(29)
31 : [--animal(X3),--animal(X1),--grain(X2),--eats(X3,X1),--bird(X1),--plant(X2)] : pm(30,18)
32 : [++eats(X3,X4),++eats(X3,X1),--animal(X3),--plant(X4),--animal(X1),--plant(X2),--much_smaller(X1,X3),--bird(X1)] : pm(30,19)
33 : [++eats(X3,X1),++eats(X3,X4),++epred1_0,--bird(X1),--much_smaller(X1,X3),--animal(X1),--plant(X4),--animal(X3)] : split(32)
34 : [++epred2_0,--plant(X2)] : split(32)
35 : [--epred2_0,--epred1_0] : split(32)
36 : [++epred2_0,--grain(X1)] : pm(9,34)
37 : [++epred2_0] : pm(4,36)
38 : [--$true,--epred1_0] : rw(35,37)
39 : [++eats(X2,X1),++eats(X2,X3),++epred1_0,--bird(X1),--animal(X1),--plant(X3),--animal(X2),--fox(X2)] : pm(13,33)
40 : [--animal(X2),--animal(X3),--grain(X1),--eats(X2,X3),--bird(X3)] : pm(9,31)
41 : [++eats(X1,X4),++epred1_0,--animal(X1),--animal(X2),--grain(X3),--bird(X2),--plant(X4),--fox(X1)] : pm(39,40)
42 : [++eats(X1,X2),++epred1_0,--animal(X1),--animal(a_bird),--grain(X3),--plant(X2),--fox(X1)] : pm(2,41)
43 : [++eats(X1,X2),++epred1_0,--animal(X1),--$true,--grain(X3),--plant(X2),--fox(X1)] : rw(42,22)
44 : [++eats(X1,X2),++epred1_0,--animal(X1),--grain(X3),--plant(X2),--fox(X1)] : cn(43)
45 : [++eats(X1,X2),++epred1_0,--animal(X1),--plant(X2),--fox(X1)] : pm(4,44)
46 : [++eats(X3,X4),++eats(X3,X1),++epred1_0,--animal(X3),--plant(X4),--animal(X1),--plant(X2),--much_smaller(X1,X3),--fox(X1)] : pm(45,19)
47 : [++eats(X2,X3),++eats(X2,X1),++epred1_0,--animal(X2),--plant(X3),--animal(X1),--plant(X4),--fox(X1),--wolf(X2)] : pm(14,46)
48 : [++eats(X1,X3),++epred1_0,--wolf(X1),--fox(X2),--animal(X1),--plant(X3),--animal(X2),--plant(X4)] : pm(47,15)
49 : [++eats(X1,X2),++epred1_0,--wolf(X1),--animal(X1),--plant(X2),--animal(a_fox),--plant(X3)] : pm(1,48)
50 : [++eats(X1,X2),++epred1_0,--wolf(X1),--animal(X1),--plant(X2),--$true,--plant(X3)] : rw(49,21)
51 : [++eats(X1,X2),++epred1_0,--wolf(X1),--animal(X1),--plant(X2),--plant(X3)] : cn(50)
52 : [++epred1_0,--wolf(X1),--grain(X2),--animal(X1),--plant(X2),--plant(X3)] : pm(51,16)
53 : [++epred1_0,--grain(X1),--animal(a_wolf),--plant(X1),--plant(X2)] : pm(0,52)
54 : [++epred1_0,--grain(X1),--$true,--plant(X1),--plant(X2)] : rw(53,20)
55 : [++epred1_0,--grain(X1),--plant(X1),--plant(X2)] : cn(54)
56 : [++epred1_0,--grain(X1),--plant(X2)] : pm(9,55)
57 : [++epred1_0,--plant(X1)] : pm(4,56)
58 : [++epred1_0,--grain(X1)] : pm(9,57)
59 : [++epred1_0] : pm(4,58)
60 : [--$true,--$true] : rw(38,59)
61 : [] : cn(60)
62 : [] : 61 : {proof}
Otter-MACE 3.2-2.0
W. McCune
Argonne National Laboratory,
USA
mccune@mcs.anl.gov
Human Readable Proof
---------------- PROOF ----------------
1 [] -Wolf(x)|animal(x).
2 [] -Fox(x)|animal(x).
3 [] -Bird(x)|animal(x).
5 [] -Snail(x)|animal(x).
6 [] -Grain(x)|plant(x).
7 [] -animal(x)| -plant(y)|eats(x,y)| -animal(z)| -Smaller(z,x)| -plant(u)| -eats(z,u)|eats(x,z).
9 [] -Snail(x)| -Bird(y)|Smaller(x,y).
10 [] -Bird(x)| -Fox(y)|Smaller(x,y).
11 [] -Fox(x)| -Wolf(y)|Smaller(x,y).
15 [] -Snail(x)|plant($f2(x)).
16 [] -Snail(x)|eats(x,$f2(x)).
17 [] -Wolf(x)| -Fox(y)| -eats(x,y).
18 [] -Wolf(x)| -Grain(y)| -eats(x,y).
19 [] -Bird(x)| -Snail(y)| -eats(x,y).
20 [] -animal(x)| -animal(y)| -eats(x,y)|Grain($f3(x,y)).
21 [] -animal(x)| -animal(y)| -eats(x,y)| -eats(y,$f3(x,y)).
23 [factor,7.2.6] -animal(x)| -plant(y)|eats(x,y)| -animal(z)| -Smaller(z,x)| -eats(z,y)|eats(x,z).
29 [] Wolf($c1).
30 [] Fox($c2).
31 [] Bird($c3).
33 [] Snail($c5).
34 [] Grain($c6).
35 [hyper,1,29.1] animal($c1).
36 [hyper,11,30.1,29.1] Smaller($c2,$c1).
37 [hyper,2,30.1] animal($c2).
38 [hyper,10,31.1,30.1] Smaller($c3,$c2).
39 [hyper,3,31.1] animal($c3).
45 [hyper,16,33.1] eats($c5,$f2($c5)).
46 [hyper,15,33.1] plant($f2($c5)).
47 [hyper,9,33.1,31.1] Smaller($c5,$c3).
48 [hyper,5,33.1] animal($c5).
49 [hyper,6,34.1] plant($c6).
52 [hyper,7,39.1,49.1,48.1,47.1,46.1,45.1] eats($c3,$c6)|eats($c3,$c5).
61 [hyper,19,31.1,33.1,52.2] eats($c3,$c6).
62 [hyper,23,37.1,49.1,39.1,38.1,61.1] eats($c2,$c6)|eats($c2,$c3).
68 [hyper,23,35.1,49.1,37.1,36.1,62.1] eats($c2,$c3)|eats($c1,$c6)|eats($c1,$c2).
86 [hyper,18,29.1,34.1,68.2] eats($c2,$c3)|eats($c1,$c2).
91 [hyper,17,29.1,30.1,86.2] eats($c2,$c3).
92 [hyper,20,37.1,39.1,91.1] Grain($f3($c2,$c3)).
93 [hyper,6,92.1] plant($f3($c2,$c3)).
94 [hyper,7,39.1,93.1,48.1,47.1,46.1,45.1] eats($c3,$f3($c2,$c3))|eats($c3,$c5).
95 [hyper,21,37.1,39.1,91.1,94.1] eats($c3,$c5).
99 [hyper,19,31.1,33.1,95.1] $F.
------------ end of proof -------------
Machine Readable Proof
;; BEGINNING OF PROOF OBJECT
(
(1 (input) (or (not (Wolf v0)) (animal v0)) (1))
(2 (input) (or (not (Fox v0)) (animal v0)) (2))
(3 (input) (or (not (Bird v0)) (animal v0)) (3))
(4 (input) (or (not (Snail v0)) (animal v0)) (5))
(5 (input) (or (not (Grain v0)) (plant v0)) (6))
(6 (input) (or (not (animal v0)) (or (not (plant v1)) (or (eats v0 v1) (or (not (animal v2)) (or (not (Smaller v2 v0)) (or (not (plant v3)) (or (not (eats v2 v3)) (eats v0 v2)))))))) (7))
(7 (input) (or (not (Snail v0)) (or (not (Bird v1)) (Smaller v0 v1))) (9))
(8 (input) (or (not (Bird v0)) (or (not (Fox v1)) (Smaller v0 v1))) (10))
(9 (input) (or (not (Fox v0)) (or (not (Wolf v1)) (Smaller v0 v1))) (11))
(10 (input) (or (not (Snail v0)) (plant ($f2 v0))) (15))
(11 (input) (or (not (Snail v0)) (eats v0 ($f2 v0))) (16))
(12 (input) (or (not (Wolf v0)) (or (not (Fox v1)) (not (eats v0 v1)))) (17))
(13 (input) (or (not (Wolf v0)) (or (not (Grain v1)) (not (eats v0 v1)))) (18))
(14 (input) (or (not (Bird v0)) (or (not (Snail v1)) (not (eats v0 v1)))) (19))
(15 (input) (or (not (animal v0)) (or (not (animal v1)) (or (not (eats v0 v1)) (Grain ($f3 v0 v1))))) (20))
(16 (input) (or (not (animal v0)) (or (not (animal v1)) (or (not (eats v0 v1)) (not (eats v1 ($f3 v0 v1)))))) (21))
(17 (instantiate 6 ((v1 . v3))) (or (not (animal v0)) (or (not (plant v3)) (or (eats v0 v3) (or (not (animal v2)) (or (not (Smaller v2 v0)) (or (not (plant v3)) (or (not (eats v2 v3)) (eats v0 v2)))))))) NIL)
(18 (propositional 17) (or (not (animal v0)) (or (not (plant v3)) (or (eats v0 v3) (or (not (animal v2)) (or (not (Smaller v2 v0)) (or (not (eats v2 v3)) (eats v0 v2))))))) NIL)
(19 (instantiate 18 ((v3 . v1))) (or (not (animal v0)) (or (not (plant v1)) (or (eats v0 v1) (or (not (animal v2)) (or (not (Smaller v2 v0)) (or (not (eats v2 v1)) (eats v0 v2))))))) (23))
(20 (input) (Wolf ($c1)) (29))
(21 (input) (Fox ($c2)) (30))
(22 (input) (Bird ($c3)) (31))
(23 (input) (Snail ($c5)) (33))
(24 (input) (Grain ($c6)) (34))
(25 (instantiate 1 ((v0 . ($c1)))) (or (not (Wolf ($c1))) (animal ($c1))) NIL)
(26 (resolve 25 (1) 20 ()) (animal ($c1)) (35))
(27 (instantiate 9 ((v0 . ($c2)))) (or (not (Fox ($c2))) (or (not (Wolf v1)) (Smaller ($c2) v1))) NIL)
(28 (resolve 27 (1) 21 ()) (or (not (Wolf v1)) (Smaller ($c2) v1)) NIL)
(29 (instantiate 28 ((v1 . v0))) (or (not (Wolf v0)) (Smaller ($c2) v0)) NIL)
(30 (instantiate 29 ((v0 . ($c1)))) (or (not (Wolf ($c1))) (Smaller ($c2) ($c1))) NIL)
(31 (resolve 30 (1) 20 ()) (Smaller ($c2) ($c1)) (36))
(32 (instantiate 2 ((v0 . ($c2)))) (or (not (Fox ($c2))) (animal ($c2))) NIL)
(33 (resolve 32 (1) 21 ()) (animal ($c2)) (37))
(34 (instantiate 8 ((v0 . ($c3)))) (or (not (Bird ($c3))) (or (not (Fox v1)) (Smaller ($c3) v1))) NIL)
(35 (resolve 34 (1) 22 ()) (or (not (Fox v1)) (Smaller ($c3) v1)) NIL)
(36 (instantiate 35 ((v1 . v0))) (or (not (Fox v0)) (Smaller ($c3) v0)) NIL)
(37 (instantiate 36 ((v0 . ($c2)))) (or (not (Fox ($c2))) (Smaller ($c3) ($c2))) NIL)
(38 (resolve 37 (1) 21 ()) (Smaller ($c3) ($c2)) (38))
(39 (instantiate 3 ((v0 . ($c3)))) (or (not (Bird ($c3))) (animal ($c3))) NIL)
(40 (resolve 39 (1) 22 ()) (animal ($c3)) (39))
(41 (instantiate 11 ((v0 . ($c5)))) (or (not (Snail ($c5))) (eats ($c5) ($f2 ($c5)))) NIL)
(42 (resolve 41 (1) 23 ()) (eats ($c5) ($f2 ($c5))) (45))
(43 (instantiate 10 ((v0 . ($c5)))) (or (not (Snail ($c5))) (plant ($f2 ($c5)))) NIL)
(44 (resolve 43 (1) 23 ()) (plant ($f2 ($c5))) (46))
(45 (instantiate 7 ((v0 . ($c5)))) (or (not (Snail ($c5))) (or (not (Bird v1)) (Smaller ($c5) v1))) NIL)
(46 (resolve 45 (1) 23 ()) (or (not (Bird v1)) (Smaller ($c5) v1)) NIL)
(47 (instantiate 46 ((v1 . v0))) (or (not (Bird v0)) (Smaller ($c5) v0)) NIL)
(48 (instantiate 47 ((v0 . ($c3)))) (or (not (Bird ($c3))) (Smaller ($c5) ($c3))) NIL)
(49 (resolve 48 (1) 22 ()) (Smaller ($c5) ($c3)) (47))
(50 (instantiate 4 ((v0 . ($c5)))) (or (not (Snail ($c5))) (animal ($c5))) NIL)
(51 (resolve 50 (1) 23 ()) (animal ($c5)) (48))
(52 (instantiate 5 ((v0 . ($c6)))) (or (not (Grain ($c6))) (plant ($c6))) NIL)
(53 (resolve 52 (1) 24 ()) (plant ($c6)) (49))
(54 (instantiate 6 ((v0 . ($c3)))) (or (not (animal ($c3))) (or (not (plant v1)) (or (eats ($c3) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c3))) (or (not (plant v3)) (or (not (eats v2 v3)) (eats ($c3) v2)))))))) NIL)
(55 (resolve 54 (1) 40 ()) (or (not (plant v1)) (or (eats ($c3) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c3))) (or (not (plant v3)) (or (not (eats v2 v3)) (eats ($c3) v2))))))) NIL)
(56 (instantiate 55 ((v1 . v0)(v2 . v1)(v3 . v2))) (or (not (plant v0)) (or (eats ($c3) v0) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1))))))) NIL)
(57 (instantiate 56 ((v0 . ($c6)))) (or (not (plant ($c6))) (or (eats ($c3) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1))))))) NIL)
(58 (resolve 57 (1) 53 ()) (or (eats ($c3) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1)))))) NIL)
(59 (instantiate 58 ((v1 . v0)(v2 . v1))) (or (eats ($c3) ($c6)) (or (not (animal v0)) (or (not (Smaller v0 ($c3))) (or (not (plant v1)) (or (not (eats v0 v1)) (eats ($c3) v0)))))) NIL)
(60 (instantiate 59 ((v0 . ($c5)))) (or (eats ($c3) ($c6)) (or (not (animal ($c5))) (or (not (Smaller ($c5) ($c3))) (or (not (plant v1)) (or (not (eats ($c5) v1)) (eats ($c3) ($c5))))))) NIL)
(61 (resolve 60 (2 1) 51 ()) (or (eats ($c3) ($c6)) (or (not (Smaller ($c5) ($c3))) (or (not (plant v1)) (or (not (eats ($c5) v1)) (eats ($c3) ($c5)))))) NIL)
(62 (instantiate 61 ((v1 . v0))) (or (eats ($c3) ($c6)) (or (not (Smaller ($c5) ($c3))) (or (not (plant v0)) (or (not (eats ($c5) v0)) (eats ($c3) ($c5)))))) NIL)
(63 (resolve 62 (2 1) 49 ()) (or (eats ($c3) ($c6)) (or (not (plant v0)) (or (not (eats ($c5) v0)) (eats ($c3) ($c5))))) NIL)
(64 (instantiate 63 ((v0 . ($f2 ($c5))))) (or (eats ($c3) ($c6)) (or (not (plant ($f2 ($c5)))) (or (not (eats ($c5) ($f2 ($c5)))) (eats ($c3) ($c5))))) NIL)
(65 (resolve 64 (2 1) 44 ()) (or (eats ($c3) ($c6)) (or (not (eats ($c5) ($f2 ($c5)))) (eats ($c3) ($c5)))) NIL)
(66 (resolve 65 (2 1) 42 ()) (or (eats ($c3) ($c6)) (eats ($c3) ($c5))) (52))
(67 (instantiate 14 ((v0 . ($c3)))) (or (not (Bird ($c3))) (or (not (Snail v1)) (not (eats ($c3) v1)))) NIL)
(68 (resolve 67 (1) 22 ()) (or (not (Snail v1)) (not (eats ($c3) v1))) NIL)
(69 (instantiate 68 ((v1 . v0))) (or (not (Snail v0)) (not (eats ($c3) v0))) NIL)
(70 (instantiate 69 ((v0 . ($c5)))) (or (not (Snail ($c5))) (not (eats ($c3) ($c5)))) NIL)
(71 (resolve 70 (1) 23 ()) (not (eats ($c3) ($c5))) NIL)
(72 (resolve 71 () 66 (2)) (eats ($c3) ($c6)) (61))
(73 (instantiate 19 ((v0 . ($c2)))) (or (not (animal ($c2))) (or (not (plant v1)) (or (eats ($c2) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c2))) (or (not (eats v2 v1)) (eats ($c2) v2))))))) NIL)
(74 (resolve 73 (1) 33 ()) (or (not (plant v1)) (or (eats ($c2) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c2))) (or (not (eats v2 v1)) (eats ($c2) v2)))))) NIL)
(75 (instantiate 74 ((v1 . v0)(v2 . v1))) (or (not (plant v0)) (or (eats ($c2) v0) (or (not (animal v1)) (or (not (Smaller v1 ($c2))) (or (not (eats v1 v0)) (eats ($c2) v1)))))) NIL)
(76 (instantiate 75 ((v0 . ($c6)))) (or (not (plant ($c6))) (or (eats ($c2) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c2))) (or (not (eats v1 ($c6))) (eats ($c2) v1)))))) NIL)
(77 (resolve 76 (1) 53 ()) (or (eats ($c2) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c2))) (or (not (eats v1 ($c6))) (eats ($c2) v1))))) NIL)
(78 (instantiate 77 ((v1 . v0))) (or (eats ($c2) ($c6)) (or (not (animal v0)) (or (not (Smaller v0 ($c2))) (or (not (eats v0 ($c6))) (eats ($c2) v0))))) NIL)
(79 (instantiate 78 ((v0 . ($c3)))) (or (eats ($c2) ($c6)) (or (not (animal ($c3))) (or (not (Smaller ($c3) ($c2))) (or (not (eats ($c3) ($c6))) (eats ($c2) ($c3)))))) NIL)
(80 (resolve 79 (2 1) 40 ()) (or (eats ($c2) ($c6)) (or (not (Smaller ($c3) ($c2))) (or (not (eats ($c3) ($c6))) (eats ($c2) ($c3))))) NIL)
(81 (resolve 80 (2 1) 38 ()) (or (eats ($c2) ($c6)) (or (not (eats ($c3) ($c6))) (eats ($c2) ($c3)))) NIL)
(82 (resolve 81 (2 1) 72 ()) (or (eats ($c2) ($c6)) (eats ($c2) ($c3))) (62))
(83 (instantiate 19 ((v0 . ($c1)))) (or (not (animal ($c1))) (or (not (plant v1)) (or (eats ($c1) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c1))) (or (not (eats v2 v1)) (eats ($c1) v2))))))) NIL)
(84 (resolve 83 (1) 26 ()) (or (not (plant v1)) (or (eats ($c1) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c1))) (or (not (eats v2 v1)) (eats ($c1) v2)))))) NIL)
(85 (instantiate 84 ((v1 . v0)(v2 . v1))) (or (not (plant v0)) (or (eats ($c1) v0) (or (not (animal v1)) (or (not (Smaller v1 ($c1))) (or (not (eats v1 v0)) (eats ($c1) v1)))))) NIL)
(86 (instantiate 85 ((v0 . ($c6)))) (or (not (plant ($c6))) (or (eats ($c1) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c1))) (or (not (eats v1 ($c6))) (eats ($c1) v1)))))) NIL)
(87 (resolve 86 (1) 53 ()) (or (eats ($c1) ($c6)) (or (not (animal v1)) (or (not (Smaller v1 ($c1))) (or (not (eats v1 ($c6))) (eats ($c1) v1))))) NIL)
(88 (instantiate 87 ((v1 . v0))) (or (eats ($c1) ($c6)) (or (not (animal v0)) (or (not (Smaller v0 ($c1))) (or (not (eats v0 ($c6))) (eats ($c1) v0))))) NIL)
(89 (instantiate 88 ((v0 . ($c2)))) (or (eats ($c1) ($c6)) (or (not (animal ($c2))) (or (not (Smaller ($c2) ($c1))) (or (not (eats ($c2) ($c6))) (eats ($c1) ($c2)))))) NIL)
(90 (resolve 89 (2 1) 33 ()) (or (eats ($c1) ($c6)) (or (not (Smaller ($c2) ($c1))) (or (not (eats ($c2) ($c6))) (eats ($c1) ($c2))))) NIL)
(91 (resolve 90 (2 1) 31 ()) (or (eats ($c1) ($c6)) (or (not (eats ($c2) ($c6))) (eats ($c1) ($c2)))) NIL)
(92 (resolve 91 (2 1) 82 (1)) (or (eats ($c1) ($c6)) (or (eats ($c1) ($c2)) (eats ($c2) ($c3)))) (68))
(93 (instantiate 13 ((v0 . ($c1)))) (or (not (Wolf ($c1))) (or (not (Grain v1)) (not (eats ($c1) v1)))) NIL)
(94 (resolve 93 (1) 20 ()) (or (not (Grain v1)) (not (eats ($c1) v1))) NIL)
(95 (instantiate 94 ((v1 . v0))) (or (not (Grain v0)) (not (eats ($c1) v0))) NIL)
(96 (instantiate 95 ((v0 . ($c6)))) (or (not (Grain ($c6))) (not (eats ($c1) ($c6)))) NIL)
(97 (resolve 96 (1) 24 ()) (not (eats ($c1) ($c6))) NIL)
(98 (resolve 97 () 92 (1)) (or (eats ($c1) ($c2)) (eats ($c2) ($c3))) (86))
(99 (instantiate 12 ((v0 . ($c1)))) (or (not (Wolf ($c1))) (or (not (Fox v1)) (not (eats ($c1) v1)))) NIL)
(100 (resolve 99 (1) 20 ()) (or (not (Fox v1)) (not (eats ($c1) v1))) NIL)
(101 (instantiate 100 ((v1 . v0))) (or (not (Fox v0)) (not (eats ($c1) v0))) NIL)
(102 (instantiate 101 ((v0 . ($c2)))) (or (not (Fox ($c2))) (not (eats ($c1) ($c2)))) NIL)
(103 (resolve 102 (1) 21 ()) (not (eats ($c1) ($c2))) NIL)
(104 (resolve 103 () 98 (1)) (eats ($c2) ($c3)) (91))
(105 (instantiate 15 ((v0 . ($c2)))) (or (not (animal ($c2))) (or (not (animal v1)) (or (not (eats ($c2) v1)) (Grain ($f3 ($c2) v1))))) NIL)
(106 (resolve 105 (1) 33 ()) (or (not (animal v1)) (or (not (eats ($c2) v1)) (Grain ($f3 ($c2) v1)))) NIL)
(107 (instantiate 106 ((v1 . v0))) (or (not (animal v0)) (or (not (eats ($c2) v0)) (Grain ($f3 ($c2) v0)))) NIL)
(108 (instantiate 107 ((v0 . ($c3)))) (or (not (animal ($c3))) (or (not (eats ($c2) ($c3))) (Grain ($f3 ($c2) ($c3))))) NIL)
(109 (resolve 108 (1) 40 ()) (or (not (eats ($c2) ($c3))) (Grain ($f3 ($c2) ($c3)))) NIL)
(110 (resolve 109 (1) 104 ()) (Grain ($f3 ($c2) ($c3))) (92))
(111 (instantiate 5 ((v0 . ($f3 ($c2) ($c3))))) (or (not (Grain ($f3 ($c2) ($c3)))) (plant ($f3 ($c2) ($c3)))) NIL)
(112 (resolve 111 (1) 110 ()) (plant ($f3 ($c2) ($c3))) (93))
(113 (instantiate 6 ((v0 . ($c3)))) (or (not (animal ($c3))) (or (not (plant v1)) (or (eats ($c3) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c3))) (or (not (plant v3)) (or (not (eats v2 v3)) (eats ($c3) v2)))))))) NIL)
(114 (resolve 113 (1) 40 ()) (or (not (plant v1)) (or (eats ($c3) v1) (or (not (animal v2)) (or (not (Smaller v2 ($c3))) (or (not (plant v3)) (or (not (eats v2 v3)) (eats ($c3) v2))))))) NIL)
(115 (instantiate 114 ((v1 . v0)(v2 . v1)(v3 . v2))) (or (not (plant v0)) (or (eats ($c3) v0) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1))))))) NIL)
(116 (instantiate 115 ((v0 . ($f3 ($c2) ($c3))))) (or (not (plant ($f3 ($c2) ($c3)))) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1))))))) NIL)
(117 (resolve 116 (1) 112 ()) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (animal v1)) (or (not (Smaller v1 ($c3))) (or (not (plant v2)) (or (not (eats v1 v2)) (eats ($c3) v1)))))) NIL)
(118 (instantiate 117 ((v1 . v0)(v2 . v1))) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (animal v0)) (or (not (Smaller v0 ($c3))) (or (not (plant v1)) (or (not (eats v0 v1)) (eats ($c3) v0)))))) NIL)
(119 (instantiate 118 ((v0 . ($c5)))) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (animal ($c5))) (or (not (Smaller ($c5) ($c3))) (or (not (plant v1)) (or (not (eats ($c5) v1)) (eats ($c3) ($c5))))))) NIL)
(120 (resolve 119 (2 1) 51 ()) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (Smaller ($c5) ($c3))) (or (not (plant v1)) (or (not (eats ($c5) v1)) (eats ($c3) ($c5)))))) NIL)
(121 (instantiate 120 ((v1 . v0))) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (Smaller ($c5) ($c3))) (or (not (plant v0)) (or (not (eats ($c5) v0)) (eats ($c3) ($c5)))))) NIL)
(122 (resolve 121 (2 1) 49 ()) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (plant v0)) (or (not (eats ($c5) v0)) (eats ($c3) ($c5))))) NIL)
(123 (instantiate 122 ((v0 . ($f2 ($c5))))) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (plant ($f2 ($c5)))) (or (not (eats ($c5) ($f2 ($c5)))) (eats ($c3) ($c5))))) NIL)
(124 (resolve 123 (2 1) 44 ()) (or (eats ($c3) ($f3 ($c2) ($c3))) (or (not (eats ($c5) ($f2 ($c5)))) (eats ($c3) ($c5)))) NIL)
(125 (resolve 124 (2 1) 42 ()) (or (eats ($c3) ($f3 ($c2) ($c3))) (eats ($c3) ($c5))) (94))
(126 (instantiate 16 ((v0 . ($c2)))) (or (not (animal ($c2))) (or (not (animal v1)) (or (not (eats ($c2) v1)) (not (eats v1 ($f3 ($c2) v1)))))) NIL)
(127 (resolve 126 (1) 33 ()) (or (not (animal v1)) (or (not (eats ($c2) v1)) (not (eats v1 ($f3 ($c2) v1))))) NIL)
(128 (instantiate 127 ((v1 . v0))) (or (not (animal v0)) (or (not (eats ($c2) v0)) (not (eats v0 ($f3 ($c2) v0))))) NIL)
(129 (instantiate 128 ((v0 . ($c3)))) (or (not (animal ($c3))) (or (not (eats ($c2) ($c3))) (not (eats ($c3) ($f3 ($c2) ($c3)))))) NIL)
(130 (resolve 129 (1) 40 ()) (or (not (eats ($c2) ($c3))) (not (eats ($c3) ($f3 ($c2) ($c3))))) NIL)
(131 (resolve 130 (1) 104 ()) (not (eats ($c3) ($f3 ($c2) ($c3)))) NIL)
(132 (resolve 131 () 125 (1)) (eats ($c3) ($c5)) (95))
(133 (instantiate 14 ((v0 . ($c3)))) (or (not (Bird ($c3))) (or (not (Snail v1)) (not (eats ($c3) v1)))) NIL)
(134 (resolve 133 (1) 22 ()) (or (not (Snail v1)) (not (eats ($c3) v1))) NIL)
(135 (instantiate 134 ((v1 . v0))) (or (not (Snail v0)) (not (eats ($c3) v0))) NIL)
(136 (instantiate 135 ((v0 . ($c5)))) (or (not (Snail ($c5))) (not (eats ($c3) ($c5)))) NIL)
(137 (resolve 136 (1) 23 ()) (not (eats ($c3) ($c5))) NIL)
(138 (resolve 137 () 132 ()) false (99))
)
;; END OF PROOF OBJECT