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 |