From: James W. <jw...@cs...> - 2010-02-16 23:25:00
|
Hi Tim, Thanks very much! Fingers crossed that's the last time I'll bug you for a while :) *Gets back to writing tool in time for ABZ...* Cheers! James On 16 Feb 2010, at 22:57, Tim Miller wrote: > 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 |