[topicmapmail] Re: Logicians do not rule the world (fortunately)

Eirik Jensen Opland opland at ontopia.net
Fri Apr 28 05:02:28 EDT 2006


On Thu, 27 Apr 2006 02:03:51 +0200, Murray Altheim <murray06 at altheim.com>  
wrote:

> Quoting Eirik Jensen Opland <opland at ontopia.net>:
>
>> Hi Murray,
>>
>> Sorry to extend this beyond infinity (c.f. your ad infinitum), but I  
>> think  there's an important point missed in this discussion; the  
>> distinction  between symmetry and bidirectionality.
>
> Hi Eirik,
>
> Fair enough. Lead on...
>
>> On Wed, 26 Apr 2006 09:35:51 +0200, Murray Altheim  
>> <murray06 at altheim.com>  wrote:
>>
>>> Before this continues ad infinitum,
>>>
>>> I think what Steve Pepper's lighthearted subject line expresses
>>> quite well is that people generally don't like logic, or perhaps
>>> even logicians, who are thought of as cold, calculating, possibly
>>> not even entirely human beings.
>>
>> You may be right that some topic mappers don't like logic in it's  
>> purest  sense, or don't care so long as their technology does what they  
>> want. With  all due respect for people who have only a moderate  
>> interest in logic, I  must say I do like logic and I think it's  
>> important that people like you  feel you can safely do inferencing on  
>> them. I would argue that TM  associations are inherently bidirectional,  
>> but only become symmetric (in  the logical sense) if the role types are  
>> the same.
>
> Before we move on too far down this path I might point out that
> one of your assumptions about Topic Map Associations is incorrect,
> in that there is no restriction on the number of members. An
> Association can be monadic, dyadic, n-adic. So if we limit the
> discussion of "symmetry" to dyadic (two-membered) Associations
> we can continue.

You're right, that was not very precise of me. I did that to simplify the  
discussion, and I should have been more explicit about it. I agree that  
the bidirectionality argument is only applicable to dyadic association.

However, I do think the arguments generalise quite naturally to n-adic  
associations, in that there's no ordering imposed on the roles and  
players. No player is privileged, even if, in prose, it seems more natural  
to put one before the other.

As an example, consider the stabbing of Turiddu from Steve Pepper's Opera  
topic map.

In the topic map it's defined by a single association with three roles.

killed-by ---> victim         ---> turiddu
           ---> perpetrator    ---> alfio
           ---> cause-of-death ---> stabbing

In prose, the role players could take six different orders, some of which  
would be linguistically preferable to others:
Alfio killed Turiddu by stabbing.  (my personal preference)
Alfio, by stabbing, killed Turiddu.
Turiddu was killed by Alfio by stabbing.
Turiddu, by stabbing, was killed by Alfio.
Stabbing was the means by which Alfio killed Turiddu.
Stabbing was the means by which Turiddu was killed by Alfio.

I could also order the roles of the killed-by association in six different  
ways, but in topic maps the order of the roles is insignificant. I see  
this as a very useful property of topic maps, as it helps detect  
duplicated information. In practice, it means that all "directions" of the  
killed-by association are equally valid, or in other words, it makes no  
sense to talk about a direction at all. The no-direction-argument holds  
trivially for monadic associations, as a single role can only have one  
order anyway.

> I must admit that in my own work I've actually modeled all
> Associations as dyadic predicates, as I prefer to always model
> as you describe below, using the subject-verb-object metaphor,
> creating what is called a "bipartite graph." But this isn't a
> restriction in TMs per se, just a convenience that permits us
> to talk about all Associations within the graph using a subject
> and object model that people more easily grok (and we can then
> design Association editors that operate upon that basis, etc.).
>
>> You were discussing the expression of symmetry, so I will start with  
>> the  definition. I will use the definition from the wikipedia  
>> definition of  symmetry, i.e. "for all x, y: xRy -> yRx". Please  
>> correct me if it's not sufficiently accurate.
>
> If we're talking simply English, that's fine, and while accurate, it's
> not sufficiently precise. And while it may seem like I'm being overly
> pedantic about this, it's only because we are literally discussing
> definitions (I'm normally a great deal less formal).
>
> But you'll note that even Wikipedia does go to the trouble of
> explicating about 20 different contexts in which the term is used, and
> that is without actually delving into which specific branch of logic.
>
>   http://en.wikipedia.org/wiki/Symmetry#Symmetry_in_logic

Actually, I've been inaccurate again, so let me correct myself. I was  
*not* using the definition of symmetry, but of symmetric relation:

http://en.wikipedia.org/wiki/Symmetric_relation

> Absent a context, we're just speaking English, not logic. If we state
> that we're speaking in logical terms, we know a bit more, but we still
> aren't being very precise about matters, but precise enough though for
> this discussion's purposes.

Great! Let's speak in logical terms then, so long as you see it as  
sufficient for this discussion.

>> The above relation has implicit roles, i.e. the subject and the object.  
>> x  is the subject because it's written before the R. y is the object  
>> because  it's written after R. What it means to be subject/object  
>> depends on the  definition of R. The key point here is that the  
>> statement has the  implicitly defined roles subject and object, which  
>> are not the same. One  could lay it out as in TM structure:
>>   x <-- subject <-- R --> object --> y
>> Where 'x' is a role player, 'subject' is a role type, 'R' is an   
>> association type, 'object' is the other role type and 'y' is the other   
>> role player. That's an association. It is bidirectional, in the sense  
>> that  it doesn't matter at which end you start inspecting (in this case  
>> reading) it. It gives the same meaning.
>
> All is as is expected, yes. A basic logic. We haven't mentioned
> whether we're using syllogistic logic, predicate logic, or some
> form of propositional calculus, or perhaps some other logic.
> Symmetry is either not defined, or is defined differently,
> depending on the form. While the most common form taught in
> schools is nowadays either predicate logic or "first order logic"
> (which is the basis of the ISO Common Logic work), let's assume
> that since we've not mentioned quantification we're using a form
> of propositional logic. But if we want to use our Topic Map to
> make generalized statements about reality and not about specific
> operands, we're then using quantification (the "for all" or
> "universal quantifier") and are probably using FOL. If we're
> talking about Norway we probably don't need that, but if we're
> talking about "all dogs" we do.

TM associations only support statements about specific operands. If you  
want to model quantification, then I think you need to somehow define your  
terms as applying universally/existentially. E.g.:

1. subcategory-of(dog : subcategory, mammal : supercategory)
2. like-to-catch(dog : universal-catcher-group, stick :  
existential-cought-group)

(1) is about specific operands. (2) is intended to model a quantified  
statement.

In your definition of terms like universal-catcher-group, you could define  
that players of this role type represent all instances of the player  
topic. So this would allow you to interpret the above statement as:

"For all dogs, there exists a stick that the given dog likes to catch."  
(let's not discuss the truth of this)

Of course, there may be other ways to express this. It could make sense to  
make the role type instance of a meaningful supertype, such as  
existential-role-type or universal-role-type. However, these are just  
modelling suggestions.

One thing I begin to realise while discussing this is that the  
like-to-catch (2) association above could be logically symmetric, but the  
way I've modelled it (in TMs), it is not structurally symmetric. It could  
be the case that "For all sticks, there exists a dog that the given stick  
likes to catch.", event though it's not clear from the statement. Of  
course in this case the symmetric statement is rediculous, but there are  
similar statements  that would be symmetric and true. Maybe this means  
that I am just about to prove one of your points. :) I'll get back to this  
in more detail at the end of this e-mail.

> Point is, until we contextualize our vocabulary we're just
> talking in English, not logic -- we don't have the context in
> which to speak precisely, as is required in logic. The answer
> Rani Pinchuk's question
>
>   "I actually asked if by adding rule such as: 'An association
>    which has two members having the same role types represents
>    a symmetrical relation' to the Topic Map standard one can
>    make logical inferences using symmetry. I thought that
>    adding such a rule (and maybe others) will do the trick.
>
> then becomes not a yes or no, but a question of context. Adding
> a statement in the standard *could* define symmetry under those
> conditions (and indeed, would), but would still leave out the
> more important question from which logical, mathematical context
> the word "symmetry" is being taken and used. Absent this, one
> can write some software, but under certain conditions it will
> fail to make the correct inferences (i.e., any conditions that
> fail to conform to the requirements of the logic).

I understand your point of contextualizing the vocabulary, and that there  
can be different definitions of symmetry. However, I think it's the  
responsibility of the modeller to make sufficently precise definitions of  
their terms (TAOs), so that the meaning becommes as precise as they want  
to make it.

>
> To make this clearer, using the existing example
>
>    borders-with(norway : neighbour, sweden : neighbour)
>
> we're using four undefined terms:
>
>     borders-with
>     neighbor
>     norway
>     sweden
>
> and if we're all comfortable with that, and we're willing to live
> with the limitations of our lack of precision, fine. Norway and
> Sweden have had fairly stable borders for a long time, and have
> been around for a long time.  If we were talking about Israel and
> Syria (and we really should generalize this discussion since we're
> talking about Topic Map Associations in general) it becomes more
> clear that all four of the terms in a similar relation are much
> more contentious, that what constitutes each country (as either a
> political, national, cultural, religious body) is important to
> define, and what defines "borders-with" comes down to what defines
> a border, and "neighbor" even gets a bit touchy.

Whether Israel actually borders Syria seems orthogonal to our discussion  
about symmetry. Topic Maps has constructs for qualifying and saying more  
about topic map objects, using scope and reification. It's the topic  
mappers responsibility to make sure that the statements are actually true  
(or not if he so wishes) and to choose the level of precision in the topic  
map (e.g. qualifying statements about borders).

> We haven't mentioned time either. There are logical toolkits that
> include temporality (and do a fine job of it), and if we aren't
> meaning a statement to mean "for all time" (or don't care for the
> purposes of our modeling), then we can leave it out. But we need
> to be aware of that issue. A country, its borders, the relationships
> with its neighbors are all subject to change, sometimes rapidly.

I agree that temporality is important, but again I think it's a separate  
issue from that of symmetry.

> Point is, if we're happy with the level of precision of a statement,
> fine. But if we're modeling, and if in particular we expect a
> computer to use the "rules" we are stating in order to do inferencing,
> such as the inference of symmetricality, then we need to be more
> precise, define terms, and the context in which the terms are used.
>
>> However, it is not symmetric, since 'subject' and 'object' are  
>> different roles.
>>
>> One way to say that R is symmetric is to assert that the subject and  
>> the  object roles are interchangable. In other words, one could assert  
>> that:
>>   x <-- subject <-- R --> object --> y
>> implies
>>   x <-- object <-- R --> subject --> y
>>
>> This could be written more concisely as:
>>   x <-- role1 <-- R --> role1 --> y
>> where role1 is a kind of placehoder for both subject and object.
>>
>> This is effectively what topic maps do. Rather than having relations  
>> with  direction, they make role types explicit. If both role types are  
>> the same,  then the association is symmetric. Otherwise it's not.
>
> Actually, despite the specific form of expression in Topic Maps,
> the relations inherently have the directionality implicit in
> their roles, in that most expressions (in most forms of logic
> that permit the complexity of expressions we've been using in
> our examples) have the implicit subject-object dichotomy. I don't
> see the translation into expressing these statements into Topic
> Maps as altering anything.

Any dyadic relations with a subject-object dichotomy can be written in an  
active or passive form, and like I illustrated above similar properties  
can be applied to triadic associations. I think that if we can agree about  
this diadic and triadic, then we can also agree that the argument  
generalises to n-adic associations and not attempt to make a formal proof.

In topic maps, since the roles have no order imposed on them, they will  
all be interpreted as the same statement.

>
> As for dyadic (two-membered) Associations having identical role
> types on each member as defining that Association as symmetric,
> so long as we're speaking simply in English. Without contexualizing
> the logic we're using it's still just in English.
>
> When we designed the PSI sets for XTM 1.0 we included two
> "Association templates" (though we were loath to call them that
> because we at that time didn't have the time to be able to properly
> define the necessary constraint language for Association Templates),
> but for both types, superclass-subclass and class-instance and their
> associated roles, we used an undefined logical language, an
> informality that was at the time necessary, and something that has
> worked well enough for the kinds of informal relational modeling
> that a lot of people do, as evidenced by this discussion.
>
> I've certainly been very thankful we were able to squeeze that into
> the XTM 1.0 spec, even if it had some warts.
>
>> Having explicit role types also adds expressibility, as one can make  
>> more  specific role types than just 'subject' and 'object'. This is  
>> particularly  useful for associations with more than two roles, as they  
>> necessitate  additional role types.
>
> Yes, absolutely.
>
>> The role type type also improves the expressiveness further for  
>> relations with more than two roles. You can express partial symmetry,  
>> that allows  your inferencing to differentiate associations like:
>>
>> Parenthood(father, mother, child)       (not symmetric)
>> Parenthood(parent, parent, child)       (partially symmetric)
>> FrendshipClique(friend, friend, friend) (very symmetric)
>>
>> Surely these kinds of distinctions must useful for inferencing, aren't   
>> they.
>
> Agreed. But we've begun informally using a different form of logic
> again. This isn't a problem, it just opens up a different toolkit
> with different rules and even some more interesting inferencing,
> as you note. You've introduced the idea of "partial symmetry."
>
>> The way I see it, TM associations have three main constraints  
>> regarding  symmetry and direction:
>>
>> 1. They are inherently bidirectional.
>> 2. You can't have a symmetric association with different role types.
>> 3. You can't have an asymmetric association with the same role types.
>>
>> These are constraints on the modeller, as he has to take into account  
>> assumtions in the model, such as repeated role types implying symmetry.  
>> I  don't see a big problem with these constraints, but if you see any,  
>> I'd be  eager to hear about them.
>
> Apart from the mistaken assumption about TM Associations being
> inherently bidirectional (which you yourself contradict with your
> ParentHood example), yes, certainly.

You're right, bidirectionality is only applicable to diadic associations.  
However, like I discussed above, it generalises to n-adic associaitons in  
that no ordering is imposed on the roles.

However, maybe I'm misinterpreting your definition of direction. Maybe by  
saying that an association can have multiple directions, you mean that one  
could swap the role *players* around and the meaning would be different.  
This is correct so long as the role types are different. If they are the  
same, then there's no way to distinguish the statements
   borders-with(syria : bordering-role, israel : bordering-role)
   borders-with(israel : bordering-role, syria : bordering-role)

So in dyadic associations where the role types are the same, or indeed in  
any n-adic associations where two role types are the same, swapping the  
players of *those particular* roles does not change the meaning. So I  
would argue that associations like this, which are structurally symmetric,  
are also logically symmetric, as there's no other way to interpret them.

While writing this e-mail, two things have occurred to me:
1. The symmetry of an associations is really structural, not inherently  
logical.
2. Structural symmetry implies logical symmetry (or otherwise ambiguity,  
c.f. the previous two paragraphs)
3. Logical symmetry does not necessarily imply structural symmetry, (c.f.  
the discussion of sticks catching dogs).

I still see no harm in assuming (2), as it's the only way to interpret  
such statements. Otherwise, I think one would have to disallow repeated  
use of the same role type in the same association. So I see it as the  
modellers responsibility to only use the same role types if the players  
could actually be swapped without changing the meaning.

(3) actually calls for some other way to express symmetry. One way is to  
make two associations, or multiple in the case of n-adic associations.  
Another way is to reify the association and then use an occurrence or  
monadic associations to assert that it's symmetric. This just seems like a  
more convoluted way of making the same statement, so I think prefer the  
first alternative.

I don't see why it's necessary to special case (3) in the topic maps  
standard. Again, I think it makes an unnecessary coupling to logic, and  
like you've argued, there are different types of logic. When taking into  
account that one can already express symmetry by making two associations,  
or even reifying and saying more about the one association, I think  
there's already sufficient support for it.

> Murray

Eirik

-- 
Eirik Jensen Opland, Ontopian         <URL: http://www.ontopia.net >


More information about the topicmapmail mailing list