# --------------
# Beetle example
# --------------
#
# See https://en.wikipedia.org/wiki/Disjunction_elimination

@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <urn:example:>.

# beetle is a car
:beetle a :Car.

# all cars are green or blue
(_:A) log:onNegativeSurface {
    _:A a :Car.
    () log:onNegativeSurface {
        _:A :is :green.
    }.
    () log:onNegativeSurface {
        _:A :is :blue.
    }.
}.

# green things are beautiful
(_:A) log:onNegativeSurface {
    _:A :is :green.
    () log:onNegativeSurface {
        _:A :is :beautiful.
    }.
}.

# blue things are beautiful
(_:A) log:onNegativeSurface {
    _:A :is :blue.
    () log:onNegativeSurface {
        _:A :is :beautiful.
    }.
}.

# query
() log:onNegativeSurface {
    :beetle :is :beautiful.
    () log:onNegativeAnswerSurface {
        :beetle :is :beautiful.
    }.
}.
