Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

12599 lines
534 KiB

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OWL 2 RL in RIF</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<style type="text/css">
.editsection { display: none; }
</style>
<link href="tr.css" rel="stylesheet" type="text/css" />
<link href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="head">
<a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72" /></a><h1 id="title" style="clear:both"><span id="short-title">OWL 2 RL in RIF</span></h1>
<h2 id="W3C-doctype">W3C Working Group Note 22 June 2010</h2>
<!-- no inplace warning -->
<dl>
<dt>This version:</dt>
<dd><a href="http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/" id="this-version-url">http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/</a></dd>
<dt>Latest version:</dt>
<dd><a href="http://www.w3.org/TR/rif-owl-rl/">http://www.w3.org/TR/rif-owl-rl/</a></dd>
<dt>Previous version:</dt>
<dd><a href="http://www.w3.org/TR/2010/WD-rif-owl-rl-20100511/">http://www.w3.org/TR/2010/WD-rif-owl-rl-20100511/</a> (<a href="http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/diff-from-20100511">color-coded diff</a>)</dd>
</dl>
<dl><dt>Editors:</dt><dd>Dave Reynolds, Hewlett Packard Laboratories</dd>
</dl>
<p>This document is also available in these non-normative formats: <a href="http://www.w3.org/2010/pdf/NOTE-rif-owl-rl-20100622.pdf">PDF version</a>.</p>
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 2010 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>&reg;</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p>
</div>
<hr />
<h2><a id="abstract" name="abstract">Abstract</a></h2>
<div>
<div><p>This document shows how OWL 2 RL can be implemented using RIF. It provides an analysis of how to represent OWL 2 RL inference rules within RIF Core. The OWL 2 RL inference rules can be implemented both via a fixed RIF Core rule set (Appendix 7) and via a mapping algorithm which converts an OWL 2 RL ontology to a customized RIF Core rule set (Appendix 8).</p></div>
</div>
<h2 class="no-toc no-num">
<a id="w3c_status" name="w3c_status">Status of this Document</a>
</h2>
<h4 class="no-toc no-num" id="may-be">May Be Superseded</h4>
<p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>
<h4 class="no-toc no-num" id="related">Set of Documents</h4>
<p>This document is being published as one of a set of 11 documents: </p>
<ol>
<li><a href="http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/">RIF Overview</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-core-20100622/">RIF Core Dialect</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-bld-20100622/">RIF Basic Logic Dialect</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-prd-20100622/">RIF Production Rule Dialect</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-fld-20100622/">RIF Framework for Logic Dialects</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-dtb-20100622/">RIF Datatypes and Built-Ins 1.0</a></li>
<li><a href="http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/">RIF RDF and OWL Compatibility</a></li>
<li><a href="http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/">OWL 2 RL in RIF</a> (this document)</li>
<li><a href="http://www.w3.org/TR/2010/WD-rif-xml-data-20100622/">RIF Combination with XML data</a></li>
<li><a href="http://www.w3.org/TR/2010/WD-rif-in-rdf-20100622/">RIF In RDF</a></li>
<li><a href="http://www.w3.org/TR/2010/WD-rif-test-20100622/">RIF Test Cases</a></li>
</ol>
<!-- no eventStatusExtra -->
<!-- no statusExtra -->
<div>
<h4 class="no-toc no-num" id="sotd-xml-dep">XML Schema Datatypes Dependency</h4>
<p>RIF is defined to use datatypes defined in the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Definition Language (XSD)</a>. As of this writing, the latest W3C Recommendation for XSD is version 1.0, with <a href="http://www.w3.org/TR/xmlschema11-1/">version 1.1</a> progressing toward Recommendation. RIF has been designed to take advantage of the new datatypes and clearer explanations available in XSD 1.1, but for now those advantages are being partially put on hold. Specifically, until XSD 1.1 becomes a W3C Recommendation, the elements of RIF which are based on it should be considered <em>optional</em>, as detailed in <a href="http://www.w3.org/TR/2010/REC-rif-dtb-20100622/#XML_Schema_Datatypes">Datatypes and Builtins, section 2.3</a>. Upon the publication of XSD 1.1 as a W3C Recommendation, those elements will cease to be optional and are to be considered required as otherwise specified.</p>
<p>We suggest that for now developers and users follow the <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20091203/">XSD 1.1 Last Call Working Draft</a>. Based on discussions between the Schema, RIF and OWL Working Groups, we do not expect any implementation changes will be necessary as XSD 1.1 advances to Recommendation.</p>
</div>
<h4 class="no-toc no-num" id="status-changes">Summary of Changes</h4>
<div>There have been no <a href="http://www.w3.org/2005/10/Process-20051014/tr#substantive-change">substantive</a> changes since the <a href="http://www.w3.org/TR/2010/WD-rif-owl-rl-20100511/">previous version</a>. For details on the minor changes see the <a href="#changelog">change log</a> and <a href="http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/diff-from-20100511">color-coded diff</a>.</div>
<h4 class="no-toc no-num" id="please">Please Send Comments</h4><p>Please send any comments to <a class="mailto" href="mailto:public-rif-comments@w3.org">public-rif-comments@w3.org</a>
(<a class="http" href="http://lists.w3.org/Archives/Public/public-rif-comments/">public
archive</a>). Although work on this document by the <a href="http://www.w3.org/2005/rules/wg.html">Rule Interchange Format (RIF) Working Group</a> is complete, comments may be addressed in the <a href="http://www.w3.org/2010/rif/errata">errata</a> or in future revisions. Open discussion among developers is welcome at <a class="mailto" href="mailto:public-rif-dev@w3.org">public-rif-dev@w3.org</a> (<a class="http" href="http://lists.w3.org/Archives/Public/public-rif-dev/">public archive</a>).</p>
<h4 class="no-toc no-num" id="no-endorsement">No Endorsement</h4>
<p><em>Publication as a Working Group Note does not imply endorsement by the W3C Membership. This document may be updated, replaced or obsoleted by other documents at any time. Therefore, quotes or references to specific information in the document should include the publication date of this version, 22 June 2010. It is inappropriate to cite this document as other than a Working Group Note, which is not an endorsed W3C Recommendation.</em></p>
<h4 class="no-toc no-num" id="patents">Patents</h4>
<p><em>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. The group does not expect this document to become a W3C Recommendation. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/38457/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure"> section 6 of the W3C Patent Policy</a>.</em></p>
<hr title="Separator After Status Section" />
<table class="toc" id="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Table of Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
<li class="toclevel-1"><a href="#Summary_of_issues"><span class="tocnumber">2</span> <span class="toctext">Summary of issues</span></a></li>
<li class="toclevel-1"><a href="#Background_OWL_2_RL"><span class="tocnumber">3</span> <span class="toctext">Background OWL 2 RL</span></a></li>
<li class="toclevel-1"><a href="#Analysis_of_OWL_2_RL_rules"><span class="tocnumber">4</span> <span class="toctext">Analysis of OWL 2 RL rules</span></a>
<ul>
<li class="toclevel-2"><a href="#Triple_pattern_rules"><span class="tocnumber">4.1</span> <span class="toctext">Triple pattern rules</span></a></li>
<li class="toclevel-2"><a href="#Inconsistency_rules"><span class="tocnumber">4.2</span> <span class="toctext">Inconsistency rules</span></a></li>
<li class="toclevel-2"><a href="#List_rules"><span class="tocnumber">4.3</span> <span class="toctext">List rules</span></a>
<ul>
<li class="toclevel-3"><a href="#Inconsistent_pairs_rules"><span class="tocnumber">4.3.1</span> <span class="toctext">Inconsistent pairs rules</span></a></li>
<li class="toclevel-3"><a href="#Property_chain_rule"><span class="tocnumber">4.3.2</span> <span class="toctext">Property chain rule</span></a></li>
<li class="toclevel-3"><a href="#HasKey_rule"><span class="tocnumber">4.3.3</span> <span class="toctext">HasKey rule</span></a></li>
<li class="toclevel-3"><a href="#Forward_intersectionOf_rule"><span class="tocnumber">4.3.4</span> <span class="toctext">Forward intersectionOf rule</span></a></li>
<li class="toclevel-3"><a href="#Simple_member_rules"><span class="tocnumber">4.3.5</span> <span class="toctext">Simple member rules</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="#Datatype_rules"><span class="tocnumber">4.4</span> <span class="toctext">Datatype rules</span></a>
<ul>
<li class="toclevel-3"><a href="#Datatypes_supported"><span class="tocnumber">4.4.1</span> <span class="toctext">Datatypes supported</span></a></li>
<li class="toclevel-3"><a href="#Datatype_rules_and_safety"><span class="tocnumber">4.4.2</span> <span class="toctext">Datatype rules and safety</span></a></li>
<li class="toclevel-3"><a href="#Rules_for_supported_datatypes"><span class="tocnumber">4.4.3</span> <span class="toctext">Rules for supported datatypes</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1"><a href="#References"><span class="tocnumber">5</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1"><a href="#Acknowledgements"><span class="tocnumber">6</span> <span class="toctext">Acknowledgements</span></a></li>
<li class="toclevel-1"><a href="#Appendix:_OWL_2_RL_ruleset_-_presentation_syntax"><span class="tocnumber">7</span> <span class="toctext">Appendix: OWL 2 RL ruleset - presentation syntax</span></a></li>
<li class="toclevel-1"><a href="#Appendix:_OWL_2_RL_to_RIF_translation"><span class="tocnumber">8</span> <span class="toctext">Appendix: OWL 2 RL to RIF translation</span></a>
<ul>
<li class="toclevel-2"><a href="#FixedRules"><span class="tocnumber">8.1</span> <span class="toctext">FixedRules</span></a></li>
<li class="toclevel-2"><a href="#templateRules_algorithm"><span class="tocnumber">8.2</span> <span class="toctext">templateRules algorithm</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="#Appendix:_OWL_2_RL_ruleset_-_XML_syntax"><span class="tocnumber">9</span> <span class="toctext">Appendix: OWL 2 RL ruleset - XML syntax</span></a></li>
<li class="toclevel-1"><a href="#Appendix:_Change_Log_.28Informative.29"><span class="tocnumber">10</span> <span class="toctext">Appendix: Change Log (Informative)</span></a></li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a id="Introduction" name="Introduction"></a><h2> <span class="mw-headline">1 Introduction </span></h2>
<p>OWL 2 RL is a syntactic subset (<i>profile</i>) of OWL 2 that is amenable to implementation using rule-based technologies. The [<cite><a href="#ref-owl2-profiles" title="">OWL2-Profiles</a></cite>] document provides
a partial axiomatization of the OWL 2 RDF-Based Semantics in the form of first-order implications that can be used as the basis for such an implementation.
</p><p>This note describes how that axiomatization can be expressed as a set of RIF rules within the RIF Core dialect.
</p><p>There are two approaches to this, both of which exploit the correspondence between RIF and RDF
given in [<cite><a href="#ref-rif-swc" title="">RIF RDF and OWL Compatibility</a></cite>]. The first approach is to directly translate the OWL 2 RL rules to RIF Core, those simply interested in this ruleset can skip directly to
[<cite><a href="#appendix-ps" title="">Appendix: OWL 2 RL Rules</a></cite>]. The second approach, which is expected to
be more scalable in practice, is to translate the source OWL 2 RL ontology to a specialized RIF Core
rule set, see [<cite><a href="#appendix-translation" title="">Appendix: OWL 2 RL to RIF translation</a></cite>].
</p>
<a id="Summary_of_issues" name="Summary_of_issues"></a><h2> <span class="mw-headline">2 Summary of issues </span></h2>
<p>The rules for the OWL 2 RL semantics can be divided into four (non-disjoint) categories of rules.
</p><p><b>Triple pattern rules</b> derive one or more RDF triples from a conjunction of RDF triple patterns.
Translation of these to RIF by means of Frame formulae is trivial.
</p><p><b>List rules</b> involve processing of RDF lists in the input graph and are expressed in OWL 2 RL using an informal elipsis notation. In implementing OWL 2 RL in RIF there are two ways of handling such rules. They can either be expressed as a set of recursive rules that traverse the RDF list structures <i>at run-time</i> or they can be regarded as templates that, for a given RDF input document, can be translated to a set of triple pattern rules as part of a preprocessing step. We define both options in this note.
</p><p><b>Inconsistency rules</b> indicate inconsistencies in the original RDF graph, they are expressed as first order rules which derive a propositional symbol <tt>false</tt>. We suggest a predicate symbol within the RIF namespace be used for this purpose.
</p><p><b>Datatype rules</b> these provide type checking and value equality/inequality checking for typed literals across a set of supported datatypes. The set of datatypes supported by RIF and OWL align and translation of the rules to RIF is largely straightforward.
</p><p>Putting these together we conclude that implementation of OWL 2 RL rule-based inference via RIF rules is possible. We exhibit both a fixed rule set and a translation algorithm for generating an ontology-specific ruleset.
</p>
<a id="Background_OWL_2_RL" name="Background_OWL_2_RL"></a><h2> <span class="mw-headline">3 Background OWL 2 RL </span></h2>
<p>The OWL 2 RL profile [<cite><a href="#ref-owl2-profiles" title="">OWL2-Profiles</a></cite>] is aimed at applications that require scalable reasoning in return for some
restriction on expressive power. It defines a syntactic subset of OWL 2 that is amenable to implementation using rule-based technologies together with a partial axiomatization of the OWL 2 RDF-Based Semantics in the form of first-order implications that can be used as the basis for such an implementation.
</p><p>For ontologies satisfying the syntactic constraints of the OWL 2 RL profile then a suitable rule-based implementation can provide sound and complete entailment checking and conjunctive query answering (so long as the query also meets the OWL 2 RL syntactic restrictions).
</p><p>The purpose of this note is to provide a translation of the OWL 2 RL rules into RIF notation. The aim is that this translation be faithful to the OWL 2 RL semantics so that the follow theorem should hold:
</p><p><span id="Theorem-1"><b>Theorem 1.</b></span> Let <i>O<sub>1</sub></i> and <i>O<sub>2</sub></i> be OWL 2 RL ontologies satisying the following properties:
</p>
<ul><li> neither <i>O<sub>1</sub></i> nor <i>O<sub>2</sub></i> contains a IRI that is used for more than one type of entity (i.e., no IRIs is used both as, say, a class and an individual);
</li><li> <i>O<sub>1</sub></i> does not contain <tt>SubAnnotationPropertyOf</tt>, <tt>AnnotationPropertyDomain</tt>, and <tt>AnnotationPropertyRange</tt> axioms; and
</li></ul>
<ul><li> each axiom in <i>O<sub>2</sub></i> is an assertion of the form as specified below, for <span class="name">a</span>, <span class="name">a<sub>1</sub></span>, ..., <span class="name">a<sub>n</sub></span> named individuals:
<ul><li> <span class="name">ClassAssertion( C a )</span> where <span class="name">C</span> is a class,
</li><li> <span class="name">ObjectPropertyAssertion( OP a<sub>1</sub> a<sub>2</sub> )</span> where <span class="name">OP</span> is an object property,
</li><li><span class="name">DataPropertyAssertion( DP a v )</span> where <span class="name">DP</span> is a data property, or
</li><li> <span class="name">SameIndividual( a<sub>1</sub> ... a<sub>n</sub> )</span>.
</li></ul>
</li></ul>
<p>Let <span class="name">R(O<sub>1</sub>)</span> be either the fixed RIF rule set described in [<cite><a href="#appendix-ps" title="">Appendix: OWL 2 RL ruleset - presentation syntax</a></cite>] or the
RIF rule set derived from <span class="name">O<sub>1</sub></span> by the algorithm described in [<cite><a href="#appendix-translation" title="">Appendix: OWL 2 RL to RIF translation</a></cite>].
</p><p>Furthermore, let <i>RDF(O<sub>1</sub>)</i> and <i>RDF(O<sub>2</sub>)</i> be translations of <i>O<sub>1</sub></i> and <i>O<sub>2</sub></i>, respectively, into RDF graphs as specified in the OWL 2 Mapping to RDF Graphs [<cite><a href="#ref-owl2-rdf-mapping" title="">OWL2-RDF-Mapping</a></cite>].
</p><p>Then, <i>O<sub>1</sub></i> entails <i>O<sub>2</sub></i> under the OWL 2 RDF-Based semantics [<cite><a href="#ref-owl2-rdf-semantics" title="">OWL2-RDF-Semantics</a></cite>] if and only if the RIF-RDF combination of
<i>R(O<sub>1</sub>)</i> and <i>RDF(O<sub>1</sub>)</i> entails the generalized RDF graph <i>RDF(O<sub>2</sub>)</i> according to the notion of <i>simple entailment</i> for RIF-RDF combinations as defined in [<cite><a href="#ref-rif-swc" title="">RIF RDF and OWL Compatibility</a></cite>].
</p>
<a id="Analysis_of_OWL_2_RL_rules" name="Analysis_of_OWL_2_RL_rules"></a><h2> <span class="mw-headline">4 Analysis of OWL 2 RL rules </span></h2>
<p>As noted above the OWL 2 RL rules fall into four categories which pose different issues for translation to RIF. We discuss each category in turn.
</p><p>Note that throughout this section all rules given in RIF Core presentation syntax will assume the following prefix definitions:
</p>
<pre>
Document(
Prefix(rdf &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;)
Prefix(rdfs &lt;http://www.w3.org/2000/01/rdf-schema#&gt;)
Prefix(owl &lt;http://www.w3.org/2002/07/owl#&gt;)
Prefix(xsd &lt;http://www.w3.org/2001/XMLSchema#&gt;)
Prefix(rif &lt;http://www.w3.org/2007/rif#&gt;)
Prefix(func &lt;http://www.w3.org/2007/rif-builtin-function#&gt;)
Prefix(pred &lt;http://www.w3.org/2007/rif-builtin-predicate#&gt;)
Prefix(dc &lt;http://purl.org/dc/terms/&gt;)
...
)
</pre>
<a id="Triple_pattern_rules" name="Triple_pattern_rules"></a><h3> <span class="mw-headline">4.1 Triple pattern rules </span></h3>
<p>The triple pattern rules take the form:
</p>
<table border="2" cellpadding="5">
<tr>
<th> If
</th><th colspan="2"> then
</th></tr>
<tr>
<td class="name"> T(s<sub>1</sub>, p<sub>1</sub>, o<sub>1</sub>)<br /> ... <br /> T(s<sub>n</sub>, p<sub>n</sub>, o<sub>n</sub>)
</td><td class="name" colspan="2"> T(sr<sub>1</sub>, pr<sub>1</sub>, or<sub>1</sub>)<br /> ... <br /> T(sr<sub>m</sub>, pr<sub>m</sub>, or<sub>m</sub>)
</td></tr>
</table>
<p>where each argument to the <i>T</i> predicate may be a variable, an IRI or literal value.
</p><p>Such rules can be expressed in the RIF Core presentation syntax as:
</p><p><tt>
Group (<br />
&nbsp;&nbsp;Forall&nbsp;?v1<sub>1</sub> ...&nbsp;?v1<sub>o</sub> (<br />
&nbsp;&nbsp;&nbsp;&nbsp; sr<sub>1</sub>[pr<sub>1</sub>-&gt;or<sub>1</sub>]&nbsp;:- And( s<sub>1</sub>[p<sub>1</sub>-&gt;o<sub>1</sub>] ... sn[p<sub>n</sub>-&gt;o<sub>n</sub>] ))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br />
&nbsp;&nbsp;Forall&nbsp;?vm<sub>1</sub> ...&nbsp;?vm<sub>o</sub> (<br />
&nbsp;&nbsp;&nbsp;&nbsp;sr<sub>m</sub>[pr<sub>m</sub>-&gt;or<sub>m</sub>]&nbsp;:- And( s<sub>1</sub>[p<sub>1</sub>-&gt;o<sub>1</sub>] ... sn[p<sub>n</sub>-&gt;o<sub>n</sub>] ))<br />
)
</tt>
</p><p>where <tt>?vi<sub>1</sub> ...&nbsp;?vi<sub>o</sub></tt> are the variables which occur in the ith rule.
</p>
<a id="Inconsistency_rules" name="Inconsistency_rules"></a><h3> <span class="mw-headline">4.2 Inconsistency rules </span></h3>
<p>A number of the OWL 2 RL rules detect inconsistencies in the original RDF graph. They express this by deriving a distinguished propositional symbol <tt>false</tt>.
</p><p>For example:
</p>
<table border="2" cellpadding="5">
<tr>
<th> If
</th><th colspan="2"> then
</th></tr>
<tr>
<td class="name"> T(?p<sub>1</sub>, owl:propertyDisjointWith,&nbsp;?p<sub>2</sub>)<br /> T(?x,&nbsp;?p<sub>1</sub>,&nbsp;?y)<br /> T(?x,&nbsp;?p<sub>2</sub>,&nbsp;?y)
</td><td class="name" colspan="2"> false
</td></tr>
</table>
<p>We translate such rules using a distinguished nullary predicate <tt>rif:error()</tt>. If this predicate is derived then the original RDF graph is inconsistent under OWL 2 RL semantics.
</p><p>Note: in practice implementers may wish to replace <tt>rif:error()</tt> with a unary predicate which can be used to convey diagnostic information on the nature and source of the inconsistency that has been detected.
</p><p>Thus the above rule would be expressed in RIF Core as:
</p>
<pre>
Forall&nbsp;?p1&nbsp;?p2&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:-
And(&nbsp;?p1[owl:propertyDisjointWith-&gt;?p2]&nbsp;?x[?p1-&gt;?y]&nbsp;?x[?p2-&gt;?y] )
)
</pre>
<a id="List_rules" name="List_rules"></a><h3> <span class="mw-headline">4.3 List rules </span></h3>
<p>A number of the OWL 2 RL rules involve processing OWL expressions which include RDF lists. Such rules are expressed in OWL 2 RL as templates which, for each possible list length, would correspond to a set of Triple Pattern rules.
</p><p>There are two ways we can approach this in RIF. We can rewrite such rules as recursive rules that traverse the RDF list links or we can introduce the notion of a preprocessor which takes an OWL2 RL ontology in RDF syntax and translates it to a corresponding RIF rule set in which the templates rules have been instantiated for the lists that actually occur in the source ontology. This is possible because none of the rules is able to deduce new list entries for such lists within the syntactic constraints of OWL 2 RL.
</p><p>The approach of using a fixed recursive rule set is appropriate to enable a single RIF OWL 2 RL ruleset to be published. The translation approach yields rules which are likely to perform better in practice.
</p><p>We discuss the direct forms of the List Rules here and then describe in <a href="#appendix-translation" title="">Appendix: OWL 2 RL to RIF translation</a> the translation algorithm for the pre-processor approach.
</p><p>There are several different patterns of List Rules in the OWL 2 RL ruleset, we discuss each group of rules in turn organized by the pattern involved.
</p>
<a id="Inconsistent_pairs_rules" name="Inconsistent_pairs_rules"></a><h4> <span class="mw-headline">4.3.1 Inconsistent pairs rules </span></h4>
<p>These rules check whether any pair of entries from a list match a certain criterion and if they do an error is signaled (derivation of the <tt>false</tt> propositional symbol).
</p>
<table border="2" cellpadding="5">
<tr>
<td> eq-diff2
</td><td class="name"> T(?x, rdf:type, owl:AllDifferent)<br /> T(?x, owl:members,&nbsp;?y)<br /> LIST[?y,&nbsp;?z<sub>1</sub>, ...,&nbsp;?z<sub>n</sub>]<br /> T(?z<sub>i</sub>, owl:sameAs,&nbsp;?z<sub>j</sub>)
</td><td class="name"> false
</td><td> for each 1 &le; i &lt; j &le; n
</td></tr>
<tr>
<td> prp-adp
</td><td class="name"> T(?x, rdf:type, owl:AllDisjointProperties)<br /> T(?x, owl:members,&nbsp;?y)<br /> LIST[?y,&nbsp;?p<sub>1</sub>, ...,&nbsp;?p<sub>n</sub>]<br /> T(?u,&nbsp;?p<sub>i</sub>,&nbsp;?v)<br /> T(?u,&nbsp;?p<sub>j</sub>,&nbsp;?v)
</td><td class="name"> false
</td><td> for each 1 &le; i &lt; j &le; n
</td></tr>
<tr>
<td> cax-adc
</td><td class="name"> T(?x, rdf:type, owl:AllDisjointClasses)<br /> T(?x, owl:members,&nbsp;?y)<br /> LIST[?y,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]<br /> T(?z, rdf:type,&nbsp;?c<sub>i</sub>)<br /> T(?z, rdf:type,&nbsp;?c<sub>j</sub>)
</td><td class="name"> false
</td><td> for each 1 &le; i &lt; j &le; n
</td></tr>
</table>
<p>These rules can be directly translated with the assistance of a utility predicate to select any element from an RDF list.
</p>
<pre>
(* &lt;#eq-diff2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?z1&nbsp;?z2&nbsp;?iz1&nbsp;?iz2 (
rif:error()&nbsp;:- And (
&nbsp;?x[rdf:type -&gt; owl:AllDifferent]
&nbsp;?x[owl:members -&gt;&nbsp;?y]
External(pred:list-contains(?y&nbsp;?z1)) &nbsp;?iz1 = External(func:index-of(?y&nbsp;?z1))
External(pred:list-contains(?y&nbsp;?z2)) &nbsp;?iz2 = External(func:index-of(?y&nbsp;?z2))
External( pred:numeric-not-equal (&nbsp;?iz1&nbsp;?iz2 ) )
&nbsp;?z1[owl:sameAs-&gt;?z2] ) )
(* &lt;#eq-diff3&gt; *)
Forall?x&nbsp;?y&nbsp;?z1&nbsp;?z2&nbsp;?iz1&nbsp;?iz2 (
rif:error()&nbsp;:- And (
&nbsp;?x[rdf:type -&gt; owl:AllDifferent]
&nbsp;?x[owl:distinctMembers -&gt;&nbsp;?y]
External(pred:list-contains(?y&nbsp;?z1)) &nbsp;?iz1 = External(func:index-of(?y&nbsp;?z1))
External(pred:list-contains(?y&nbsp;?z2)) &nbsp;?iz2 = External(func:index-of(?y&nbsp;?z2))
External( pred:numeric-not-equal (&nbsp;?iz1&nbsp;?iz2 ) )
&nbsp;?z1[owl:sameAs-&gt;?z2] ) )
(* &lt;#prp-adp&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?o&nbsp;?v&nbsp;?l&nbsp;?ix&nbsp;?iy&nbsp;?r (
rif:error()&nbsp;:- And (
&nbsp;?r[rdf:type -&gt; owl:AllDisjointProperties]
&nbsp;?r[owl:members -&gt;&nbsp;?l]
External(pred:list-contains(?l&nbsp;?x)) &nbsp;?ix = External(func:index-of(?l&nbsp;?x))
External(pred:list-contains(?l&nbsp;?y)) &nbsp;?iy = External(func:index-of(?l&nbsp;?y))
External( pred:numeric-not-equal (&nbsp;?ix&nbsp;?iy ) )
&nbsp;?o[?x-&gt;?v&nbsp;?y-&gt;?v]) )
(* &lt;#cax-adc&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?o&nbsp;?l&nbsp;?ix&nbsp;?iy&nbsp;?r (
rif:error()&nbsp;:- And (
&nbsp;?r[rdf:type -&gt; owl:AllDisjointClasses]
&nbsp;?r[owl:members -&gt;&nbsp;?l]
External(pred:list-contains(?l&nbsp;?x)) &nbsp;?ix = External(func:index-of(?l&nbsp;?x))
External(pred:list-contains(?l&nbsp;?y)) &nbsp;?iy = External(func:index-of(?l&nbsp;?y))
External( pred:numeric-not-equal (&nbsp;?ix&nbsp;?iy ) )
&nbsp;?o[rdf:type-&gt;?x rdf:type-&gt;?y]) )
)
</pre>
<p>Note: it might be tempting to refactor the above rules by defining a _pairFromList predicate which can select a disjoint pair of elements from a list. However, such a predicate would be unsafe.
</p>
<a id="Property_chain_rule" name="Property_chain_rule"></a><h4> <span class="mw-headline">4.3.2 Property chain rule </span></h4>
<p>This rule expands the list into a chain of properties that need to be checked in the rule body.
</p>
<table border="2" cellpadding="5">
<tr>
<td> prp-spo2
</td><td class="name"> T(?p, owl:propertyChainAxiom,&nbsp;?x)<br /> LIST[?x,&nbsp;?p<sub>1</sub>, ...,&nbsp;?p<sub>n</sub>]<br /> T(?u<sub>1</sub>,&nbsp;?p<sub>1</sub>,&nbsp;?u<sub>2</sub>)<br /> T(?u<sub>2</sub>,&nbsp;?p<sub>2</sub>&nbsp;?u<sub>3</sub>)<br /> ...<br /> T(?u<sub>n</sub>,&nbsp;?p<sub>n</sub>,&nbsp;?u<sub>n+1</sub>)
</td><td class="name" colspan="2"> T(?u<sub>1</sub>,&nbsp;?p,&nbsp;?u<sub>n+1</sub>)
</td></tr>
</table>
<p>Which can be translated by the RIF Core rule set:
</p>
<pre>
(* &lt;#prp-spo2&gt; *)
Forall&nbsp;?p&nbsp;?last&nbsp;?pc&nbsp;?start (
&nbsp;?start[?p-&gt;?last]&nbsp;:- And (
&nbsp;?p[owl:propertyChainAxiom-&gt;?pc]
_checkChain(?start&nbsp;?pc&nbsp;?last) ))
Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p&nbsp;?tl (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;?tl]
&nbsp;?start[?p-&gt;?next]
_checkChain(?next&nbsp;?tl&nbsp;?last) ))
Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;rdf:nil]
&nbsp;?start[?p-&gt;?last] ))
</pre>
<p>When writing logic rules for predicates such as <tt>_checkChain</tt> it would be more common to have the first recursive rule and then a final "terminating" fact:
</p>
<pre>
Forall&nbsp;?start (
_checkChain(?start rdf:nil&nbsp;?start) )
</pre>
<p>However, this universal fact is not safe and thus not within RIF Core. We can work around this by the trick of unfolding the final fact into the recursive rule to yield the pair of rules shown above. In this way the rule set is still executable by a forward chaining strategy. Note that such a strategy will generate a large number of irrelevant <tt>_checkChain</tt> assertions since it will apply to any RDF List in the source ontology irrespective of whether that list is part of a <tt>owl:propertyChainAxiom</tt>.
</p><p>An approach which would give better effective performance for a forward chaining strategy would be to recurse down the property chain "marking" list cells that will need to be checked. Such as:
</p>
<pre>
Forall&nbsp;?p&nbsp;?pc (
_needCheckChain(?pc)&nbsp;:- And (
&nbsp;?p[owl:propertyChainAxiom-&gt;?pc] ))
Forall&nbsp;?x&nbsp;?y (
_needCheckChain(?y)&nbsp;:- And (
_needCheckChain(?x)
&nbsp;?x[rdf:rest-&gt;?y] ))
Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p&nbsp;?tl (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
_needCheckChain(?pc)
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;?tl]
&nbsp;?start[?p-&gt;?next]
_checkChain(?next&nbsp;?tl&nbsp;?last) ))
Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
_needCheckChain(?pc)
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;rdf:nil]
&nbsp;?start[?p-&gt;?last] ))
</pre>
<p>However, since such optimizations further obscure the rules we will omit them from the rule set described here.
</p><p>An alternative strategy, if performant OWL 2 RL reasoning is required, would be for a forward chaining engine to provide custom builtins for the list scanning needed here. Detailed description of such an approach is beyond the scope of this note.
</p><p>We anticipate that practical rule-based OWL 2 RL implementations in RIF will either introduce such optimizations or employ an ontology translation approach, such as that described in appendix 8.
</p>
<a id="HasKey_rule" name="HasKey_rule"></a><h4> <span class="mw-headline">4.3.3 HasKey rule </span></h4>
<p>This rule checks that two individuals are the same by virtual of having the same value for
each of a list of key properties.
</p>
<table border="2" cellpadding="5">
<tr>
<td> prp-key
</td><td class="name"> T(?c, owl:hasKey,&nbsp;?u)<br /> LIST[?u,&nbsp;?p<sub>1</sub>, ...,&nbsp;?p<sub>n</sub>]<br /> T(?x, rdf:type,&nbsp;?c)<br /> T(?x,&nbsp;?p<sub>1</sub>,&nbsp;?z<sub>1</sub>)<br /> ...<br /> T(?x,&nbsp;?p<sub>n</sub>,&nbsp;?z<sub>n</sub>)<br /> T(?y, rdf:type,&nbsp;?c)<br /> T(?y,&nbsp;?p<sub>1</sub>,&nbsp;?z<sub>1</sub>)<br /> ...<br /> T(?y,&nbsp;?p<sub>n</sub>,&nbsp;?z<sub>n</sub>)
</td><td class="name" colspan="2"> T(?x, owl:sameAs,&nbsp;?y)
</td></tr>
</table>
<p>This can be translated by the RIF rule set:
</p>
<pre>
(* &lt;#prp-key&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?c&nbsp;?u (
&nbsp;?x[owl:sameAs-&gt;?y]&nbsp;:- And (
&nbsp;?c[owl:hasKey-&gt;?u] &nbsp;?x[rdf:type-&gt;?c] &nbsp;?y[rdf:type-&gt;?c]
_sameKey(?u&nbsp;?x&nbsp;?y) ))
Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;?tl]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v]
_sameKey(?tl&nbsp;?x&nbsp;?y) ))
Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;rdf:nil]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v] ))
</pre>
<p>Similar considerations about safety and performance apply here as in the previous section.
</p>
<a id="Forward_intersectionOf_rule" name="Forward_intersectionOf_rule"></a><h4> <span class="mw-headline">4.3.4 Forward intersectionOf rule </span></h4>
<p>This pattern involves a test for all members of a list.
</p>
<table border="2" cellpadding="5">
<tr>
<td> cls-int1
</td><td class="name"> T(?c, owl:intersectionOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]<br /> T(?y, rdf:type,&nbsp;?c<sub>1</sub>)<br /> T(?y, rdf:type,&nbsp;?c<sub>2</sub>)<br /> ...<br /> T(?y, rdf:type,&nbsp;?c<sub>n</sub>)
</td><td class="name" colspan="2"> T(?y, rdf:type,&nbsp;?c)
</td></tr>
</table>
<p>This can be translated by the RIF rule set:
</p>
<pre>
(* &lt;#cls-int1&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?l (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
_allTypes(?l&nbsp;?y) ))
Forall&nbsp;?l&nbsp;?y&nbsp;?ty&nbsp;?tl (
_allTypes(?l&nbsp;?y)&nbsp;:- And (
&nbsp;?l[rdf:first-&gt;?ty rdf:rest-&gt;?tl]
&nbsp;?y[rdf:type-&gt;?ty]
_allTypes(?tl&nbsp;?y) ))
Forall&nbsp;?l&nbsp;?y&nbsp;?ty (
_allTypes(?l&nbsp;?y)&nbsp;:- And (
&nbsp;?l[rdf:first-&gt;?ty rdf:rest-&gt;rdf:nil]
&nbsp;?y[rdf:type-&gt;?ty] ))
</pre>
<p>Similar considerations on safety and performance apply here as in the previous two sections.
</p>
<a id="Simple_member_rules" name="Simple_member_rules"></a><h4> <span class="mw-headline">4.3.5 Simple member rules </span></h4>
<p>This pattern involves a test for each member of a list.
</p>
<table border="2" cellpadding="5">
<tr>
<td> cls-uni
</td><td class="name"> T(?c, owl:unionOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]<br /> T(?y, rdf:type,&nbsp;?c<sub>i</sub>)
</td><td class="name"> T(?y, rdf:type,&nbsp;?c)
</td><td> for each 1 &le; i &le; n
</td></tr>
<tr>
<td> cls-oo
</td><td class="name"> T(?c, owl:oneOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?y<sub>1</sub>, ...,&nbsp;?y<sub>n</sub>]
</td><td class="name"> T(?y<sub>i</sub>, rdf:type,&nbsp;?c)
</td><td> for each 1 &le; i &le; n
</td></tr>
<tr>
<td> cls-int2
</td><td class="name"> T(?c, owl:intersectionOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]<br /> T(?y, rdf:type,&nbsp;?c)
</td><td class="name" colspan="2"> T(?y, rdf:type,&nbsp;?c<sub>1</sub>)<br /> T(?y, rdf:type,&nbsp;?c<sub>2</sub>)<br /> ...<br /> T(?y, rdf:type,&nbsp;?c<sub>n</sub>)
</td></tr>
<tr>
<td> scm-int
</td><td class="name"> T(?c, owl:intersectionOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]
</td><td class="name" colspan="2"> T(?c, rdfs:subClassOf,&nbsp;?c<sub>1</sub>)<br /> T(?c, rdfs:subClassOf,&nbsp;?c<sub>2</sub>)<br /> ...<br /> T(?c, rdfs:subClassOf,&nbsp;?c<sub>n</sub>)
</td></tr>
<tr>
<td> scm-uni
</td><td class="name"> T(?c, owl:unionOf,&nbsp;?x)<br /> LIST[?x,&nbsp;?c<sub>1</sub>, ...,&nbsp;?c<sub>n</sub>]
</td><td class="name" colspan="2"> T(?c<sub>1</sub>, rdfs:subClassOf,&nbsp;?c)<br /> T(?c<sub>2</sub>, rdfs:subClassOf,&nbsp;?c)<br /> ...<br /> T(?c<sub>n</sub>, rdfs:subClassOf,&nbsp;?c)
</td></tr></table>
<p>These can be translated by the RIF rule set:
</p>
<pre>
(* &lt;#cls-uni&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?l&nbsp;?ci (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:unionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci))
&nbsp;?y[rdf:type-&gt;?ci] ))
(* &lt;#cls-oo&gt; *)
Forall&nbsp;?yi&nbsp;?c&nbsp;?l (
&nbsp;?yi[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:oneOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?yi)) ))
(* &lt;#cls-int2&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?y[rdf:type-&gt;?ci]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci))
&nbsp;?y[rdf:type-&gt;?c] ))
(* &lt;#scm-int&gt; *)
Forall&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?c[rdfs:subClassOf-&gt;?ci]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci)) ))
(* &lt;#scm-uni&gt; *)
Forall&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?ci[rdfs:subClassOf-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:unionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci)) ))
</pre>
<p>where the <tt>_member</tt> predicate was defined earlier.
</p>
<a id="Datatype_rules" name="Datatype_rules"></a><h3> <span class="mw-headline">4.4 Datatype rules </span></h3>
<p>OWL 2 RL specifies five groups of rules to capture the semantics of supported datatypes. These are:
</p>
<table border="2" cellpadding="5">
<tr>
<th> If
</th><th colspan="2"> then
</th></tr>
<tr>
<td> dt-type1
</td><td class="name"> true
</td><td class="name"> T(df, rdf:type, rdfs:Datatype)
</td><td> for each datatype <tt>dt</tt> supported in OWL 2 RL
</td></tr>
<tr>
<td> dt-type2
</td><td class="name"> true
</td><td class="name"> T(lt, rdf:type, dt)
</td><td> for each literal <span class="name">lt</span> and each datatype <span class="name">dt</span> supported in OWL 2 RL<br /> such that the data value of <span class="name">lt</span> is contained in the value space of <span class="name">dt</span>
</td></tr>
<tr>
<td> dt-eq
</td><td class="name"> true
</td><td class="name"> T(lt<sub>1</sub>, owl:sameAs, lt<sub>2</sub>)
</td><td> for all literals <span class="name">lt<sub>1</sub></span> and <span class="name">lt<sub>2</sub></span> with the same data value
</td></tr>
<tr>
<td> dt-diff
</td><td class="name"> true
</td><td class="name"> T(lt<sub>1</sub>, owl:differentFrom, lt<sub>2</sub>)
</td><td> for all literals <span class="name">lt<sub>1</sub></span> and <span class="name">lt<sub>2</sub></span> with different data values
</td></tr>
<tr>
<td> dt-not-type
</td><td class="name"> T(lt, rdf:type, dt)
</td><td class="name"> false
</td><td> for each literal <span class="name">lt</span> and each datatype <span class="name">dt</span> supported in OWL 2 RL<br /> such that the data value of <span class="name">lt</span> is not contained in the value space of <span class="name">dt</span>
</td></tr>
</table>
<a id="Datatypes_supported" name="Datatypes_supported"></a><h4> <span class="mw-headline">4.4.1 Datatypes supported </span></h4>
<p>The RIF and OWL 2 RL working groups have now aligned the set of datatypes so that all the datatypes required by OWL 2 RL are supported by RIF.
</p>
<a id="Datatype_rules_and_safety" name="Datatype_rules_and_safety"></a><h4> <span class="mw-headline">4.4.2 Datatype rules and safety </span></h4>
<p>A naive translation of the datatype rules would require unsafe RIF rules. For example, one might be tempted to translate <tt>dt-eq</tt> as:
</p>
<pre>
Forall&nbsp;?l1&nbsp;?l2 (&nbsp;?l1[owl:sameAs-&gt;l2]&nbsp;:-&nbsp;?l1 =&nbsp;?l2 )
</pre>
<p>To ensure safety we must ground the variables in the relevant vocabulary. Referring to <a href="#Theorem-1" title="">Theorem-1</a> we can see that the entailment checks supported in O<sub>2</sub> are limited and do not include direct checks for inequality, type or non-type of literals. Thus we only need to ground the datatype rules in the literal vocabulary of O<sub>1</sub>. While O<sub>2</sub> can include axioms of the form <tt>DataPropertyAssertion( DP a v )</tt> since RIF and OWL 2 have the same notion of identity over those datatypes which both support then such direct equality entailments are automatically satisfied.
</p><p>Thus a sufficient rendering of <tt>dt-eq</tt> would be:
</p>
<pre>
Forall&nbsp;?l1&nbsp;?l2&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2
(&nbsp;?l1[owl:sameAs-&gt;l2]&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?l1]&nbsp;?s2[?p2-&gt;?l2]&nbsp;?l1 =&nbsp;?l2 ))
</pre>
<p>However, we can go further than this. Since the entailment checks are limited to only indirect consequences of these rules then we can fold the datatype rules directly into the rules which include <tt>owl:sameAs</tt> in their premise. This avoids the generation of a quadratic number of <tt>owl:sameAs</tt> and <tt>owl:differentFrom</tt> assertions for all literals.
</p>
<a id="Rules_for_supported_datatypes" name="Rules_for_supported_datatypes"></a><h4> <span class="mw-headline">4.4.3 Rules for supported datatypes </span></h4>
<p>The RIF representation of the data type rules for supported datatypes is reasonably straightforward.
</p><p><b>Type membership</b>
</p>
<pre>
(* &lt;#dt-type2&gt; *)
Group (
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral] External(pred:is-literal-not-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral] External(pred:is-literal-not-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:decimal] External(pred:is-literal-not-decimal(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:integer] External(pred:is-literal-not-integer(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger] External(pred:is-literal-not-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger] External(pred:is-literal-not-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger] External(pred:is-literal-not-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger] External(pred:is-literal-not-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:long] External(pred:is-literal-not-long(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:int] External(pred:is-literal-not-int(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:short] External(pred:is-literal-not-short(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:byte] External(pred:is-literal-not-byte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong] External(pred:is-literal-not-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt] External(pred:is-literal-not-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort] External(pred:is-literal-not-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte] External(pred:is-literal-not-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:float] External(pred:is-literal-not-float(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:double] External(pred:is-literal-not-double(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:string] External(pred:is-literal-not-string(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:normalizedString] External(pred:is-literal-not-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:token] External(pred:is-literal-not-token(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:language] External(pred:is-literal-not-language(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:Name] External(pred:is-literal-not-Name(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NCName] External(pred:is-literal-not-NCName(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN] External(pred:is-literal-not-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:boolean] External(pred:is-literal-not-boolean(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:hexBinary] External(pred:is-literal-not-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:base64Binary] External(pred:is-literal-not-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:anyURI] External(pred:is-literal-not-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTime] External(pred:is-literal-not-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp ] External(pred:is-literal-not-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<p>Note that these rules assert that each literal is of type <tt>rdfs:Literal</tt>, as well as being of the direct type indicated by the type guard. This is because the value space of <tt>rdfs:Literal</tt> includes the union of all of the separate literal value spaces. RIF does not provide direct support for <tt>rdfs:Literal</tt> and so there is no simple <tt>pred:is-literal</tt> guard available to enable a more transparent ruleset design.
</p><p><b>Type checking</b>
</p>
<pre>
(* &lt;#dt-not-type&gt; *)
Group (
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral] External(pred:is-literal-not-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral] External(pred:is-literal-not-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:decimal] External(pred:is-literal-not-decimal(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:integer] External(pred:is-literal-not-integer(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger] External(pred:is-literal-not-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger] External(pred:is-literal-not-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger] External(pred:is-literal-not-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger] External(pred:is-literal-not-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:long] External(pred:is-literal-not-long(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:int] External(pred:is-literal-not-int(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:short] External(pred:is-literal-not-short(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:byte] External(pred:is-literal-not-byte(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong] External(pred:is-literal-not-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt] External(pred:is-literal-not-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort] External(pred:is-literal-not-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte] External(pred:is-literal-not-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:float] External(pred:is-literal-not-float(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:double] External(pred:is-literal-not-double(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:string] External(pred:is-literal-not-string(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:normalizedString] External(pred:is-literal-not-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:token] External(pred:is-literal-not-token(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:language] External(pred:is-literal-not-language(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:Name] External(pred:is-literal-not-Name(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NCName] External(pred:is-literal-not-NCName(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN] External(pred:is-literal-not-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:boolean] External(pred:is-literal-not-boolean(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:hexBinary] External(pred:is-literal-not-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:base64Binary] External(pred:is-literal-not-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:anyURI] External(pred:is-literal-not-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTime] External(pred:is-literal-not-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?lt&nbsp;?dt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp ] External(pred:is-literal-not-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<p><b>Equality and inequality</b>
As noted above we can fold the literal equality and inequality checks into the rules which refer to them, in this case the only affected rule is <tt>eq-diff1</tt>:
</p>
<pre>
(* &lt;#eq-diff1&gt; *)
Forall&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:sameAs-&gt;?y]
&nbsp;?x[owl:differentFrom-&gt;?y] ))
</pre>
<p>So after folding the grounded literal rules for <tt>dt-eq</tt> and <tt>dt-diff</tt> in we arrive at:
</p>
<pre>
(* &lt;#eq-diff1-literal1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x[owl:sameAs-&gt;?y]
External(pred:literal-not-identical(?x&nbsp;?y)) ))
(* &lt;#eq-diff1-literal2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x =&nbsp;?y
&nbsp;?x[owl:differentFrom-&gt;?y] ))
</pre>
<p><b>Fixed vocabulary rules </b>
These are trivial asserted facts of the form:
</p>
<pre>
(* &lt;#dt-type1-PlainLiteral&gt; *) rdf:PlainLiteral [rdf:type -&gt; rdfs:Datatype] etc
</pre>
<a id="References" name="References"></a><h2> <span class="mw-headline">5 References </span></h2>
<dl><dt><span id="ref-owl2-profiles">[OWL2-Profiles]</span></dt><dd> <i><a class="external text" href="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/" title="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/">OWL 2 Web Ontology Language: Profiles</a></i>, B. Motik, B. Cuenca Grau, I. Horrocks, Z. Wu, A. Fokoue, C. Lutz, Editors, W3C Candidate Recommendation, 11 June 2009, <a class="external free" href="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/" title="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/">http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/</a>. <a class="external text" href="http://www.w3.org/TR/owl2-profiles/" title="http://www.w3.org/TR/owl2-profiles/">Latest version</a> available at <a class="external free" href="http://www.w3.org/TR/owl2-profiles/" title="http://www.w3.org/TR/owl2-profiles/">http://www.w3.org/TR/owl2-profiles/</a>.
</dd></dl>
<dl><dt><span id="ref-owl2-rdf-mapping">[OWL2-RDF-Mapping]</span></dt><dd> <i><a class="external text" href="http://www.w3.org/TR/2009/CR-owl2-mapping-to-rdf-20090611/" title="http://www.w3.org/TR/2009/CR-owl2-mapping-to-rdf-20090611/">OWL 2 Web Ontology Language Mapping to RDF Graphs</a></i>, P.F. Patel-Schneider, B. Motik, Editors, W3C Candidate Recommendation, 11 June 2009, <a class="external free" href="http://www.w3.org/TR/2009/CR-owl2-mapping-to-rdf-20090611/" title="http://www.w3.org/TR/2009/CR-owl2-mapping-to-rdf-20090611/">http://www.w3.org/TR/2009/CR-owl2-mapping-to-rdf-20090611/</a>. <a class="external text" href="http://www.w3.org/TR/owl2-mapping-to-rdf/" title="http://www.w3.org/TR/owl2-mapping-to-rdf/">Latest version</a> available at <a class="external free" href="http://www.w3.org/TR/owl2-mapping-to-rdf/" title="http://www.w3.org/TR/owl2-mapping-to-rdf/">http://www.w3.org/TR/owl2-mapping-to-rdf/</a>.
</dd></dl>
<dl><dt><span id="ref-owl2-rdf-semantics">[OWL2-RDF-Semantics]</span></dt><dd> <i><a class="external text" href="http://www.w3.org/TR/2009/CR-owl2-rdf-based-semantics-20090611/" title="http://www.w3.org/TR/2009/CR-owl2-rdf-based-semantics-20090611/">OWL 2 Web Ontology Language RDF-Based Semantics</a></i>, M. Schneider, Editor, W3C Candidate Recommendation, 11 June 2009, <a class="external free" href="http://www.w3.org/TR/2009/CR-owl2-rdf-based-semantics-20090611/" title="http://www.w3.org/TR/2009/CR-owl2-rdf-based-semantics-20090611/">http://www.w3.org/TR/2009/CR-owl2-rdf-based-semantics-20090611/</a>. <a class="external text" href="http://www.w3.org/TR/owl2-rdf-based-semantics/" title="http://www.w3.org/TR/owl2-rdf-based-semantics/">Latest version</a> available at <a class="external free" href="http://www.w3.org/TR/owl2-rdf-based-semantics/" title="http://www.w3.org/TR/owl2-rdf-based-semantics/">http://www.w3.org/TR/owl2-rdf-based-semantics/</a>.
</dd></dl>
<dl><dt><span id="ref-rif-swc">[RIF RDF and OWL Compatibility]</span></dt><dd><span><cite><a href="http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/"><span>RIF RDF and OWL Compatibility</span></a></cite> Jos de Bruijn, editor. W3C Recommendation, 22 June 2010, <a href="http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/">http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/</a>. Latest version available at <a href="http://www.w3.org/TR/rif-rdf-owl/">http://www.w3.org/TR/rif-rdf-owl/</a>.</span></dd></dl>
<div id="acknowledgements"></div>
<a id="Acknowledgements" name="Acknowledgements"></a><h2> <span class="mw-headline">6 Acknowledgements </span></h2>
<p>This document is the product of the Rules Interchange Format (RIF) Working Group (see below) whose members deserve recognition for their time and commitment. The editor extends special thanks to Jos de Bruijn and Axel Polleres for their thorough reviews and helpful comments; the working group chairs, Chris Welty and Christian de Sainte-Marie, for their invaluable technical help and inspirational leadership; and W3C staff contact Sandro Hawke, a constant source of ideas, help, and feedback.
</p><p>The regular attendees at meetings of the Rule Interchange Format (RIF) Working Group at the time of the publication were: Adrian Paschke (Freie Universitaet Berlin), Axel Polleres (DERI), Chris Welty (IBM), Christian de Sainte Marie (ILOG), Dave Reynolds (HP), Gary Hallmark (ORACLE), Harold Boley (NRC), Hassan A&iuml;t-Kaci (ILOG), Jos de Bruijn (FUB), Leora Morgenstern (IBM), Michael Kifer (Stony Brook), Mike Dean (BBN), Sandro Hawke (W3C/MIT), and Stella Mitchell (IBM).
</p><p><br />
</p>
<div id="appendix-ps"></div>
<a id="Appendix:_OWL_2_RL_ruleset_-_presentation_syntax" name="Appendix:_OWL_2_RL_ruleset_-_presentation_syntax"></a><h2> <span class="mw-headline">7 Appendix: OWL 2 RL ruleset - presentation syntax </span></h2>
<p>In this appendix we provide a RIF Core presentation syntax translation of the complete OWL 2 RL ruleset.
We divide these rules into three documents - the simple triple rules (mechanically translated from the OWL 2 RL rule format), the List rules and the datatype rules.
</p>
<p class="ednote"><span class="ednotehead">Editor's Note:</span> These rules are believed to be correct. However, since the original
version was developed various manual edits have been made to
conform to changes in RIF and OWL 2 RL. Mechanical verification will be required
before final publication.</p>
<p><b>Simple triple rules</b>
</p>
<pre>Document (
Prefix(rdf &lt;<a class="external free" href="http://www.w3.org/1999/02/22-rdf-syntax-ns" title="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>&gt;)
Prefix(rdfs &lt;<a class="external free" href="http://www.w3.org/2000/01/rdf-schema" title="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a>&gt;)
Prefix(owl &lt;<a class="external free" href="http://www.w3.org/2002/07/owl" title="http://www.w3.org/2002/07/owl#">http://www.w3.org/2002/07/owl#</a>&gt;)
Prefix(xsd &lt;<a class="external free" href="http://www.w3.org/2001/XMLSchema" title="http://www.w3.org/2001/XMLSchema#">http://www.w3.org/2001/XMLSchema#</a>&gt;)
Prefix(rif &lt;<a class="external free" href="http://www.w3.org/2007/rif" title="http://www.w3.org/2007/rif#">http://www.w3.org/2007/rif#</a>&gt;)
Prefix(func &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-function" title="http://www.w3.org/2007/rif-builtin-function#">http://www.w3.org/2007/rif-builtin-function#</a>&gt;)
Prefix(pred &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-predicate" title="http://www.w3.org/2007/rif-builtin-predicate#">http://www.w3.org/2007/rif-builtin-predicate#</a>&gt;)
Prefix(dc &lt;<a class="external free" href="http://purl.org/dc/terms/" title="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a>&gt;)
Group (
</pre>
<pre>(* &lt;#eq-ref&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?s[owl:sameAs-&gt;?s]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-ref1&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?p[owl:sameAs-&gt;?p]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-ref2&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?o[owl:sameAs-&gt;?o]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-sym&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[owl:sameAs-&gt;?x]&nbsp;:-&nbsp;?x[owl:sameAs-&gt;?y])
</pre>
<pre>(* &lt;#eq-trans&gt; *)
Forall&nbsp;?x&nbsp;?z&nbsp;?y (
&nbsp;?x[owl:sameAs-&gt;?z]&nbsp;:- And(
&nbsp;?x[owl:sameAs-&gt;?y]
&nbsp;?y[owl:sameAs-&gt;?z] ))
</pre>
<pre>(* &lt;#eq-rep-s&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?s2 (
&nbsp;?s2[?p-&gt;?o]&nbsp;:- And(
&nbsp;?s[owl:sameAs-&gt;?s2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-rep-p&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?p2 (
&nbsp;?s[?p2-&gt;?o]&nbsp;:- And(
&nbsp;?p[owl:sameAs-&gt;?p2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-rep-o&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?o2 (
&nbsp;?s[?p-&gt;?o2]&nbsp;:- And(
&nbsp;?o[owl:sameAs-&gt;?o2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-diff1&gt; *)
Forall&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:sameAs-&gt;?y]
&nbsp;?x[owl:differentFrom-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-ap-label&gt; *)
rdfs:label[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-comment&gt; *)
rdfs:comment[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-seeAlso&gt; *)
rdfs:seeAlso[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-isDefinedBy&gt; *)
rdfs:isDefinedBy[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-deprecated&gt; *)
owl:deprecated[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-priorVersion&gt; *)
owl:priorVersion[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-backwardCompatibleWith&gt; *)
owl:backwardCompatibleWith[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-incompatibleWith&gt; *)
owl:incompatibleWith[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-dom&gt; *)
Forall&nbsp;?p&nbsp;?c&nbsp;?x&nbsp;?y (
&nbsp;?x[rdf:type-&gt;?c]&nbsp;:- And(
&nbsp;?p[rdfs:domain-&gt;?c]
&nbsp;?x[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-rng&gt; *)
Forall&nbsp;?p&nbsp;?c&nbsp;?x&nbsp;?y (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And(
&nbsp;?p[rdfs:range-&gt;?c]
&nbsp;?x[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-fp&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?x&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:FunctionalProperty]
&nbsp;?x[?p-&gt;?y1]
&nbsp;?x[?p-&gt;?y2] ))
</pre>
<pre>(* &lt;#prp-ifp&gt; *)
Forall&nbsp;?p&nbsp;?x1&nbsp;?x2&nbsp;?y (
&nbsp;?x1[owl:sameAs-&gt;?x2]&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:InverseFunctionalProperty]
&nbsp;?x1[?p-&gt;?y]
&nbsp;?x2[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-irp&gt; *)
Forall&nbsp;?p&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:IrreflexiveProperty]
&nbsp;?x[?p-&gt;?x] ))
</pre>
<pre>(* &lt;#prp-symp&gt; *)
Forall&nbsp;?p&nbsp;?x&nbsp;?y (
&nbsp;?y[?p-&gt;?x]&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:SymmetricProperty]
&nbsp;?x[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-asyp&gt; *)
Forall&nbsp;?p&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:AsymmetricProperty]
&nbsp;?x[?p-&gt;?y]
&nbsp;?y[?p-&gt;?x] ))
</pre>
<pre>(* &lt;#prp-trp&gt; *)
Forall&nbsp;?p&nbsp;?x&nbsp;?z&nbsp;?y (
&nbsp;?x[?p-&gt;?z]&nbsp;:- And(
&nbsp;?p[rdf:type-&gt;owl:TransitiveProperty]
&nbsp;?x[?p-&gt;?y]
&nbsp;?y[?p-&gt;?z] ))
</pre>
<pre>(* &lt;#prp-spo1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?x[?p2-&gt;?y]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]
&nbsp;?x[?p1-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-eqp1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?x[?p2-&gt;?y]&nbsp;:- And(
&nbsp;?p1[owl:equivalentProperty-&gt;?p2]
&nbsp;?x[?p1-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-eqp2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?x[?p1-&gt;?y]&nbsp;:- And(
&nbsp;?p1[owl:equivalentProperty-&gt;?p2]
&nbsp;?x[?p2-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-pdw&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
rif:error()&nbsp;:- And(
&nbsp;?p1[owl:propertyDisjointWith-&gt;?p2]
&nbsp;?x[?p1-&gt;?y]
&nbsp;?x[?p2-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-inv1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?y[?p2-&gt;?x]&nbsp;:- And(
&nbsp;?p1[owl:inverseOf-&gt;?p2]
&nbsp;?x[?p1-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-inv2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?y[?p1-&gt;?x]&nbsp;:- And(
&nbsp;?p1[owl:inverseOf-&gt;?p2]
&nbsp;?x[?p2-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-thing&gt; *)
owl:Thing[rdf:type-&gt;owl:Class]
</pre>
<pre>(* &lt;#cls-nothing1&gt; *)
owl:Nothing[rdf:type-&gt;owl:Class]
</pre>
<pre>(* &lt;#cls-nothing2&gt; *)
Forall&nbsp;?x (
rif:error()&nbsp;:-&nbsp;?x[rdf:type-&gt;owl:Nothing])
</pre>
<pre>(* &lt;#cls-svf1&gt; *)
Forall&nbsp;?p&nbsp;?v&nbsp;?u&nbsp;?x&nbsp;?y (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?x[owl:someValuesFrom-&gt;?y]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[?p-&gt;?v]
&nbsp;?v[rdf:type-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-svf2&gt; *)
Forall&nbsp;?p&nbsp;?v&nbsp;?u&nbsp;?x (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?x[owl:someValuesFrom-&gt;owl:Thing]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[?p-&gt;?v] ))
</pre>
<pre>(* &lt;#cls-avf&gt; *)
Forall&nbsp;?p&nbsp;?v&nbsp;?u&nbsp;?x&nbsp;?y (
&nbsp;?v[rdf:type-&gt;?y]&nbsp;:- And(
&nbsp;?x[owl:allValuesFrom-&gt;?y]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?v] ))
</pre>
<pre>(* &lt;#cls-hv1&gt; *)
Forall&nbsp;?p&nbsp;?u&nbsp;?x&nbsp;?y (
&nbsp;?u[?p-&gt;?y]&nbsp;:- And(
&nbsp;?x[owl:hasValue-&gt;?y]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[rdf:type-&gt;?x] ))
</pre>
<pre>(* &lt;#cls-hv2&gt; *)
Forall&nbsp;?p&nbsp;?u&nbsp;?x&nbsp;?y (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?x[owl:hasValue-&gt;?y]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-maxc1&gt; *)
Forall&nbsp;?p&nbsp;?u&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:maxCardinality-&gt;0]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-maxc2&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?u&nbsp;?x&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?x[owl:maxCardinality-&gt;1]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y1]
&nbsp;?u[?p-&gt;?y2] ))
</pre>
<pre>(* &lt;#cls-maxqc1&gt; *)
Forall&nbsp;?p&nbsp;?c&nbsp;?u&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:maxQualifiedCardinality-&gt;0]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?x[owl:onClass-&gt;?c]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y]
&nbsp;?y[rdf:type-&gt;?c] ))
</pre>
<pre>(* &lt;#cls-maxqc2&gt; *)
Forall&nbsp;?p&nbsp;?u&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:maxQualifiedCardinality-&gt;0]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?x[owl:onClass-&gt;owl:Thing]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-maxqc3&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?c&nbsp;?u&nbsp;?x&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?x[owl:maxQualifiedCardinality-&gt;1]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?x[owl:onClass-&gt;?c]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y1]
&nbsp;?y1[rdf:type-&gt;?c]
&nbsp;?u[?p-&gt;?y2]
&nbsp;?y2[rdf:type-&gt;?c] ))
</pre>
<pre>(* &lt;#cls-maxqc4&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?u&nbsp;?x&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?x[owl:maxQualifiedCardinality-&gt;1]
&nbsp;?x[owl:onProperty-&gt;?p]
&nbsp;?x[owl:onClass-&gt;owl:Thing]
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y1]
&nbsp;?u[?p-&gt;?y2] ))
</pre>
<pre>(* &lt;#cax-sco&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1] ))
</pre>
<pre>(* &lt;#cax-eqc1&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:equivalentClass-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1] ))
</pre>
<pre>(* &lt;#cax-eqc2&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c1]&nbsp;:- And(
&nbsp;?c1[owl:equivalentClass-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>(* &lt;#cax-dw&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
rif:error()&nbsp;:- And(
&nbsp;?c1[owl:disjointWith-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-cls&gt; *)
Forall&nbsp;?c (
&nbsp;?c[rdfs:subClassOf-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls1&gt; *)
Forall&nbsp;?c (
&nbsp;?c[owl:equivalentClass-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls2&gt; *)
Forall&nbsp;?c (
&nbsp;?c[rdfs:subClassOf-&gt;owl:Thing]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls3&gt; *)
Forall&nbsp;?c (
owl:Nothing[rdfs:subClassOf-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-sco&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?c3 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c3]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?c2[rdfs:subClassOf-&gt;?c3] ))
</pre>
<pre>(* &lt;#scm-eqc1&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:-&nbsp;?c1[owl:equivalentClass-&gt;?c2])
</pre>
<pre>(* &lt;#scm-eqc11&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c2[rdfs:subClassOf-&gt;?c1]&nbsp;:-&nbsp;?c1[owl:equivalentClass-&gt;?c2])
</pre>
<pre>(* &lt;#scm-eqc2&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c1[owl:equivalentClass-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?c2[rdfs:subClassOf-&gt;?c1] ))
</pre>
<pre>(* &lt;#scm-op&gt; *)
Forall&nbsp;?p (
&nbsp;?p[rdfs:subPropertyOf-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:ObjectProperty])
</pre>
<pre>(* &lt;#scm-op1&gt; *)
Forall&nbsp;?p (
&nbsp;?p[owl:equivalentProperty-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:ObjectProperty])
</pre>
<pre>(* &lt;#scm-dp&gt; *)
Forall&nbsp;?p (
&nbsp;?p[rdfs:subPropertyOf-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:DatatypeProperty])
</pre>
<pre>(* &lt;#scm-dp1&gt; *)
Forall&nbsp;?p (
&nbsp;?p[owl:equivalentProperty-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:DatatypeProperty])
</pre>
<pre>(* &lt;#scm-spo&gt; *)
Forall&nbsp;?p3&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p3]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p3] ))
</pre>
<pre>(* &lt;#scm-eqp1&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]&nbsp;:-&nbsp;?p1[owl:equivalentProperty-&gt;?p2])
</pre>
<pre>(* &lt;#scm-eqp11&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p1]&nbsp;:-&nbsp;?p1[owl:equivalentProperty-&gt;?p2])
</pre>
<pre>(* &lt;#scm-eqp2&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[owl:equivalentProperty-&gt;?p2]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p1] ))
</pre>
<pre>(* &lt;#scm-dom1&gt; *)
Forall&nbsp;?p&nbsp;?c1&nbsp;?c2 (
&nbsp;?p[rdfs:domain-&gt;?c2]&nbsp;:- And(
&nbsp;?p[rdfs:domain-&gt;?c1]
&nbsp;?c1[rdfs:subClassOf-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-dom2&gt; *)
Forall&nbsp;?c&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:domain-&gt;?c]&nbsp;:- And(
&nbsp;?p2[rdfs:domain-&gt;?c]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#scm-rng1&gt; *)
Forall&nbsp;?p&nbsp;?c1&nbsp;?c2 (
&nbsp;?p[rdfs:range-&gt;?c2]&nbsp;:- And(
&nbsp;?p[rdfs:range-&gt;?c1]
&nbsp;?c1[rdfs:subClassOf-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-rng2&gt; *)
Forall&nbsp;?c&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:range-&gt;?c]&nbsp;:- And(
&nbsp;?p2[rdfs:range-&gt;?c]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#scm-hv&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?i&nbsp;?p2&nbsp;?p1 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:hasValue-&gt;?i]
&nbsp;?c1[owl:onProperty-&gt;?p1]
&nbsp;?c2[owl:hasValue-&gt;?i]
&nbsp;?c2[owl:onProperty-&gt;?p2]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#scm-svf1&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?c1&nbsp;?c2&nbsp;?y1 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:someValuesFrom-&gt;?y1]
&nbsp;?c1[owl:onProperty-&gt;?p]
&nbsp;?c2[owl:someValuesFrom-&gt;?y2]
&nbsp;?c2[owl:onProperty-&gt;?p]
&nbsp;?y1[rdfs:subClassOf-&gt;?y2] ))
</pre>
<pre>(* &lt;#scm-svf2&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:someValuesFrom-&gt;?y]
&nbsp;?c1[owl:onProperty-&gt;?p1]
&nbsp;?c2[owl:someValuesFrom-&gt;?y]
&nbsp;?c2[owl:onProperty-&gt;?p2]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#scm-avf1&gt; *)
Forall&nbsp;?p&nbsp;?y2&nbsp;?c1&nbsp;?c2&nbsp;?y1 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:allValuesFrom-&gt;?y1]
&nbsp;?c1[owl:onProperty-&gt;?p]
&nbsp;?c2[owl:allValuesFrom-&gt;?y2]
&nbsp;?c2[owl:onProperty-&gt;?p]
&nbsp;?y1[rdfs:subClassOf-&gt;?y2] ))
</pre>
<pre>(* &lt;#scm-avf2&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?y&nbsp;?p2&nbsp;?p1 (
&nbsp;?c2[rdfs:subClassOf-&gt;?c1]&nbsp;:- And(
&nbsp;?c1[owl:allValuesFrom-&gt;?y]
&nbsp;?c1[owl:onProperty-&gt;?p1]
&nbsp;?c2[owl:allValuesFrom-&gt;?y]
&nbsp;?c2[owl:onProperty-&gt;?p2]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#prp-npa1&gt; *)
Forall&nbsp;?x&nbsp;?i1&nbsp;?p&nbsp;?i2 (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:sourceIndividual-&gt;?i1]
&nbsp;?x[owl:assertionProperty-&gt;?p]
&nbsp;?x[owl:targetIndividual-&gt;?i2]
&nbsp;?i1[?p-&gt;?i2] ))
</pre>
<pre>(* &lt;#prp-npa2&gt; *)
Forall&nbsp;?x&nbsp;?i&nbsp;?p&nbsp;?lt (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:sourceIndividual-&gt;?i]
&nbsp;?x[owl:assertionProperty-&gt;?p]
&nbsp;?x[owl:targetValue-&gt;?lt]
&nbsp;?i[?p-&gt;?lt] ))
</pre>
<pre>(* &lt;#cax-dw&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?c1[owl:disjointWith-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>(* &lt;#cls-com&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?c1[owl:complementOf-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>))
</pre>
<p><b>List rules</b>
</p>
<pre>Document (
Prefix(rdf &lt;<a class="external free" href="http://www.w3.org/1999/02/22-rdf-syntax-ns" title="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>&gt;)
Prefix(rdfs &lt;<a class="external free" href="http://www.w3.org/2000/01/rdf-schema" title="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a>&gt;)
Prefix(owl &lt;<a class="external free" href="http://www.w3.org/2002/07/owl" title="http://www.w3.org/2002/07/owl#">http://www.w3.org/2002/07/owl#</a>&gt;)
Prefix(xsd &lt;<a class="external free" href="http://www.w3.org/2001/XMLSchema" title="http://www.w3.org/2001/XMLSchema#">http://www.w3.org/2001/XMLSchema#</a>&gt;)
Prefix(rif &lt;<a class="external free" href="http://www.w3.org/2007/rif" title="http://www.w3.org/2007/rif#">http://www.w3.org/2007/rif#</a>&gt;)
Prefix(func &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-function" title="http://www.w3.org/2007/rif-builtin-function#">http://www.w3.org/2007/rif-builtin-function#</a>&gt;)
Prefix(pred &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-predicate" title="http://www.w3.org/2007/rif-builtin-predicate#">http://www.w3.org/2007/rif-builtin-predicate#</a>&gt;)
Prefix(dc &lt;<a class="external free" href="http://purl.org/dc/terms/" title="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a>&gt;)
Group (
</pre>
<pre> (* &lt;#eq-diff2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?z1&nbsp;?z2&nbsp;?iz1&nbsp;?iz2 (
rif:error()&nbsp;:- And (
&nbsp;?x[rdf:type -&gt; owl:AllDifferent]
&nbsp;?x[owl:members -&gt;&nbsp;?y]
External(pred:list-contains(?y&nbsp;?z1)) &nbsp;?iz1 = External(func:index-of(?y&nbsp;?z1))
External(pred:list-contains(?y&nbsp;?z2)) &nbsp;?iz2 = External(func:index-of(?y&nbsp;?z2))
External( pred:numeric-not-equal (&nbsp;?iz1&nbsp;?iz2 ) )
&nbsp;?z1[owl:sameAs-&gt;?z2] ) )
</pre>
<pre> (* &lt;#eq-diff3&gt; *)
Forall?x&nbsp;?y&nbsp;?z1&nbsp;?z2&nbsp;?iz1&nbsp;?iz2 (
rif:error()&nbsp;:- And (
&nbsp;?x[rdf:type -&gt; owl:AllDifferent]
&nbsp;?x[owl:distinctMembers -&gt;&nbsp;?y]
External(pred:list-contains(?y&nbsp;?z1)) &nbsp;?iz1 = External(func:index-of(?y&nbsp;?z1))
External(pred:list-contains(?y&nbsp;?z2)) &nbsp;?iz2 = External(func:index-of(?y&nbsp;?z2))
External( pred:numeric-not-equal (&nbsp;?iz1&nbsp;?iz2 ) )
&nbsp;?z1[owl:sameAs-&gt;?z2] ) )
</pre>
<pre> (* &lt;#prp-adp&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?o&nbsp;?v&nbsp;?l&nbsp;?ix&nbsp;?iy&nbsp;?r (
rif:error()&nbsp;:- And (
&nbsp;?r[rdf:type -&gt; owl:AllDisjointProperties]
&nbsp;?r[owl:members -&gt;&nbsp;?l]
External(pred:list-contains(?l&nbsp;?x)) &nbsp;?ix = External(func:index-of(?l&nbsp;?x))
External(pred:list-contains(?l&nbsp;?y)) &nbsp;?iy = External(func:index-of(?l&nbsp;?y))
External( pred:numeric-not-equal (&nbsp;?ix&nbsp;?iy ) )
&nbsp;?o[?x-&gt;?v&nbsp;?y-&gt;?v]) )
</pre>
<pre> (* &lt;#cax-adc&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?o&nbsp;?l&nbsp;?ix&nbsp;?iy&nbsp;?r (
rif:error()&nbsp;:- And (
&nbsp;?r[rdf:type -&gt; owl:AllDisjointClasses]
&nbsp;?r[owl:members -&gt;&nbsp;?l]
External(pred:list-contains(?l&nbsp;?x)) &nbsp;?ix = External(func:index-of(?l&nbsp;?x))
External(pred:list-contains(?l&nbsp;?y)) &nbsp;?iy = External(func:index-of(?l&nbsp;?y))
External( pred:numeric-not-equal (&nbsp;?ix&nbsp;?iy ) )
&nbsp;?o[rdf:type-&gt;?x rdf:type-&gt;?y]) )
(* &lt;#prp-spo2&gt; *)
Forall&nbsp;?p&nbsp;?last&nbsp;?pc&nbsp;?start (
&nbsp;?start[?p-&gt;?last]&nbsp;:- And (
&nbsp;?p[owl:propertyChainAxiom-&gt;?pc]
_checkChain(?start&nbsp;?pc&nbsp;?last) ))
</pre>
<pre> Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p&nbsp;?tl (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;?tl]
&nbsp;?start[?p-&gt;?next]
_checkChain(?next&nbsp;?tl&nbsp;?last) ))
</pre>
<pre> Forall&nbsp;?start&nbsp;?pc&nbsp;?last&nbsp;?p (
_checkChain(?start&nbsp;?pc &nbsp;?last)&nbsp;:- And (
&nbsp;?pc[rdf:first-&gt;?p rdf:rest-&gt;rdf:nil]
&nbsp;?start[?p-&gt;?last] ))
Forall&nbsp;?x&nbsp;?y&nbsp;?c&nbsp;?u&nbsp;?c (
&nbsp;?x[owl:sameAs-&gt;?y]&nbsp;:- And (
&nbsp;?c[owl:hasKey-&gt;?u] &nbsp;?x[rdf:type-&gt;?c] &nbsp;?y[rdf:type-&gt;?c]
_sameKey(?u&nbsp;?x&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;?tl]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v]
_sameKey(?tl&nbsp;?x&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;rdf:nil]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v] ))
(* &lt;#cls-int1&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?l (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
_allTypes(?l&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?l&nbsp;?y&nbsp;?ty&nbsp;?tl (
_allTypes(?l&nbsp;?y)&nbsp;:- And (
&nbsp;?l[rdf:first-&gt;?ty rdf:rest-&gt;?tl]
&nbsp;?y[rdf:type-&gt;?ty]
_allTypes(?tl&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?l&nbsp;?y&nbsp;?ty (
_allTypes(?l&nbsp;?y)&nbsp;:- And (
&nbsp;?l[rdf:first-&gt;?ty rdf:rest-&gt;rdf:nil]
&nbsp;?y[rdf:type-&gt;?ty] ))
(* &lt;#prp-key&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?c&nbsp;?u (
&nbsp;?x[owl:sameAs-&gt;?y]&nbsp;:- And (
&nbsp;?c[owl:hasKey-&gt;?u] &nbsp;?x[rdf:type-&gt;?c] &nbsp;?y[rdf:type-&gt;?c]
_sameKey(?u&nbsp;?x&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;?tl]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v]
_sameKey(?tl&nbsp;?x&nbsp;?y) ))
</pre>
<pre> Forall&nbsp;?u&nbsp;?x&nbsp;?y (
_sameKey(?u&nbsp;?x&nbsp;?y)&nbsp;:- And (
&nbsp;?u[rdf:first-&gt;?key rdf:rest-&gt;rdf:nil]
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v] ))
(* &lt;#cls-uni&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?l&nbsp;?ci (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:unionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci))
&nbsp;?y[rdf:type-&gt;?ci] ))
</pre>
<pre> (* &lt;#cls-oo&gt; *)
Forall&nbsp;?yi&nbsp;?c&nbsp;?l (
&nbsp;?yi[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:oneOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?yi)) ))
</pre>
<pre> (* &lt;#cls-int2&gt; *)
Forall&nbsp;?y&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?y[rdf:type-&gt;?ci]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci))
&nbsp;?y[rdf:type-&gt;?c] ))
</pre>
<pre> (* &lt;#scm-int&gt; *)
Forall&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?c[rdfs:subClassOf-&gt;?ci]&nbsp;:- And (
&nbsp;?c[owl:intersectionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci)) ))
</pre>
<pre> (* &lt;#scm-uni&gt; *)
Forall&nbsp;?c&nbsp;?ci&nbsp;?l (
&nbsp;?ci[rdfs:subClassOf-&gt;?c]&nbsp;:- And (
&nbsp;?c[owl:unionOf-&gt;?l]
External(pred:list-contains(?l&nbsp;?ci)) ))
</pre>
<p><b>Datatype rules</b>
</p>
<pre>Document (
Prefix(rdf &lt;<a class="external free" href="http://www.w3.org/1999/02/22-rdf-syntax-ns" title="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>&gt;)
Prefix(rdfs &lt;<a class="external free" href="http://www.w3.org/2000/01/rdf-schema" title="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a>&gt;)
Prefix(owl &lt;<a class="external free" href="http://www.w3.org/2002/07/owl" title="http://www.w3.org/2002/07/owl#">http://www.w3.org/2002/07/owl#</a>&gt;)
Prefix(xsd &lt;<a class="external free" href="http://www.w3.org/2001/XMLSchema" title="http://www.w3.org/2001/XMLSchema#">http://www.w3.org/2001/XMLSchema#</a>&gt;)
Prefix(rif &lt;<a class="external free" href="http://www.w3.org/2007/rif" title="http://www.w3.org/2007/rif#">http://www.w3.org/2007/rif#</a>&gt;)
Prefix(func &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-function" title="http://www.w3.org/2007/rif-builtin-function#">http://www.w3.org/2007/rif-builtin-function#</a>&gt;)
Prefix(pred &lt;<a class="external free" href="http://www.w3.org/2007/rif-builtin-predicate" title="http://www.w3.org/2007/rif-builtin-predicate#">http://www.w3.org/2007/rif-builtin-predicate#</a>&gt;)
Prefix(dc &lt;<a class="external free" href="http://purl.org/dc/terms/" title="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a>&gt;)
Group (
</pre>
<pre> (* &lt;#dt-type2&gt; *)
Group (
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:decimal rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-decimal(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:integer rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-integer(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:long rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-long(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:int rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-int(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:short rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-short(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:byte rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-byte(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:float rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-float(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:double rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-double(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:string rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-string(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:normalizedString rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:token rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-token(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:language rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-language(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:Name rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-Name(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:NCName rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-NCName(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:boolean rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-boolean(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:hexBinary rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:base64Binary rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:anyURI rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:dateTime rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<pre>(* &lt;#dt-not-type&gt; *)
Group (
</pre>
<pre> Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral] External(pred:is-literal-not-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral] External(pred:is-literal-not-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:decimal] External(pred:is-literal-not-decimal(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:integer] External(pred:is-literal-not-integer(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger] External(pred:is-literal-not-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger] External(pred:is-literal-not-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger] External(pred:is-literal-not-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger] External(pred:is-literal-not-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:long] External(pred:is-literal-not-long(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:int] External(pred:is-literal-not-int(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:short] External(pred:is-literal-not-short(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:byte] External(pred:is-literal-not-byte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong] External(pred:is-literal-not-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt] External(pred:is-literal-not-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort] External(pred:is-literal-not-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte] External(pred:is-literal-not-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:float] External(pred:is-literal-not-float(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:double] External(pred:is-literal-not-double(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:string] External(pred:is-literal-not-string(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:normalizedString] External(pred:is-literal-not-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:token] External(pred:is-literal-not-token(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:language] External(pred:is-literal-not-language(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:Name] External(pred:is-literal-not-Name(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NCName] External(pred:is-literal-not-NCName(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN] External(pred:is-literal-not-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:boolean] External(pred:is-literal-not-boolean(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:hexBinary] External(pred:is-literal-not-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:base64Binary] External(pred:is-literal-not-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:anyURI] External(pred:is-literal-not-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTime] External(pred:is-literal-not-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp ] External(pred:is-literal-not-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<pre>(* &lt;#eq-diff1-literal1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x[owl:sameAs-&gt;?y]
External(pred:literalNotIdentical(?x&nbsp;?y)) ))
</pre>
<pre>(* &lt;#eq-diff1-literal2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x =&nbsp;?y
&nbsp;?x[owl:differentFrom-&gt;?y] ))
(* &lt;#dt-type1-PlainLiteral&gt; *) rdf:PlainLiteral[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-decimal&gt; *) xsd:decimal[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-integer&gt; *) xsd:integer[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-double&gt; *) xsd:double[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-string&gt; *) xsd:string[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-dateTime&gt; *) xsd:dateTime[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-XMLLiteral&gt; *) rdf:XMLLiteral[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-Literal&gt; *) rdfs:Literal[rdf:type -&gt; rdfs:Datatype]
</pre>
<pre>(* &lt;#dt-type1-nonNegativeInteger&gt; *) xsd:nonNegativeInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-nonPositiveInteger&gt; *) xsd:nonPositiveInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-positiveInteger&gt; *) xsd:positiveInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-negativeInteger&gt; *) xsd:negativeInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-long&gt; *) xsd:long[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-int&gt; *) xsd:int[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-short&gt; *) xsd:short[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-byte&gt; *) xsd:byte[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedLong&gt; *) xsd:unsignedLong[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedInt&gt; *) xsd:unsignedInt[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedShort&gt; *) xsd:unsignedShort[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedByte&gt; *) xsd:unsignedByte[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-normalizedString&gt; *) xsd:normalizedString[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-token&gt; *) xsd:token[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-language&gt; *) xsd:language[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-Name&gt; *) xsd:Name[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-NCName&gt; *) xsd:NCName[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-NMTOKEN&gt; *) xsd:NMTOKEN[rdf:type -&gt; rdfs:Datatype]
</pre>
<pre>(* &lt;#dt-type1-float&gt; *) xsd:float[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-boolean&gt; *) xsd:boolean[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-hexBinary&gt; *) xsd:hexBinary[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-base64Binary&gt; *) xsd:base64Binary[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-anyURI&gt; *) xsd:anyURI[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-dateTimeStamp&gt; *) xsd:dateTimeStamp [rdf:type -&gt; rdfs:Datatype]
</pre>
<pre>))
</pre>
<div id="appendix-translation"></div>
<a id="Appendix:_OWL_2_RL_to_RIF_translation" name="Appendix:_OWL_2_RL_to_RIF_translation"></a><h2> <span class="mw-headline">8 Appendix: OWL 2 RL to RIF translation </span></h2>
<p>The static set of rules in the first appendix provides a complete translation of the OWL 2 RL rules into RIF. While that rule set is within the RIF Core dialect it is fairly inefficient, for example in its handling of lists rules.
</p><p>In practice we would expect many OWL 2 RL implementations to instantiate the ruleset for a particular ontology. The instantiation process only depends upon OWL TBox axioms and the instantiated ruleset can be applied to other ontologies which only differ by virtue of the ABox assertions.
</p><p>We here define an algorithm for instantiating a RIF Core rule set for a given OWL 2 RL ontology.
</p><p><b>Input:</b> An ontology <i>O</i> conforming to the OWL 2 RL profile and the corresponding translation of <i>O</i> into an RDF Graph <i>RDF(O)</i> as specified in the OWL 2 Mapping to RDF Graphs [<cite><a href="#ref-owl2-rdf-mapping" title="">OWL 2 RDF Mapping</a></cite>].
</p><p><b>Output:</b> A RIF Core rule set <i>R(RDF(O))</i> such that the RIF-RDF combination of <i>R(RDF(O))</i> and <i>RDF(O)</i> has the same entailments as the combination <i>R</i> and <i>RDF(O)</i> where <i>R</i> is the static OWL 2 RL rule set defined above.
</p><p><b>Algorithm:</b> <tt>R(RDF(O)) = FixedRules &cup; templateRules( RDF(O) )</tt>
</p><p>Where the set of FixedRules and the two algorithms <tt>templateRules</tt> are defined below.
</p>
<p class="ednote"><span class="ednotehead">Editor's Note:</span> These rules are believed to be correct. However, since the original
version was developed various manual edits have been made to
conform to changes in RIF and OWL 2 RL. Mechanical verification will be required
before final publication.</p>
<p><br />
</p>
<a id="FixedRules" name="FixedRules"></a><h3> <span class="mw-headline">8.1 FixedRules </span></h3>
<p>The <i>FixedRule</i> ruleset comprises the following rules:
</p>
<pre>(* &lt;#eq-ref&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?s[owl:sameAs-&gt;?s]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-ref1&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?p[owl:sameAs-&gt;?p]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-ref2&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s (
&nbsp;?o[owl:sameAs-&gt;?o]&nbsp;:-&nbsp;?s[?p-&gt;?o])
</pre>
<pre>(* &lt;#eq-sym&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[owl:sameAs-&gt;?x]&nbsp;:-&nbsp;?x[owl:sameAs-&gt;?y])
</pre>
<pre>(* &lt;#eq-trans&gt; *)
Forall&nbsp;?x&nbsp;?z&nbsp;?y (
&nbsp;?x[owl:sameAs-&gt;?z]&nbsp;:- And(
&nbsp;?x[owl:sameAs-&gt;?y]
&nbsp;?y[owl:sameAs-&gt;?z] ))
</pre>
<pre>(* &lt;#eq-rep-s&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?s2 (
&nbsp;?s2[?p-&gt;?o]&nbsp;:- And(
&nbsp;?s[owl:sameAs-&gt;?s2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-rep-p&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?p2 (
&nbsp;?s[?p2-&gt;?o]&nbsp;:- And(
&nbsp;?p[owl:sameAs-&gt;?p2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-rep-o&gt; *)
Forall&nbsp;?p&nbsp;?o&nbsp;?s&nbsp;?o2 (
&nbsp;?s[?p-&gt;?o2]&nbsp;:- And(
&nbsp;?o[owl:sameAs-&gt;?o2]
&nbsp;?s[?p-&gt;?o] ))
</pre>
<pre>(* &lt;#eq-diff1&gt; *)
Forall&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[owl:sameAs-&gt;?y]
&nbsp;?x[owl:differentFrom-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-ap-label&gt; *)
rdfs:label[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-comment&gt; *)
rdfs:comment[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-seeAlso&gt; *)
rdfs:seeAlso[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-isDefinedBy&gt; *)
rdfs:isDefinedBy[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-deprecated&gt; *)
owl:deprecated[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-priorVersion&gt; *)
owl:priorVersion[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-backwardCompatibleWith&gt; *)
owl:backwardCompatibleWith[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-ap-incompatibleWith&gt; *)
owl:incompatibleWith[rdf:type-&gt;owl:AnnotationProperty]
</pre>
<pre>(* &lt;#prp-dom&gt; *)
Forall&nbsp;?p&nbsp;?c&nbsp;?x&nbsp;?y (
&nbsp;?x[rdf:type-&gt;?c]&nbsp;:- And(
&nbsp;?p[rdfs:domain-&gt;?c]
&nbsp;?x[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-rng&gt; *)
Forall&nbsp;?p&nbsp;?c&nbsp;?x&nbsp;?y (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And(
&nbsp;?p[rdfs:range-&gt;?c]
&nbsp;?x[?p-&gt;?y] ))
</pre>
<pre>(* &lt;#cls-thing&gt; *)
owl:Thing[rdf:type-&gt;owl:Class]
</pre>
<pre>(* &lt;#cls-nothing1&gt; *)
owl:Nothing[rdf:type-&gt;owl:Class]
</pre>
<pre>(* &lt;#cls-nothing2&gt; *)
Forall&nbsp;?x (
rif:error()&nbsp;:-&nbsp;?x[rdf:type-&gt;owl:Nothing])
</pre>
<pre>(* &lt;#cax-sco&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1] ))
</pre>
<pre>(* &lt;#cax-eqc1&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[owl:equivalentClass-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1] ))
</pre>
<pre>(* &lt;#cax-eqc2&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
&nbsp;?x[rdf:type-&gt;?c1]&nbsp;:- And(
&nbsp;?c1[owl:equivalentClass-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>(* &lt;#cax-dw&gt; *)
Forall&nbsp;?x&nbsp;?c1&nbsp;?c2 (
rif:error()&nbsp;:- And(
&nbsp;?c1[owl:disjointWith-&gt;?c2]
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-cls&gt; *)
Forall&nbsp;?c (
&nbsp;?c[rdfs:subClassOf-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls1&gt; *)
Forall&nbsp;?c (
&nbsp;?c[owl:equivalentClass-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls2&gt; *)
Forall&nbsp;?c (
&nbsp;?c[rdfs:subClassOf-&gt;owl:Thing]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-cls3&gt; *)
Forall&nbsp;?c (
owl:Nothing[rdfs:subClassOf-&gt;?c]&nbsp;:-&nbsp;?c[rdf:type-&gt;owl:Class])
</pre>
<pre>(* &lt;#scm-sco&gt; *)
Forall&nbsp;?c1&nbsp;?c2&nbsp;?c3 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c3]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?c2[rdfs:subClassOf-&gt;?c3] ))
</pre>
<pre>(* &lt;#scm-eqc1&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:-&nbsp;?c1[owl:equivalentClass-&gt;?c2])
</pre>
<pre>(* &lt;#scm-eqc11&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c2[rdfs:subClassOf-&gt;?c1]&nbsp;:-&nbsp;?c1[owl:equivalentClass-&gt;?c2])
</pre>
<pre>(* &lt;#scm-eqc2&gt; *)
Forall&nbsp;?c1&nbsp;?c2 (
&nbsp;?c1[owl:equivalentClass-&gt;?c2]&nbsp;:- And(
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]
&nbsp;?c2[rdfs:subClassOf-&gt;?c1] ))
</pre>
<pre>(* &lt;#scm-op&gt; *)
Forall&nbsp;?p (
&nbsp;?p[rdfs:subPropertyOf-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:ObjectProperty])
</pre>
<pre>(* &lt;#scm-op1&gt; *)
Forall&nbsp;?p (
&nbsp;?p[owl:equivalentProperty-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:ObjectProperty])
</pre>
<pre>(* &lt;#scm-dp&gt; *)
Forall&nbsp;?p (
&nbsp;?p[rdfs:subPropertyOf-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:DatatypeProperty])
</pre>
<pre>(* &lt;#scm-dp1&gt; *)
Forall&nbsp;?p (
&nbsp;?p[owl:equivalentProperty-&gt;?p]&nbsp;:-&nbsp;?p[rdf:type-&gt;owl:DatatypeProperty])
</pre>
<pre>(* &lt;#scm-spo&gt; *)
Forall&nbsp;?p3&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p3]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p3] ))
</pre>
<pre>(* &lt;#scm-eqp1&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]&nbsp;:-&nbsp;?p1[owl:equivalentProperty-&gt;?p2])
</pre>
<pre>(* &lt;#scm-eqp11&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p1]&nbsp;:-&nbsp;?p1[owl:equivalentProperty-&gt;?p2])
</pre>
<pre>(* &lt;#scm-eqp2&gt; *)
Forall&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[owl:equivalentProperty-&gt;?p2]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2]
&nbsp;?p2[rdfs:subPropertyOf-&gt;?p1] ))
</pre>
<pre>(* &lt;#scm-dom1&gt; *)
Forall&nbsp;?p&nbsp;?c1&nbsp;?c2 (
&nbsp;?p[rdfs:domain-&gt;?c2]&nbsp;:- And(
&nbsp;?p[rdfs:domain-&gt;?c1]
&nbsp;?c1[rdfs:subClassOf-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-dom2&gt; *)
Forall&nbsp;?c&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:domain-&gt;?c]&nbsp;:- And(
&nbsp;?p2[rdfs:domain-&gt;?c]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre>(* &lt;#scm-rng1&gt; *)
Forall&nbsp;?p&nbsp;?c1&nbsp;?c2 (
&nbsp;?p[rdfs:range-&gt;?c2]&nbsp;:- And(
&nbsp;?p[rdfs:range-&gt;?c1]
&nbsp;?c1[rdfs:subClassOf-&gt;?c2] ))
</pre>
<pre>(* &lt;#scm-rng2&gt; *)
Forall&nbsp;?c&nbsp;?p2&nbsp;?p1 (
&nbsp;?p1[rdfs:range-&gt;?c]&nbsp;:- And(
&nbsp;?p2[rdfs:range-&gt;?c]
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] ))
</pre>
<pre> (* &lt;#dt-type2&gt; *)
Group (
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:decimal rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-decimal(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:integer rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-integer(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:long rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-long(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:int rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-int(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:short rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-short(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:byte rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-byte(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:float rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-float(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:double rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-double(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:string rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-string(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:normalizedString rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:token rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-token(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:language rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-language(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:Name rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-Name(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:NCName rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-NCName(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:boolean rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-boolean(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:hexBinary rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:base64Binary rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:anyURI rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:dateTime rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?s&nbsp;?p&nbsp;?lt (&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp rdf:type-&gt;rdfs:Literal]
&nbsp;:- And(&nbsp;?s[?p-&gt;?lt] External( pred:is-literal-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<pre>(* &lt;#dt-not-type&gt; *)
Group (
</pre>
<pre> Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:PlainLiteral] External(pred:is-literal-not-PlainLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;rdf:XMLLiteral] External(pred:is-literal-not-XMLLiteral(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:decimal] External(pred:is-literal-not-decimal(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:integer] External(pred:is-literal-not-integer(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonNegativeInteger] External(pred:is-literal-not-nonNegativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:nonPositiveInteger] External(pred:is-literal-not-nonPositiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:positiveInteger] External(pred:is-literal-not-positiveInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:negativeInteger] External(pred:is-literal-not-negativeInteger(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:long] External(pred:is-literal-not-long(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:int] External(pred:is-literal-not-int(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:short] External(pred:is-literal-not-short(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:byte] External(pred:is-literal-not-byte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedLong] External(pred:is-literal-not-unsignedLong(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedInt] External(pred:is-literal-not-unsignedInt(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedShort] External(pred:is-literal-not-unsignedShort(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:unsignedByte] External(pred:is-literal-not-unsignedByte(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:float] External(pred:is-literal-not-float(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:double] External(pred:is-literal-not-double(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:string] External(pred:is-literal-not-string(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:normalizedString] External(pred:is-literal-not-normalizedString(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:token] External(pred:is-literal-not-token(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:language] External(pred:is-literal-not-language(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:Name] External(pred:is-literal-not-Name(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NCName] External(pred:is-literal-not-NCName(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:NMTOKEN] External(pred:is-literal-not-NMTOKEN(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:boolean] External(pred:is-literal-not-boolean(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:hexBinary] External(pred:is-literal-not-hexBinary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:base64Binary] External(pred:is-literal-not-base64Binary(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:anyURI] External(pred:is-literal-not-anyURI(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTime] External(pred:is-literal-not-dateTime(&nbsp;?lt )) ))
Forall&nbsp;?lt (
rif:error()&nbsp;:- And (
&nbsp;?lt[rdf:type-&gt;xsd:dateTimeStamp ] External(pred:is-literal-not-dateTimeStamp (&nbsp;?lt )) ))
)
</pre>
<pre>(* &lt;#eq-diff1-literal1&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x[owl:sameAs-&gt;?y]
External(pred:literalNotIdentical(?x&nbsp;?y)) ))
</pre>
<pre>(* &lt;#eq-diff1-literal2&gt; *)
Forall&nbsp;?x&nbsp;?y&nbsp;?s1&nbsp;?s2&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And(
&nbsp;?s1[?p1-&gt;?x] &nbsp;?s2[?p2-&gt;?y]
&nbsp;?x =&nbsp;?y
&nbsp;?x[owl:differentFrom-&gt;?y] ))
(* &lt;#dt-type1-PlainLiteral&gt; *) rdf:PlainLiteral[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-decimal&gt; *) xsd:decimal[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-integer&gt; *) xsd:integer[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-double&gt; *) xsd:double[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-string&gt; *) xsd:string[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-dateTime&gt; *) xsd:dateTime[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-XMLLiteral&gt; *) rdf:XMLLiteral[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-Literal&gt; *) rdfs:Literal[rdf:type -&gt; rdfs:Datatype]
</pre>
<pre>(* &lt;#dt-type1-nonNegativeInteger&gt; *) xsd:nonNegativeInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-nonPositiveInteger&gt; *) xsd:nonPositiveInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-positiveInteger&gt; *) xsd:positiveInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-negativeInteger&gt; *) xsd:negativeInteger[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-long&gt; *) xsd:long[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-int&gt; *) xsd:int[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-short&gt; *) xsd:short[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-byte&gt; *) xsd:byte[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedLong&gt; *) xsd:unsignedLong[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedInt&gt; *) xsd:unsignedInt[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedShort&gt; *) xsd:unsignedShort[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-unsignedByte&gt; *) xsd:unsignedByte[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-normalizedString&gt; *) xsd:normalizedString[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-token&gt; *) xsd:token[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-language&gt; *) xsd:language[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-Name&gt; *) xsd:Name[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-NCName&gt; *) xsd:NCName[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-NMTOKEN&gt; *) xsd:NMTOKEN[rdf:type -&gt; rdfs:Datatype]
</pre>
<pre>(* &lt;#dt-type1-float&gt; *) xsd:float[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-boolean&gt; *) xsd:boolean[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-hexBinary&gt; *) xsd:hexBinary[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-base64Binary&gt; *) xsd:base64Binary[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-anyURI&gt; *) xsd:anyURI[rdf:type -&gt; rdfs:Datatype]
(* &lt;#dt-type1-dateTimeStamp&gt; *) xsd:dateTimeStamp [rdf:type -&gt; rdfs:Datatype]
</pre>
<a id="templateRules_algorithm" name="templateRules_algorithm"></a><h3> <span class="mw-headline">8.2 templateRules algorithm </span></h3>
<p>We specify the algorithm for instantiating the template rules by means of a translation table.
</p><p>The first column gives a set of RDF triple patterns <tt>(s p o)</tt> where any of the elements can be a variable (indicated with a '?') prefix.
</p><p>The second column gives a template to be instantiated. For each match of the triple patterns in <i>RDF(O)</i> we generate a binding map which maps each variable in the triple pattern to a corresponding RDF Node in <i>RDF(O)</i>. The template should be processed with this binding map, replacing the corresponding variables by their mapped values.
</p><p>For example the pair:
</p>
<table border="2" cellpadding="5">
<tr>
<th> Pattern
</th><th> Template
</th></tr>
<tr>
<td>
<p>(?p rdf:type owl:SymmetricProperty)
</p>
</td><td>
<pre>Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[?p-&gt;?x]&nbsp;:- And(
&nbsp;?x[?p-&gt;?y] ))
</pre>
</td></tr></table>
<p>Applied to an ontology containing the following RDF triples:
</p>
<pre> eg:p rdf:type owl:SymmetricProperty .
eg:q rdf:type owl:SymmetricProperty .
</pre>
<p>Would emit the follow RIF rules:
</p>
<pre>Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[eg:p-&gt;?x]&nbsp;:- And(
&nbsp;?x[eg:p-&gt;?y] ))
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[eg:q-&gt;?x]&nbsp;:- And(
&nbsp;?x[eg:q-&gt;?y] ))
</pre>
<p>In order to specify the list related rules we need to define some addition notation for templates.
</p>
<table border="2" cellpadding="5">
<tr>
<th> Notation
</th><th> Interpretation
</th></tr>
<tr>
<td>
<pre>{$ <i>rule text</i> $}
</pre>
</td><td> Emit the <i>rule text</i> substituting any occurrence of variables from the binding map. The outer {$ $} can be omitted in cases where there is no ambiguity.
</td></tr>
<tr>
<td>
<pre>for(?elt in&nbsp;?list) {
<i>template</i>
}
</pre>
</td><td>&nbsp;?list is a variable in the pattern which is bound to an RDF List. The <i>for</i> operator iterates over each element of the <i>?list</i> in turn replacing the binding map for the&nbsp;?elt variable with the next list entry and processes the enclosed <i>template</i> in the context of that new binding map.
</td></tr>
<tr>
<td>
<pre>for(?elt in&nbsp;?list,&nbsp;!=&nbsp;?other) {
<i>template</i>
}
</pre>
</td><td>&nbsp;?list is a variable in the pattern which is bound to an RDF List. The <i>for</i> operator iterates over each element of the <i>?list</i> in turn, skipping any element identical to <i>?other</i>, replacing the binding map for the&nbsp;?elt variable with the next list entry and processes the enclosed <i>template</i> in the context of that new binding map.
</td></tr>
<tr>
<td>
<pre>$length(?list)$
</pre>
</td><td> Used within a template this will be replaced by the length the RDFList bound to <i>?list</i>.
</td></tr>
<tr>
<td>
<pre>$i$
</pre>
</td><td> Used within a <i>for(?elt in&nbsp;?list){ template }</i> this will be replaced by the index of the current&nbsp;?elt.
</td></tr>
<tr>
<td>
<pre>$i+1$
</pre>
</td><td> Used within a <i>for(?elt in&nbsp;?list){ template }</i> this will be replaced by the index of the current&nbsp;?elt, plus 1.
</td></tr></table>
<p>The templateRule algorithm is defined using this notation by the following set of pattern/template pairs.
</p>
<table border="2" cellpadding="5">
<tr>
<th> Pattern
</th><th> Template
</th></tr>
<tr>
<td> (?p rdf:type owl:FunctionalProperty)
</td><td>
<pre>(* &lt;#prp-fp&gt; *)
Forall&nbsp;?y2&nbsp;?x&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?x[?p-&gt;?y1]
&nbsp;?x[?p-&gt;?y2] ))
</pre>
</td></tr>
<tr>
<td> (?p rdf:type owl:InverseFunctionalProperty])
</td><td>
<pre>(* &lt;#prp-ifp&gt; *)
Forall&nbsp;?x1&nbsp;?x2&nbsp;?y (
&nbsp;?x1[owl:sameAs-&gt;?x2]&nbsp;:- And(
&nbsp;?x1[?p-&gt;?y]
&nbsp;?x2[?p-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?p rdf:type owl:IrreflexiveProperty)
</td><td>
<pre>(* &lt;#prp-irp&gt; *)
Forall&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?x[?p-&gt;?x] ))
</pre>
</td></tr>
<tr>
<td> (?p rdf:type owl:SymmetricProperty)
</td><td>
<pre>(* &lt;#prp-symp&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[?p-&gt;?x]&nbsp;:- And(
&nbsp;?x[?p-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?p rdf:type owl:AsymmetricProperty)
</td><td>
<pre>(* &lt;#prp-asyp&gt; *)
Forall&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[?p-&gt;?y]
&nbsp;?y[?p-&gt;?x] ))
</pre>
</td></tr>
<tr>
<td> (?p rdf:type owl:TransitiveProperty)
</td><td>
<pre>(* &lt;#prp-trp&gt; *)
Forall&nbsp;?x&nbsp;?z&nbsp;?y (
&nbsp;?x[?p-&gt;?z]&nbsp;:- And(
&nbsp;?x[?p-&gt;?y]
&nbsp;?y[?p-&gt;?z] ))
</pre>
</td></tr>
<tr>
<td> (?p1 rdfs:subPropertyOf&nbsp;?p2)
</td><td>
<pre>(* &lt;#prp-spo1&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?x[?p2-&gt;?y]&nbsp;:- And(
&nbsp;?x[?p1-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?p1 owl:equivalentProperty&nbsp;?p2)
</td><td>
<pre>(* &lt;#prp-eqp1&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?x[?p2-&gt;?y]&nbsp;:- And(
&nbsp;?x[?p1-&gt;?y] ))
</pre>
<pre>(* &lt;#prp-eqp2&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?x[?p1-&gt;?y]&nbsp;:- And(
&nbsp;?x[?p2-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?p1 owl:propertyDisjointWith&nbsp;?p2)
</td><td>
<pre>(* &lt;#prp-pdw&gt; *)
Forall&nbsp;?x&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?x[?p1-&gt;?y]
&nbsp;?x[?p2-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?p1 owl:inverseOf&nbsp;?p2)
</td><td>
<pre>(* &lt;#prp-inv1&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[?p2-&gt;?x]&nbsp;:- And(
&nbsp;?x[?p1-&gt;?y] ))
(* &lt;#prp-inv2&gt; *)
Forall&nbsp;?x&nbsp;?y (
&nbsp;?y[?p1-&gt;?x]&nbsp;:- And(
&nbsp;?x[?p2-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:someValuesFrom&nbsp;?y) <br /> (?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-svf1&gt; *)
Forall&nbsp;?v&nbsp;?u (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?u[?p-&gt;?v]
&nbsp;?v[rdf:type-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:someValuesFrom owl:Thing) <br /> (?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-svf2&gt; *)
Forall&nbsp;?v&nbsp;?u (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?u[?p-&gt;?v] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:allValuesFrom&nbsp;?y) <br />(?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-avf&gt; *)
Forall&nbsp;?v&nbsp;?u (
&nbsp;?v[rdf:type-&gt;?y]&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?v] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:hasValue&nbsp;?y) <br />(?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-hv1&gt; *)
Forall&nbsp;?u (
&nbsp;?u[?p-&gt;?y]&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x] ))
(* &lt;#cls-hv2&gt; *)
Forall&nbsp;?u (
&nbsp;?u[rdf:type-&gt;?x]&nbsp;:- And(
&nbsp;?u[?p-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxCardinality 0) <br />(?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-maxc1&gt; *)
Forall&nbsp;?u&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?u[?p-&gt;?y]
&nbsp;?u[rdf:type-&gt;?x] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxCardinality 1) <br />(?x owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#cls-maxc2&gt; *)
Forall&nbsp;?y2&nbsp;?u&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?u[?p-&gt;?y1]
&nbsp;?u[?p-&gt;?y2]
&nbsp;?u[rdf:type-&gt;?x] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxQualifiedCardinality 0) <br />(?x owl:onProperty&nbsp;?p) <br />(?x owl:onClass&nbsp;?c)
</td><td>
<pre>(* &lt;#cls-maxqc1&gt; *)
Forall&nbsp;?u&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y]
&nbsp;?y[rdf:type-&gt;?c] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxQualifiedCardinality 0) <br />(?x owl:onProperty&nbsp;?p) <br />(?x owl:onClass owl:Thing)
</td><td>
<pre>(* &lt;#cls-maxqc2&gt; *)
Forall&nbsp;?y (
rif:error()&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxQualifiedCardinality 1) <br />(?x owl:onProperty&nbsp;?p) <br />(?x owl:onClass&nbsp;?c)
</td><td>
<pre>(* &lt;#cls-maxqc3&gt; *)
Forall&nbsp;?y2&nbsp;?u&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y1]
&nbsp;?y1[rdf:type-&gt;?c]
&nbsp;?u[?p-&gt;?y2]
&nbsp;?y2[rdf:type-&gt;?c] ))
</pre>
</td></tr>
<tr>
<td> (?x owl:maxQualifiedCardinality 1) <br />(?x owl:onProperty&nbsp;?p) <br />(?x owl:onClass owl:Thing)
</td><td>
<pre>(* &lt;#cls-maxqc4&gt; *)
Forall&nbsp;?y2&nbsp;?u&nbsp;?y1 (
&nbsp;?y1[owl:sameAs-&gt;?y2]&nbsp;:- And(
&nbsp;?u[rdf:type-&gt;?x]
&nbsp;?u[?p-&gt;?y1]
&nbsp;?u[?p-&gt;?y2] ))
</pre>
</td></tr>
<tr>
<td> (?c1 owl:hasValue&nbsp;?i)<br />(?c1 owl:onProperty&nbsp;?p1)<br />(?c2 owl:hasValue&nbsp;?i)<br />(?c2 owl:onProperty&nbsp;?p2)
</td><td>
<pre>(* &lt;#scm-hv&gt; *)
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] )
</pre>
</td></tr>
<tr>
<td> (?c1 owl:someValuesFrom&nbsp;?y1)<br />(?c1 owl:onProperty&nbsp;?p)<br />(?c2 owl:someValuesFrom&nbsp;?y2)<br />(?c2 owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#scm-svf1&gt; *)
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?y1[rdfs:subClassOf-&gt;?y2] )
</pre>
</td></tr>
<tr>
<td> (?c1 owl:someValuesFrom&nbsp;?y)<br />(?c1 owl:onProperty&nbsp;?p1)<br />(?c2 owl:someValuesFrom&nbsp;?y)<br />(?c2 owl:onProperty&nbsp;?p2)
</td><td>
<pre>(* &lt;#scm-svf2&gt; *)
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] )
</pre>
</td></tr>
<tr>
<td> (?c1 owl:allValuesFrom&nbsp;?y1)<br />(?c1 owl:onProperty&nbsp;?p)<br />(?c2 owl:allValuesFrom&nbsp;?y2)<br />(?c2 owl:onProperty&nbsp;?p)
</td><td>
<pre>(* &lt;#scm-avf1&gt; *)
&nbsp;?c1[rdfs:subClassOf-&gt;?c2]&nbsp;:- And(
&nbsp;?y1[rdfs:subClassOf-&gt;?y2] )
</pre>
</td></tr>
<tr>
<td> (?c1 owl:allValuesFrom&nbsp;?y)<br />(?c1 owl:onProperty&nbsp;?p1)<br />(?c2 owl:allValuesFrom&nbsp;?y)<br />(?c2 owl:onProperty&nbsp;?p2)
</td><td>
<pre>(* &lt;#scm-avf2&gt; *)
&nbsp;?c2[rdfs:subClassOf-&gt;?c1]&nbsp;:- And(
&nbsp;?p1[rdfs:subPropertyOf-&gt;?p2] )
</pre>
</td></tr>
<tr>
<td> (?a rdf:type owl:AllDifferent)<br />(?a owl:members&nbsp;?l)
</td><td>
<pre>for(?x in&nbsp;?l) {
for(?y in&nbsp;?l,&nbsp;!= x) {
{$
Forall (
rif:error()&nbsp;:- And (
&nbsp;?x[owl:sameAs-&gt;?y] ) )
$}
}
}
</pre>
</td></tr>
<tr>
<td> (?a rdf:type owl:AllDifferent)<br />(?a owl:distinctMembers&nbsp;?l)
</td><td>
<pre>for(?x in&nbsp;?l) {
for(?y in&nbsp;?l,&nbsp;!=&nbsp;?X) {
{$
Forall (
rif:error()&nbsp;:- And (
&nbsp;?x[owl:sameAs-&gt;?y] ) )
$}
}
}
</pre>
</td></tr>
<tr>
<td> (?l rdf:type owl:AllDisjointProperties)
</td><td>
<pre>for(?x in&nbsp;?l) {
for(?y in&nbsp;?l,&nbsp;!=&nbsp;?x) {
{$
Forall&nbsp;?p1&nbsp;?p2 (
rif:error()&nbsp;:- And (
&nbsp;?x[?p1-&gt;?y&nbsp;?p2-&gt;?y]) )
$}
}
}
</pre>
</td></tr>
<tr>
<td> (?l rdf:type owl:AllDisjointClasses)
</td><td>
<pre>for(?x in&nbsp;?l) {
for(?y in&nbsp;?l,&nbsp;!=&nbsp;?x) {
{$
Forall&nbsp;?c1&nbsp;?c2 (
rif:error()&nbsp;:- And (
&nbsp;?x[rdf:type-&gt;?c1 rdf:type-&gt;?c2]) )
$}
}
}
</pre>
</td></tr>
<tr>
<td> (?p owl:propertyChainAxiom&nbsp;?pc)
</td><td>
<pre>{$
Forall&nbsp;?u0&nbsp;?u$length(?pc)$ (
&nbsp;?start[?p-&gt;?last]&nbsp;:- And (
$}
for(?next in&nbsp;?sc) {
{$
&nbsp;?u$i$[?next-&gt;?u$i+1$]
$}
}
{$ )) $}
</pre>
</td></tr>
<tr>
<td> (?c owl:hasKey&nbsp;?u)
</td><td>
<pre>{$
Forall&nbsp;?x&nbsp;?y (
&nbsp;?x[owl:sameAs-&gt;?y]&nbsp;:- And (
&nbsp;?x[rdf:type-&gt;?c] &nbsp;?y[rdf:type-&gt;?c]
$}
for(?key in&nbsp;?u) {
{$
&nbsp;?x[?key-&gt;?v]&nbsp;?y[?key-&gt;?v]
$}
}
{$ )) $}
</pre>
</td></tr>
<tr>
<td> (?c owl:intersectionOf&nbsp;?l)
</td><td>
<pre>{$
Forall&nbsp;?y (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
$}
for(?ty in&nbsp;?l) {
{$
&nbsp;?y[rdf:type-&gt;?ty]
$}
}
{$ )) $}
</pre>
</td></tr>
<tr>
<td> (?c owl:unionOf&nbsp;?l)
</td><td>
<pre>for(?ci in&nbsp;?l) {
{$
Forall&nbsp;?y (
&nbsp;?y[rdf:type-&gt;?c]&nbsp;:- And (
&nbsp;?y[rdf:type-&gt;?ci] ))
$}
}
</pre>
</td></tr>
<tr>
<td> (?c owl:oneOf&nbsp;?l)
</td><td>
<pre>for(?yi in&nbsp;?l) {
{$
&nbsp;?yi[rdf:type-&gt;?c]
$}
}
</pre>
</td></tr>
<tr>
<td> (?c owl:intersectionOf&nbsp;?l)
</td><td>
<pre>for(?ci in&nbsp;?l) {
{$
Forall&nbsp;?y (
&nbsp;?y[rdf:type-&gt;?ci]&nbsp;:- And (
&nbsp;?y[rdf:type-&gt;?c] ))
Forall(&nbsp;?c[rdfs:subClassOf-&gt;?ci] )
$}
}
</pre>
</td></tr>
<tr>
<td> (?c owl:unionOf&nbsp;?l)
</td><td>
<pre>for(?ci in&nbsp;?l) {
{$
&nbsp;?ci[rdfs:subClassOf-&gt;?c]
$}
}
</pre>
</td></tr>
<tr>
<td> (?x owl:sourceIndividual&nbsp;?i1)<br />(?x owl:assertionProperty&nbsp;?p)<br />(?x owl:targetIndividual&nbsp;?i2)
</td><td>
<pre>(* &lt;#prp-npa1&gt; *)
rif:error()&nbsp;:- And(
&nbsp;?i1[?p-&gt;?i2] )
</pre>
</td></tr>
<tr>
<td> (?x owl:sourceIndividual&nbsp;?i1)<br />(?x owl:assertionProperty&nbsp;?p)<br />(?x owl:targetValue&nbsp;?i2)
</td><td>
<pre>(* &lt;#prp-npa2&gt; *)
rif:error()&nbsp;:- And(
&nbsp;?i1[?p-&gt;?i2] )
</pre>
</td></tr>
<tr>
<td> (?c1 owl:disjointWith&nbsp;?c2)
</td><td>
<pre>(* &lt;#cax-dw&gt; *)
Forall&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
</td></tr>
<tr>
<td> (?c1 owl:complementOf&nbsp;?c2)
</td><td>
<pre>(* &lt;#cls-com&gt; *)
Forall&nbsp;?x (
rif:error()&nbsp;:- And(
&nbsp;?x[rdf:type-&gt;?c1]
&nbsp;?x[rdf:type-&gt;?c2] ))
</pre>
</td></tr></table>
<div id="appendix-XML"></div>
<a id="Appendix:_OWL_2_RL_ruleset_-_XML_syntax" name="Appendix:_OWL_2_RL_ruleset_-_XML_syntax"></a><h2> <span class="mw-headline">9 Appendix: OWL 2 RL ruleset - XML syntax </span></h2>
<p>We provide the fixed ruleset in XML syntax below, split into three groups.
</p><p><b>Simple triple rules</b>
</p>
<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE Document [
&lt;!ENTITY rif "http://www.w3.org/2007/rif#"&gt;
&lt;!ENTITY xs "http://www.w3.org/2001/XMLSchema#"&gt;
&lt;!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
]&gt;
&lt;Document xmlns="&amp;rif;"&gt;
&lt;payload&gt;
&lt;Group&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;o2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;o2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#differentFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#label&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#comment&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#seeAlso&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#isDefinedBy&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#deprecated&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#priorVersion&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#backwardCompatibleWith&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#incompatibleWith&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AnnotationProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#domain&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#range&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#FunctionalProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#InverseFunctionalProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;x2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#IrreflexiveProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#SymmetricProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AsymmetricProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#TransitiveProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;z&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#propertyDisjointWith&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#inverseOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#inverseOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Thing&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Nothing&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Nothing&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Thing&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#allValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasValue&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasValue&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;0&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;1&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxQualifiedCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;0&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onClass&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxQualifiedCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;0&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onClass&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Thing&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxQualifiedCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;1&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onClass&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#maxQualifiedCardinality&lt;/Const&gt;
&lt;Const type="&amp;xs;integer"&gt;1&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onClass&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Thing&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#disjointWith&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Thing&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Class&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#Nothing&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c3&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c3&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c3&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentClass&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#ObjectProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#ObjectProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#DatatypeProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#DatatypeProperty&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p3&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p3&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p3&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#equivalentProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#domain&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#domain&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#domain&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#domain&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#range&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#range&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#range&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#range&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasValue&lt;/Const&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasValue&lt;/Const&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#someValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#allValuesFrom&lt;/Const&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#allValuesFrom&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;y2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#allValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#allValuesFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#onProperty&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&lt;/Const&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;i1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;i2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sourceIndividual&lt;/Const&gt;
&lt;Var&gt;i1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#assertionProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#targetIndividual&lt;/Const&gt;
&lt;Var&gt;i2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;i1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;i2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sourceIndividual&lt;/Const&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#assertionProperty&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#targetValue&lt;/Const&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;i&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#disjointWith&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#complementOf&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c1&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;/Group&gt;
&lt;/payload&gt;
&lt;/Document&gt;
</pre>
<p><b>Datatype rules</b>
</p>
<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE Document [
&lt;!ENTITY rif "http://www.w3.org/2007/rif#"&gt;
&lt;!ENTITY xs "http://www.w3.org/2001/XMLSchema#"&gt;
&lt;!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
]&gt;
&lt;Document xmlns="&amp;rif;"&gt;
&lt;payload&gt;
&lt;Group&gt;
&lt;sentence&gt;
&lt;Group&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-PlainLiteral&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-XMLLiteral&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-decimal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#decimal&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-integer&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#integer&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-nonNegativeInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonNegativeInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-nonPositiveInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonPositiveInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-positiveInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#positiveInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-negativeInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#negativeInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-long&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#long&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-int&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#int&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-short&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#short&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-byte&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#byte&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-unsignedLong&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedLong&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-unsignedInt&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedInt&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-unsignedShort&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedShort&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-unsignedByte&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedByte&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-float&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#float&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-double&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#double&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-string&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#string&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-normalizedString&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#normalizedString&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-token&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#token&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-language&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#language&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-Name&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#Name&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-NCName&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NCName&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-NMTOKEN&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NMTOKEN&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-boolean&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#boolean&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-hexBinary&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#hexBinary&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-base64Binary&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#base64Binary&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-anyURI&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#anyURI&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-dateTime&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTime&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-dateTimeStamp&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTimeStamp&lt;/Const&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;/Group&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Group&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-PlainLiteral&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-XMLLiteral&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#decimal&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-decimal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#integer&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-integer&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonNegativeInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-nonNegativeInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonPositiveInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-nonPositiveInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#positiveInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-positiveInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#negativeInteger&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-negativeInteger&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#long&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-long&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#int&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-int&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#short&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-short&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#byte&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-byte&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedLong&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-unsignedLong&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedInt&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-unsignedInt&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedShort&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-unsignedShort&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedByte&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-unsignedByte&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#float&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-float&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#double&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-double&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#string&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-string&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#normalizedString&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-normalizedString&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#token&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-token&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#language&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-language&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#Name&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-Name&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NCName&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-NCName&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NMTOKEN&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-NMTOKEN&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#boolean&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-boolean&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#hexBinary&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-hexBinary&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#base64Binary&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-base64Binary&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#anyURI&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-anyURI&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTime&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-dateTime&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTimeStamp&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#is-literal-not-dateTimeStamp&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;lt&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;/Group&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#literalNotIdentical&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p1&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;s2&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p2&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#differentFrom&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#decimal&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#integer&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#double&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#string&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTime&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Literal&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonNegativeInteger&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#nonPositiveInteger&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#positiveInteger&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#negativeInteger&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#long&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#int&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#short&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#byte&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedLong&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedInt&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedShort&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#unsignedByte&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#normalizedString&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#token&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#language&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#Name&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NCName&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#NMTOKEN&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#float&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#boolean&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#hexBinary&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#base64Binary&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#anyURI&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2001/XMLSchema#dateTimeStamp&lt;/Const&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#Datatype&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/sentence&gt;
&lt;/Group&gt;
&lt;/payload&gt;
&lt;/Document&gt;
</pre>
<p><b>List rules</b>
</p>
<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE Document [
&lt;!ENTITY rif "http://www.w3.org/2007/rif#"&gt;
&lt;!ENTITY xs "http://www.w3.org/2001/XMLSchema#"&gt;
&lt;!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
]&gt;
&lt;Document xmlns="&amp;rif;"&gt;
&lt;payload&gt;
&lt;Group&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AllDifferent&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#members&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#numeric-not-equal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AllDifferent&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#distinctMembers&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#numeric-not-equal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;iz1&lt;/Var&gt;
&lt;Var&gt;iz2&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;z1&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;z2&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AllDisjointProperties&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#members&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#numeric-not-equal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#AllDisjointClasses&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;r&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#members&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Equal&gt;
&lt;left&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/left&gt;
&lt;right&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Expr&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-function#index-of&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Expr&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/right&gt;
&lt;/Equal&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#numeric-not-equal&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;ix&lt;/Var&gt;
&lt;Var&gt;iy&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;o&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif#error&lt;/Const&gt;
&lt;/op&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#propertyChainAxiom&lt;/Const&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;checkChain&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;next&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;checkChain&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;next&lt;/Var&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;checkChain&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;p&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;checkChain&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;start&lt;/Var&gt;
&lt;Var&gt;pc&lt;/Var&gt;
&lt;Var&gt;last&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasKey&lt;/Const&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#intersectionOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;allTypes&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;allTypes&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;allTypes&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;ty&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;allTypes&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#hasKey&lt;/Const&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#sameAs&lt;/Const&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;tl&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&lt;/Const&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;/slot&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&lt;/Const&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&lt;/Const&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Var&gt;key&lt;/Var&gt;
&lt;Var&gt;v&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;local"&gt;sameKey&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;u&lt;/Var&gt;
&lt;Var&gt;x&lt;/Var&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#unionOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;yi&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#oneOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;yi&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;yi&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#intersectionOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;y&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/Const&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#intersectionOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;sentence&gt;
&lt;Forall&gt;
&lt;declare&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/declare&gt;
&lt;declare&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/declare&gt;
&lt;formula&gt;
&lt;Implies&gt;
&lt;if&gt;
&lt;And&gt;
&lt;formula&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2002/07/owl#unionOf&lt;/Const&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/formula&gt;
&lt;formula&gt;
&lt;External&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;op&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2007/rif-builtin-predicate#list-contains&lt;/Const&gt;
&lt;/op&gt;
&lt;args ordered="yes"&gt;
&lt;Var&gt;l&lt;/Var&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/args&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/External&gt;
&lt;/formula&gt;
&lt;/And&gt;
&lt;/if&gt;
&lt;then&gt;
&lt;Frame&gt;
&lt;object&gt;
&lt;Var&gt;ci&lt;/Var&gt;
&lt;/object&gt;
&lt;slot ordered="yes"&gt;
&lt;Const type="&amp;rif;iri"&gt;http://www.w3.org/2000/01/rdf-schema#subClassOf&lt;/Const&gt;
&lt;Var&gt;c&lt;/Var&gt;
&lt;/slot&gt;
&lt;/Frame&gt;
&lt;/then&gt;
&lt;/Implies&gt;
&lt;/formula&gt;
&lt;/Forall&gt;
&lt;/sentence&gt;
&lt;/Group&gt;
&lt;/payload&gt;
&lt;/Document&gt;
</pre>
<div id="changelog"></div>
<a id="Appendix:_Change_Log_.28Informative.29" name="Appendix:_Change_Log_.28Informative.29"></a><h2> <span class="mw-headline">10 Appendix: Change Log (Informative) </span></h2>
<p>This section summarizes changes with the first <a class="external text" href="http://www.w3.org/TR/2009/WD-rif-owl-rl-20091001/" title="http://www.w3.org/TR/2009/WD-rif-owl-rl-20091001/">Working Draft of 1st October 2009</a>.
</p>
<ul><li> Fixed errors in rules eq-diff2, prp-adp, cax-adc; added missing rule eq-diff3. Other small syntactic fixes to prp-key.
</li><li> Updated and corrected list of datatypes.
</li><li> Updated to use RIF List operators for handling of RDF lists.
</li><li> Fixed syntax errors in rule names (missing angle brackets in relative URIs)
</li><li> Fixed use of Forall with empty variable list
</li></ul>
</body>
</html>