<?xml version="1.0" encoding="ISO-8859-1"?> 

<!DOCTYPE uridef [
    <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" > 
    <!ENTITY xg   "http://www.darpa.mil/xg/ontology#" >
    <!ENTITY xgsri "http://www.sri.com/xg/ontology#" >
    <!ENTITY swrlb  "http://www.w3.org/2003/11/swrlb#" > ] >

<owlx:Ontology owlx:name="http://www.sri.com/xg/ontology" 
  xmlns:owlx   = "http://www.w3.org/2003/05/owl-xml"
  xmlns:ruleml = "http://www.w3.org/2003/11/ruleml"
  xmlns:swrlx  = "http://www.w3.org/2003/11/swrlx"
  xmlns:fol    = "http://www.daml.org/2004/11/fol/fol"
  xmlns:xg     = "http://www.darpa.mil/xg/ontology"
  xmlns        = "http://www.sri.com/xg/ontology" >

<!-- This should always be loaded for the maude reasoner to work. -->

<owlx:Class owlx:name="Permit" />
<owlx:Class owlx:name="Allow" xg:inductive="true" />
<owlx:Class owlx:name="Disallow" xg:inductive="true" />
<owlx:Individual owlx:name="freq"/>

<!-- Meta-policy, forall f : Permit(f) iff Allow(f) and not Disallow(f) -->

<fol:Assertion>
  <fol:Equivalent>
    <swrlx:classAtom>
      <owlx:Class owlx:name="Permit" />
      <ruleml:var>f</ruleml:var>
    </swrlx:classAtom>
    <fol:And>	
      <swrlx:classAtom>
	<owlx:Class owlx:name="Allow" />
        <ruleml:var>f</ruleml:var>
      </swrlx:classAtom>
      <fol:Not>
	<swrlx:classAtom>
	  <owlx:Class owlx:name="Disallow" />
          <ruleml:var>f</ruleml:var>
	</swrlx:classAtom>
      </fol:Not>
    </fol:And>
  </fol:Equivalent>
</fol:Assertion>

</owlx:Ontology>
