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

Murray Altheim murray06 at altheim.com
Tue May 2 01:52:15 EDT 2006


Quoting Eirik Jensen Opland <opland at ontopia.net>:
> [...]
>> 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.

Well, we were speaking English and then I very rudely began speaking
logic without telling you. Humans usually don't do that, even when
they often think they do (e.g., my Dad would say that he is usually
logical, rational -- my Mom disagrees).

> 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.

I agree -- it's just that we're again talking a different logic when
we expand to n-adic relations, and I was (mostly for purposes of
discussion) keeping this simple. But the essential point -- that a
relation whose members all share identical roles -- exhibits some
form of useful symmetry. I think that's what Lars Marius was declaiming
as what was obvious from the Association itself, i.e., patently obvious,
whereas one of my point all along is that so long as we're speaking
English yes I can agree, but that's not the same as logic, and it's
not logic when it's an unnamed logic. It doesn't take much effort to
say what kind, but so long as we're not speaking mathematical language
we're speaking natural language, and no reasoning on that is safe. It
just happens that that is the most common way for humans to express
themselves, and logic requires training and effort. (John Sowa would
be pleased to hear me say that, and I know I've got a lot to learn).

> 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.

Yes, but you're mixing natural language grammar (and the order of
terms in a natural language sentence) based on what are simply
variant grammatical forms, not different logical forms. I agree
with your English statement, but we're here not speaking logic,
i.e., as you say (implicitly) these are all logically the same
statement, which is perhaps interesting, and fun, but orthogonal.

> 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.

Yes, but there's again a difference between Topic Maps and logic,
where in Topic Maps the grammar permits no semantics to be
associated with the order of members -- it's all in the roles.
This is of course by design, but it's an artifact, not significant,
really. Useful, interesting, perhaps, but not reflective of any
logic, as there is no logic to it. It's Topic Maps -- we didn't
add any formal semantics (formal logic) whatsoever to the design.
Somebody later wrote a formal semantics (some French mathematician,
I believe, but I can't find that right now -- would be interesting
to see). There is the TMRM, which is a sort of formal semantics,
though I don't think logical either, unless by "formal" people
always assume mathematically sound -- not my experience, anyway.

Topic Maps don't include logic -- you have to as a Topic Map
designer establish your own logical rules and then abide by them.

>> 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

Yes, as I've noted above. We've been talking about a property of
relations, not about the relationship itself. The semantics of
the relation are not really being talked about (though humans
would naturally imply them as "common sense" despite the lack of
equality between structural and logical/semantic symmetry).

>> 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.

We'll see how my caffeine holds out...

>>> 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.

Okay. But you're leading me down a garden path I see.

> 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.

And there are examples of the contrary possibilities. It comes down
to the needs of the modeller, really. Rules are usually written to
have specific effect. Generalized rules are both usually ambiguous
and therefore dangerously easy to misinterpret-in-situ.

> 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.

I wouldn't want to watch that happen. Sounds bloody.

> 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.

Yes, you're getting close to making me smile...  :-)

>> 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
>> to 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.

Yes, certainly, this has been a point I have been emphasizing from
the beginning (not to suggest that you didn't agree). One of the
things that happened to me during a decade of doing standards work
is that I learned to get into necessary-pedantic mode when it was
necessary, and there are times when it is quite necessary, indeed,
a requirement. I take it as a quiet luxury that we were able to
define a useful pair of association templates for XTM 1.0 that have
proved useful without doing the ugly formal semantics that would
have been necessary to properly declare (and therefore limit) the
logic behind them. That bit of looseness has had its critics but
there's also been (like natural language) a benefit from permitting
a little ambiguity. We aren't doing air traffic control here.

>> 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.

I was only bringing that in as an example to suggest that statements
about what seem like "fixed" borders (such as that between Norway
and Sweden, or between the US and Canada) are generally fine for
most modelling situations, until one gets to the point where one is
talking either historically, or about the case of territories
currently in flux. Which means that the example was flawed in that
it was masking its own flaws. A more extreme, but common example
might be

      borders-with(norway : neighbour, norwegian_sea : neighbour)

which also highlights an interesting modelling flaw (or at least
oversight) being that we haven't constrained "neighbor" to simply
being nations. The Norwegian Sea is certainly a neighbor of Norway.
This kind of thing would have been fleshed out in a more complete
ontology, where norwegian_sea would have not been permitted to
inherit from a subtree from nation, but from something akin to
body_of_water.

But I notice that both of us are amplifying the original discussion
which has taken us away from the original points about logical
symmetry. I do think these are the kinds of things that ontological
engineers really do need to deal with, as ignoring them may be seen
as either a necessary simplification or a "design decision" but is
just opening up the ontology to greater likelihood of being
misapplied. The more detailed a tool, the greater the complexity of
the model, the closer the contextual match, the more likely the
resulting rules will be capable of doing accurate reasoning. Simple
reasoning systems may be able to solve some problems, but I would
prefer to stay at least 100 meters away from those dull knives when
they begin to spin.

> 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).

Yes, but while there is a feature called "scope" in Topic Maps, it
is constructed out of Topics considered as a conjunction in some
unnamed logic -- it's prone to the same issues as we've been
discussing. (I don't see how reification impacts anything we've
been discussing, perhaps you could point that out if you think
it's not too tangential.)

>> 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.

Indeed, and not even included in most of the logics that I suspect
would (or could) be implied by a statement like

    borders-with(norway : neighbour, sweden : neighbour)

>> 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.

I would much prefer a gin and tonic to a formal proof. I think it's
probably safer not to delve into the formal linguistics behind formal
logic, or the formal logic behind formal linguistics. The whole field
of computational linguistics has spent a lot of energy on this, and
they have a hell of a time getting dates with chicks. [I've learned to
keep my mouth shut and talk about football, 'course that hasn't helped
much either. What is the successful formula? Opera? Seems popular with
the Ontopians. I've never lived in a country where opera turned women
on. Sorry for the digression... we're all straying here.]

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

Yes, we're using an artifact of the grammar to demonstrate the
equivalency of such an Association. In XTM 1.0 we called this the
Association equality principle (F.2.4). I'm not entirely sure that
under all situations this would actually be true in the greater
ontological world. If I say something twice but reorder the terms
there might be something in the reordering that is not apparent
from the model. But given the current model (i.e., lacking further
information) it is a reasonable inference.

>> 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.

Yes.

> 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)

This does allude to what I was just stating about, absent any further
information, being a reasonable inference. We haven't got a rich
enough language here to determine more or less than a symmetric
relation, so we use the tool (right or wrong) to apply the rules
that are in front of us. How that maps to reality is a different
matter. We haven't talked much about contraints, only models. And
of course, constraints imply models (at multiple levels), but I
don't want to walk down that path right now.

> 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.

That's essentially what Lars Marius has been saying. I don't
disagree when we're speaking English, nor do I when we're speaking
logic-ese, but absent a logical context there is no meaning to the
word "symmetric" (except whatever we agree there is, if we're in
a mode of making agreements, which is what one is doing when
developing public vocabularies or ontologies).

> While writing this e-mail, two things have occurred to me:
> 1. The symmetry of an associations is really structural, not 
> inherently logical.

Yes, I think this is a very important point, and probably the
most important. That to imply that because of a structural
symmetry (which is the only thread Lars Marius could grab in
this case) there was a logical symmetry would be a flaw in
that there is no (a) explicit or (b) implicit direct mapping
that can be inferred. We can't make rules, except in English.

> 2. Structural symmetry implies logical symmetry (or otherwise 
> ambiguity,  c.f. the previous two paragraphs)

I think only under the rules of "common sense", not under any
formal rules, unless we open up the giant stone gates and bring
into the room the 5000 pound gorilla that is computational
linguistics. And from my understanding of talking with people
like Goeff Nunberg, we're at least a decade away from being
able to do that kind of thing reliably.

> 3. Logical symmetry does not necessarily imply structural symmetry, 
> (c.f.  the discussion of sticks catching dogs).

Yes, chaining relations of this type are likely to backfire very
quickly.

> 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.

But how does one know this beforehand, since generally speaking,
the Association and Role types are designed prior to making the
statements, i.e., absent the known context of how they will be
used? It's rife for abuse, and the nature of the beast.

> (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 this as solving the essential problem, which comes down
to a lack of information (context).

> 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.

I think a better solution is to reify the necessary tools from an
existing toolset (such as a specific, known form of logic, and only
apply those rules as they were designed. Logicians have been working
through the seemingly endless problems that arise, but they have
developed solutions for these things, which involve the knowledge of
the limitations of the tools -- when the current tool isn't the right
one, and which one to switch to. I don't advocate developing new
logics for Topic Maps (even if that were possible or practical).

As I said in an earlier email, we'll have FOL in XTM relatively
soon, when Common Logic becomes an ISO standard. People have been
misapplying Description Logics using RDF ever since the "Semantic
Web" project began, so one benefit of Topic Maps over RDF will be
that because Topic Maps don't have a ready-at-hand logic it will
be necessary for people to choose one. Which is a good thing.

Enough!

Murray

...........................................................................
Murray Altheim <murray06 at altheim.com>                              ===  = =
http://www.altheim.com/murray/                                     = =  ===
SGML Grease Monkey, Banjo Player, Wantanabe Zen Monk               = =  = =

      In the evening
      The rice leaves in the garden
      Rustle in the autumn wind
      That blows through my reed hut.  -- Minamoto no Tsunenobu




More information about the topicmapmail mailing list