[sc34wg3] SAM-issue term-scope-def

Bernard Vatant sc34wg3@isotopicmaps.org
Mon, 1 Jul 2002 11:30:50 +0200


I've missed two or three occasions to answer Marc and Jan.
But there is something I would like to stress again.

Marc wrote several times sentences like:

"Assertion A is valid when scope S = {S1, S2, ...} applies"

I think all the debate is useless until we formally clear out the meaning of several
things:

1. What does "A is valid" mean?
2. What does "S applies" mean?
3. What is the logical status of "when"?

1. "A is valid" means clearly that we can attach to assertion A a truth value.
Otherwise said, the formal status of A is a *statement* or *proposition*.

2. "S applies" is a logical non-sense if S is considered as a set. As suggested before,
and as discussed language example seems to clearly show, a formal expression of "S
applies" has to be grounded on the definition of scoping variables:

-- There exists a set of scoping variables {Vk} attached to A.
-- Each variable has a domain Dk (the set of all possible values of Vk)
-- Each variable has at least one value declared in S

Let's take the case where S has a single element. S ={s}
Let V be the variable of which s is a value.

"S applies" means "V = s" (shortcut for "the value of V is s")

Example: V is the "language" variable, s is "Dutch"
"Dutch applies" means :
"The value of the language variable is Dutch"

Now if S has several elements.
Let Sk be the intersection of Dk and S. It's clear that S is the union of all Sk.

What does "S applies" means? It should be "for all k, value of Vk belongs to Sk"

3. Now what is the formal expression of "A is valid when S applies"
"When" should be understood IMO as a sufficient condition, that is:

If "S applies" then "A is valid"

Otherwise said:

(for all k, value of Vk belongs to Sk) => A

Or, more expanded:

"If (value of V1 belongs to S1) and (value of V2 belongs to S2) and ... (value of Vk
belongs to Sk) then A is valid"

Now if "when" is understood as "if and only if", we would have (for all k, Vk belongs to
Sk) <=> A
But that seems not sustainable, because asserting the validity in a scope does not infer
anything of the validity in other scopes, as "tennis" example clearly shows.

It figures that a proper use of scope should imply for each assertion
-- The declaration of scoping variables (e.g. language)
-- The declaration of domain of values for each scoping variable (e.g. Dutch, German, ...)

Merging process could then be based on:

-- Union of sets of scoping variables of merged topic map.
-- Union of domains of values for each scoping variable.

Enough maths for today ... Hope that helps ...

Bernard