%------------------------------------------------------------------------------ tff(person_type,type, person: $tType ). tff(bob_decl,type, bob: person ). tff(child_of_decl,type, child_of: person > person ). tff(is_descendant_decl,type, is_descendant: (person * person) > $o ). tff(descendents_different,axiom, ! [A: person,D: person] : ( is_descendant(A,D) => ( A != D ) ) ). tff(descendent_transitive,axiom, ! [A: person,C: person,G: person] : ( ( is_descendant(A,C) & is_descendant(C,G) ) => is_descendant(A,G) ) ). tff(child_is_descendant,axiom, ! [P: person] : is_descendant(P,child_of(P)) ). tff(all_have_child,axiom, ! [P: person] : ? [C: person] : C = child_of(P) ). %------------------------------------------------------------------------------