[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
comments
Dear Don, Hubert,
Please find some more comments on structural specification.
First, a comment on the definition of the function union:
>(f \union g)(s) = if s \in dom(f) then f(s)
> else if s \in dom(g) then g(s)
> else undef.
I found a similar definition with the name "overiding union" and a
special symbol (the arguments are written in the reverse order: g \union
f) in the book of Bertrand Meyer "Introduction to the Theory of
Programming Languages" (Prentice Hall, 1991). I do not know whether the
operation is conventional in mathematics; however, I believe that the
name is good.
Page 49 and other pages:
for $XF\in\{\TF,\PF\}$
In the previous chapters union was used, i.e: $XF\in (\TF \cup \PF)$. I
believe that it is better to follow the same notation.
Page 50: Generation
of an extension.
"Given a sub-(signature extension)
$\Delta_1$ of $\Delta$ (which informally speaking represents
a set of names only, i.\ e.\ has empty subsorting relations and cycles),
$\Delta'=\langle\Delta_1\rangle_{\Delta}$ is defined as follows:"
The purpose and definition of this construction is not very clear. First,
I could not understand whether the phrase in the parentheses referred to
$\Delta_1$ or to $\Delta$. I then consulted with a native English
speaker, and he told me that the sentence was ambiguous and it could
refer to either of them. However, following the presence of the definitions
\item ${\leq}'={\leq}_1\intersection (S_1\times S_1)$
\item ${\asymp}'={\asymp}_1\intersection (S_1\times S_1)$
I concluded that subsorting relations and cycles could be empty in Delta
and non-empty in Delta' (otherwise, the definitions have no sense). I
found then that this construction in the form
\langle\Delta'\rangle_{\Delta}$
was used only in page 58 and \Delta' was defined as follows (the last
line in the page):
$\Delta'=(\bar{S}',\bar{\TF}',\bar{\PF}',\bar{P}',\emptyset,\emptyset)$,
i.e. with empty subsorting relations and cycles (which is natural since
neither hiding or revealing a sort can create a subsorting relation or a
cycle). I stopped thus to understand the definition and the purpose of
the construction \langle\Delta'\rangle_{\Delta}.
Page 51, 56:
\leq'& = & \sigdelta{\sigma}^S({\leq})\\
\asymp' & = & \sigdelta{\sigma}^S(\asymp)
Is this notation (I mean the application of a function to a relation)
conventional?
No need to define it?
Page 55.
The use of \sigma in this page defined as either
$\sigma\colon\Sigma\union\Delta\rightarrow\Sigma\union\Delta'$
or
$\sigma\colon\Delta\rightarrow\Delta'$
is very confusing. Thus, one first reads in the first line of the page:
$\sigma\colon\Sigma\union\Delta\rightarrow\Sigma\union\Delta'$
and then finds sigmor(\sigma) in the subsequent rule, which could be
correct only if \sigma is defined in the second way.
Page 55.
"The second condition ensures that the new sort symbol is actually
a sort identifier (and not a function or predicate symbol)."
It seems to me that the condition actually ensures that the new sort
symbol is just
an identifier. I would recommend to write:
"The second condition ensures that the new sort symbol is actually
an identifier."
Pages 59-60.
for $XF\in\{\TF,\PF\}$
It seems to me that there should be
for $\bar{XF}' \in (\bar{TF}' \cup \bar{PF}')$
Regards,
Alexandre.
----------------------------------------------------------------------
Alexandre Zamulin e-mail: zam@cs.usm.my
School of Computer Science fax, phone:+60 4 6573335
University Sains Malaysia
11800 Penang, Malaysia
-----------------------------------------------------------------------