[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