TPTP Problem File: PUZ031_10.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : PUZ031_10 : TPTP v9.0.0. Released v8.2.0.
% Domain : Puzzles
% Problem : Schubert's Steamroller
% Version : PUZ031_1 with the conjecture removed
% English : Wolves, foxes, birds, caterpillars, and snails are animals, and
% there are some of each of them. Also there are some grains, and
% grains are plants. Every animal either likes to eat all plants
% or all animals much smaller than itself that like to eat some
% plants. Caterpillars and snails are much smaller than birds,
% which are much smaller than foxes, which in turn are much
% smaller than wolves. Wolves do not like to eat foxes or grains,
% while birds like to eat caterpillars but not snails.
% Caterpillars and snails like to eat some plants. Therefore
% there is an animal that likes to eat a grain eating animal.
% Refs : [Pel86] Pelletier (1986), Seventy-five Problems for Testing Au
% Source : [TPTP]
% Names :
% Status : Satisfiable
% Rating : 0.00 v8.2.0
% Syntax : Number of formulae : 30 ( 10 unt; 19 typ; 0 def)
% Number of atoms : 14 ( 0 equ)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 6 ( 3 ~; 1 |; 1 &)
% ( 0 <=>; 1 =>; 0 <=; 0 <~>)
% Maximal formula depth : 7 ( 4 avg)
% Maximal term depth : 3 ( 2 avg)
% Number of types : 10 ( 9 usr)
% Number of type conns : 12 ( 10 >; 2 *; 0 +; 0 <<)
% Number of predicates : 2 ( 2 usr; 0 prp; 2-2 aty)
% Number of functors : 8 ( 8 usr; 0 con; 1-1 aty)
% Number of variables : 24 ( 21 !; 3 ?; 24 :)
% SPC : TF0_SAT_NEQ_NAR
% Comments :
%------------------------------------------------------------------------------
tff(animal_type,type,
animal: $tType ).
tff(wolf_type,type,
wolf: $tType ).
tff(wolf_is_animal,type,
wolf_to_animal: wolf > animal ).
tff(fox_type,type,
fox: $tType ).
tff(fox_is_animal,type,
fox_to_animal: fox > animal ).
tff(bird_type,type,
bird: $tType ).
tff(bird_is_animal,type,
bird_to_animal: bird > animal ).
tff(caterpillar_type,type,
caterpillar: $tType ).
tff(caterpillar_is_animal,type,
caterpillar_to_animal: caterpillar > animal ).
tff(snail_type,type,
snail: $tType ).
tff(snail_is_animal,type,
snail_to_animal: snail > animal ).
tff(plant_type,type,
plant: $tType ).
tff(grain_type,type,
grain: $tType ).
tff(grain_is_plant,type,
grain_to_plant: grain > plant ).
tff(edible_type,type,
edible: $tType ).
tff(animal_is_edible,type,
animal_to_edible: animal > edible ).
tff(plant_is_edible,type,
plant_to_edible: plant > edible ).
tff(eats_type,type,
eats: ( animal * edible ) > $o ).
tff(much_smaller_type,type,
much_smaller: ( animal * animal ) > $o ).
tff(pel47_7,axiom,
! [X: animal] :
( ! [Y: plant] : eats(X,plant_to_edible(Y))
| ! [Y1: animal] :
( ( much_smaller(Y1,X)
& ? [Z: plant] : eats(Y1,plant_to_edible(Z)) )
=> eats(X,animal_to_edible(Y1)) ) ) ).
tff(pel47_8,axiom,
! [X: snail,Y: bird] : much_smaller(snail_to_animal(X),bird_to_animal(Y)) ).
tff(pel47_8a,axiom,
! [X: caterpillar,Y: bird] : much_smaller(caterpillar_to_animal(X),bird_to_animal(Y)) ).
tff(pel47_9,axiom,
! [X: bird,Y: fox] : much_smaller(bird_to_animal(X),fox_to_animal(Y)) ).
tff(pel47_10,axiom,
! [X: fox,Y: wolf] : much_smaller(fox_to_animal(X),wolf_to_animal(Y)) ).
tff(pel47_11,axiom,
! [X: wolf,Y: fox] : ~ eats(wolf_to_animal(X),animal_to_edible(fox_to_animal(Y))) ).
tff(pel47_11a,axiom,
! [X: wolf,Y: grain] : ~ eats(wolf_to_animal(X),plant_to_edible(grain_to_plant(Y))) ).
tff(pel47_12,axiom,
! [X: bird,Y: caterpillar] : eats(bird_to_animal(X),animal_to_edible(caterpillar_to_animal(Y))) ).
tff(pel47_13,axiom,
! [X: bird,Y: snail] : ~ eats(bird_to_animal(X),animal_to_edible(snail_to_animal(Y))) ).
tff(pel47_14,axiom,
! [X: caterpillar] :
? [Y: plant] : eats(caterpillar_to_animal(X),plant_to_edible(Y)) ).
tff(pel47_14a,axiom,
! [X: snail] :
? [Y: plant] : eats(snail_to_animal(X),plant_to_edible(Y)) ).
% tff(pel47,conjecture,
% ? [X: animal,Y: animal,Z: grain] :
% ( eats(Y,plant_to_edible(grain_to_plant(Z)))
% & eats(X,animal_to_edible(Y)) ) ).
%------------------------------------------------------------------------------