<div class="notebook"> <div class="nb-cell program" name="p1"> /* domains Type=symbol Object=symbol Property=symbol Value=symbol Parent=symbol predicates is_a(Type, Parent) has_prop(Object, Property, Value) has_property(Object, Property, Value) clauses */ is_a(dog,wolf). is_a(dingo,wolf). is_a(wolf,volki). is_a(coyote,volki). is_a(jackal,volki). is_a(volki,dogs). is_a(fox,dogs). is_a(arctic_fox,dogs). has_prop(dogs, travel, walk). has_prop(dogs, food_for_child, milk). has_prop(volki, size, medium). has_prop(volki, color, brown). has_prop(arctic_fox, color, white). has_prop(arctic_fox, size, small). has_prop(fox, color, orange). has_prop(fox, size, small). has_prop(wolf, color, grey). has_prop(wolf, size, large). has_prop(dog, color, brown). has_prop(dog, size, small). has_prop(dingo, color, orange). has_prop(dingo, size, medium). has_property(Object, Property, Value):- has_prop(Object, Property, Value). has_property(Object, Property, Value):- is_a(Object,Parent), has_property(Parent, Property, Value). /* goal has_property(X,size,large). */ </div> <div class="nb-cell query" name="q1"> has_property(X,size,large). </div> </div>