SBVR 1.0b2 FTF Avatar
  1. OMG Issue

SBVR — Logical formulations are fact-types

  • Key: SBVR-17
  • Legacy Issue Number: 9258
  • Status: closed  
  • Source: Thematix Partners LLC ( Mr. Edward J. Barkmeyer)
  • Summary:

    In SBVR clause 9.1.1.6 (or 9.2.6 in later editions?), a "logical operator" is defined to be a (subtype of) logical formulation. The definition of logical-formulation says it is the interpretation of a logical formula. So logical formulation has to assign a semantic fact-type to a formula. But what is modeled in 9.2.6 is the logical formula, not the interpretation. What is modeled is "operator has operands", which is a grammatical notion, or perhaps a computational notion (Boolean expression). But the logical formulation is the interpretation of the operator and its operands as a fact-type.

    Example 1: The logical formulation that underlies the terms "equivalence", "condition_1" and "condition_2", which appear in 9.1.1.5, and the formula fact-types "equivalence has condition_1" and "equivalence has condition_2", which appear in 9.1.1.6, is the fact-type
    "logical-formulation is-equivalent-to logical-formulation"
    This fact-type expresses the interpretation of a formula involving an equivalence operation and two 'condition' operands. The corresponding fact-type template might be
    "condition_1 is-equivalent-to condition_2",
    where condition_1 and _2 are roles fulfilled by logical formulations.

    Example 2: The logical formulation that underlies the terms "conjunction", conjunct_1 and conjunct_2, and the formula fact-types "conjunction has conjunct_1" and "conjunction has conjunct_2" is the fact-type
    "Both logical-formulation (#1) and logical-formulation (#2) hold."
    This fact-type expresses the interpretation of the formula involving a conjunction symbol and two 'conjunct' operands (conjugends). The term "conjunction" is a 'name' for this fact-type.

    The failure to define the logical formulations properly in 9.1.1.6 causes the roles in those fact-types to become 'terms with subscripts' in clause 9.1.1.5 (or 9.2.5 in later editions?). As indicated in the 'Fact types and templates' issue, the SBVR notation for a fact-type role is a 'local name' for a parameter to the fact-type template. In clause 9.1.1.5, this notational convention has been elevated to a concept term! In most (but not all) cases, this error is recognizable by the fact that the "concept term" is subscripted. In what speech community would 'condition_1' be a term?

    Roles, in this sense, are only meaningful with respect to a given fact-type – they are NOT self-standing terms that go in the glossary. Every logical operand "term" in clause 9.1.1.5 is just a role in a logical fact type that should be, but isn't, actually defined as a fact-type in 9.1.1.6.

    If the logical operators are recast as fact-types, condition#1 would be the name of a template parameter, and the definitions would resemble those in Clause 8. The only difference between the logical formulations in Clause 9 and the fact-types in clause 8 is that, in clause 9, the roles are named something different from the participating concept (term).

    Note, however, that some of these "role names" really are terms in mathematical logic. In particular, the roles "antecedent" and "consequent" are important to the discussion of "implication", because the roles are importantly different. These terms should be introduced as 'glossary terms'.

    Conversely, the 'conjunct' roles in a conjunction and the 'condition' roles in an equivalence are not actually distinct – all conjugends have the same behavior in a conjunction. And this is true of all subscripted role names in 9.1.1.5. These terms convey nothing more interesting than 'operand', but they can be defined, if desired, as 'terms' in 9.1.1.5. If they are defined, they should be defined without the subscripts, because the subscripts are nothing more than elements of the templates – they don't distinguish behavior.

    • Proposed solution:

    9.1.1.6 needs to be restructured as logical fact types, and ALL the roles in 9.1.1.5 should be defined in those fact-type definitions. In most cases, the logical operator can become the 'Name:' of the fact-type. The relationship between these fact-types and their template definitions is the subject of another Issue.

    Some or all of the role names with distinct behaviors (no subscripts) that are currently in 9.1.1.5 should be defined as 'terms' in 9.1.1.6. It does not seem appropriate to move them to a different section from the one that defines their semantics as roles in the logical formulations of the operations.

  • Reported: SBVR 1.0b1 — Mon, 23 Jan 2006 05:00 GMT
  • Disposition: Resolved — SBVR 1.0b2
  • Disposition Summary:

    see above

  • Updated: Fri, 6 Mar 2015 20:58 GMT