<?xml version="1.0" encoding="UTF-8"?>
<PositiveEntailmentTest id="Equality_in_condition"
    src="http://www.w3.org/2005/rules/test/repository/tc/Equality_in_condition" xmlns="http://www.w3.org/2009/10/rif-test#">
    <status>Approved</status>
    <dialect>BLD</dialect>
    <purpose>Demonstrate equational use of equality</purpose>
    <description>Define a predicate to be true when x^3-x=0</description>
    <PremiseDocument>
        <Normative syntax="RIF/XML">
            <name>Equality_in_condition-premise.rif</name>
            <remote>http://www.w3.org/2005/rules/test/repository/tc/Equality_in_condition/Equality_in_condition-premise.rif</remote>
        </Normative>
        <Presentation syntax="RIFBLD-PS"><![CDATA[
Document(
  Prefix(ex <http://example.org/example#>)
  Prefix(func <http://www.w3.org/2007/rif-builtin-function#>)
  Prefix(pred <http://www.w3.org/2007/rif-builtin-predicate#>)
  Prefix(xs <http://www.w3.org/2001/XMLSchema#>)

  Group(
   Forall ?x ( 
     ex:root(?x) :-
       And (External(pred:is-literal-decimal(?x))
              External(func:numeric-subtract(External(func:numeric-multiply(?x External(func:numeric-multiply(?x ?x)))) ?x))
                  = "0"^^xs:decimal
       )
   )
  )
 )
]]></Presentation>
    </PremiseDocument>
    <ConclusionDocument>
        <Normative syntax="RIF/XML">
            <name>Equality_in_condition-conclusion.rif</name>
            <remote>http://www.w3.org/2005/rules/test/repository/tc/Equality_in_condition/Equality_in_condition-conclusion.rif</remote>
        </Normative>
        <Presentation syntax="RIFBLD-PS"><![CDATA[
And (
      ex:root("-1"^^xs:decimal)
      ex:root("0"^^xs:decimal)
      ex:root("1"^^xs:decimal)
  )
]]></Presentation>
    </ConclusionDocument>
</PositiveEntailmentTest>
