#    Test filter in N3
#
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
@prefix : <#> .
@prefix rules: <#> .

# Full DanC challenge

this log:forAll <#p> .

{  <#p> a daml:TransitiveProperty . } :means
{
  { this log:forAll <#x> , <#y> , <#z>.
    { <#x> <#p> <#y>. <#y> <#p> <#z>. } log:implies { <#x> <#p> <#z>. }
  } a log:Truth.
} .



# Intoduce a symmetric implication for convienience

this log:forAll <#a>, <#b> .
{ <#a> :means <#b>. }  log:implies {	<#a> log:implies <#b> .
					<#b> log:implies <#a> . } .
  
{   <#a> log:implies <#b> .
    <#b> log:implies <#a> . }  log:implies  { <#a> :means <#b>. }  . 

# and in fact, though it is not axiomatic...
#
#{ <#x> :means <#y>. }  :means {	<#x> log:implies <#y> .
#					<#y> log:implies <#x> . } . 
#


<#ancestor>  a daml:TransitiveProperty .

# (Was the wrong way around for a long time, just confused people.)
<#pa> <#ancestor> <#granpa> .
<#bill> <#ancestor> <#pa> .

#ends
