# Test filter in N3 # @prefix log: . @prefix daml: . @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