what is a rule?

From: pat hayes (phayes@ai.uwf.edu)
Date: 02/25/03

  • Next message: Benjamin Grosof: "no telecon next week due to W3C Plenary"
    Attached are some @comments@ on Gerd's statement.
    ----
    Statement  by Gerd Wagner prepared on request of the Joint  Committee .
    13-Feb-2003
    
    It is hard to define what is a rule and, although we can come up with 
    a  formal account for a specific type of rule, I think we should 
    better not try to find a definitive formal account for "rules", in 
    general. 
    
    @ Unless we do, it seems to me that the discussion is vacuous. We 
    literally do not know what we are talking about. @
    
      Rather,  I suggest to consider rules at three different levels [ 1]:
    At the problem domain level, rules are statements that express 
    (certain  parts of) a business/domain policy (e.g., defining terms of 
    the domain language,  defining or constraining domain operations) in 
    a declarative
    
    @ Please say what is meant by 'declarative' here. See later comments. @
    
      manner, typically  using natural language or a visual language.
    Some examples:
    "A gold customer is a customer with more than $1MM on deposit."
    "The driver of a rental car must be at least 25 years old."
    
    @ That is not a declarative statement, at least with its usual 
    intended meaning in such a context, i.e. to constrain behaviors. @
    
    "If any 3 of the named analysts report a strong buy on the same 
    stock within the same day and before the market closes, then buy 1000 
    units  of that stock."
    
    @ That is also not a declarative: it is an imperative. @
    
    At the (platform-independent) computational level, rules are formal 
    statements that operationalize domain policies and can be easily 
    mapped into  executable statements of a programming platform.
    
    @ That seems to cover any programming platform at all. @
    
    Rule languages used at this level are RuleML 0.82, SQL-99, OCL 2.0, 
    ISO Prolog or KIF.
    
    @ KIF is purely an assertional logic, and cannot be 'easily mapped' 
    into executable statements. In fact I don't think it can be mapped 
    into any kind of executable statements in any reasonable sense of 
    'mapped'. @
    
    At the (platform-specific) execution level, rules are statements in 
    a specific executable language, such as Jess, XSB or the Microsoft 
    Outlook  Rule Wizzard.
    In any case, rules are modular, stand-alone units, which directly 
    support  or involve some form of reasoning.
    
    @ To me, what you have said is that rules are chalk, and therefore 
    rules are cheese. Look, both the second and third items in your list 
    emphasize *executable*; you are apparently talking about code, not 
    assertions. But then you immediately go on to sum this up using the 
    words 'stand-alone' and 'reasoning'. Reasoning and computation are 
    NOT the same; they are fundamentally different. So which one are we 
    talking about here? @
    
      They may, for instance, specify
    derivations (e.g. for defining derived concepts),
    static and dynamic integrity constraints (e.g. for constraining the 
    state space or the execution histories of a system/agent),
    reactions (e.g. for specifying the reactive behavior of a 
    system/agent in response to events) 
    
    @ in what sense is a 'reaction' anything to do with reasoning?? @
    
    Given the linguistic richness and the dynamics of natural problem 
    domains, it  should be clear that any specific account of rules, such 
    as classical logic  Horn clauses, must be viewed as a limited 
    descriptive theory that captures  only a certain fragment of the 
    entire conceptual space of rules
    
    @ My point has always been that this is meaningless, or empty, since 
    there IS no conceptual space of 'rules' (other than the whole of 
    computation: and in your case, even more, including all of human 
    behavior). You havn't said anything to make me think I am wrong. @
    
    , and not as a definitive, normative account (see also the discussion 
    at 
    http://lists.w3.org/Archives/Public/www-rdf-rules/2001Sep/0079.html 
    ).  We need a pluralistic approach to the heterogeneous conceptual 
    space of rules. Therefore, in RuleML a family of rule languages 
    capturing the most important types of rules is going to be defined. 
    Each of these languages will have a recommended formal semantics, but 
    may have one or more alternate acceptable semantics. This will 
    accommodate various formalisms based on non-standard logics, 
    supporting temporal, fuzzy, defeasible and other forms of reasoning.
    
    @ It would be more helpful if you could say what they might NOT include. @
    
    Pat Hayes
    
    
    
    -- 
    ---------------------------------------------------------------------
    IHMC					(850)434 8903 or (650)494 3973   home
    40 South Alcaniz St.			(850)202 4416   office
    Pensacola              			(850)202 4440   fax
    FL 32501           				(850)291 0667    cell
    phayes@ai.uwf.edu	          http://www.coginst.uwf.edu/~phayes
    s.pam@ai.uwf.edu   for spam
    


    This archive was generated by hypermail 2.1.4 : 02/25/03 EST