default namespace d0e1_ns = "http://www.aiai.ed.ac.uk/project/ix/"
namespace local = ""
namespace inh = inherit

include "ix.rnc"
{
   constraint =
      element constraint
      {
         attribute type { xsd:string - "world-state" }?,
         attribute relation { symbol-value }?,
         attribute sender-id { name-value }?,
         ( element parameters { \list }? & element annotations { map }? )
      }
}

constraint |= known-constraint

known-constraint |=
   element constraint
   {
      attribute type { "world-state" },
      attribute relation { "condition" },
      attribute sender-id { name-value }?,
      (
         element parameters { element list { pattern-assignment } }
       & element annotations { map }?
      )
   }

known-constraint |=
   element constraint
   {
      attribute type { "world-state" },
      attribute relation { "effect" },
      attribute sender-id { name-value }?,
      (
         element parameters { element list { pattern-assignment } }
       & element annotations { map }?
      )
   }
