6 %Isar language elements
7 \newcommand{\I@keyword}[1]{{\mathord{\mathbf{#1}}}}
8 \newcommand{\I@optname}[1]{\ifthenelse{\equal{}{#1}}{}{~#1\colon}}
9 \newcommand{\I@optoptname}[1]{\ifthenelse{\equal{}{#1}}{}{~[#1\colon]}}
10 \newcommand{\I@optmeth}[1]{\ifthenelse{\equal{}{#1}}{}{~(#1)}}
11 \newcommand{\I@optoptmeth}[1]{\ifthenelse{\equal{}{#1}}{}{~[(#1)]}}
13 \newcommand{\LEMMANAME}{\I@keyword{lemma}}
14 \newcommand{\THEOREMNAME}{\I@keyword{theorem}}
15 \newcommand{\NOTENAME}{\I@keyword{note}}
16 \newcommand{\FROMNAME}{\I@keyword{from}}
17 \newcommand{\WITHNAME}{\I@keyword{with}}
18 \newcommand{\FIXNAME}{\I@keyword{fix}}
19 \newcommand{\ASSUMENAME}{\I@keyword{assume}}
20 \newcommand{\PRESUMENAME}{\I@keyword{presume}}
21 \newcommand{\HAVENAME}{\I@keyword{have}}
22 \newcommand{\SHOWNAME}{\I@keyword{show}}
23 \newcommand{\HENCENAME}{\I@keyword{hence}}
24 \newcommand{\THUSNAME}{\I@keyword{thus}}
25 \newcommand{\PROOFNAME}{\I@keyword{proof}}
26 \newcommand{\QEDNAME}{\I@keyword{qed}}
27 \newcommand{\BYNAME}{\I@keyword{by}}
28 \newcommand{\ISNAME}{\I@keyword{is}}
29 \newcommand{\CONCLNAME}{\I@keyword{concl}}
30 \newcommand{\LETNAME}{\I@keyword{let}}
31 \newcommand{\DEFNAME}{\I@keyword{def}}
32 \newcommand{\SUFFNAME}{\I@keyword{suffient}}
33 \newcommand{\CMTNAME}{\I@keyword{-{}-}}
35 \newcommand{\TYPES}{\I@keyword{types}}
36 \newcommand{\CONSTS}{\I@keyword{consts}}
37 \newcommand{\DEFS}{\I@keyword{defs}}
38 \newcommand{\NOTE}[2]{\NOTENAME~#1=#2}
39 \newcommand{\FROM}[1]{\FROMNAME~#1}
40 \newcommand{\WITH}[1]{\WITHNAME~#1}
41 \newcommand{\FIX}[1]{\FIXNAME~#1}
42 \newcommand{\ASSUME}[2]{\ASSUMENAME\I@optname{#1}~#2}
43 \newcommand{\PRESUME}[2]{\PRESUMENAME\I@optname{#1}~#2}
44 \newcommand{\THEN}{\I@keyword{then}}
45 \newcommand{\BEGIN}{\I@keyword{begin}}
46 \newcommand{\END}{\I@keyword{end}}
47 \newcommand{\BG}{\lceil}
48 \newcommand{\EN}{\rfloor}
49 \newcommand{\HAVE}[2]{\I@keyword{have}\I@optname{#1}~#2}
50 \newcommand{\SHOW}[2]{\I@keyword{show}\I@optname{#1}~#2}
51 \newcommand{\HENCE}[2]{\I@keyword{hence}\I@optname{#1}~#2}
52 \newcommand{\THUS}[2]{\I@keyword{thus}\I@optname{#1}~#2}
53 \newcommand{\LEMMA}[2]{\LEMMANAME\I@optname{#1}~#2}
54 \newcommand{\THEOREM}[2]{\THEOREMNAME\I@optname{#1}~#2}
55 \newcommand{\PROOF}[1]{\PROOFNAME\I@optmeth{#1}}
56 \newcommand{\PPROOF}[1]{\PPROOFNAME\I@optmeth{#1}}
57 \newcommand{\QED}[1]{\QEDNAME\I@optmeth{#1}}
58 \newcommand{\BY}[1]{\BYNAME\I@optmeth{#1}}
59 \newcommand{\DOT}{\I@keyword{.}}
60 \newcommand{\DDOT}{\I@keyword{.\,.}}
61 \newcommand{\DDDOT}{\dots}
62 \newcommand{\IS}[1]{(\ISNAME~#1)}
63 \newcommand{\LET}[1]{\LETNAME~#1}
64 \newcommand{\LETT}[1]{\LETNAME~#1\dt\;}
65 \newcommand{\DEF}[2]{\DEFNAME\I@optname{#1}~#2}
66 \newcommand{\SUFF}[1]{\SUFFNAME~#1}
67 \newcommand{\ATT}[1]{\ap [#1]}
68 \newcommand{\CMT}[1]{\CMTNAME~\text{#1}}
69 \newcommand{\ALSO}{\I@keyword{also}}
70 \newcommand{\FINALLY}{\I@keyword{finally}}