@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix daml: <http://www.daml.org/2000/10/daml-ont#>.
@prefix nph:  <http://www.w3.org/2001/04/18/noun-phrase-names#>.
@prefix set:  <http://www.w3.org/2001/04/18/set#>.
@prefix tmpl: <http://www.w3.org/2001/04/18/template#>.
@prefix rule: <http://www.w3.org/2001/04/18/rule#>.
@prefix horn: <http://www.w3.org/2001/04/19/horn#>.
@prefix :     <>.


:s1 horn:subject :ss1.
:s1 horn:predicate :sp1.
:s1 horn:object :so1.
:ss1 horn:nameAsConstant :a.
:sp1 horn:nameAsVariable :b.
:so1 horn:listAsFunction ( :f1 :sp1 ).
:f1 horn:nameAsConstant :func.

:s2 horn:subject :ss2.
:s2 horn:predicate :sp2.
:s2 horn:object :so2.
:ss2 horn:nameAsConstant :d.
:sp2 horn:nameAsConstant :e.
:so2 horn:nameAsConstant :f.

:p1 set:enumeration ( :s1 ).

:r1 a horn:Clause;
    horn:premise :p1;
    horn:conclusion :s2.


:r2 horn:conclusion 
      [ 
           horn:subject   [ horn:nameAsConstant :a ];
	   horn:predicate [ horn:nameAsConstant nph:b ];
	   horn:object    [ horn:nameAsVariable :x ]
      ];
    horn:premise 
      [ set:enumeration (
         [ 
           horn:subject   [ horn:nameAsVariable :x ];
	   horn:predicate [ horn:nameAsConstant nph:b ];
	   horn:object    [ horn:nameAsConstant :c ]
         ]
      ) ].

