@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.
@prefix rcs: <http://www.w3.org/2001/03swell/rcs#>.

<> dc:description """substituion of equals for equals in triples, plus some rules for unambiguous/unique properties (@@that probably belong elsewhere)""";
  rcs:id "$Id: sameThing.n3,v 1.6 2004/06/25 01:26:59 timbl Exp $";
  dc:creator [ 
	contact:fullName "Dan Connolly";
	contact:homePage <http://www.w3.org/People/Connolly/>;
	contact:mailbox <mailto:connolly@w3.org>
	];
  dc:relation <forgetDups.n3>; #@@ or is dc:relation a class of properties?
				# should I be using rdfs:seeAlso?
  dc:rights "copyright (c) 2001 W3C (MIT, Keio, INRIA)".

@prefix ont:  <http://www.daml.org/2001/03/daml+oil#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <#>.

# These should be derivable from the axiomatic semantics for DAML+OIL

{ ?x = ?y } log:implies { ?y = ?x }. # symmetric
{ ?x = [ = ?z] } log:implies { ?x = ?z }. # transitive
{ ?x ?p ?y. ?x = ?z. ?p log:notEqualTo log:forAll, log:forSome} log:implies { ?z ?p ?y }.
{ ?x ?p ?y. ?p = ?q. ?p log:notEqualTo log:forAll, log:forSome} log:implies { ?x ?q ?y }.
{ ?x ?p ?y. ?y = ?z. ?p log:notEqualTo log:forAll, log:forSome} log:implies { ?x ?p ?z }.

{  ?p a ont:UniqueProperty. } log:implies
 { { ?x ?p ?y. ?x ?p ?z. } log:implies  { ?y = ?z } }.

{  ?p a ont:UnambiguousProperty. } log:implies
 { { ?x ?p ?z. ?y ?p ?z. } log:implies  { ?x = ?y } }.

