dyn flies(X). default mammals_dont_fly(X): not flies(X) <- mammal(X). constraint not mammals_dont_fly(X) <- flies(X). default bats_fly(X): flies(X) <- bat(X). constraint not bats_fly(X) <- not flies(X). constraint not mammals_dont_fly(X) <- bat(X). default dead_things_dont_fly(X): not flies(X) <- dead(X). constraint not dead_things_dont_fly(X) <- flies(X). constraint not bats_fly(X) <- dead(X). fact mammal(X) <- bat(X). fact mammal(bruce). fact bat(paul). fact bat(dracula). fact dead(dracula).