This reminds me of Aristotelian logic and those circle diagrams. "All mammals have hair." "All mammals give birth live." "Some fish give birth live." "Do some fish have hair?" and be able to solve that.
I believe the backtracking issue has to do with finding out the answer to the question (ref:Above) What objects have attribute 'hair'?
The example maps to the following facts
- All mammals -> have hair
- All mammals -> give birth live
- Some fish -> give birth live
.. and then tries to backtrack to determine if 'giving birth live' maps to 'All mammals' and from there to 'have hair'.
"Mud, mud, glorious mud. Nothing quite like it for cooling the blood!"
--Michael Flanders and Donald Swann