% lstlisting coq style (inspired from a file of Assia Mahboubi) % \lstdefinelanguage{Coq}{ % % Anything betweeen $ becomes LaTeX math mode mathescape=true, % % Comments may or not include Latex commands texcl=false, % % Vernacular commands morekeywords=[1]{Section, Module, End, Require, Import, Export, Variable, Variables, Parameter, Parameters, Axiom, Hypothesis, Hypotheses, Notation, Local, Tactic, Reserved, Scope, Open, Close, Bind, Delimit, Definition, Let, Ltac, Fixpoint, CoFixpoint, Add, Morphism, Relation, Implicit, Arguments, Unset, Contextual, Strict, Prenex, Implicits, Inductive, CoInductive, Record, Structure, Canonical, Coercion, Context, Class, Global, Instance, Program, Infix, Theorem, Lemma, Corollary, Proposition, Fact, Remark, Example, Proof, Goal, Save, Qed, Defined, Hint, Resolve, Rewrite, View, Search, Show, Print, Printing, All, Eval, Check, Projections, inside, outside, Def}, % % Gallina morekeywords=[2]{forall, exists, exists2, fun, fix, cofix, struct, match, with, end, as, in, return, let, if, is, then, else, for, of, nosimpl, when}, % % Sorts morekeywords=[3]{Type, Prop, Set, true, false, option}, % % Various tactics, some are std Coq subsumed by ssr, for the manual purpose morekeywords=[4]{pose, set, move, case, elim, apply, clear, hnf, intro, intros, generalize, rename, pattern, after, destruct, induction, using, refine, inversion, injection, rewrite, congr, unlock, compute, ring, field, fourier, replace, fold, unfold, change, cutrewrite, simpl, have, suff, wlog, suffices, without, loss, nat_norm, assert, cut, trivial, revert, bool_congr, nat_congr, symmetry, transitivity, auto, split, left, right, autorewrite}, % % Terminators morekeywords=[5]{by, done, exact, reflexivity, tauto, romega, omega, assumption, solve, contradiction, discriminate}, % % Control morekeywords=[6]{do, last, first, try, idtac, repeat}, % % Comments delimiters, we do turn this off for the manual morecomment=[s]{(*}{*)}, % % Spaces are not displayed as a special character showstringspaces=false, % % String delimiters morestring=[b]", morestring=[d]’, % % Size of tabulations tabsize=3, % % Enables ASCII chars 128 to 255 extendedchars=false, % % Case sensitivity sensitive=true, % % Automatic breaking of long lines breaklines=false, % % Default style fors listings basicstyle=\small, % % Position of captions is bottom captionpos=b, % % flexible columns columns=[l]flexible, % % Style for (listings') identifiers identifierstyle={\ttfamily\color{black}}, % Style for declaration keywords keywordstyle=[1]{\ttfamily\color{dkviolet}}, % Style for gallina keywords keywordstyle=[2]{\ttfamily\color{dkgreen}}, % Style for sorts keywords keywordstyle=[3]{\ttfamily\color{ltblue}}, % Style for tactics keywords keywordstyle=[4]{\ttfamily\color{dkblue}}, % Style for terminators keywords keywordstyle=[5]{\ttfamily\color{dkred}}, %Style for iterators %keywordstyle=[6]{\ttfamily\color{dkpink}}, % Style for strings stringstyle=\ttfamily, % Style for comments commentstyle={\ttfamily\color{dkgreen}}, % %moredelim=**[is][\ttfamily\color{red}]{/&}{&/}, literate= {\\forall}{{\color{dkgreen}{$\forall\;$}}}1 {\\exists}{{$\exists\;$}}1 {<-}{{$\leftarrow\;$}}1 {=>}{{$\Rightarrow\;$}}1 {==}{{\code{==}\;}}1 {==>}{{\code{==>}\;}}1 % {:>}{{\code{:>}\;}}1 {->}{{$\rightarrow\;$}}1 {<->}{{$\leftrightarrow\;$}}1 {<==}{{$\leq\;$}}1 {\#}{{$^\star$}}1 {\\o}{{$\circ\;$}}1 {\@}{{$\cdot$}}1 {\/\\}{{$\wedge\;$}}1 {\\\/}{{$\vee\;$}}1 {++}{{\code{++}}}1 {~}{{\ }}1 {\@\@}{{$@$}}1 {\\mapsto}{{$\mapsto\;$}}1 {\\hline}{{\rule{\linewidth}{0.5pt}}}1 % }[keywords,comments,strings] \lstnewenvironment{coq}{\lstset{language=Coq}}{} % pour inliner dans le texte \def\coqe{\lstinline[language=Coq, basicstyle=\small]} % pour inliner dans les tableaux / displaymath... \def\coqes{\lstinline[language=Coq, basicstyle=\scriptsize]} %%% Local Variables: %%% mode: latex %%% Local IspellDict: british %%% TeX-master: "main.tex" %%% End: