Here is a list of the statistics maintained about each clause:
(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) { }.
(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
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.
Here is a list of all inferences:
The first 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. The other proofs are for some fairly well-known problems, and show the rules in more realistic context.
test_all_rules
1 : [++equal(a, b),++equal(a, c)] : initial 2 : [++equal(i(X1), i(X2))] : initial 3 : [++equal(b, c),--equal(X1, X2),--equal(X3, X4),--equal(c, d)] : initial 4 : [++equal(c, d),--equal(h(i(a)), h(i(e)))] : initial 5 : [++equal(f(X1,X2), f(X2,X1))] : initial 6 : [++equal(g(X1,X2), g(X2,X1))] : initial 7 : [++equal(f(X1,f(X2,X3)), f(f(X1,X2),X3))] : initial 8 : [--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 13 : [--equal(k(X1,X1), k(a,b))] : ar(8,5,6,7) 23 : [++equal(c, b),--equal(X1, X2),--equal(d, c)] : er(3) 25 : [++equal(c, b),--equal(d, c)] : er(23) 26 : [++equal(d, c)] : sr(4,2) 27 : [++equal(c, b),--equal(c, c)] : rw(25,26) 28 : [++equal(c, b)] : cn(27) 30 : [++equal(b, a)] : pm(28,1) 33 : [--equal(k(X1,X1), k(a,a))] : rw(13,30) 114 : [] : er(33) 115 : [] : 114 : "proof"
SET103-6
6 : [++subclass(X1,universal_class)] : initial 10 : [--member(y,universal_class)] : initial 13 : [++equal(unordered_pair(X1,X1), singleton(X1))] : initial 16 : [++equal(X1, null_class),++member(regular(X1),X1)] : initial 37 : [++member(X1,X2),--subclass(X3,X2),--member(X1,X3)] : initial 46 : [++equal(X1, X2),++equal(X1, X3),--member(X1,unordered_pair(X2,X3))] : initial 48 : [++equal(unordered_pair(singleton(X1),unordered_pair(X1,singleton(X2))), ordered_pair(X1,X2))] : initial 49 : [--equal(unordered_pair(singleton(x),unordered_pair(x,null_class)), ordered_pair(x,y))] : initial 234 : [++member(X1,universal_class),--member(X1,X2)] : pm(6,37) 255 : [++member(regular(X1),universal_class),++equal(X1, null_class)] : pm(16,234) 354 : [++equal(X1, X2),--member(X1,singleton(X2))] : pm(13,46) 441 : [++equal(regular(singleton(X1)), X1),++equal(singleton(X1), null_class)] : pm(16,354) 475 : [++member(X1,universal_class),++equal(singleton(X1), null_class)] : pm(441,255) 490 : [++equal(singleton(y), null_class)] : pm(475,10) 501 : [++equal(unordered_pair(singleton(X1),unordered_pair(X1,null_class)), ordered_pair(X1,y))] : pm(490,48) 6935 : [--equal(ordered_pair(x,y), ordered_pair(x,y))] : rw(49,501) 6936 : [] : cn(6935) 6937 : [] : 6936 : "proof"
LUSK3
1 : [++equal(j(0,X1), X1)] : initial 2 : [++equal(j(X1,0), X1)] : initial 3 : [++equal(f(X1,X1), X1)] : initial 5 : [++equal(j(X1,g(X1)), 0)] : initial 6 : [++equal(j(X1,X2), j(X2,X1))] : initial 7 : [--equal(f(a,b), f(b,a))] : initial 8 : [++equal(j(j(X1,X2),X3), j(X1,j(X2,X3)))] : initial 10 : [++equal(f(X1,j(X2,X3)), j(f(X1,X2),f(X1,X3)))] : initial 11 : [++equal(f(j(X1,X2),X3), j(f(X1,X3),f(X2,X3)))] : initial 32 : [++equal(j(0,X1), j(X2,j(g(X2),X1)))] : pm(5,8) 34 : [++equal(j(X1,j(X2,X3)), j(X3,j(X1,X2)))] : pm(8,6) 41 : [++equal(X1, j(X2,j(g(X2),X1)))] : rw(32,1) 49 : [++equal(j(X1,0), g(g(X1)))] : pm(5,41) 58 : [++equal(X1, g(g(X1)))] : rw(49,2) 551 : [++equal(j(X1,f(X1,X2)), f(X1,j(X1,X2)))] : pm(3,10) 552 : [++equal(j(f(X1,X2),X1), f(X1,j(X2,X1)))] : pm(3,10) 569 : [++equal(j(X1,f(X1,X2)), f(X1,j(X2,X1)))] : rw(552,6) 581 : [++equal(f(X1,X1), j(X1,f(X1,0)))] : pm(2,551) 582 : [++equal(f(X1,0), j(X1,f(X1,g(X1))))] : pm(5,551) 602 : [++equal(X1, j(X1,f(X1,0)))] : rw(581,3) 617 : [++equal(j(X1,g(X1)), f(g(X1),0))] : pm(602,41) 629 : [++equal(0, f(g(X1),0))] : rw(617,5) 638 : [++equal(f(X1,0), 0)] : pm(58,629) 749 : [++equal(j(X1,f(X1,g(X1))), 0)] : rw(582,638) 754 : [++equal(j(X1,0), f(g(X1),g(g(X1))))] : pm(749,41) 771 : [++equal(X1, f(g(X1),g(g(X1))))] : rw(754,2) 772 : [++equal(X1, f(g(X1),X1))] : rw(771,58) 931 : [++equal(j(X1,f(X2,X1)), f(j(X1,X2),X1))] : pm(3,11) 932 : [++equal(j(f(X1,X2),X2), f(j(X1,X2),X2))] : pm(3,11) 968 : [++equal(j(X1,f(X2,X1)), f(j(X2,X1),X1))] : rw(932,6) 1041 : [++equal(f(X1,X1), j(X1,f(0,X1)))] : pm(2,931) 1042 : [++equal(f(0,X1), j(X1,f(g(X1),X1)))] : pm(5,931) 1068 : [++equal(X1, j(X1,f(0,X1)))] : rw(1041,3) 1069 : [++equal(f(0,X1), j(X1,X1))] : rw(1042,772) 1091 : [++equal(j(X1,g(X1)), f(0,g(X1)))] : pm(1068,41) 1114 : [++equal(0, f(0,g(X1)))] : rw(1091,5) 1141 : [++equal(f(0,X1), 0)] : pm(58,1114) 1213 : [++equal(0, j(X1,X1))] : rw(1069,1141) 1214 : [++equal(j(0,X1), j(X2,j(X2,X1)))] : pm(1213,8) 1226 : [++equal(j(X1,0), j(X2,j(X1,X2)))] : pm(1213,34) 1238 : [++equal(X1, j(X2,j(X2,X1)))] : rw(1214,1) 1253 : [++equal(X1, j(X2,j(X1,X2)))] : rw(1226,2) 1423 : [++equal(f(X1,j(X1,X2)), j(j(X1,X2),f(X2,j(X1,X2))))] : pm(1253,968) 1453 : [++equal(j(X1,f(X1,X2)), j(j(X1,X2),f(X2,j(X1,X2))))] : rw(1423,551) 1454 : [++equal(j(X1,f(X1,X2)), j(X1,f(X2,X1)))] : rw(rw(rw(1453,569),8),1238) 1710 : [++equal(j(X1,j(X1,f(X2,X1))), j(X1,f(X1,j(X1,X2))))] : pm(931,1454) 1767 : [++equal(f(X1,X2), j(X2,f(X2,j(X2,X1))))] : rw(1710,1238) 1768 : [++equal(f(X1,X2), f(X2,X1))] : rw(rw(1767,551),1238) 1814 : [--equal(f(a,b), f(a,b))] : rw(7,1768) 1815 : [] : cn(1814) 1816 : [] : 1815 : "proof"
PUZ031-1 (Schuberts Steamroller)
1 : [++wolf(a_wolf)] : initial 2 : [++fox(a_fox)] : initial 3 : [++bird(a_bird)] : initial 5 : [++snail(a_snail)] : initial 6 : [++grain(a_grain)] : initial 7 : [++animal(X1),--wolf(X1)] : initial 8 : [++animal(X1),--fox(X1)] : initial 9 : [++animal(X1),--bird(X1)] : initial 11 : [++animal(X1),--snail(X1)] : initial 12 : [++plant(X1),--grain(X1)] : initial 14 : [++plant(snail_food_of(X1)),--snail(X1)] : initial 16 : [++eats(X1,snail_food_of(X1)),--snail(X1)] : initial 18 : [++much_smaller(X1,X2),--snail(X1),--bird(X2)] : initial 19 : [++much_smaller(X1,X2),--bird(X1),--fox(X2)] : initial 20 : [++much_smaller(X1,X2),--fox(X1),--wolf(X2)] : initial 22 : [--wolf(X1),--fox(X2),--eats(X1,X2)] : initial 23 : [--wolf(X1),--grain(X2),--eats(X1,X2)] : initial 24 : [--bird(X1),--snail(X2),--eats(X1,X2)] : initial 25 : [--animal(X1),--animal(X2),--grain(X3),--eats(X1,X2),--eats(X2,X3)] : initial 26 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(X4),--much_smaller(X3,X1),--eats(X3,X4)] : initial 27 : [++animal(a_wolf)] : pm(1,7) 28 : [++animal(a_fox)] : pm(2,8) 29 : [++animal(a_bird)] : pm(3,9) 31 : [++animal(a_snail)] : pm(5,11) 59 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(X4),--eats(X3,X4),--snail(X3),--bird(X1)] : pm(18,26) 60 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(X4),--eats(X3,X4),--bird(X3),--fox(X1)] : pm(19,26) 61 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(X4),--eats(X3,X4),--fox(X3),--wolf(X1)] : pm(20,26) 160 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--plant(snail_food_of(X3)),--snail(X3),--bird(X1)] : pm(16,59) 258 : [++eats(X1,X2),++eats(X1,X3),--animal(X1),--plant(X2),--animal(X3),--snail(X3),--bird(X1)] : pm(14,160) 299 : [++eats(a_bird,X1),++eats(a_bird,X2),--plant(X1),--animal(X2),--snail(X2),--bird(a_bird)] : pm(29,258) 302 : [++eats(a_bird,X1),++eats(a_bird,X2),--plant(X1),--animal(X2),--snail(X2),--$true] : rw(299,3) 303 : [++eats(a_bird,X1),++eats(a_bird,X2),--plant(X1),--animal(X2),--snail(X2)] : cn(302) 306 : [++eats(a_bird,X1),++eats(a_bird,X2),--animal(X2),--snail(X2),--grain(X1)] : pm(12,303) 315 : [++eats(a_bird,X1),++eats(a_bird,a_snail),--snail(a_snail),--grain(X1)] : pm(31,306) 316 : [++eats(a_bird,X1),++eats(a_bird,a_snail),--$true,--grain(X1)] : rw(315,5) 317 : [++eats(a_bird,X1),++eats(a_bird,a_snail),--grain(X1)] : cn(316) 320 : [++eats(a_bird,a_grain),++eats(a_bird,a_snail)] : pm(6,317) 358 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--animal(a_bird),--plant(a_grain),--bird(a_bird),--fox(X1)] : pm(320,60) 373 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--$true,--plant(a_grain),--bird(a_bird),--fox(X1)] : rw(358,29) 374 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--$true,--plant(a_grain),--$true,--fox(X1)] : rw(373,3) 375 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--plant(a_grain),--fox(X1)] : cn(374) 852 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--fox(X1),--grain(a_grain)] : pm(12,375) 853 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--fox(X1),--$true] : rw(852,6) 854 : [++eats(X1,X2),++eats(X1,a_bird),++eats(a_bird,a_snail),--animal(X1),--plant(X2),--fox(X1)] : cn(853) 860 : [++eats(a_fox,X1),++eats(a_fox,a_bird),++eats(a_bird,a_snail),--plant(X1),--fox(a_fox)] : pm(28,854) 868 : [++eats(a_fox,X1),++eats(a_fox,a_bird),++eats(a_bird,a_snail),--plant(X1),--$true] : rw(860,2) 869 : [++eats(a_fox,X1),++eats(a_fox,a_bird),++eats(a_bird,a_snail),--plant(X1)] : cn(868) 871 : [++eats(a_fox,X1),++eats(a_fox,a_bird),++eats(a_bird,a_snail),--grain(X1)] : pm(12,869) 874 : [++eats(a_fox,a_grain),++eats(a_fox,a_bird),++eats(a_bird,a_snail)] : pm(6,871) 877 : [++eats(a_fox,a_grain),++eats(a_fox,a_bird),--bird(a_bird),--snail(a_snail)] : pm(874,24) 884 : [++eats(a_fox,a_grain),++eats(a_fox,a_bird),--$true,--snail(a_snail)] : rw(877,3) 885 : [++eats(a_fox,a_grain),++eats(a_fox,a_bird),--$true,--$true] : rw(884,5) 886 : [++eats(a_fox,a_grain),++eats(a_fox,a_bird)] : cn(885) 910 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--animal(a_fox),--plant(a_grain),--fox(a_fox),--wolf(X1)] : pm(886,61) 925 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--$true,--plant(a_grain),--fox(a_fox),--wolf(X1)] : rw(910,28) 926 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--$true,--plant(a_grain),--$true,--wolf(X1)] : rw(925,2) 927 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--plant(a_grain),--wolf(X1)] : cn(926) 1375 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--wolf(X1),--grain(a_grain)] : pm(12,927) 1376 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--wolf(X1),--$true] : rw(1375,6) 1377 : [++eats(X1,X2),++eats(X1,a_fox),++eats(a_fox,a_bird),--animal(X1),--plant(X2),--wolf(X1)] : cn(1376) 1382 : [++eats(a_wolf,X1),++eats(a_wolf,a_fox),++eats(a_fox,a_bird),--plant(X1),--wolf(a_wolf)] : pm(27,1377) 1391 : [++eats(a_wolf,X1),++eats(a_wolf,a_fox),++eats(a_fox,a_bird),--plant(X1),--$true] : rw(1382,1) 1392 : [++eats(a_wolf,X1),++eats(a_wolf,a_fox),++eats(a_fox,a_bird),--plant(X1)] : cn(1391) 1393 : [++eats(a_wolf,X1),++eats(a_wolf,a_fox),++eats(a_fox,a_bird),--grain(X1)] : pm(12,1392) 1396 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),++eats(a_fox,a_bird)] : pm(6,1393) 1400 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--animal(a_fox),--animal(a_bird),--grain(X1),--eats(a_bird,X1)] : pm(1396,25) 1406 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--$true,--animal(a_bird),--grain(X1),--eats(a_bird,X1)] : rw(1400,28) 1407 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--$true,--$true,--grain(X1),--eats(a_bird,X1)] : rw(1406,29) 1408 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--grain(X1),--eats(a_bird,X1)] : cn(1407) 1426 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),++eats(a_bird,a_snail),--grain(a_grain)] : pm(320,1408) 1439 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),++eats(a_bird,a_snail),--$true] : rw(1426,6) 1440 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),++eats(a_bird,a_snail)] : cn(1439) 1444 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--bird(a_bird),--snail(a_snail)] : pm(1440,24) 1454 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--$true,--snail(a_snail)] : rw(1444,3) 1455 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox),--$true,--$true] : rw(1454,5) 1456 : [++eats(a_wolf,a_grain),++eats(a_wolf,a_fox)] : cn(1455) 1473 : [++eats(a_wolf,a_fox),--wolf(a_wolf),--grain(a_grain)] : pm(1456,23) 1483 : [++eats(a_wolf,a_fox),--$true,--grain(a_grain)] : rw(1473,1) 1484 : [++eats(a_wolf,a_fox),--$true,--$true] : rw(1483,6) 1485 : [++eats(a_wolf,a_fox)] : cn(1484) 1499 : [--wolf(a_wolf),--fox(a_fox)] : pm(1485,22) 1508 : [--$true,--fox(a_fox)] : rw(1499,1) 1509 : [--$true,--$true] : rw(1508,2) 1510 : [] : cn(1509) 1511 : [] : 1510 : "proof"
1 [] -wolf(X) | animal(X). 2 [] -fox(X) | animal(X). 3 [] -bird(X) | animal(X). 5 [] -snail(X) | animal(X). 6 [] wolf(a_wolf). 7 [] fox(a_fox). 8 [] bird(a_bird). 10 [] snail(a_snail). 11 [] grain(a_grain). 12 [] -grain(X) | plant(X). 13 [] -much_smaller(X,Y) | -eats(X,Z) | eats(Y,U) | eats(Y,X) | -plant(Z) | -plant(U) | -animal(X) | -animal(Y). 15 [] much_smaller(X,Y) | -snail(X) | -bird(Y). 16 [] much_smaller(X,Y) | -bird(X) | -fox(Y). 17 [] much_smaller(X,Y) | -fox(X) | -wolf(Y). 18 [] -eats(X,Y) | -fox(Y) | -wolf(X). 19 [] -eats(X,Y) | -grain(Y) | -wolf(X). 21 [] -eats(X,Y) | -snail(Y) | -bird(X). 24 [] plant(snail_food_of(X)) | -snail(X). 25 [] eats(X,snail_food_of(X)) | -snail(X). 26 [] -eats(X,Y) | -eats(Y,Z) | -grain(Z) | -animal(X) | -animal(Y). 27 [hyper:1,6] animal(a_wolf). 31 [hyper:2,7] animal(a_fox). 34 [hyper:17,7,6] much_smaller(a_fox,a_wolf). 36 [hyper:3,8] animal(a_bird). 40 [hyper:16,8,7] much_smaller(a_bird,a_fox). 50 [hyper:5,10] animal(a_snail). 52 [hyper:15,10,8] much_smaller(a_snail,a_bird). 54 [hyper:24,10] plant(snail_food_of(a_snail)). 55 [hyper:25,10] eats(a_snail,snail_food_of(a_snail)). 56 [hyper:12,11] plant(a_grain). 104 [hyper:13,55,52,56,cut:54,cut:50,cut:36] eats(a_bird,a_grain) | eats(a_bird,a_snail). 148 [hyper:21,104,cut:10,cut:8] eats(a_bird,a_grain). 159 [hyper:13,148,40,56,cut:56,cut:36,cut:31] eats(a_fox,a_grain) | eats(a_fox,a_bird). 189 [hyper:26,159,148,cut:31,cut:36,cut:11] eats(a_fox,a_grain). 200 [hyper:13,189,34,56,cut:56,cut:31,cut:27] eats(a_wolf,a_grain) | eats(a_wolf,a_fox). 215 [hyper:18,200,cut:7,cut:6] eats(a_wolf,a_grain). 219 [hyper:19,215,cut:11,cut:6] contradiction
---------------- PROOF ---------------- 1 [] animal(A)| -wolf(A). 2 [] animal(A)| -fox(A). 3 [] animal(A)| -bird(A). 5 [] animal(A)| -snail(A). 6 [] plant(A)| -grain(A). 7 [] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -plant(D)| -much_smaller(C,A)| -eats(C,D). 9 [] much_smaller(A,B)| -snail(A)| -bird(B). 10 [] much_smaller(A,B)| -bird(A)| -fox(B). 11 [] much_smaller(A,B)| -fox(A)| -wolf(B). 13 [] -wolf(A)| -grain(B)| -eats(A,B). 15 [] -bird(A)| -snail(B)| -eats(A,B). 18 [] plant(snail_food_of(A))| -snail(A). 19 [] eats(A,snail_food_of(A))| -snail(A). 20 [] -animal(A)| -animal(B)| -grain(C)| -eats(A,B)| -eats(B,C). 23 [factor,7.4.6] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -much_smaller(C,A)| -eats(C,B). 28 [] wolf(a_wolf). 29 [] fox(a_fox). 30 [] bird(a_bird). 32 [] snail(a_snail). 33 [] grain(a_grain). 34 [hyper,28,1] animal(a_wolf). 35 [hyper,29,11,28] much_smaller(a_fox,a_wolf). 36 [hyper,29,2] animal(a_fox). 37 [hyper,30,10,29] much_smaller(a_bird,a_fox). 38 [hyper,30,3] animal(a_bird). 44 [hyper,32,19] eats(a_snail,snail_food_of(a_snail)). 45 [hyper,32,18] plant(snail_food_of(a_snail)). 46 [hyper,32,9,30] much_smaller(a_snail,a_bird). 47 [hyper,32,5] animal(a_snail). 48 [hyper,33,6] plant(a_grain). 50 [hyper,44,7,38,48,47,45,46] eats(a_bird,a_grain)|eats(a_bird,a_snail). 55 [hyper,50,15,30,32] eats(a_bird,a_grain). 56 [hyper,55,23,36,48,38,37] eats(a_fox,a_grain)|eats(a_fox,a_bird). 62 [hyper,56,20,36,38,33,55] eats(a_fox,a_grain). 63 [hyper,62,23,34,48,36,35] eats(a_wolf,a_grain)|eats(a_wolf,a_fox). 67 [hyper,63,13,28,33] eats(a_wolf,a_fox). 69 [hyper,67,20,34,36,33,62] $F. ------------ end of proof -------------
0: (wt=4) 1 [] (011) animal(A)| -wolf(A). 0: (wt=4) 2 [] (011) animal(A)| -fox(A). 0: (wt=4) 3 [] (011) animal(A)| -bird(A). 0: (wt=4) 5 [] (011) animal(A)| -snail(A). 0: (wt=4) 6 [] (011) plant(A)| -grain(A). 0: (wt=20) 7 [] (011) eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -plant(D)| -much_smaller(C,A)| -eats(C,D). 0: (wt=7) 9 [] (011) much_smaller(A,B)| -snail(A)| -bird(B). 0: (wt=7) 10 [] (011) much_smaller(A,B)| -bird(A)| -fox(B). 0: (wt=7) 11 [] (011) much_smaller(A,B)| -fox(A)| -wolf(B). 0: (wt=7) 12 [] (011) -wolf(A)| -fox(B)| -eats(A,B). 0: (wt=7) 13 [] (011) -wolf(A)| -grain(B)| -eats(A,B). 0: (wt=7) 15 [] (011) -bird(A)| -snail(B)| -eats(A,B). 0: (wt=5) 18 [] (011) plant(snail_food_of(A))| -snail(A). 0: (wt=6) 19 [] (011) eats(A,snail_food_of(A))| -snail(A). 0: (wt=12) 20 [] (011) -animal(A)| -animal(B)| -grain(C)| -eats(A,B)| -eats(B,C). 0: (wt=18) 23 [factor,7.4.6] (011) eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -much_smaller(C,A)| -eats(C,B). 1: (wt=2) 28 [] (001) wolf(a_wolf). 2: (wt=2) 29 [] (011) fox(a_fox). 3: (wt=2) 30 [] (011) bird(a_bird). 5: (wt=2) 32 [] (010) snail(a_snail). 6: (wt=2) 33 [] (0bb) grain(a_grain). 8: (wt=2) 34 [hyper,28,1] (011) animal(a_wolf). 10: (wt=3) 35 [hyper,29,11,28] (011) much_smaller(a_fox,a_wolf). 9: (wt=2) 36 [hyper,29,2] (0bb) animal(a_fox). 11: (wt=3) 37 [ur,29,12,28] (011) -eats(a_wolf,a_fox). 13: (wt=3) 38 [hyper,30,10,29] (0bb) much_smaller(a_bird,a_fox). 12: (wt=2) 39 [hyper,30,3] (0bb) animal(a_bird). 19: (wt=4) 45 [hyper,32,19] (011) eats(a_snail,snail_food_of(a_snail)). 20: (wt=3) 46 [hyper,32,18] (011) plant(snail_food_of(a_snail)). 22: (wt=3) 47 [hyper,32,9,30] (011) much_smaller(a_snail,a_bird). 21: (wt=2) 48 [hyper,32,5] (011) animal(a_snail). 23: (wt=3) 49 [ur,32,15,30] (010) -eats(a_bird,a_snail). 24: (wt=2) 50 [hyper,33,6] (011) plant(a_grain). 7: (wt=3) 51 [ur,33,13,28] (001) -eats(a_wolf,a_grain). 34: (wt=4) 55 [hyper,47,23,39,46,48,45,unit_del,49] (011) eats(a_bird,snail_food_of(a_snail)). 35: (wt=3) 59 [hyper,50,7,39,48,46,47,45,unit_del,49] (010) eats(a_bird,a_grain). 28: (wt=4) 61 [ur,50,7,51,37,34,36,46,35] (00n) -eats(a_fox,snail_food_of(a_snail)). 0: (wt=3) 64 [hyper,55,23,36,46,39,38,unit_del,61] (001) eats(a_fox,a_bird). 0: (wt=3) 69 [ur,59,20,36,39,33] (000) -eats(a_fox,a_bird). 0: (wt=0) 70 [binary,69.1,64.1] (000) $F.
<clause> : <number>"." <clause body> <auxilliary info> "["<background list>"]" % nonempty clause : <number>'. #' <auxilliary info> '['<background list>']' % empty clause <clause body> : <literals> % all literals are selected : <literals>1 | <literals>2 % <literals>1 are selected % <literals>2 are nonselected <background list> : <flags><ancestors> <ancestors> : % empty (must be an input clause) : <number> ("," <number>)* <flags> : (<flag> )+ <flag> : "in" % input clause : "pp" % clause obtained by preprocessing : "br" % generated by binary resolution : "hr" % generated by hyperresolution : "fs" % generated by forward superposition : "bs" % generated by backward superposition : "er" % generated by equality resolution : "ef" % generated by equality factoring : "fd" % simplified by forward demodulation : "bd" % simplified by backward demodulation : "ers" % simplified by equality resolution : "fsr" % simplified by forward subsumption resolution : "sp" % splitting was used : "rea" % "reanimated" passive clause (selected in Discount algorithm) : "nm" % the clause is a part of a name introduction in % splitting, or obtained by preprocessing from such % a clause : "ns" % negative selection was used (does not mean that % all the selected literals are negative) <literals> : <literal> [" \/ " <literals>] <literal> : <standard literal> : <equational literal> : <splitting literal> <standard literal> : ["~"]<atom> % "~" is for negation <atom> : <predicate symbol> % propositional variable : <predicate symbol><arguments> <equational literal> : <term> = <term> % unoriented positive equality : <term> != <term> % unoriented negative equality : <term> == <term> % oriented positive equality : <term> !== <term> % oriented negative equality <splitting literal> : "["<predicate symbol>"]" <term> : <variable> : <constant> : <function symbol><arguments> <variable> : "X"<number> <arguments> : "("<term> (","<term>)* ")"
vproof(<JobId>,[<clause body> <clause number> <ancestors> <flags>]).<JobId> is an atom, uniquely identifying the job that produced the proof. <ancestors> is a list of ancestor numbers. <flags> is a list of flags, every flag is an atom. <clause body> is a list of literals.
<literal> : "++"<atom> % unselected positive literal : "+++"<atom> % selected positive literal : "--"<atom> % unselected negative literal : "---"<atom> % selected negative literal <atom> : <term> : "("<term>" = "<term>")" % unoriented equality : "("<term>" => "<term>")" % oriented equality <term> : <function symbol>["("<term>(","<term>)*")"] : <variable><function symbol> is a Prolog alphanumeric identifier. <variable> is a quoted Prolog atom "'X"
%======================== Proof: ========================= % 1. member(z,z) /3/3/0/ 0pe [in ] % 2. member(z,diagonalise(element_relation)) /4/4/0/ 0pe [in ] % 120. X0=null_class \/ intersection(X0,regular(X0))=null_class /9/9/0/ 2pe [in ] % 121. X0=null_class \/ member(regular(X0),X0) /7/7/0/ 1pe [in ] % 144. union(X0,singleton(X0))=successor(X0) /7/7/0/ 1pe [in ] % 161. complement(intersection(complement(X0),complement(X1)))=union(X0,X1) /10/10/0/ 1pe [in ] % 162. member(X0,complement(X1)) \/ ~member(X0,universal_class) \/ member(X0,X1) /10/10/0/ 0pe [in ] % 163. ~member(X0,complement(X1)) \/ ~member(X0,X1) /7/7/0/ 0pe [in ] % 164. ~member(X0,X2) \/ ~member(X0,X1) \/ member(X0,intersection(X1,X2)) /11/11/0/ 0pe [in ] % 165. ~member(X0,intersection(X1,X2)) \/ member(X0,X2) /8/8/0/ 0pe [in ] % 166. ~member(X0,intersection(X1,X2)) \/ member(X0,X1) /8/8/0/ 0pe [in ] % 175. unordered_pair(X0,X0)=singleton(X0) /6/6/0/ 1pe [in ] % 178. ~member(X0,universal_class) \/ member(X0,unordered_pair(X0,X1)) /8/8/0/ 0pe [in ] % 179. X0=X1 \/ ~member(X0,unordered_pair(X1,X2)) \/ X0=X2 /11/11/0/ 2pe [in ] % 183. subclass(X0,universal_class) /3/3/0/ 0pe [in ] % 186. ~member(X2,X0) \/ ~subclass(X0,X1) \/ member(X2,X1) /9/9/0/ 0pe [in ] % 190. member(z,z) /3/3/0/ 0pe [pp 1] % 191. member(z,diagonalise(element_relation)) /4/4/0/ 0pe [pp 2] % 237. intersection(X0,regular(X0))==null_class | X0=null_class /9/9/5/ 2pe [pp 120] % 238. member(regular(X0),X0) | X0=null_class /7/7/3/ 1pe [pp 121] % 261. union(X0,singleton(X0))==successor(X0) /7/7/3/ 1pe [pp 144] % 278. complement(intersection(complement(X0),complement(X1)))==union(X0,X1) /10/10/4/ 1pe [pp 161]% 279. ~member(X0,universal_class) | member(X0,complement(X1)) \/ member(X0,X1) /10/10/7/ 0pe [pp 162] % 280. ~member(X0,complement(X1)) | ~member(X0,X1) /7/7/3/ 0pe [pp 163] % 281. ~member(X0,X1) | ~member(X0,X2) \/ member(X0,intersection(X1,X2)) /11/11/8/ 0pe [pp ns 164] % 282. ~member(X0,intersection(X1,X2)) | member(X0,X2) /8/8/3/ 0pe [pp 165] % 283. ~member(X0,intersection(X1,X2)) | member(X0,X1) /8/8/3/ 0pe [pp 166] % 292. unordered_pair(X0,X0)==singleton(X0) /6/6/3/ 1pe [pp 175] % 295. ~member(X0,universal_class) | member(X0,unordered_pair(X0,X1)) /8/8/5/ 0pe [pp 178] % 296. ~member(X0,unordered_pair(X1,X2)) | X0=X1 \/ X0=X2 /11/11/6/ 2pe [pp 179] % 299. subclass(X0,universal_class) /3/3/0/ 0pe [pp 183] % 302. ~subclass(X0,X1) | ~member(X2,X0) \/ member(X2,X1) /9/9/6/ 0pe [pp 186] % 303. member(z,z) /3/3/0/ 0pe [pp 190] % 304. member(z,diagonalise(element_relation)) /4/4/0/ 0pe [pp 191] % 350. intersection(X0,regular(X0))==null_class | X0=null_class /9/9/5/ 2pe [pp 237] % 351. member(regular(X0),X0) | X0=null_class /7/7/3/ 1pe [pp 238] % 374. union(X0,singleton(X0))==successor(X0) /7/7/3/ 1pe [pp 261] % 391. complement(intersection(complement(X0),complement(X1)))==union(X0,X1) /10/10/4/ 1pe [pp 278]% 392. ~member(X0,universal_class) | member(X0,complement(X1)) \/ member(X0,X1) /10/10/7/ 0pe [pp 279] % 393. ~member(X0,complement(X1)) | ~member(X0,X1) /7/7/3/ 0pe [pp 280] % 394. ~member(X0,X1) | ~member(X0,X2) \/ member(X0,intersection(X2,X1)) /11/11/8/ 0pe [pp ns 281] % 395. ~member(X0,intersection(X1,X2)) | member(X0,X2) /8/8/3/ 0pe [pp 282] % 396. ~member(X0,intersection(X1,X2)) | member(X0,X1) /8/8/3/ 0pe [pp 283] % 405. unordered_pair(X0,X0)==singleton(X0) /6/6/3/ 1pe [pp 292] % 408. ~member(X0,universal_class) | member(X0,unordered_pair(X0,X1)) /8/8/5/ 0pe [pp 295] % 409. ~member(X0,unordered_pair(X1,X2)) | X0=X1 \/ X0=X2 /11/11/6/ 2pe [pp 296] % 412. subclass(X0,universal_class) /3/3/0/ 0pe [pp 299] % 415. ~subclass(X0,X1) | ~member(X2,X0) \/ member(X2,X1) /9/9/6/ 0pe [pp 302] % 424. member(z,z) /3/3/0/ 0pe [pp 303] % 425. member(z,diagonalise(element_relation)) /4/4/0/ 0pe [pp 304] % 457. intersection(X0,regular(X0))==null_class | X0=null_class /9/9/5/ 2pe [pp 350] % 458. member(regular(X0),X0) | X0=null_class /7/7/3/ 1pe [pp 351] % 474. union(X0,singleton(X0))==successor(X0) /7/7/3/ 1pe [pp 374] % 491. complement(intersection(complement(X0),complement(X1)))==union(X0,X1) /10/10/4/ 1pe [pp 391]% 492. ~member(X0,universal_class) | member(X0,complement(X1)) \/ member(X0,X1) /10/10/7/ 0pe [pp 392] % 493. ~member(X0,complement(X1)) | ~member(X0,X1) /7/7/3/ 0pe [pp 393] % 494. ~member(X0,X1) | ~member(X0,X2) \/ member(X0,intersection(X1,X2)) /11/11/8/ 0pe [pp ns 394] % 495. ~member(X0,intersection(X1,X2)) | member(X0,X2) /8/8/3/ 0pe [pp 395] % 496. ~member(X0,intersection(X1,X2)) | member(X0,X1) /8/8/3/ 0pe [pp 396] % 505. unordered_pair(X0,X0)==singleton(X0) /6/6/3/ 1pe [pp 405] % 508. ~member(X0,universal_class) | member(X0,unordered_pair(X0,X1)) /8/8/5/ 0pe [pp 408] % 509. ~member(X0,unordered_pair(X1,X2)) | X0=X1 \/ X0=X2 /11/11/6/ 2pe [pp 409] % 512. subclass(X0,universal_class) /3/3/0/ 0pe [pp 412] % 515. ~subclass(X0,X1) | ~member(X2,X0) \/ member(X2,X1) /9/9/6/ 0pe [pp 415] % 526. member(z,z) /3/3/0/ 0pe [pp 424] % 527. member(z,diagonalise(element_relation)) /4/4/0/ 0pe [pp 425] % 556. intersection(X0,regular(X0))==null_class | X0=null_class /9/9/5/ 2pe [pp 457] % 557. member(regular(X0),X0) | X0=null_class /7/7/3/ 1pe [pp 458] % 573. union(X0,singleton(X0))==successor(X0) /7/7/3/ 1pe [pp 474] % 590. complement(intersection(complement(X0),complement(X1)))==union(X0,X1) /10/10/4/ 1pe [pp 491]% 591. ~member(X0,universal_class) | member(X0,complement(X1)) \/ member(X0,X1) /10/10/7/ 0pe [pp 492] % 592. ~member(X0,complement(X1)) | ~member(X0,X1) /7/7/3/ 0pe [pp 493] % 593. ~member(X0,X1) | ~member(X0,X2) \/ member(X0,intersection(X2,X1)) /11/11/8/ 0pe [pp ns 494] % 594. ~member(X0,intersection(X1,X2)) | member(X0,X2) /8/8/3/ 0pe [pp 495] % 595. ~member(X0,intersection(X1,X2)) | member(X0,X1) /8/8/3/ 0pe [pp 496] % 604. unordered_pair(X0,X0)==singleton(X0) /6/6/3/ 1pe [pp 505] % 607. ~member(X0,universal_class) | member(X0,unordered_pair(X0,X1)) /8/8/5/ 0pe [pp 508] % 608. ~member(X0,unordered_pair(X1,X2)) | X0=X1 \/ X0=X2 /11/11/6/ 2pe [pp 509] % 611. subclass(X0,universal_class) /3/3/0/ 0pe [pp 512] % 614. ~subclass(X0,X1) | ~member(X2,X0) \/ member(X2,X1) /9/9/6/ 0pe [pp 515] % * 620. member(z,z) /3/3/0/ 0pe vip [pp 526] % * 621. member(z,diagonalise(element_relation)) /4/4/0/ 0pe vip [pp 527] % * 650. intersection(X0,regular(X0))==null_class | X0=null_class /9/9/5/ 2pe vip [pp 556] % * 651. member(regular(X0),X0) | X0=null_class /7/7/3/ 1pe vip [pp 557] % * 667. union(X0,singleton(X0))==successor(X0) /7/7/3/ 1pe [pp 573] % * 685. complement(intersection(complement(X0),complement(X1)))==union(X0,X1) /10/10/4/ 1pe [pp 590] % * 687. ~member(X0,universal_class) | member(X0,complement(X1)) \/ member(X0,X1) /10/10/7/ 0pe [pp 591] % * 688. ~member(X0,complement(X1)) | ~member(X0,X1) /7/7/3/ 0pe vip [pp 592] % * 689. ~member(X0,X1) | ~member(X0,X2) \/ member(X0,intersection(X1,X2)) /11/11/8/ 0pe [pp ns 593] % * 690. ~member(X0,intersection(X1,X2)) | member(X0,X2) /8/8/3/ 0pe vip [pp 594] % * 691. ~member(X0,intersection(X1,X2)) | member(X0,X1) /8/8/3/ 0pe vip [pp 595] % * 700. unordered_pair(X0,X0)==singleton(X0) /6/6/3/ 1pe [pp 604] % * 703. ~member(X0,universal_class) | member(X0,unordered_pair(X0,X1)) /8/8/5/ 0pe [pp 607] % * 704. ~member(X0,unordered_pair(X1,X2)) | X0=X1 \/ X0=X2 /11/11/6/ 2pe [pp 608] % * 707. subclass(X0,universal_class) /3/3/0/ 0pe vip [pp 611] % * 710. ~subclass(X0,X1) | ~member(X2,X0) \/ member(X2,X1) /9/9/6/ 0pe [pp 614] % * 753. ~member(regular(complement(X0)),X0) | complement(X0)==null_class /9/9/4/ 1pe [br 651,688] % * 757. ~member(z,X0) | member(z,intersection(z,X0)) /8/8/5/ 0pe [br 620,689] % * 758. ~member(z,X0) | member(z,intersection(diagonalise(element_relation),X0)) /9/9/6/ 0pe [br 621,689] % * 761. member(regular(intersection(X0,X1)),X1) | intersection(X0,X1)==null_class /11/11/5/ 1pe [br 651,690] % * 768. member(regular(intersection(X0,X1)),X0) | intersection(X0,X1)==null_class /11/11/5/ 1pe [br 651,691] % * 798. ~member(X0,singleton(X1)) | X0=X1 /7/7/3/ 1pe vip [fs 700,704] % * 822. ~member(X0,X1) | member(X0,universal_class) /6/6/3/ 0pe [br 707,710] % * 999. member(z,universal_class) /3/3/0/ 0pe vip [br 620,822] % * 1000. member(regular(X0),universal_class) | X0=null_class /7/7/3/ 1pe vip [br 651,822] % * 1005. member(z,unordered_pair(z,X0)) /5/5/0/ 0pe vip [br 703,999] % * 1007. member(z,complement(X0)) | member(z,X0) /7/7/3/ 0pe vip [br 687,999] % * 1083. member(z,singleton(z)) /4/4/0/ 0pe vip [fs 700,1005] % * 1085. ~member(z,X0) | member(z,intersection(singleton(z),X0)) /9/9/6/ 0pe [br 689,1083] % * 1568. regular(singleton(X0))==X0 | singleton(X0)==null_class /9/9/6/ 2pe vip [br 651,798] % * 1669. member(z,intersection(complement(X0),complement(X1))) | member(z,union(X0,X1)) /12/12/5/ 0pe [fs 685,1007] % * 2598. complement(universal_class)==null_class /4/4/2/ 1pe vip [br 1000,753] % * 2619. ~member(X0,null_class) /3/3/0/ 0pe vip [bs fsr 822,688,2598] % * 2730. member(z,intersection(diagonalise(element_relation),singleton(z))) /7/7/0/ 0pe vip [br 1083,758] % * 2771. ~member(z,X0) | member(z,intersection(intersection(diagonalise(element_relation),singleton(z)),X0)) /12/12/9/ 0pe [br 689,2730] % * 2824. intersection(X0,null_class)==null_class /5/5/2/ 1pe vip [br 2619,761] % * 2971. intersection(null_class,X0)==null_class /5/5/2/ 1pe vip [br 2619,768] % * 20420. member(z,intersection(singleton(z),z)) /6/6/0/ 0pe vip [br 620,1085] % * 23048. intersection(singleton(X0),X0)==null_class | singleton(X0)==null_class /10/10/6/ 2pe [bs 650,1568] % * 110195. member(z,union(X0,X1)) | member(z,complement(X0)) /9/9/4/ 0pe [br 691,1669] % * 110426. member(z,complement(X0)) | member(z,successor(X0)) /8/8/4/ 0pe [fs 667,110195] % * 110427. ~member(z,X0) | member(z,successor(X0)) /7/7/4/ 0pe [br 688,110426] % * 110491. member(z,successor(z)) /4/4/0/ 0pe vip [br 620,110427] % * 110884. ~member(z,X0) | member(z,intersection(successor(z),X0)) /9/9/6/ 0pe [br 689,110491] % * 120575. member(z,intersection(successor(z),intersection(singleton(z),z))) /9/9/0/ 0pe [br 20420,110884] % * 144335. member(z,intersection(intersection(diagonalise(element_relation),singleton(z)),universal_class)) /9/9/0/ 0pe vip [br 999,2771] % 144354. member(z,intersection(z,intersection(intersection(diagonalise(element_relation),singleton(z)),universal_class))) /11/11/0/ 0pe [br 757,144335] % 144460. singleton(z)==null_class /4/4/2/ 1pe vip [bs fd fsr 2619,2824,120575,23048] % 144462. # /1/0/0/ 0pe vip [fd bd fsr 2619,2824,2971,2824,144354,144460] %================== End of proof. ========================
vproof('9520011456592226',[[+++member(z,z)],1,[],[in]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],2,[],[in]]). vproof('9520011456592226',[[+++('X0' = null_class),+++(intersection('X0',regular('X0')) = null_class)],120,[],[in]]). vproof('9520011456592226',[[+++('X0' = null_class),+++member(regular('X0'),'X0')],121,[],[in]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) = successor('X0'))],144,[],[in]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) = union('X0','X1'))],161,[],[in]]). vproof('9520011456592226',[[+++member('X0',complement('X1')),---member('X0',universal_class),+++member('X0','X1')],162,[],[in]]). vproof('9520011456592226',[[---member('X0',complement('X1')),---member('X0','X1')],163,[],[in]]). vproof('9520011456592226',[[---member('X0','X2'),---member('X0','X1'),+++member('X0',intersection('X1','X2'))],164,[],[in]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),+++member('X0','X2')],165,[],[in]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),+++member('X0','X1')],166,[],[in]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') = singleton('X0'))],175,[],[in]]). vproof('9520011456592226',[[---member('X0',universal_class),+++member('X0',unordered_pair('X0','X1'))],178,[],[in]]). vproof('9520011456592226',[[+++('X0' = 'X1'),---member('X0',unordered_pair('X1','X2')),+++('X0' = 'X2')],179,[],[in]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],183,[],[in]]). vproof('9520011456592226',[[---member('X2','X0'),---subclass('X0','X1'),+++member('X2','X1')],186,[],[in]]). vproof('9520011456592226',[[+++member(z,z)],190,[1],[pp]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],191,[2],[pp]]). vproof('9520011456592226',[[+++(intersection('X0',regular('X0')) => null_class),++('X0' = null_class)],237,[120],[pp]]). vproof('9520011456592226',[[+++member(regular('X0'),'X0'),++('X0' = null_class)],238,[121],[pp]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) => successor('X0'))],261,[144],[pp]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) => union('X0','X1'))],278,[161],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',complement('X1')),++member('X0','X1')],279,[162],[pp]]). vproof('9520011456592226',[[---member('X0',complement('X1')),--member('X0','X1')],280,[163],[pp]]). vproof('9520011456592226',[[---member('X0','X1'),--member('X0','X2'),++member('X0',intersection('X1','X2'))],281,[164],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X2')],282,[165],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X1')],283,[166],[pp]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') => singleton('X0'))],292,[175],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',unordered_pair('X0','X1'))],295,[178],[pp]]). vproof('9520011456592226',[[---member('X0',unordered_pair('X1','X2')),++('X0' = 'X1'),++('X0' = 'X2')],296,[179],[pp]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],299,[183],[pp]]). vproof('9520011456592226',[[---subclass('X0','X1'),--member('X2','X0'),++member('X2','X1')],302,[186],[pp]]). vproof('9520011456592226',[[+++member(z,z)],303,[190],[pp]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],304,[191],[pp]]). vproof('9520011456592226',[[+++(intersection('X0',regular('X0')) => null_class),++('X0' = null_class)],350,[237],[pp]]). vproof('9520011456592226',[[+++member(regular('X0'),'X0'),++('X0' = null_class)],351,[238],[pp]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) => successor('X0'))],374,[261],[pp]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) => union('X0','X1'))],391,[278],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',complement('X1')),++member('X0','X1')],392,[279],[pp]]). vproof('9520011456592226',[[---member('X0',complement('X1')),--member('X0','X1')],393,[280],[pp]]). vproof('9520011456592226',[[---member('X0','X1'),--member('X0','X2'),++member('X0',intersection('X2','X1'))],394,[281],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X2')],395,[282],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X1')],396,[283],[pp]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') => singleton('X0'))],405,[292],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',unordered_pair('X0','X1'))],408,[295],[pp]]). vproof('9520011456592226',[[---member('X0',unordered_pair('X1','X2')),++('X0' = 'X1'),++('X0' = 'X2')],409,[296],[pp]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],412,[299],[pp]]). vproof('9520011456592226',[[---subclass('X0','X1'),--member('X2','X0'),++member('X2','X1')],415,[302],[pp]]). vproof('9520011456592226',[[+++member(z,z)],424,[303],[pp]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],425,[304],[pp]]). vproof('9520011456592226',[[+++(intersection('X0',regular('X0')) => null_class),++('X0' = null_class)],457,[350],[pp]]). vproof('9520011456592226',[[+++member(regular('X0'),'X0'),++('X0' = null_class)],458,[351],[pp]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) => successor('X0'))],474,[374],[pp]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) => union('X0','X1'))],491,[391],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',complement('X1')),++member('X0','X1')],492,[392],[pp]]). vproof('9520011456592226',[[---member('X0',complement('X1')),--member('X0','X1')],493,[393],[pp]]). vproof('9520011456592226',[[---member('X0','X1'),--member('X0','X2'),++member('X0',intersection('X1','X2'))],494,[394],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X2')],495,[395],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X1')],496,[396],[pp]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') => singleton('X0'))],505,[405],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',unordered_pair('X0','X1'))],508,[408],[pp]]). vproof('9520011456592226',[[---member('X0',unordered_pair('X1','X2')),++('X0' = 'X1'),++('X0' = 'X2')],509,[409],[pp]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],512,[412],[pp]]). vproof('9520011456592226',[[---subclass('X0','X1'),--member('X2','X0'),++member('X2','X1')],515,[415],[pp]]). vproof('9520011456592226',[[+++member(z,z)],526,[424],[pp]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],527,[425],[pp]]). vproof('9520011456592226',[[+++(intersection('X0',regular('X0')) => null_class),++('X0' = null_class)],556,[457],[pp]]). vproof('9520011456592226',[[+++member(regular('X0'),'X0'),++('X0' = null_class)],557,[458],[pp]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) => successor('X0'))],573,[474],[pp]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) => union('X0','X1'))],590,[491],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',complement('X1')),++member('X0','X1')],591,[492],[pp]]). vproof('9520011456592226',[[---member('X0',complement('X1')),--member('X0','X1')],592,[493],[pp]]). vproof('9520011456592226',[[---member('X0','X1'),--member('X0','X2'),++member('X0',intersection('X2','X1'))],593,[494],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X2')],594,[495],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X1')],595,[496],[pp]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') => singleton('X0'))],604,[505],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',unordered_pair('X0','X1'))],607,[508],[pp]]). vproof('9520011456592226',[[---member('X0',unordered_pair('X1','X2')),++('X0' = 'X1'),++('X0' = 'X2')],608,[509],[pp]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],611,[512],[pp]]). vproof('9520011456592226',[[---subclass('X0','X1'),--member('X2','X0'),++member('X2','X1')],614,[515],[pp]]). vproof('9520011456592226',[[+++member(z,z)],620,[526],[pp]]). vproof('9520011456592226',[[+++member(z,diagonalise(element_relation))],621,[527],[pp]]). vproof('9520011456592226',[[+++(intersection('X0',regular('X0')) => null_class),++('X0' = null_class)],650,[556],[pp]]). vproof('9520011456592226',[[+++member(regular('X0'),'X0'),++('X0' = null_class)],651,[557],[pp]]). vproof('9520011456592226',[[+++(union('X0',singleton('X0')) => successor('X0'))],667,[573],[pp]]). vproof('9520011456592226',[[+++(complement(intersection(complement('X0'),complement('X1'))) => union('X0','X1'))],685,[590],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',complement('X1')),++member('X0','X1')],687,[591],[pp]]). vproof('9520011456592226',[[---member('X0',complement('X1')),--member('X0','X1')],688,[592],[pp]]). vproof('9520011456592226',[[---member('X0','X1'),--member('X0','X2'),++member('X0',intersection('X1','X2'))],689,[593],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X2')],690,[594],[pp]]). vproof('9520011456592226',[[---member('X0',intersection('X1','X2')),++member('X0','X1')],691,[595],[pp]]). vproof('9520011456592226',[[+++(unordered_pair('X0','X0') => singleton('X0'))],700,[604],[pp]]). vproof('9520011456592226',[[---member('X0',universal_class),++member('X0',unordered_pair('X0','X1'))],703,[607],[pp]]). vproof('9520011456592226',[[---member('X0',unordered_pair('X1','X2')),++('X0' = 'X1'),++('X0' = 'X2')],704,[608],[pp]]). vproof('9520011456592226',[[+++subclass('X0',universal_class)],707,[611],[pp]]). vproof('9520011456592226',[[---subclass('X0','X1'),--member('X2','X0'),++member('X2','X1')],710,[614],[pp]]). vproof('9520011456592226',[[---member(regular(complement('X0')),'X0'),++(complement('X0') => null_class)],753,[651,688],[br]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,intersection(z,'X0'))],757,[620,689],[br]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,intersection(diagonalise(element_relation),'X0'))],758,[621,689],[br]]). vproof('9520011456592226',[[+++member(regular(intersection('X0','X1')),'X1'),++(intersection('X0','X1') => null_class)],761,[651,690],[br]]). vproof('9520011456592226',[[+++member(regular(intersection('X0','X1')),'X0'),++(intersection('X0','X1') => null_class)],768,[651,691],[br]]). vproof('9520011456592226',[[---member('X0',singleton('X1')),++('X0' = 'X1')],798,[700,704],[fs]]). vproof('9520011456592226',[[---member('X0','X1'),++member('X0',universal_class)],822,[707,710],[br]]). vproof('9520011456592226',[[+++member(z,universal_class)],999,[620,822],[br]]). vproof('9520011456592226',[[+++member(regular('X0'),universal_class),++('X0' = null_class)],1000,[651,822],[br]]). vproof('9520011456592226',[[+++member(z,unordered_pair(z,'X0'))],1005,[703,999],[br]]). vproof('9520011456592226',[[+++member(z,complement('X0')),++member(z,'X0')],1007,[687,999],[br]]). vproof('9520011456592226',[[+++member(z,singleton(z))],1083,[700,1005],[fs]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,intersection(singleton(z),'X0'))],1085,[689,1083],[br]]). vproof('9520011456592226',[[+++(regular(singleton('X0')) => 'X0'),++(singleton('X0') => null_class)],1568,[651,798],[br]]). vproof('9520011456592226',[[+++member(z,intersection(complement('X0'),complement('X1'))),++member(z,union('X0','X1'))],1669,[685,1007],[fs]]). vproof('9520011456592226',[[+++(complement(universal_class) => null_class)],2598,[1000,753],[br]]). vproof('9520011456592226',[[---member('X0',null_class)],2619,[822,688,2598],[bs,fsr]]). vproof('9520011456592226',[[+++member(z,intersection(diagonalise(element_relation),singleton(z)))],2730,[1083,758],[br]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,intersection(intersection(diagonalise(element_relation),singleton(z)),'X0'))],2771,[689,2730],[br]]). vproof('9520011456592226',[[+++(intersection('X0',null_class) => null_class)],2824,[2619,761],[br]]). vproof('9520011456592226',[[+++(intersection(null_class,'X0') => null_class)],2971,[2619,768],[br]]). vproof('9520011456592226',[[+++member(z,intersection(singleton(z),z))],20420,[620,1085],[br]]). vproof('9520011456592226',[[+++(intersection(singleton('X0'),'X0') => null_class),++(singleton('X0') => null_class)],23048,[650,1568],[bs]]). vproof('9520011456592226',[[+++member(z,union('X0','X1')),++member(z,complement('X0'))],107744,[691,1669],[br]]). vproof('9520011456592226',[[+++member(z,complement('X0')),++member(z,successor('X0'))],108260,[667,107744],[fs]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,successor('X0'))],108261,[688,108260],[br]]). vproof('9520011456592226',[[+++member(z,successor(z))],108325,[620,108261],[br]]). vproof('9520011456592226',[[---member(z,'X0'),++member(z,intersection(successor(z),'X0'))],108718,[689,108325],[br]]). vproof('9520011456592226',[[+++member(z,intersection(successor(z),intersection(singleton(z),z)))],118516,[20420,108718],[br]]). vproof('9520011456592226',[[+++member(z,intersection(intersection(diagonalise(element_relation),singleton(z)),universal_class))],142519,[999,2771],[br]]). vproof('9520011456592226',[[+++member(z,intersection(z,intersection(intersection(diagonalise(element_relation),singleton(z)),universal_class)))],142538,[757,142519],[br]]). vproof('9520011456592226',[[+++(singleton(z) => null_class)],142584,[2619,2824,118516,23048],[bs,fd,fsr]]). vproof('9520011456592226',[[],142585,[2619,2824,2971,2824,142538,142584],[fd,bd,fsr]]).