OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

legalruleml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [Defeasibility] Complaint example


I have created some possible renderings of the defeasibility example submitted by Guido:

"Complaint means an expression of dissatisfaction made to a Supplier in relation to its Telecommunications Products or the complaints handling process itself, where a response or Resolution is explicitly or implicitly expected by the Consumer.

An initial call to a provider to request a service or information or to request support is not necessarily a Complaint.

An initial call to report a fault or service difficulty is not a Complaint.

However, if a Customer advises that they want this initial call treated as a Complaint, the Supplier will also treat this initial call as a Complaint.

If a Supplier is uncertain, a Supplier must ask a Customer if they wish to make a Complaint and must rely on the Customer’s response."

In the first case, ex2.1.1-complaint.lrml, attached, I aimed to have the minimum level of decomposition possible.

I used the Reaction RuleML element <Rule>, which in the latest revision has a @key or @keyref attribute to allow referencing for the Overrides statement.

The @key attribute is specified using <xsd:key> (or equivalent Schematron rules in the case of Relax NG schemas) to be unique over the node set of <Rule> elements. Also, to be valid, the @keyref attribute on a <Rule> element must reference a key defined by @key on a <Rule> element within the current document.

It was sufficient to quantify over a single variable for each rule, representing in each case the thing that we wish to classify as a Complaint or not.

However, there was a lot of duplication. Therefore I considered in ex2.1.1c-complaint.lrml, also attached, extending the key/keyref functionality to <Rel>s. In the manner that <xsd:key> is implemented, there can be independent sets of values, one set for <Rule>, one set for <Rel>, with existence and uniqueness checked independently among them.

This appears to work out alright at this level of decomposition, provided we do not examine the last sentence of the example. Once we look at that sentence, I think we will discover the need for a finer-level of decomposition of the others. But I think the minimal approach is OK for a pedagogical example.

Tara



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RuleML [
<!ENTITY ruleml "http://ruleml.org/";>  
<!ENTITY dfs "http://example.org/vocabulary/defeasible#";>  
]>
<RuleML xmlns="&ruleml;spec"
  xmlns:legalruleml="http://legalruleml.example.org";>
  <legalruleml:metadata>  
    <!-- The metadata blocks go here ... -->
  </legalruleml:metadata>
  <Assert mapClosure="universal" mapMaterial="no">

    <!-- Sentence 1 -->
    <!--Original:
    Complaint means an expression of dissatisfaction made to a Supplier in relation 
    to its Telecommunications Products or the complaints handling process itself, 
    where a response or Resolution is explicitly or implicitly expected by the Consumer.  
    -->
    <!-- Paraphrase:
    Rule 1a.
    If X is a Complaint, then X is an expression of dissatisfaction made to a 
    Supplier in relation to its Telecommunications Products or the complaints 
    handling process itself, where a response or Resolution is explicitly or 
    implicitly expected by the Consumer.
    Rule 1b.
    If X is an expression of dissatisfaction made to a Supplier in relation to 
    its Telecommunications Products or the complaints handling process itself, 
    where a response or Resolution is explicitly or implicitly expected by the Consumer, 
    then X is a Complaint.  
    -->
    <!-- Issues:
    To be stated as defeasible rules, we must have the representation
    as two defeasible rules, because one rule may be defeated while the other holds.
    Isomorphism is not lost because there is still a fixed set of two rules that are affected
    by changes in the text of the first sentence.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible"
        key="rule_1a">
        <if>
          <Atom>
            <Var>X</Var>
            <Rel>is a Complaint</Rel>
          </Atom>
        </if>
        <then>
          <Atom>
            <Var>X</Var>
            <Rel>is an expression of dissatisfaction made to a Supplier in relation to its Telecommunications Products or the complaints handling process itself, where a response or Resolution is explicitly or implicitly expected by the Consumer</Rel>
          </Atom>
        </then>
      </Rule>
      <Rule legalruleml:strength="&dfs;defeasible"
        key="rule_1b">
        <if>
          <Atom>
            <Var>X</Var>
            <Rel>is an expression of dissatisfaction made to a Supplier in relation to its Telecommunications Products or the complaints handling process itself, where a response or Resolution is explicitly or implicitly expected by the Consumer</Rel>
          </Atom>
        </if>
        <then>
          <Atom>
            <Var>X</Var>
            <Rel>is a Complaint</Rel>
          </Atom>
        </then>
      </Rule>
    </Rulebase>

    <!-- Sentence 2 -->
    <!--Original: 
      An initial call to a provider to request a service or information or to request support 
      is not necessarily a Complaint. 
    -->
    <!-- Paraphrase:
      If Y is an initial call to a provider to request a service or information or to 
      request support,
      then it is not necessarily the case that Y is a complaint.
    -->
    <!-- Issues:
      While <Neg> would normally be stated in controlled English as "is not the case that",
      which is stronger than the original phrase " is not necessarily",
      the sense of the original is captured by weakening the rule to a defeater.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeater" key="rule_2">
        <if>
          <Atom>
            <Var>Y</Var>
            <Rel>is an initial call to a provider to request a service or information or to request support</Rel>
          </Atom>
        </if>
        <then>
          <Neg>
            <Atom>
              <Var>Y</Var>
              <Rel>is a Complaint</Rel>
            </Atom>
          </Neg>
        </then>
      </Rule>
      <Overrides>
        <!-- Issues: The individuals referenced here are non-ground rules with
             different free variables. The rules are implicitly determined to be
             in conflict if the logical closure of their heads is inconsistent.-->
        <Rule keyref="rule_2"/>
        <Rule keyref="rule_1b"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 3 -->
    <!--Original: 
      An initial call to report a fault or service difficulty is not a Complaint. 
    -->
    <!-- Paraphrase:
      If W is an initial call to report a fault or service difficulty,
      then it is not the case that W is a complaint.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible" key="rule_3">
        <if>
          <Atom>
            <Var>W</Var>
            <Rel>is an initial call to report a fault or service difficulty</Rel>
          </Atom>
        </if>
        <then>
          <Neg>
            <Atom>
              <Var>W</Var>
              <Rel>is a Complaint</Rel>
            </Atom>
          </Neg>
        </then>
      </Rule>
      <Overrides>
        <!-- Issues: The individuals referenced here are non-ground rules with
             different free variables. The rules are implicitly determined to be
             in conflict if the logical closure of their consequents (then part) is inconsistent.-->
        <Rule keyref="rule_3"/>
        <Rule keyref="rule_1b"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 4 -->
    <!--Original: 
      However, if a Customer advises that they want this initial call treated as a 
      Complaint, the Supplier will also treat this initial call as a Complaint. 
    -->
    <!-- Paraphrase:
     If Z is an initial call to a provider to request a service or information or to 
     request support and
      Z is an initial call that the Customer advises they want treated as a Complaint, 
     then Z is a Complaint.
    -->
    <!-- Issues:
    The original phrasing "the Supplier will also treat this initial call as a" has a deontic flavor 
    which is not fully captured by the conversion to "Z is a".
    However, the legal effect of the paraphrase is completely equivalent to the original.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible" key="rule_4">
        <if>
          <And>
            <Atom>
              <Var>Z</Var>
            <Rel>is an initial call to report a fault or service difficulty</Rel>
            </Atom>
            <Atom>
              <Var>Z</Var>
              <Rel>is an initial call that the Customer advises they want treated as a Complaint</Rel>
            </Atom>
          </And>
        </if>
        <then>
          <Atom>
            <Var>Z</Var>
            <Rel>is a Complaint</Rel>
          </Atom>
        </then>
      </Rule>
      <Overrides>
        <Rule keyref="rule_4"/>
        <Rule keyref="rule_3"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 5 -->
    <!-- Original:
      If a Supplier is uncertain, a Supplier must ask a Customer if they wish to make 
      a Complaint and must rely on the Customerâ??s response.
    -->
    <!-- This statement is not definitional, but is deontic.
         It also requires a more detailed domain of discourse,
         including at least the Supplier.
    -->

  </Assert>
</RuleML>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RuleML [
<!ENTITY ruleml "http://ruleml.org/";> 
<!ENTITY dfs "http://example.org/vocabulary/defeasible#";>  
]>
<RuleML xmlns="&ruleml;spec"
  xmlns:legalruleml="http://legalruleml.example.org";>
  <legalruleml:metadata >
    <!-- The metadata blocks go here ... -->
    <keys>
      <key>
        <Rel key="rel_complaint">is a Complaint</Rel>
      </key>
      <key>
        <Rel key="rel_complaint_definition_1"
          >is an expression of dissatisfaction made to a Supplier in relation to its Telecommunications Products or the complaints handling process itself, where a response or Resolution is explicitly or implicitly expected by the Consumer</Rel>
      </key>
      <key>
        <Rel key="rel_initial_call"
          >is an initial call to a provider to request a service or information or to request support</Rel>
      </key>
      <key>
        <Rel key="rel_initial_call_difficulty"
          >is an initial call to report a fault or service difficulty</Rel>
      </key>
      <key>
        <Rel key="rel_customer_advises_complaint"
          >is an initial call that the Customer advises they want treated as a Complaint</Rel>
      </key>
    </keys>
  </legalruleml:metadata>

  <Assert mapClosure="universal" mapMaterial="no">

    <!-- Sentence 1 -->
    <!--Original:
    Complaint means an expression of dissatisfaction made to a Supplier in relation 
    to its Telecommunications Products or the complaints handling process itself, 
    where a response or Resolution is explicitly or implicitly expected by the Consumer.  
    -->
    <!-- Paraphrase:
    Rule 1a.
    If X is a Complaint, then X is an expression of dissatisfaction made to a 
    Supplier in relation to its Telecommunications Products or the complaints 
    handling process itself, where a response or Resolution is explicitly or 
    implicitly expected by the Consumer.
    Rule 1b.
    If X is an expression of dissatisfaction made to a Supplier in relation to 
    its Telecommunications Products or the complaints handling process itself, 
    where a response or Resolution is explicitly or implicitly expected by the Consumer, 
    then X is a Complaint.  
    -->
    <!-- Issues:
    To be stated as defeasible rules, we must have the representation
    as two defeasible rules, because one rule may be defeated while the other holds.
    Isomorphism is not lost because there is still a fixed set of two rules that are affected
    by changes in the text of the first sentence.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible"
        key="rule_1a">
        <if>
          <Atom>
            <Var>X</Var>
            <Rel keyref="rel_complaint"/>
          </Atom>
        </if>
        <then>
          <Atom>
            <Var>X</Var>
            <Rel keyref="rel_complaint_definition_1"/>
          </Atom>
        </then>
      </Rule>

      <Rule legalruleml:strength="&dfs;defeasible"
        key="rule_1b">
        <if>
          <Atom>
            <Var>X</Var>
            <Rel keyref="rel_complaint_definition_1"/>
          </Atom>
        </if>
        <then>
          <Atom>
            <Var>X</Var>
            <Rel keyref="rel_complaint"/>
          </Atom>
        </then>
      </Rule>
    </Rulebase>

    <!-- Sentence 2 -->
    <!--Original: 
      An initial call to a provider to request a service or information or to request support 
      is not necessarily a Complaint. 
    -->
    <!-- Paraphrase:
      If Y is an initial call to a provider to request a service or information or to 
      request support,
      then it is not necessarily the case that Y is a complaint.
    -->
    <!-- Issues:
      While <Neg> would normally be stated in controlled English as "is not the case that",
      which is stronger than the original phrase " is not necessarily",
      the sense of the original is captured by weakening the rule to a defeater.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeater" key="rule_2">
        <if>
          <Atom>
            <Var>Y</Var>
            <Rel keyref="rel_initial_call"/>
          </Atom>
        </if>
        <then>
          <Neg>
            <Atom>
              <Var>Y</Var>
              <Rel keyref="rel_complaint"/>
            </Atom>
          </Neg>
        </then>
      </Rule>
      <Overrides>
        <!-- Issues: The individuals referenced here are non-ground rules with
             different free variables. The rules are implicitly determined to be
             in conflict if the logical closure of their consequents is inconsistent.-->
        <Rule keyref="rule_2"/>
        <Rule keyref="rule_1b"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 3 -->
    <!--Original: 
      An initial call to report a fault or service difficulty is not a Complaint. 
    -->
    <!-- Paraphrase:
      If W is an initial call to report a fault or service difficulty,
      then it is not the case that W is a complaint.
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible" key="rule_3">
        <if>
          <Atom>
            <Var>W</Var>
            <Rel keyref="rel_intial_call_difficulty"/>
          </Atom>
        </if>
        <then>
          <Neg>
            <Atom>
              <Var>W</Var>
              <Rel keyref="rel_complaint"/>
            </Atom>
          </Neg>
        </then>
      </Rule>
      <Overrides>
        <!-- Issues: The individuals referenced here are non-ground rules with
             different free variables. The rules are implicitly determined to be
             in conflict if the logical closure of their heads is inconsistent.-->
        <Rule keyref="rule_3"/>
        <Rule keyref="rule_1b"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 4 -->
    <!--Original: 
      However, if a Customer advises that they want this initial call treated as a 
      Complaint, the Supplier will also treat this initial call as a Complaint. 
    -->
    <!-- Paraphrase:
     If Z is an initial call to a provider to request a service or information or to 
     request support and
      Z is an initial call that the Customer advises they want treated as a Complaint, 
     then Z is a Complaint.
    -->
    <!-- Issues:
    The original phrasing "the Supplier will also treat this initial call as a ..." h
    as a deontic flavor 
    which is not fully captured by the conversion to "Z is a ...".
    Is the legal effect of the paraphrase completely equivalent to the original?
    -->
    <Rulebase>
      <Rule legalruleml:strength="&dfs;defeasible" key="rule_4">
        <if>
          <And>
            <Atom>
              <Var>Z</Var>
              <Rel keyref="rel_initial_call_difficulty"/>
            </Atom>
            <Atom>
              <Var>Z</Var>
              <Rel keyref="rel_customer_advises_complaint"/>
            </Atom>
          </And>
        </if>
        <then>
          <Atom>
            <Var>Z</Var>
            <Rel keyref="rel_complaint"/>
          </Atom>
        </then>
      </Rule>
      <Overrides>
        <Rule keyref="rule_4"/>
        <Rule keyref="rule_3"/>
      </Overrides>
    </Rulebase>

    <!-- Sentence 5 -->
    <!-- Original:
      If a Supplier is uncertain, a Supplier must ask a Customer if they wish to make 
      a Complaint and must rely on the Customerâ??s response.
    -->
    <!-- This statement is not definitional, but is deontic.
         It also requires a more detailed domain of discourse,
         including at least the Supplier.
    -->

  </Assert>
</RuleML>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]