Creates a disjunctive reasoning branch that succeeds if either branch succeeds.
- Paths to be evaluated.
(:OR ((Color MyHouse Green) (Color NeighborsHouse Yellow))
((Color myHouse Yellow) (Color NeighborsHouse Green)))
Succeeds if any of the given paths succeed.
Fails if all of the given paths fail.
- Only one path succeeds, so only one binding set is returned. This means that
you can use the same variable names in both paths without fear of conflict.
Each path is run in an independent subroutine.
- Side effects from partially-executed paths will not be removed
from the KB if the path fails.
Algernon Documentation Central
Algernon home page