tff(person_type,type, person: $tType ). tff(dog_type,type, dog: $tType ). tff(jon_decl,type, jon: person ). tff(hercules_decl,type, hercules: dog ). tff(owner_of_decl,type, owner_of: dog > person ). tff(bit_decl,type, bit: ( dog * person * $int ) > $o ). tff(hates_decl,type, hates: ( person * person ) > $o ). tff(chases_decl,type, chases: ( person * dog ) > $o ). tff(jon_not_owner_of_hercules,axiom, owner_of(hercules) != jon ). tff(hercules_bit_jon_twice,axiom, bit(hercules,jon,2) ). tff(biters_not_owned,axiom, ! [D: dog,P: person,N: $int] : ( ( bit(D,P,N) & $greater(N,1) & ( owner_of(D) != P ) ) => hates(P,owner_of(D)) ) ). tff(bites_then_chases,axiom, ! [D: dog,P: person,N: $int] : ( ( bit(D,P,N) & $greater(N,0) ) => chases(P,D) ) ). tff(jon_chases_hates,conjecture, ? [D: dog,P: person] : ( chases(jon,D) & hates(jon,P) ) ).