|
From: Tim M. <tm...@un...> - 2010-02-16 22:58:20
|
Hi James,
You wrote:
> %I define my generic:
> %%Zpreword \mult mult
> \begin{zed}
> \generic (\mult~\_)
> \end{zed}
<snipped>
> % I define mult mathematically
> \begin{gendef}[X, Y]
> \mult\_: \power ((X \rel Y) \cross \power X \cross \power Y
> \cross MultTy \cross \finset \nat \cross \finset \nat )
> \where
> \forall r: X \rel Y; sx: \power X; sy: \power Y; s_1, s_2: \finset
> \nat @ \\ \t1
> (\mult (r, sx, sy, mm, s_1, s_2)) \iff r \in sx \rel sy
> \also
> ...
> \end{gendef}
>
> But I get the following error:
>
It appears that you are defining \mult as a relation. So the first
paragraph above should be:
\begin{zed}
\relation (\mult~\_)
\end{zed}
This tells the parser that \mult should be treated as a relation, not a
function, although the error message that it generates is not so useful!
It is actually parsing this as a function, which parses fine, but then
the typechecker is complaining.
> \newcommand{\oset}{\mathcal{O}}
> %%Zword \oset
>
> \begin{schema}{Example}
> \oset : \num
> \end{schema}
>
You just left off the unicode definition for \oset. So it should be:
%%Zword \oset oset
for a word, or
%%Zchar \oset U+???
for some unicode character.
Cheers,
Tim
|