Challenge 1: Fruit Color Facts and a Query — Possible Solution ==================================================================== SWI-Prolog session: ?- assertz(color(banana, yellow)). true. ?- assertz(color(apple, red)). true. ?- assertz(color(grape, purple)). true. ?- color(banana, X). X = yellow. (Alternatively, these three facts could be written directly into a .pl file and loaded with consult/1, rather than asserted interactively -- both approaches add the same facts to the database.) Explanation: Each color(Fruit, Color) fact states a genuinely true relationship between a specific fruit and its color, added to Prolog's own database. Querying color(banana, X) asks "for what X is color(banana, X) true?" -- Prolog searches the database, finds the one matching fact, and binds X to yellow, exactly the query behavior the chapter introduces. WHY THIS WORKS AS AN ANSWER ------------------------------ This adds three genuine facts matching the chapter's own parent/2 example shape, then queries one of them for a single unknown value, directly demonstrating the fact-then-query workflow.