# Instantiating universally quantified statements
#
# Explicit quantifiers describe a general property and a mother
# relationship. N3 rules request concrete instances and expose how
# existential witnesses depend on the universally quantified subject.

@prefix : <http://example.org/> .

@forAll :x .
@forSome :y .
:x :p :o .
:x :hasMother :y .

{
    :s :p :o
} => {
    :universalInstance :holds true
} .

{
    :bob :hasMother ?mother
} => {
    :bob :mother ?mother
} .

{
    :liz :hasMother ?mother
} => {
    :liz :mother ?mother
} .

# The witnesses for Bob's and Liz's mothers may differ.
