doc-src/TutorialI/Protocol/protocol.tex
changeset 12815 1f073030b97a
parent 12540 a5604ff1ef4e
child 14179 04f905c13502
equal deleted inserted replaced
12814:2f5edb146f7e 12815:1f073030b97a
   322 The function
   322 The function
   323 \isa{pubK} maps agents to their public keys.  The function
   323 \isa{pubK} maps agents to their public keys.  The function
   324 \isa{priK} maps agents to their private keys.  It is defined in terms of
   324 \isa{priK} maps agents to their private keys.  It is defined in terms of
   325 \isa{invKey} and \isa{pubK} by a translation; therefore \isa{priK} is
   325 \isa{invKey} and \isa{pubK} by a translation; therefore \isa{priK} is
   326 not a proper constant, so we declare it using \isacommand{syntax}
   326 not a proper constant, so we declare it using \isacommand{syntax}
       
   327 (cf.\ \S\ref{sec:syntax-translations}).
   327 \begin{isabelle}
   328 \begin{isabelle}
   328 \isacommand{consts}\ \,pubK\ \ \ \ ::\ "agent\ =>\ key"\isanewline
   329 \isacommand{consts}\ \,pubK\ \ \ \ ::\ "agent\ =>\ key"\isanewline
   329 \isacommand{syntax}\ priK\ \ \ \ ::\ "agent\ =>\ key"\isanewline
   330 \isacommand{syntax}\ priK\ \ \ \ ::\ "agent\ =>\ key"\isanewline
   330 \isacommand{translations}\ \ \ \ "priK\ x"\ \ \isasymrightleftharpoons\ \ "invKey(pubK\ x)"
   331 \isacommand{translations}\ \ \ \ "priK\ x"\ \ \isasymrightleftharpoons\ \ "invKey(pubK\ x)"
   331 \end{isabelle}
   332 \end{isabelle}