\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/D>>}
\providecommand \oddpage@label [2]{}
\selectlanguage *{english}
\@writefile{toc}{\selectlanguage *{english}}
\@writefile{lof}{\selectlanguage *{english}}
\@writefile{lot}{\selectlanguage *{english}}
\HyPL@Entry{1<</S/r>>}
\HyPL@Entry{2<</S/D>>}
\newlabel{index::doc}{{}{1}{}{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:introduction}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Specification language}{3}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:specification-language}{{2}{3}{Specification language}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Core language}{3}{section.2.1}\protected@file@percent }
\newlabel{language/core/index:core-language}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:id1}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index::doc}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:term-de-bruijn-criterion}{{2.1}{3}{Core language}{section*.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Basic notions and conventions}{3}{subsection.2.1.1}\protected@file@percent }
\newlabel{language/core/basic:basic-notions-and-conventions}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\newlabel{language/core/basic::doc}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax and lexical conventions}{3}{subsubsection*.4}\protected@file@percent }
\newlabel{language/core/basic:syntax-and-lexical-conventions}{{2.1.1}{3}{Syntax and lexical conventions}{subsubsection*.4}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax conventions}{3}{paragraph*.5}\protected@file@percent }
\newlabel{language/core/basic:syntax-conventions}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\newlabel{language/core/basic:id1}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\@writefile{toc}{\contentsline {paragraph}{Lexical conventions}{4}{paragraph*.6}\protected@file@percent }
\newlabel{language/core/basic:lexical-conventions}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:id2}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:grammar-token-ident}{{2.1.1}{4}{Lexical conventions}{section*.10}{}}
\newlabel{language/core/basic:grammar-token-first-letter}{{2.1.1}{4}{Lexical conventions}{section*.11}{}}
\newlabel{language/core/basic:grammar-token-subsequent-letter}{{2.1.1}{4}{Lexical conventions}{section*.12}{}}
\newlabel{language/core/basic:grammar-token-unicode-letter}{{2.1.1}{4}{Lexical conventions}{section*.13}{}}
\newlabel{language/core/basic:grammar-token-unicode-id-part}{{2.1.1}{4}{Lexical conventions}{section*.14}{}}
\newlabel{language/core/basic:grammar-token-numeral}{{2.1.1}{5}{Lexical conventions}{section*.22}{}}
\newlabel{language/core/basic:grammar-token-int}{{2.1.1}{5}{Lexical conventions}{section*.23}{}}
\newlabel{language/core/basic:grammar-token-num}{{2.1.1}{5}{Lexical conventions}{section*.24}{}}
\newlabel{language/core/basic:grammar-token-decnum}{{2.1.1}{5}{Lexical conventions}{section*.25}{}}
\newlabel{language/core/basic:grammar-token-digit}{{2.1.1}{5}{Lexical conventions}{section*.26}{}}
\newlabel{language/core/basic:grammar-token-hexnum}{{2.1.1}{5}{Lexical conventions}{section*.27}{}}
\newlabel{language/core/basic:grammar-token-hexdigit}{{2.1.1}{5}{Lexical conventions}{section*.28}{}}
\newlabel{language/core/basic:grammar-token-string}{{2.1.1}{5}{Lexical conventions}{section*.29}{}}
\@writefile{toc}{\contentsline {subsubsection}{Essential vocabulary}{6}{subsubsection*.30}\protected@file@percent }
\newlabel{language/core/basic:essential-vocabulary}{{2.1.1}{6}{Essential vocabulary}{subsubsection*.30}{}}
\newlabel{language/core/basic:term-term}{{2.1.1}{6}{term\index {term@\spxentry {term}|spxpagem}\phantomsection }{section*.31}{}}
\newlabel{language/core/basic:grammar-token-term}{{2.1.1}{6}{Essential vocabulary}{section*.39}{}}
\newlabel{language/core/basic:grammar-token-term100}{{2.1.1}{6}{Essential vocabulary}{section*.40}{}}
\newlabel{language/core/basic:grammar-token-term10}{{2.1.1}{6}{Essential vocabulary}{section*.41}{}}
\newlabel{language/core/basic:grammar-token-one-term}{{2.1.1}{6}{Essential vocabulary}{section*.42}{}}
\newlabel{language/core/basic:grammar-token-term1}{{2.1.1}{6}{Essential vocabulary}{section*.43}{}}
\newlabel{language/core/basic:grammar-token-term0}{{2.1.1}{6}{Essential vocabulary}{section*.44}{}}
\newlabel{language/core/basic:grammar-token-qualid-annotated}{{2.1.1}{6}{Essential vocabulary}{section*.45}{}}
\newlabel{language/core/basic:term-type}{{2.1.1}{6}{type\index {type@\spxentry {type}|spxpagem}\phantomsection }{section*.46}{}}
\newlabel{language/core/basic:term-well-typed}{{2.1.1}{6}{Essential vocabulary}{section*.47}{}}
\newlabel{language/core/basic:grammar-token-type}{{2.1.1}{7}{Essential vocabulary}{section*.49}{}}
\newlabel{language/core/basic:term-inhabited}{{2.1.1}{7}{Essential vocabulary}{section*.50}{}}
\newlabel{language/core/basic:term-witness}{{2.1.1}{7}{Essential vocabulary}{section*.51}{}}
\newlabel{language/core/basic:term-sentence}{{2.1.1}{7}{sentence\index {sentence@\spxentry {sentence}|spxpagem}\phantomsection }{section*.52}{}}
\newlabel{language/core/basic:grammar-token-document}{{2.1.1}{7}{Essential vocabulary}{section*.55}{}}
\newlabel{language/core/basic:grammar-token-sentence}{{2.1.1}{7}{Essential vocabulary}{section*.56}{}}
\newlabel{language/core/basic:term-command}{{2.1.1}{7}{command\index {command@\spxentry {command}|spxpagem}\phantomsection }{section*.57}{}}
\newlabel{language/core/basic:grammar-token-command}{{2.1.1}{7}{Essential vocabulary}{section*.58}{}}
\newlabel{language/core/basic:coq:cmd.comments}{{2.1.1}{7}{Essential vocabulary}{section*.59}{}}
\newlabel{language/core/basic:term-tactic}{{2.1.1}{7}{tactic\index {tactic@\spxentry {tactic}|spxpagem}\phantomsection }{section*.60}{}}
\@writefile{toc}{\contentsline {subsubsection}{Settings}{7}{subsubsection*.61}\protected@file@percent }
\newlabel{language/core/basic:settings}{{2.1.1}{7}{Settings}{subsubsection*.61}{}}
\@writefile{toc}{\contentsline {paragraph}{Attributes}{8}{paragraph*.62}\protected@file@percent }
\newlabel{language/core/basic:attributes}{{2.1.1}{8}{Attributes}{paragraph*.62}{}}
\newlabel{language/core/basic:id3}{{2.1.1}{8}{Attributes}{paragraph*.62}{}}
\newlabel{language/core/basic:term-attribute}{{2.1.1}{8}{Attributes}{section*.63}{}}
\newlabel{language/core/basic:grammar-token-attributes}{{2.1.1}{8}{Attributes}{section*.68}{}}
\newlabel{language/core/basic:grammar-token-attribute}{{2.1.1}{8}{Attributes}{section*.69}{}}
\newlabel{language/core/basic:grammar-token-attr-value}{{2.1.1}{8}{Attributes}{section*.70}{}}
\newlabel{language/core/basic:grammar-token-legacy-attr}{{2.1.1}{8}{Attributes}{section*.71}{}}
\newlabel{language/core/basic:coq:warn.this-command-does-not-support-this-attribute}{{2.1.1}{8}{Attributes}{section*.72}{}}
\@writefile{toc}{\contentsline {paragraph}{Flags, Options and Tables}{9}{paragraph*.73}\protected@file@percent }
\newlabel{language/core/basic:flags-options-and-tables}{{2.1.1}{9}{Flags, Options and Tables}{paragraph*.73}{}}
\newlabel{language/core/basic:flags-options-tables}{{2.1.1}{9}{Flags, Options and Tables}{paragraph*.73}{}}
\newlabel{language/core/basic:term-flag}{{2.1.1}{9}{Flags, Options and Tables}{section*.74}{}}
\newlabel{language/core/basic:term-option}{{2.1.1}{9}{Flags, Options and Tables}{section*.75}{}}
\newlabel{language/core/basic:term-table}{{2.1.1}{9}{Flags, Options and Tables}{section*.76}{}}
\newlabel{language/core/basic:grammar-token-setting-name}{{2.1.1}{9}{Flags, Options and Tables}{section*.78}{}}
\newlabel{language/core/basic:coq:cmd.set}{{2.1.1}{9}{Flags, Options and Tables}{section*.79}{}}
\newlabel{language/core/basic:coq:warn.there-is-no-flag-or-option-with-this-name-setting-name}{{2.1.1}{9}{Flags, Options and Tables}{section*.80}{}}
\newlabel{language/core/basic:coq:cmd.unset}{{2.1.1}{9}{Flags, Options and Tables}{section*.81}{}}
\newlabel{language/core/basic:coq:cmd.add}{{2.1.1}{9}{Flags, Options and Tables}{section*.82}{}}
\newlabel{language/core/basic:coq:cmd.remove}{{2.1.1}{9}{Flags, Options and Tables}{section*.83}{}}
\newlabel{language/core/basic:coq:cmd.test}{{2.1.1}{9}{Flags, Options and Tables}{section*.84}{}}
\newlabel{language/core/basic:coq:exn.there-is-no-flag-option-or-table-with-this-name-setting-name}{{2.1.1}{9}{Flags, Options and Tables}{section*.85}{}}
\newlabel{language/core/basic:coq:exn.there-is-no-qualid-valued-table-with-this-name-setting-name}{{2.1.1}{9}{Flags, Options and Tables}{section*.86}{}}
\newlabel{language/core/basic:coq:exn.there-is-no-string-valued-table-with-this-name-setting-name}{{2.1.1}{9}{Flags, Options and Tables}{section*.87}{}}
\newlabel{language/core/basic:coq:cmd.print-options}{{2.1.1}{9}{Flags, Options and Tables}{section*.88}{}}
\citation{zebibliography:gilbert-popl2019}
\newlabel{language/core/basic:coq:cmd.print-table}{{2.1.1}{10}{Flags, Options and Tables}{section*.89}{}}
\newlabel{language/core/basic:coq:cmd.print-tables}{{2.1.1}{10}{Flags, Options and Tables}{section*.90}{}}
\@writefile{toc}{\contentsline {subparagraph}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{10}{subparagraph*.91}\protected@file@percent }
\newlabel{language/core/basic:locality-attributes-supported-by-set-and-unset}{{2.1.1}{10}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.91}{}}
\newlabel{language/core/basic:set-unset-scope-qualifiers}{{2.1.1}{10}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.91}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Sorts}{10}{subsection.2.1.2}\protected@file@percent }
\newlabel{language/core/sorts:sorts}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:index-0}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:id1}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts::doc}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:grammar-token-sort}{{2.1.2}{10}{Sorts}{section*.95}{}}
\newlabel{language/core/sorts:grammar-token-universe}{{2.1.2}{10}{Sorts}{section*.96}{}}
\newlabel{language/core/sorts:grammar-token-universe-expr}{{2.1.2}{10}{Sorts}{section*.97}{}}
\newlabel{language/core/sorts:term-sort}{{2.1.2}{10}{Sorts}{section*.98}{}}
\newlabel{language/core/sorts:term-proposition}{{2.1.2}{10}{Sorts}{section*.99}{}}
\citation{zebibliography:coq86}
\newlabel{language/core/sorts:term-strict-proposition}{{2.1.2}{11}{Sorts}{section*.100}{}}
\newlabel{language/core/sorts:implementation-issues}{{2.1.2}{11}{Sorts}{section*.101}{}}
\newlabel{language/core/sorts:term-algebraic-universe}{{2.1.2}{11}{Sorts}{section*.102}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Functions and assumptions}{11}{subsection.2.1.3}\protected@file@percent }
\newlabel{language/core/assumptions:functions-and-assumptions}{{2.1.3}{11}{Functions and assumptions}{subsection.2.1.3}{}}
\newlabel{language/core/assumptions::doc}{{2.1.3}{11}{Functions and assumptions}{subsection.2.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binders}{11}{subsubsection*.103}\protected@file@percent }
\newlabel{language/core/assumptions:binders}{{2.1.3}{11}{Binders}{subsubsection*.103}{}}
\newlabel{language/core/assumptions:id1}{{2.1.3}{11}{Binders}{subsubsection*.103}{}}
\newlabel{language/core/assumptions:grammar-token-open-binders}{{2.1.3}{11}{Binders}{section*.107}{}}
\newlabel{language/core/assumptions:grammar-token-name}{{2.1.3}{11}{Binders}{section*.108}{}}
\newlabel{language/core/assumptions:grammar-token-binder}{{2.1.3}{11}{Binders}{section*.109}{}}
\@writefile{toc}{\contentsline {subsubsection}{Functions (fun) and function types (forall)}{12}{subsubsection*.110}\protected@file@percent }
\newlabel{language/core/assumptions:functions-fun-and-function-types-forall}{{2.1.3}{12}{Functions (fun) and function types (forall)}{subsubsection*.110}{}}
\newlabel{language/core/assumptions:index-1}{{2.1.3}{12}{Functions (fun) and function types (forall)}{subsubsection*.110}{}}
\newlabel{language/core/assumptions:grammar-token-term-forall-or-fun}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.112}{}}
\@writefile{toc}{\contentsline {subsubsection}{Function application}{12}{subsubsection*.113}\protected@file@percent }
\newlabel{language/core/assumptions:function-application}{{2.1.3}{12}{Function application}{subsubsection*.113}{}}
\newlabel{language/core/assumptions:grammar-token-term-application}{{2.1.3}{12}{Function application}{section*.116}{}}
\newlabel{language/core/assumptions:grammar-token-arg}{{2.1.3}{12}{Function application}{section*.117}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assumptions}{13}{subsubsection*.118}\protected@file@percent }
\newlabel{language/core/assumptions:assumptions}{{2.1.3}{13}{Assumptions}{subsubsection*.118}{}}
\newlabel{language/core/assumptions:gallina-assumptions}{{2.1.3}{13}{Assumptions}{subsubsection*.118}{}}
\newlabel{language/core/assumptions:axiom}{{2.1.3}{13}{Assumptions}{section*.119}{}}
\newlabel{language/core/assumptions:coq:cmd.axiom}{{2.1.3}{13}{Assumptions}{section*.120}{}}
\newlabel{language/core/assumptions:coq:cmd.axioms}{{2.1.3}{13}{Assumptions}{section*.121}{}}
\newlabel{language/core/assumptions:coq:cmd.conjecture}{{2.1.3}{13}{Assumptions}{section*.122}{}}
\newlabel{language/core/assumptions:coq:cmd.conjectures}{{2.1.3}{13}{Assumptions}{section*.123}{}}
\newlabel{language/core/assumptions:coq:cmd.hypothesis}{{2.1.3}{13}{Assumptions}{section*.124}{}}
\newlabel{language/core/assumptions:coq:cmd.hypotheses}{{2.1.3}{13}{Assumptions}{section*.125}{}}
\newlabel{language/core/assumptions:coq:cmd.parameter}{{2.1.3}{13}{Assumptions}{section*.126}{}}
\newlabel{language/core/assumptions:coq:cmd.parameters}{{2.1.3}{13}{Assumptions}{section*.127}{}}
\newlabel{language/core/assumptions:coq:cmd.variable}{{2.1.3}{13}{Assumptions}{section*.128}{}}
\newlabel{language/core/assumptions:coq:cmd.variables}{{2.1.3}{13}{Assumptions}{section*.129}{}}
\newlabel{language/core/assumptions:grammar-token-assumption-token}{{2.1.3}{13}{Assumptions}{section*.134}{}}
\newlabel{language/core/assumptions:grammar-token-assumpt}{{2.1.3}{13}{Assumptions}{section*.135}{}}
\newlabel{language/core/assumptions:grammar-token-ident-decl}{{2.1.3}{13}{Assumptions}{section*.136}{}}
\newlabel{language/core/assumptions:grammar-token-of-type}{{2.1.3}{13}{Assumptions}{section*.137}{}}
\newlabel{language/core/assumptions:coq:exn.ident-already-exists-axiom}{{2.1.3}{13}{Assumptions}{section*.138}{}}
\newlabel{language/core/assumptions:coq:warn.ident-is-declared-as-a-local-axiom}{{2.1.3}{13}{Assumptions}{section*.139}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Definitions}{14}{subsection.2.1.4}\protected@file@percent }
\newlabel{language/core/definitions:definitions}{{2.1.4}{14}{Definitions}{subsection.2.1.4}{}}
\newlabel{language/core/definitions::doc}{{2.1.4}{14}{Definitions}{subsection.2.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Let\sphinxhyphen {}in definitions}{14}{subsubsection*.140}\protected@file@percent }
\newlabel{language/core/definitions:let-in-definitions}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.140}{}}
\newlabel{language/core/definitions:let-in}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.140}{}}
\newlabel{language/core/definitions:index-0}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.140}{}}
\newlabel{language/core/definitions:grammar-token-term-let}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{section*.142}{}}
\@writefile{toc}{\contentsline {subsubsection}{Type cast}{14}{subsubsection*.143}\protected@file@percent }
\newlabel{language/core/definitions:type-cast}{{2.1.4}{14}{Type cast}{subsubsection*.143}{}}
\newlabel{language/core/definitions:index-1}{{2.1.4}{14}{Type cast}{subsubsection*.143}{}}
\newlabel{language/core/definitions:grammar-token-term-cast}{{2.1.4}{14}{Type cast}{section*.145}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions}{14}{subsubsection*.146}\protected@file@percent }
\newlabel{language/core/definitions:top-level-definitions}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{subsubsection*.146}{}}
\newlabel{language/core/definitions:gallina-definitions}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{subsubsection*.146}{}}
\newlabel{language/core/definitions:coq:cmd.definition}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{section*.147}{}}
\newlabel{language/core/definitions:coq:cmd.example}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{section*.148}{}}
\newlabel{language/core/definitions:grammar-token-def-body}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{section*.151}{}}
\newlabel{language/core/definitions:grammar-token-reduce}{{2.1.4}{14}{Top\sphinxhyphen {}level definitions}{section*.152}{}}
\newlabel{language/core/definitions:coq:exn.ident-already-exists-definition}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.153}{}}
\newlabel{language/core/definitions:coq:exn.the-term-term-has-type-type-while-it-is-expected-to-have-type-type}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.154}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assertions and proofs}{15}{subsubsection*.155}\protected@file@percent }
\newlabel{language/core/definitions:assertions-and-proofs}{{2.1.4}{15}{Assertions and proofs}{subsubsection*.155}{}}
\newlabel{language/core/definitions:assertions}{{2.1.4}{15}{Assertions and proofs}{subsubsection*.155}{}}
\newlabel{language/core/definitions:coq:cmd.theorem}{{2.1.4}{15}{Assertions and proofs}{section*.156}{}}
\newlabel{language/core/definitions:coq:cmd.lemma}{{2.1.4}{15}{Assertions and proofs}{section*.157}{}}
\newlabel{language/core/definitions:coq:cmd.fact}{{2.1.4}{15}{Assertions and proofs}{section*.158}{}}
\newlabel{language/core/definitions:coq:cmd.remark}{{2.1.4}{15}{Assertions and proofs}{section*.159}{}}
\newlabel{language/core/definitions:coq:cmd.corollary}{{2.1.4}{15}{Assertions and proofs}{section*.160}{}}
\newlabel{language/core/definitions:coq:cmd.proposition}{{2.1.4}{15}{Assertions and proofs}{section*.161}{}}
\newlabel{language/core/definitions:coq:cmd.property}{{2.1.4}{15}{Assertions and proofs}{section*.162}{}}
\newlabel{language/core/definitions:grammar-token-thm-token}{{2.1.4}{15}{Assertions and proofs}{section*.164}{}}
\newlabel{language/core/definitions:coq:exn.the-term-term-has-type-type-which-should-be-set-prop-or-type}{{2.1.4}{15}{Assertions and proofs}{section*.165}{}}
\citation{zebibliography:coq85}
\newlabel{language/core/definitions:coq:exn.ident-already-exists-theorem}{{2.1.4}{16}{Assertions and proofs}{section*.166}{}}
\newlabel{language/core/definitions:coq:exn.nested-proofs-are-not-allowed-unless-you-turn-the-nested-proofs-allowed-flag-on}{{2.1.4}{16}{Assertions and proofs}{section*.167}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.5}Conversion rules}{16}{subsection.2.1.5}\protected@file@percent }
\newlabel{language/core/conversion:conversion-rules}{{2.1.5}{16}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion:id1}{{2.1.5}{16}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion::doc}{{2.1.5}{16}{Conversion rules}{subsection.2.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{β\sphinxhyphen {}reduction}{16}{subsubsection*.168}\protected@file@percent }
\newlabel{language/core/conversion:reduction}{{2.1.5}{16}{β\sphinxhyphen {}reduction}{subsubsection*.168}{}}
\newlabel{language/core/conversion:beta-reduction}{{2.1.5}{16}{β\sphinxhyphen {}reduction}{subsubsection*.168}{}}
\citation{zebibliography:moh93}
\citation{zebibliography:wer94}
\@writefile{toc}{\contentsline {subsubsection}{ι\sphinxhyphen {}reduction}{17}{subsubsection*.169}\protected@file@percent }
\newlabel{language/core/conversion:iota-reduction}{{2.1.5}{17}{ι\sphinxhyphen {}reduction}{subsubsection*.169}{}}
\newlabel{language/core/conversion:id3}{{2.1.5}{17}{ι\sphinxhyphen {}reduction}{subsubsection*.169}{}}
\@writefile{toc}{\contentsline {subsubsection}{δ\sphinxhyphen {}reduction}{17}{subsubsection*.170}\protected@file@percent }
\newlabel{language/core/conversion:delta-reduction}{{2.1.5}{17}{δ\sphinxhyphen {}reduction}{subsubsection*.170}{}}
\newlabel{language/core/conversion:id6}{{2.1.5}{17}{δ\sphinxhyphen {}reduction}{subsubsection*.170}{}}
\newlabel{language/core/conversion:inference-delta-local}{{2.1.5}{17}{δ\sphinxhyphen {}reduction}{section*.171}{}}
\newlabel{language/core/conversion:inference-delta-global}{{2.1.5}{17}{δ\sphinxhyphen {}reduction}{section*.172}{}}
\@writefile{toc}{\contentsline {subsubsection}{ζ\sphinxhyphen {}reduction}{17}{subsubsection*.173}\protected@file@percent }
\newlabel{language/core/conversion:zeta-reduction}{{2.1.5}{17}{ζ\sphinxhyphen {}reduction}{subsubsection*.173}{}}
\newlabel{language/core/conversion:id7}{{2.1.5}{17}{ζ\sphinxhyphen {}reduction}{subsubsection*.173}{}}
\newlabel{language/core/conversion:inference-zeta}{{2.1.5}{17}{ζ\sphinxhyphen {}reduction}{section*.174}{}}
\@writefile{toc}{\contentsline {subsubsection}{η\sphinxhyphen {}expansion}{17}{subsubsection*.175}\protected@file@percent }
\newlabel{language/core/conversion:expansion}{{2.1.5}{17}{η\sphinxhyphen {}expansion}{subsubsection*.175}{}}
\newlabel{language/core/conversion:eta-expansion}{{2.1.5}{17}{η\sphinxhyphen {}expansion}{subsubsection*.175}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof Irrelevance}{18}{subsubsection*.176}\protected@file@percent }
\newlabel{language/core/conversion:proof-irrelevance}{{2.1.5}{18}{Proof Irrelevance}{subsubsection*.176}{}}
\newlabel{language/core/conversion:id8}{{2.1.5}{18}{Proof Irrelevance}{subsubsection*.176}{}}
\@writefile{toc}{\contentsline {subsubsection}{Convertibility}{18}{subsubsection*.177}\protected@file@percent }
\newlabel{language/core/conversion:convertibility}{{2.1.5}{18}{Convertibility}{subsubsection*.177}{}}
\newlabel{language/core/conversion:id9}{{2.1.5}{18}{Convertibility}{subsubsection*.177}{}}
\citation{zebibliography:bar81}
\citation{zebibliography:cur58}
\citation{zebibliography:how80}
\citation{zebibliography:bru72}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.6}Typing rules}{19}{subsection.2.1.6}\protected@file@percent }
\newlabel{language/cic:typing-rules}{{2.1.6}{19}{Typing rules}{subsection.2.1.6}{}}
\newlabel{language/cic::doc}{{2.1.6}{19}{Typing rules}{subsection.2.1.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{The terms}{19}{subsubsection*.178}\protected@file@percent }
\newlabel{language/cic:the-terms}{{2.1.6}{19}{The terms}{subsubsection*.178}{}}
\newlabel{language/cic:id1}{{2.1.6}{19}{The terms}{subsubsection*.178}{}}
\newlabel{language/cic:free-variables}{{2.1.6}{19}{The terms}{section*.179}{}}
\newlabel{language/cic:substitution}{{2.1.6}{19}{The terms}{section*.180}{}}
\newlabel{language/cic:the-logical-vs-programming-readings}{{2.1.6}{19}{The terms}{section*.181}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing rules}{20}{subsubsection*.182}\protected@file@percent }
\newlabel{language/cic:id6}{{2.1.6}{20}{Typing rules}{subsubsection*.182}{}}
\newlabel{language/cic:id7}{{2.1.6}{20}{Typing rules}{subsubsection*.182}{}}
\newlabel{language/cic:local-context}{{2.1.6}{20}{Typing rules}{section*.183}{}}
\newlabel{language/cic:global-environment}{{2.1.6}{20}{Typing rules}{section*.184}{}}
\newlabel{language/cic:typing-rules2}{{2.1.6}{20}{Typing rules}{section*.185}{}}
\newlabel{language/cic:inference-w-empty}{{2.1.6}{20}{Typing rules}{section*.186}{}}
\newlabel{language/cic:inference-w-local-assum}{{2.1.6}{20}{Typing rules}{section*.187}{}}
\newlabel{language/cic:inference-w-local-def}{{2.1.6}{20}{Typing rules}{section*.188}{}}
\newlabel{language/cic:inference-w-global-assum}{{2.1.6}{20}{Typing rules}{section*.189}{}}
\newlabel{language/cic:inference-w-global-def}{{2.1.6}{21}{Typing rules}{section*.190}{}}
\newlabel{language/cic:inference-ax-sprop}{{2.1.6}{21}{Typing rules}{section*.191}{}}
\newlabel{language/cic:inference-ax-prop}{{2.1.6}{21}{Typing rules}{section*.192}{}}
\newlabel{language/cic:inference-ax-set}{{2.1.6}{21}{Typing rules}{section*.193}{}}
\newlabel{language/cic:inference-ax-type}{{2.1.6}{21}{Typing rules}{section*.194}{}}
\newlabel{language/cic:inference-var}{{2.1.6}{21}{Typing rules}{section*.195}{}}
\newlabel{language/cic:inference-const}{{2.1.6}{21}{Typing rules}{section*.196}{}}
\newlabel{language/cic:inference-prod-sprop}{{2.1.6}{21}{Typing rules}{section*.197}{}}
\newlabel{language/cic:inference-prod-prop}{{2.1.6}{21}{Typing rules}{section*.198}{}}
\newlabel{language/cic:inference-prod-set}{{2.1.6}{21}{Typing rules}{section*.199}{}}
\newlabel{language/cic:inference-prod-type}{{2.1.6}{21}{Typing rules}{section*.200}{}}
\newlabel{language/cic:inference-lam}{{2.1.6}{21}{Typing rules}{section*.201}{}}
\newlabel{language/cic:inference-app}{{2.1.6}{22}{Typing rules}{section*.202}{}}
\newlabel{language/cic:inference-let}{{2.1.6}{22}{Typing rules}{section*.203}{}}
\@writefile{toc}{\contentsline {subsubsection}{Subtyping rules}{22}{subsubsection*.204}\protected@file@percent }
\newlabel{language/cic:subtyping-rules}{{2.1.6}{22}{Subtyping rules}{subsubsection*.204}{}}
\newlabel{language/cic:id8}{{2.1.6}{22}{Subtyping rules}{subsubsection*.204}{}}
\newlabel{language/cic:inference-conv}{{2.1.6}{23}{Subtyping rules}{section*.205}{}}
\newlabel{language/cic:normal-form}{{2.1.6}{23}{Subtyping rules}{section*.206}{}}
\@writefile{toc}{\contentsline {subsubsection}{Admissible rules for global environments}{23}{subsubsection*.207}\protected@file@percent }
\newlabel{language/cic:admissible-rules-for-global-environments}{{2.1.6}{23}{Admissible rules for global environments}{subsubsection*.207}{}}
\newlabel{language/cic:id9}{{2.1.6}{23}{Admissible rules for global environments}{subsubsection*.207}{}}
\newlabel{language/cic:abstraction}{{2.1.6}{23}{Admissible rules for global environments}{section*.208}{}}
\newlabel{language/cic:first-abstracting-property}{{2.1.6}{23}{Admissible rules for global environments}{section*.209}{}}
\newlabel{language/cic:second-abstracting-property}{{2.1.6}{24}{Admissible rules for global environments}{section*.210}{}}
\newlabel{language/cic:pruning-the-local-context}{{2.1.6}{24}{Admissible rules for global environments}{section*.211}{}}
\newlabel{language/cic:first-pruning-property}{{2.1.6}{24}{Admissible rules for global environments}{section*.212}{}}
\newlabel{language/cic:inference-first-pruning-property}{{2.1.6}{24}{Admissible rules for global environments}{section*.213}{}}
\newlabel{language/cic:second-pruning-property}{{2.1.6}{24}{Admissible rules for global environments}{section*.214}{}}
\newlabel{language/cic:inference-second-pruning-property}{{2.1.6}{24}{Admissible rules for global environments}{section*.215}{}}
\@writefile{toc}{\contentsline {subsubsection}{The Calculus of Inductive Constructions with impredicative Set}{24}{subsubsection*.216}\protected@file@percent }
\newlabel{language/cic:the-calculus-of-inductive-constructions-with-impredicative-set}{{2.1.6}{24}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.216}{}}
\newlabel{language/cic:the-calculus-of-inductive-construction-with-impredicative-set}{{2.1.6}{24}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.216}{}}
\newlabel{language/cic:inference-prodimp}{{2.1.6}{24}{The Calculus of Inductive Constructions with impredicative Set}{section*.217}{}}
\newlabel{language/cic:inference-set1}{{2.1.6}{25}{The Calculus of Inductive Constructions with impredicative Set}{section*.218}{}}
\newlabel{language/cic:inference-set2}{{2.1.6}{25}{The Calculus of Inductive Constructions with impredicative Set}{section*.219}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.7}Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{25}{subsection.2.1.7}\protected@file@percent }
\newlabel{language/core/variants:variants-and-the-match-construct}{{2.1.7}{25}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\newlabel{language/core/variants::doc}{{2.1.7}{25}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants}{25}{subsubsection*.220}\protected@file@percent }
\newlabel{language/core/variants:variants}{{2.1.7}{25}{Variants}{subsubsection*.220}{}}
\newlabel{language/core/variants:coq:cmd.variant}{{2.1.7}{25}{Variants}{section*.221}{}}
\newlabel{language/core/variants:grammar-token-variant-definition}{{2.1.7}{25}{Variants}{section*.223}{}}
\newlabel{language/core/variants:coq:exn.the-num-th-argument-of-ident-must-be-ident-in-type}{{2.1.7}{25}{Variants}{section*.224}{}}
\@writefile{toc}{\contentsline {paragraph}{Private (matching) inductive types}{25}{paragraph*.225}\protected@file@percent }
\newlabel{language/core/variants:private-matching-inductive-types}{{2.1.7}{25}{Private (matching) inductive types}{paragraph*.225}{}}
\newlabel{language/core/variants:coq:attr.private-matching}{{2.1.7}{25}{Private (matching) inductive types}{section*.226}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definition by cases: match}{26}{subsubsection*.227}\protected@file@percent }
\newlabel{language/core/variants:definition-by-cases-match}{{2.1.7}{26}{Definition by cases: match}{subsubsection*.227}{}}
\newlabel{language/core/variants:match-term}{{2.1.7}{26}{Definition by cases: match}{subsubsection*.227}{}}
\newlabel{language/core/variants:index-0}{{2.1.7}{26}{Definition by cases: match}{subsubsection*.227}{}}
\newlabel{language/core/variants:grammar-token-term-match}{{2.1.7}{26}{Definition by cases: match}{section*.235}{}}
\newlabel{language/core/variants:grammar-token-case-item}{{2.1.7}{26}{Definition by cases: match}{section*.236}{}}
\newlabel{language/core/variants:grammar-token-eqn}{{2.1.7}{26}{Definition by cases: match}{section*.237}{}}
\newlabel{language/core/variants:grammar-token-pattern}{{2.1.7}{26}{Definition by cases: match}{section*.238}{}}
\newlabel{language/core/variants:grammar-token-pattern10}{{2.1.7}{26}{Definition by cases: match}{section*.239}{}}
\newlabel{language/core/variants:grammar-token-pattern1}{{2.1.7}{26}{Definition by cases: match}{section*.240}{}}
\newlabel{language/core/variants:grammar-token-pattern0}{{2.1.7}{26}{Definition by cases: match}{section*.241}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.8}Record types}{28}{subsection.2.1.8}\protected@file@percent }
\newlabel{language/core/records:record-types}{{2.1.8}{28}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:id1}{{2.1.8}{28}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records::doc}{{2.1.8}{28}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:record-grammar}{{2.1.8}{28}{Record types}{section*.242}{}}
\newlabel{language/core/records:coq:cmd.record}{{2.1.8}{28}{Record types}{section*.243}{}}
\newlabel{language/core/records:coq:cmd.structure}{{2.1.8}{28}{Record types}{section*.244}{}}
\newlabel{language/core/records:grammar-token-record-definition}{{2.1.8}{28}{Record types}{section*.250}{}}
\newlabel{language/core/records:grammar-token-record-field}{{2.1.8}{28}{Record types}{section*.251}{}}
\newlabel{language/core/records:grammar-token-field-body}{{2.1.8}{28}{Record types}{section*.252}{}}
\newlabel{language/core/records:grammar-token-term-record}{{2.1.8}{28}{Record types}{section*.253}{}}
\newlabel{language/core/records:grammar-token-field-def}{{2.1.8}{28}{Record types}{section*.254}{}}
\newlabel{language/core/records:coq:flag.printing-records}{{2.1.8}{30}{Record types}{section*.255}{}}
\newlabel{language/core/records:coq:table.printing-record}{{2.1.8}{30}{Record types}{section*.256}{}}
\newlabel{language/core/records:coq:table.printing-constructor}{{2.1.8}{30}{Record types}{section*.257}{}}
\newlabel{language/core/records:coq:flag.printing-projections}{{2.1.8}{30}{Record types}{section*.258}{}}
\newlabel{language/core/records:record-projections-grammar}{{2.1.8}{31}{Record types}{section*.259}{}}
\newlabel{language/core/records:grammar-token-term-projection}{{2.1.8}{31}{Record types}{section*.261}{}}
\newlabel{language/core/records:coq:warn.ident-cannot-be-defined}{{2.1.8}{31}{Record types}{section*.262}{}}
\newlabel{language/core/records:coq:exn.records-declared-with-the-keyword-record-or-structure-cannot-be-recursive}{{2.1.8}{31}{Record types}{section*.263}{}}
\newlabel{language/core/records:coq:exn.cannot-handle-mutually-co-inductive-records}{{2.1.8}{31}{Record types}{section*.264}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Projections}{32}{subsubsection*.265}\protected@file@percent }
\newlabel{language/core/records:primitive-projections}{{2.1.8}{32}{Primitive Projections}{subsubsection*.265}{}}
\newlabel{language/core/records:id2}{{2.1.8}{32}{Primitive Projections}{subsubsection*.265}{}}
\newlabel{language/core/records:coq:flag.primitive-projections}{{2.1.8}{32}{Primitive Projections}{section*.266}{}}
\newlabel{language/core/records:coq:flag.printing-primitive-projection-parameters}{{2.1.8}{32}{Primitive Projections}{section*.267}{}}
\@writefile{toc}{\contentsline {paragraph}{Primitive Record Types}{32}{paragraph*.268}\protected@file@percent }
\newlabel{language/core/records:primitive-record-types}{{2.1.8}{32}{Primitive Record Types}{paragraph*.268}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{32}{paragraph*.269}\protected@file@percent }
\newlabel{language/core/records:reduction}{{2.1.8}{32}{Reduction}{paragraph*.269}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{33}{paragraph*.270}\protected@file@percent }
\newlabel{language/core/records:compatibility-projections-and-match}{{2.1.8}{33}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{paragraph*.270}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.9}Inductive types and recursive functions}{33}{subsection.2.1.9}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types-and-recursive-functions}{{2.1.9}{33}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\newlabel{language/core/inductive::doc}{{2.1.9}{33}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inductive types}{33}{subsubsection*.271}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types}{{2.1.9}{33}{Inductive types}{subsubsection*.271}{}}
\newlabel{language/core/inductive:gallina-inductive-definitions}{{2.1.9}{33}{Inductive types}{subsubsection*.271}{}}
\newlabel{language/core/inductive:coq:cmd.inductive}{{2.1.9}{33}{Inductive types}{section*.272}{}}
\newlabel{language/core/inductive:grammar-token-inductive-definition}{{2.1.9}{33}{Inductive types}{section*.276}{}}
\newlabel{language/core/inductive:grammar-token-constructors-or-record}{{2.1.9}{33}{Inductive types}{section*.277}{}}
\newlabel{language/core/inductive:grammar-token-constructor}{{2.1.9}{33}{Inductive types}{section*.278}{}}
\newlabel{language/core/inductive:coq:exn.non-strictly-positive-occurrence-of-ident-in-type}{{2.1.9}{33}{Inductive types}{section*.279}{}}
\newlabel{language/core/inductive:coq:exn.the-conclusion-of-type-is-not-valid-it-must-be-built-from-ident}{{2.1.9}{34}{Inductive types}{section*.280}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple inductive types}{34}{paragraph*.281}\protected@file@percent }
\newlabel{language/core/inductive:simple-inductive-types}{{2.1.9}{34}{Simple inductive types}{paragraph*.281}{}}
\newlabel{language/core/inductive:id1}{{2.1.9}{34}{Simple inductive types}{paragraph*.281}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple annotated inductive types}{35}{paragraph*.282}\protected@file@percent }
\newlabel{language/core/inductive:simple-annotated-inductive-types}{{2.1.9}{35}{Simple annotated inductive types}{paragraph*.282}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameterized inductive types}{35}{paragraph*.283}\protected@file@percent }
\newlabel{language/core/inductive:parameterized-inductive-types}{{2.1.9}{35}{Parameterized inductive types}{paragraph*.283}{}}
\newlabel{language/core/inductive:parametrized-inductive-types}{{2.1.9}{35}{Parameterized inductive types}{paragraph*.283}{}}
\newlabel{language/core/inductive:coq:flag.uniform-inductive-parameters}{{2.1.9}{37}{Parameterized inductive types}{section*.284}{}}
\@writefile{toc}{\contentsline {paragraph}{Mutually defined inductive types}{38}{paragraph*.285}\protected@file@percent }
\newlabel{language/core/inductive:mutually-defined-inductive-types}{{2.1.9}{38}{Mutually defined inductive types}{paragraph*.285}{}}
\newlabel{language/core/inductive:mutually-inductive-types}{{2.1.9}{38}{Mutually defined inductive types}{paragraph*.285}{}}
\@writefile{toc}{\contentsline {subsubsection}{Recursive functions: fix}{39}{subsubsection*.286}\protected@file@percent }
\newlabel{language/core/inductive:recursive-functions-fix}{{2.1.9}{39}{Recursive functions: fix}{subsubsection*.286}{}}
\newlabel{language/core/inductive:index-0}{{2.1.9}{39}{Recursive functions: fix}{subsubsection*.286}{}}
\newlabel{language/core/inductive:grammar-token-term-fix}{{2.1.9}{39}{Recursive functions: fix}{section*.290}{}}
\newlabel{language/core/inductive:grammar-token-fix-body}{{2.1.9}{39}{Recursive functions: fix}{section*.291}{}}
\newlabel{language/core/inductive:grammar-token-fixannot}{{2.1.9}{39}{Recursive functions: fix}{section*.292}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level recursive functions}{39}{subsubsection*.293}\protected@file@percent }
\newlabel{language/core/inductive:top-level-recursive-functions}{{2.1.9}{39}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.293}{}}
\newlabel{language/core/inductive:fixpoint}{{2.1.9}{39}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.293}{}}
\newlabel{language/core/inductive:coq:cmd.fixpoint}{{2.1.9}{39}{Top\sphinxhyphen {}level recursive functions}{section*.294}{}}
\newlabel{language/core/inductive:grammar-token-fix-definition}{{2.1.9}{39}{Top\sphinxhyphen {}level recursive functions}{section*.296}{}}
\newlabel{language/core/inductive:example-mutual-fixpoints}{{2.1.9}{41}{Top\sphinxhyphen {}level recursive functions}{section*.297}{}}
\@writefile{toc}{\contentsline {subsubsection}{Theory of inductive definitions}{42}{subsubsection*.298}\protected@file@percent }
\newlabel{language/core/inductive:theory-of-inductive-definitions}{{2.1.9}{42}{Theory of inductive definitions}{subsubsection*.298}{}}
\newlabel{language/core/inductive:inductive-definitions}{{2.1.9}{42}{Theory of inductive definitions}{subsubsection*.298}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of inductive objects}{43}{paragraph*.299}\protected@file@percent }
\newlabel{language/core/inductive:types-of-inductive-objects}{{2.1.9}{43}{Types of inductive objects}{paragraph*.299}{}}
\newlabel{language/core/inductive:id2}{{2.1.9}{43}{Types of inductive objects}{paragraph*.299}{}}
\newlabel{language/core/inductive:inference-ind}{{2.1.9}{43}{Types of inductive objects}{section*.300}{}}
\newlabel{language/core/inductive:inference-constr}{{2.1.9}{43}{Types of inductive objects}{section*.301}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}formed inductive definitions}{43}{paragraph*.302}\protected@file@percent }
\newlabel{language/core/inductive:well-formed-inductive-definitions}{{2.1.9}{43}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.302}{}}
\newlabel{language/core/inductive:id3}{{2.1.9}{43}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.302}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity of a given sort}{43}{subparagraph*.303}\protected@file@percent }
\newlabel{language/core/inductive:arity-of-a-given-sort}{{2.1.9}{43}{Arity of a given sort}{subparagraph*.303}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity}{44}{subparagraph*.304}\protected@file@percent }
\newlabel{language/core/inductive:arity}{{2.1.9}{44}{Arity}{subparagraph*.304}{}}
\@writefile{toc}{\contentsline {subparagraph}{Type of constructor}{44}{subparagraph*.305}\protected@file@percent }
\newlabel{language/core/inductive:type-of-constructor}{{2.1.9}{44}{Type of constructor}{subparagraph*.305}{}}
\@writefile{toc}{\contentsline {subparagraph}{Positivity Condition}{44}{subparagraph*.306}\protected@file@percent }
\newlabel{language/core/inductive:positivity-condition}{{2.1.9}{44}{Positivity Condition}{subparagraph*.306}{}}
\newlabel{language/core/inductive:positivity}{{2.1.9}{44}{Positivity Condition}{subparagraph*.306}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict positivity}{44}{subparagraph*.307}\protected@file@percent }
\newlabel{language/core/inductive:strict-positivity}{{2.1.9}{44}{Strict positivity}{subparagraph*.307}{}}
\@writefile{toc}{\contentsline {subparagraph}{Nested Positivity}{45}{subparagraph*.308}\protected@file@percent }
\newlabel{language/core/inductive:nested-positivity}{{2.1.9}{45}{Nested Positivity}{subparagraph*.308}{}}
\@writefile{toc}{\contentsline {subparagraph}{Correctness rules}{45}{subparagraph*.309}\protected@file@percent }
\newlabel{language/core/inductive:correctness-rules}{{2.1.9}{45}{Correctness rules}{subparagraph*.309}{}}
\newlabel{language/core/inductive:id4}{{2.1.9}{45}{Correctness rules}{subparagraph*.309}{}}
\newlabel{language/core/inductive:inference-w-ind}{{2.1.9}{45}{Correctness rules}{section*.310}{}}
\citation{zebibliography:cp90}
\@writefile{toc}{\contentsline {subparagraph}{Template polymorphism}{48}{subparagraph*.311}\protected@file@percent }
\newlabel{language/core/inductive:template-polymorphism}{{2.1.9}{48}{Template polymorphism}{subparagraph*.311}{}}
\newlabel{language/core/inductive:id6}{{2.1.9}{48}{Template polymorphism}{subparagraph*.311}{}}
\newlabel{language/core/inductive:inference-ind-family}{{2.1.9}{48}{Template polymorphism}{section*.312}{}}
\newlabel{language/core/inductive:coq:flag.auto-template-polymorphism}{{2.1.9}{49}{Template polymorphism}{section*.313}{}}
\newlabel{language/core/inductive:coq:warn.automatically-declaring-ident-as-template-polymorphic}{{2.1.9}{49}{Template polymorphism}{section*.314}{}}
\newlabel{language/core/inductive:coq:attr.universes-template}{{2.1.9}{49}{Template polymorphism}{section*.315}{}}
\newlabel{language/core/inductive:coq:exn.template-and-polymorphism-not-compatible}{{2.1.9}{49}{Template polymorphism}{section*.316}{}}
\newlabel{language/core/inductive:coq:exn.ill-formed-template-inductive-declaration-not-polymorphic-on-any-universe}{{2.1.9}{49}{Template polymorphism}{section*.317}{}}
\newlabel{language/core/inductive:coq:attr.universes-notemplate}{{2.1.9}{49}{Template polymorphism}{section*.318}{}}
\citation{zebibliography:coq92}
\@writefile{toc}{\contentsline {paragraph}{Destructors}{51}{paragraph*.319}\protected@file@percent }
\newlabel{language/core/inductive:destructors}{{2.1.9}{51}{Destructors}{paragraph*.319}{}}
\newlabel{language/core/inductive:id7}{{2.1.9}{51}{Destructors}{paragraph*.319}{}}
\@writefile{toc}{\contentsline {subparagraph}{The match ... with ... end construction}{52}{subparagraph*.320}\protected@file@percent }
\newlabel{language/core/inductive:the-match-with-end-construction}{{2.1.9}{52}{The match ... with ... end construction}{subparagraph*.320}{}}
\newlabel{language/core/inductive:match-construction}{{2.1.9}{52}{The match ... with ... end construction}{subparagraph*.320}{}}
\newlabel{language/core/inductive:allowed-elimination-sorts}{{2.1.9}{52}{The match ... with ... end construction}{section*.321}{}}
\newlabel{language/core/inductive:cic-notations}{{2.1.9}{52}{The match ... with ... end construction}{section*.322}{}}
\newlabel{language/core/inductive:inference-prod}{{2.1.9}{52}{The match ... with ... end construction}{section*.323}{}}
\newlabel{language/core/inductive:inference-set-type}{{2.1.9}{52}{The match ... with ... end construction}{section*.324}{}}
\newlabel{language/core/inductive:inference-prop}{{2.1.9}{52}{The match ... with ... end construction}{section*.325}{}}
\newlabel{language/core/inductive:empty-and-singleton-elimination}{{2.1.9}{53}{The match ... with ... end construction}{section*.326}{}}
\newlabel{language/core/inductive:inference-prop-extended}{{2.1.9}{53}{The match ... with ... end construction}{section*.327}{}}
\newlabel{language/core/inductive:eliminaton-for-sprop}{{2.1.9}{54}{The match ... with ... end construction}{section*.328}{}}
\newlabel{language/core/inductive:type-of-branches}{{2.1.9}{54}{The match ... with ... end construction}{section*.329}{}}
\newlabel{language/core/inductive:typing-rule}{{2.1.9}{55}{The match ... with ... end construction}{section*.330}{}}
\newlabel{language/core/inductive:inference-match}{{2.1.9}{55}{The match ... with ... end construction}{section*.331}{}}
\newlabel{language/core/inductive:inference-list-example}{{2.1.9}{55}{The match ... with ... end construction}{section*.332}{}}
\newlabel{language/core/inductive:definition-of-reduction}{{2.1.9}{55}{The match ... with ... end construction}{section*.333}{}}
\citation{zebibliography:gim94}
\@writefile{toc}{\contentsline {paragraph}{Fixpoint definitions}{56}{paragraph*.334}\protected@file@percent }
\newlabel{language/core/inductive:fixpoint-definitions}{{2.1.9}{56}{Fixpoint definitions}{paragraph*.334}{}}
\newlabel{language/core/inductive:id9}{{2.1.9}{56}{Fixpoint definitions}{paragraph*.334}{}}
\@writefile{toc}{\contentsline {subparagraph}{Typing rule}{56}{subparagraph*.335}\protected@file@percent }
\newlabel{language/core/inductive:id10}{{2.1.9}{56}{Typing rule}{subparagraph*.335}{}}
\newlabel{language/core/inductive:inference-fix}{{2.1.9}{56}{Typing rule}{section*.336}{}}
\citation{zebibliography:gimenez95b}
\citation{zebibliography:gim98}
\citation{zebibliography:gimcas05}
\@writefile{toc}{\contentsline {subparagraph}{Reduction rule}{58}{subparagraph*.337}\protected@file@percent }
\newlabel{language/core/inductive:reduction-rule}{{2.1.9}{58}{Reduction rule}{subparagraph*.337}{}}
\newlabel{language/core/inductive:id12}{{2.1.9}{58}{Reduction rule}{subparagraph*.337}{}}
\newlabel{language/core/inductive:mutual-induction}{{2.1.9}{58}{Reduction rule}{section*.338}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.10}Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{58}{subsection.2.1.10}\protected@file@percent }
\newlabel{language/core/coinductive:co-inductive-types-and-co-recursive-functions}{{2.1.10}{58}{Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{subsection.2.1.10}{}}
\newlabel{language/core/coinductive::doc}{{2.1.10}{58}{Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{subsection.2.1.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Co\sphinxhyphen {}inductive types}{58}{subsubsection*.339}\protected@file@percent }
\newlabel{language/core/coinductive:co-inductive-types}{{2.1.10}{58}{Co\sphinxhyphen {}inductive types}{subsubsection*.339}{}}
\newlabel{language/core/coinductive:coinductive-types}{{2.1.10}{58}{Co\sphinxhyphen {}inductive types}{subsubsection*.339}{}}
\newlabel{language/core/coinductive:coq:cmd.coinductive}{{2.1.10}{58}{Co\sphinxhyphen {}inductive types}{section*.340}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveat}{59}{paragraph*.341}\protected@file@percent }
\newlabel{language/core/coinductive:caveat}{{2.1.10}{59}{Caveat}{paragraph*.341}{}}
\@writefile{toc}{\contentsline {subsubsection}{Co\sphinxhyphen {}recursive functions: cofix}{60}{subsubsection*.342}\protected@file@percent }
\newlabel{language/core/coinductive:co-recursive-functions-cofix}{{2.1.10}{60}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.342}{}}
\newlabel{language/core/coinductive:index-0}{{2.1.10}{60}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.342}{}}
\newlabel{language/core/coinductive:grammar-token-term-cofix}{{2.1.10}{60}{Co\sphinxhyphen {}recursive functions: cofix}{section*.345}{}}
\newlabel{language/core/coinductive:grammar-token-cofix-body}{{2.1.10}{60}{Co\sphinxhyphen {}recursive functions: cofix}{section*.346}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{60}{subsubsection*.347}\protected@file@percent }
\newlabel{language/core/coinductive:top-level-definitions-of-co-recursive-functions}{{2.1.10}{60}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{subsubsection*.347}{}}
\newlabel{language/core/coinductive:cofixpoint}{{2.1.10}{60}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{subsubsection*.347}{}}
\newlabel{language/core/coinductive:coq:cmd.cofixpoint}{{2.1.10}{60}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{section*.348}{}}
\newlabel{language/core/coinductive:grammar-token-cofix-definition}{{2.1.10}{60}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{section*.350}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.11}Section mechanism}{61}{subsection.2.1.11}\protected@file@percent }
\newlabel{language/core/sections:section-mechanism}{{2.1.11}{61}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:id1}{{2.1.11}{61}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections::doc}{{2.1.11}{61}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:coq:cmd.section}{{2.1.11}{62}{Section mechanism}{section*.351}{}}
\newlabel{language/core/sections:coq:cmd.end}{{2.1.11}{62}{Section mechanism}{section*.352}{}}
\newlabel{language/core/sections:coq:exn.there-is-nothing-to-end}{{2.1.11}{62}{Section mechanism}{section*.353}{}}
\newlabel{language/core/sections:coq:exn.last-block-to-end-has-name-ident}{{2.1.11}{62}{Section mechanism}{section*.354}{}}
\newlabel{language/core/sections:coq:cmd.let}{{2.1.11}{62}{Section mechanism}{section*.355}{}}
\newlabel{language/core/sections:coq:cmd.let-fixpoint}{{2.1.11}{62}{Section mechanism}{section*.356}{}}
\newlabel{language/core/sections:coq:cmd.let-cofixpoint}{{2.1.11}{62}{Section mechanism}{section*.357}{}}
\newlabel{language/core/sections:coq:cmd.context}{{2.1.11}{63}{Section mechanism}{section*.358}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.12}The Module System}{63}{subsection.2.1.12}\protected@file@percent }
\newlabel{language/core/modules:the-module-system}{{2.1.12}{63}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules:themodulesystem}{{2.1.12}{63}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules::doc}{{2.1.12}{63}{The Module System}{subsection.2.1.12}{}}
\@writefile{toc}{\contentsline {subsubsection}{Modules and module types}{63}{subsubsection*.359}\protected@file@percent }
\newlabel{language/core/modules:modules-and-module-types}{{2.1.12}{63}{Modules and module types}{subsubsection*.359}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using modules}{64}{subsubsection*.360}\protected@file@percent }
\newlabel{language/core/modules:using-modules}{{2.1.12}{64}{Using modules}{subsubsection*.360}{}}
\newlabel{language/core/modules:coq:cmd.module}{{2.1.12}{64}{Using modules}{section*.361}{}}
\newlabel{language/core/modules:grammar-token-module-binder}{{2.1.12}{64}{Using modules}{section*.370}{}}
\newlabel{language/core/modules:grammar-token-module-type-inl}{{2.1.12}{64}{Using modules}{section*.371}{}}
\newlabel{language/core/modules:grammar-token-functor-app-annot}{{2.1.12}{64}{Using modules}{section*.372}{}}
\newlabel{language/core/modules:grammar-token-module-type}{{2.1.12}{64}{Using modules}{section*.373}{}}
\newlabel{language/core/modules:grammar-token-with-declaration}{{2.1.12}{64}{Using modules}{section*.374}{}}
\newlabel{language/core/modules:grammar-token-module-expr-atom}{{2.1.12}{64}{Using modules}{section*.375}{}}
\newlabel{language/core/modules:grammar-token-of-module-type}{{2.1.12}{64}{Using modules}{section*.376}{}}
\newlabel{language/core/modules:grammar-token-module-expr-inl}{{2.1.12}{64}{Using modules}{section*.377}{}}
\newlabel{language/core/modules:coq:cmd.module-type}{{2.1.12}{64}{Using modules}{section*.378}{}}
\newlabel{language/core/modules:terminating-module}{{2.1.12}{65}{Using modules}{section*.379}{}}
\newlabel{language/core/modules:coq:exn.no-such-label-ident}{{2.1.12}{65}{Using modules}{section*.380}{}}
\newlabel{language/core/modules:coq:exn.signature-components-for-label-ident-do-not-match}{{2.1.12}{65}{Using modules}{section*.381}{}}
\newlabel{language/core/modules:coq:exn.the-field-ident-is-missing-in-qualid}{{2.1.12}{65}{Using modules}{section*.382}{}}
\newlabel{language/core/modules:coq:cmd.include}{{2.1.12}{65}{Using modules}{section*.383}{}}
\newlabel{language/core/modules:coq:cmd.include-type}{{2.1.12}{65}{Using modules}{section*.384}{}}
\newlabel{language/core/modules:coq:cmd.declare-module}{{2.1.12}{65}{Using modules}{section*.385}{}}
\newlabel{language/core/modules:coq:cmd.import}{{2.1.12}{65}{Using modules}{section*.386}{}}
\newlabel{language/core/modules:grammar-token-filtered-import}{{2.1.12}{66}{Using modules}{section*.388}{}}
\newlabel{language/core/modules:coq:cmd.export}{{2.1.12}{67}{Using modules}{section*.389}{}}
\newlabel{language/core/modules:coq:exn.qualid-is-not-a-module}{{2.1.12}{67}{Using modules}{section*.390}{}}
\newlabel{language/core/modules:coq:warn.trying-to-mask-the-absolute-name-qualid}{{2.1.12}{67}{Using modules}{section*.391}{}}
\newlabel{language/core/modules:coq:cmd.print-module}{{2.1.12}{67}{Using modules}{section*.392}{}}
\newlabel{language/core/modules:coq:cmd.print-module-type}{{2.1.12}{67}{Using modules}{section*.393}{}}
\newlabel{language/core/modules:coq:flag.short-module-printing}{{2.1.12}{67}{Using modules}{section*.394}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{68}{paragraph*.395}\protected@file@percent }
\newlabel{language/core/modules:examples}{{2.1.12}{68}{Examples}{paragraph*.395}{}}
\newlabel{language/core/modules:module-examples}{{2.1.12}{68}{Examples}{paragraph*.395}{}}
\newlabel{language/core/modules:example-def-simple-module-type}{{2.1.12}{68}{Examples}{section*.396}{}}
\newlabel{language/core/modules:example-filter-module}{{2.1.12}{68}{Examples}{section*.397}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing Modules}{70}{subsubsection*.398}\protected@file@percent }
\newlabel{language/core/modules:typing-modules}{{2.1.12}{70}{Typing Modules}{subsubsection*.398}{}}
\newlabel{language/core/modules:inference-wf-str}{{2.1.12}{70}{Typing Modules}{section*.399}{}}
\newlabel{language/core/modules:inference-wf-fun}{{2.1.12}{70}{Typing Modules}{section*.400}{}}
\newlabel{language/core/modules:inference-weval-app}{{2.1.12}{70}{Typing Modules}{section*.401}{}}
\newlabel{language/core/modules:inference-weval-with-mod}{{2.1.12}{70}{Typing Modules}{section*.402}{}}
\newlabel{language/core/modules:inference-weval-with-mod-rec}{{2.1.12}{70}{Typing Modules}{section*.403}{}}
\newlabel{language/core/modules:inference-weval-with-def}{{2.1.12}{70}{Typing Modules}{section*.404}{}}
\newlabel{language/core/modules:inference-weval-with-def-rec}{{2.1.12}{71}{Typing Modules}{section*.405}{}}
\newlabel{language/core/modules:inference-weval-path-mod1}{{2.1.12}{71}{Typing Modules}{section*.406}{}}
\newlabel{language/core/modules:inference-weval-path-mod2}{{2.1.12}{71}{Typing Modules}{section*.407}{}}
\newlabel{language/core/modules:inference-weval-path-alias1}{{2.1.12}{71}{Typing Modules}{section*.408}{}}
\newlabel{language/core/modules:inference-weval-path-alias2}{{2.1.12}{71}{Typing Modules}{section*.409}{}}
\newlabel{language/core/modules:inference-weval-path-type1}{{2.1.12}{71}{Typing Modules}{section*.410}{}}
\newlabel{language/core/modules:inference-weval-path-type2}{{2.1.12}{71}{Typing Modules}{section*.411}{}}
\newlabel{language/core/modules:inference-mt-eval}{{2.1.12}{71}{Typing Modules}{section*.412}{}}
\newlabel{language/core/modules:inference-mt-str}{{2.1.12}{71}{Typing Modules}{section*.413}{}}
\newlabel{language/core/modules:inference-msub-str}{{2.1.12}{72}{Typing Modules}{section*.414}{}}
\newlabel{language/core/modules:inference-msub-fun}{{2.1.12}{72}{Typing Modules}{section*.415}{}}
\newlabel{language/core/modules:inference-assum-assum}{{2.1.12}{72}{Typing Modules}{section*.416}{}}
\newlabel{language/core/modules:inference-def-assum}{{2.1.12}{72}{Typing Modules}{section*.417}{}}
\newlabel{language/core/modules:inference-assum-def}{{2.1.12}{72}{Typing Modules}{section*.418}{}}
\newlabel{language/core/modules:inference-def-def}{{2.1.12}{72}{Typing Modules}{section*.419}{}}
\newlabel{language/core/modules:inference-ind-ind}{{2.1.12}{72}{Typing Modules}{section*.420}{}}
\newlabel{language/core/modules:inference-indp-ind}{{2.1.12}{73}{Typing Modules}{section*.421}{}}
\newlabel{language/core/modules:inference-indp-indp}{{2.1.12}{73}{Typing Modules}{section*.422}{}}
\newlabel{language/core/modules:inference-mod-mod}{{2.1.12}{73}{Typing Modules}{section*.423}{}}
\newlabel{language/core/modules:inference-alias-mod}{{2.1.12}{73}{Typing Modules}{section*.424}{}}
\newlabel{language/core/modules:inference-mod-alias}{{2.1.12}{73}{Typing Modules}{section*.425}{}}
\newlabel{language/core/modules:inference-alias-alias}{{2.1.12}{73}{Typing Modules}{section*.426}{}}
\newlabel{language/core/modules:inference-modtype-modtype}{{2.1.12}{73}{Typing Modules}{section*.427}{}}
\newlabel{language/core/modules:inference-wf-mod1}{{2.1.12}{73}{Typing Modules}{section*.428}{}}
\newlabel{language/core/modules:inference-wf-mod2}{{2.1.12}{73}{Typing Modules}{section*.429}{}}
\newlabel{language/core/modules:inference-wf-alias}{{2.1.12}{73}{Typing Modules}{section*.430}{}}
\newlabel{language/core/modules:inference-wf-modtype}{{2.1.12}{73}{Typing Modules}{section*.431}{}}
\newlabel{language/core/modules:inference-wf-ind}{{2.1.12}{74}{Typing Modules}{section*.432}{}}
\newlabel{language/core/modules:inference-acc-type1}{{2.1.12}{74}{Typing Modules}{section*.433}{}}
\newlabel{language/core/modules:inference-acc-type2}{{2.1.12}{74}{Typing Modules}{section*.434}{}}
\newlabel{language/core/modules:inference-acc-delta}{{2.1.12}{74}{Typing Modules}{section*.435}{}}
\newlabel{language/core/modules:inference-acc-ind1}{{2.1.12}{74}{Typing Modules}{section*.436}{}}
\newlabel{language/core/modules:inference-acc-ind2}{{2.1.12}{74}{Typing Modules}{section*.437}{}}
\newlabel{language/core/modules:inference-acc-indp1}{{2.1.12}{74}{Typing Modules}{section*.438}{}}
\newlabel{language/core/modules:inference-acc-indp2}{{2.1.12}{74}{Typing Modules}{section*.439}{}}
\@writefile{toc}{\contentsline {subsubsection}{Libraries and qualified names}{74}{subsubsection*.440}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-qualified-names}{{2.1.12}{74}{Libraries and qualified names}{subsubsection*.440}{}}
\@writefile{toc}{\contentsline {paragraph}{Names of libraries}{74}{paragraph*.441}\protected@file@percent }
\newlabel{language/core/modules:names-of-libraries}{{2.1.12}{74}{Names of libraries}{paragraph*.441}{}}
\newlabel{language/core/modules:id1}{{2.1.12}{74}{Names of libraries}{paragraph*.441}{}}
\@writefile{toc}{\contentsline {subsubsection}{Qualified identifiers}{75}{subsubsection*.442}\protected@file@percent }
\newlabel{language/core/modules:qualified-identifiers}{{2.1.12}{75}{Qualified identifiers}{subsubsection*.442}{}}
\newlabel{language/core/modules:qualified-names}{{2.1.12}{75}{Qualified identifiers}{subsubsection*.442}{}}
\newlabel{language/core/modules:grammar-token-qualid}{{2.1.12}{75}{Qualified identifiers}{section*.445}{}}
\newlabel{language/core/modules:grammar-token-field-ident}{{2.1.12}{75}{Qualified identifiers}{section*.446}{}}
\@writefile{toc}{\contentsline {paragraph}{Libraries and filesystem}{76}{paragraph*.447}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-filesystem}{{2.1.12}{76}{Libraries and filesystem}{paragraph*.447}{}}
\newlabel{language/core/modules:id2}{{2.1.12}{76}{Libraries and filesystem}{paragraph*.447}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.13}Primitive objects}{77}{subsection.2.1.13}\protected@file@percent }
\newlabel{language/core/primitive:primitive-objects}{{2.1.13}{77}{Primitive objects}{subsection.2.1.13}{}}
\newlabel{language/core/primitive::doc}{{2.1.13}{77}{Primitive objects}{subsection.2.1.13}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Integers}{77}{subsubsection*.448}\protected@file@percent }
\newlabel{language/core/primitive:primitive-integers}{{2.1.13}{77}{Primitive Integers}{subsubsection*.448}{}}
\newlabel{language/core/primitive:id1}{{2.1.13}{77}{Primitive Integers}{subsubsection*.448}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Floats}{77}{subsubsection*.449}\protected@file@percent }
\newlabel{language/core/primitive:primitive-floats}{{2.1.13}{77}{Primitive Floats}{subsubsection*.449}{}}
\newlabel{language/core/primitive:id2}{{2.1.13}{77}{Primitive Floats}{subsubsection*.449}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.14}Polymorphic Universes}{78}{subsection.2.1.14}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-universes}{{2.1.14}{78}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism:polymorphicuniverses}{{2.1.14}{78}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism::doc}{{2.1.14}{78}{Polymorphic Universes}{subsection.2.1.14}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{78}{subsubsection*.450}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:general-presentation}{{2.1.14}{78}{General Presentation}{subsubsection*.450}{}}
\@writefile{toc}{\contentsline {subsubsection}{Polymorphic, Monomorphic}{80}{subsubsection*.451}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-monomorphic}{{2.1.14}{80}{Polymorphic, Monomorphic}{subsubsection*.451}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes-polymorphic}{{2.1.14}{80}{Polymorphic, Monomorphic}{section*.452}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.universe-polymorphism}{{2.1.14}{80}{Polymorphic, Monomorphic}{section*.453}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes-monomorphic}{{2.1.14}{80}{Polymorphic, Monomorphic}{section*.454}{}}
\@writefile{toc}{\contentsline {subsubsection}{Cumulative, NonCumulative}{80}{subsubsection*.455}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulative-noncumulative}{{2.1.14}{80}{Cumulative, NonCumulative}{subsubsection*.455}{}}
\newlabel{addendum/universe-polymorphism:cumulative}{{2.1.14}{80}{Cumulative, NonCumulative}{subsubsection*.455}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes-cumulative}{{2.1.14}{80}{Cumulative, NonCumulative}{section*.456}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.the-cumulative-and-noncumulative-attributes-can-only-be-used-in-a-polymorphic-context}{{2.1.14}{80}{Cumulative, NonCumulative}{section*.457}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.polymorphic-inductive-cumulativity}{{2.1.14}{81}{Cumulative, NonCumulative}{section*.458}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes-noncumulative}{{2.1.14}{81}{Cumulative, NonCumulative}{section*.459}{}}
\@writefile{toc}{\contentsline {paragraph}{An example of a proof using cumulativity}{82}{paragraph*.460}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:an-example-of-a-proof-using-cumulativity}{{2.1.14}{82}{An example of a proof using cumulativity}{paragraph*.460}{}}
\@writefile{toc}{\contentsline {subsubsection}{Cumulativity Weak Constraints}{82}{subsubsection*.461}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulativity-weak-constraints}{{2.1.14}{82}{Cumulativity Weak Constraints}{subsubsection*.461}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.cumulativity-weak-constraints}{{2.1.14}{82}{Cumulativity Weak Constraints}{section*.462}{}}
\@writefile{toc}{\contentsline {subsubsection}{Global and local universes}{82}{subsubsection*.463}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:global-and-local-universes}{{2.1.14}{82}{Global and local universes}{subsubsection*.463}{}}
\@writefile{toc}{\contentsline {subsubsection}{Conversion and unification}{82}{subsubsection*.464}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:conversion-and-unification}{{2.1.14}{82}{Conversion and unification}{subsubsection*.464}{}}
\@writefile{toc}{\contentsline {subsubsection}{Minimization}{83}{subsubsection*.465}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:minimization}{{2.1.14}{83}{Minimization}{subsubsection*.465}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.universe-minimization-toset}{{2.1.14}{83}{Minimization}{section*.466}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit Universes}{83}{subsubsection*.467}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:explicit-universes}{{2.1.14}{83}{Explicit Universes}{subsubsection*.467}{}}
\newlabel{addendum/universe-polymorphism:id1}{{2.1.14}{83}{Explicit Universes}{subsubsection*.467}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe-name}{{2.1.14}{83}{Explicit Universes}{section*.473}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ-annot}{{2.1.14}{83}{Explicit Universes}{section*.474}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe-level}{{2.1.14}{83}{Explicit Universes}{section*.475}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ-decl}{{2.1.14}{83}{Explicit Universes}{section*.476}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ-constraint}{{2.1.14}{83}{Explicit Universes}{section*.477}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.universe}{{2.1.14}{83}{Explicit Universes}{section*.478}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.polymorphic-universe}{{2.1.14}{83}{Explicit Universes}{section*.479}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.polymorphic-universes-can-only-be-declared-inside-sections-use-monomorphic-universe-instead}{{2.1.14}{83}{Explicit Universes}{section*.480}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.constraint}{{2.1.14}{83}{Explicit Universes}{section*.481}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.polymorphic-constraint}{{2.1.14}{83}{Explicit Universes}{section*.482}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.undeclared-universe-ident}{{2.1.14}{84}{Explicit Universes}{section*.483}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.universe-inconsistency}{{2.1.14}{84}{Explicit Universes}{section*.484}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.polymorphic-universe-constraints-can-only-be-declared-inside-sections-use-monomorphic-constraint-instead}{{2.1.14}{84}{Explicit Universes}{section*.485}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing universes}{84}{subsubsection*.486}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:printing-universes}{{2.1.14}{84}{Printing universes}{subsubsection*.486}{}}
\newlabel{addendum/universe-polymorphism:id2}{{2.1.14}{84}{Printing universes}{subsubsection*.486}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.printing-universes}{{2.1.14}{84}{Printing universes}{section*.487}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.print-universes}{{2.1.14}{84}{Printing universes}{section*.488}{}}
\@writefile{toc}{\contentsline {paragraph}{Polymorphic definitions}{84}{paragraph*.489}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-definitions}{{2.1.14}{84}{Polymorphic definitions}{paragraph*.489}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.strict-universe-declaration}{{2.1.14}{85}{Polymorphic definitions}{section*.490}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.private-polymorphic-universes}{{2.1.14}{85}{Polymorphic definitions}{section*.491}{}}
\@writefile{toc}{\contentsline {subsubsection}{Universe polymorphism and sections}{87}{subsubsection*.492}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:universe-polymorphism-and-sections}{{2.1.14}{87}{Universe polymorphism and sections}{subsubsection*.492}{}}
\newlabel{addendum/universe-polymorphism:universe-polymorphism-in-sections}{{2.1.14}{87}{Universe polymorphism and sections}{subsubsection*.492}{}}
\citation{zebibliography:gilbert-popl2019}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.15}SProp (proof irrelevant propositions)}{88}{subsection.2.1.15}\protected@file@percent }
\newlabel{addendum/sprop:sprop-proof-irrelevant-propositions}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:sprop}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop::doc}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:coq:flag.allow-strictprop}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{section*.493}{}}
\newlabel{addendum/sprop:coq:exn.sprop-is-disallowed-because-the-allow-strictprop-flag-is-off}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{section*.494}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic constructs}{88}{subsubsection*.495}\protected@file@percent }
\newlabel{addendum/sprop:basic-constructs}{{2.1.15}{88}{Basic constructs}{subsubsection*.495}{}}
\@writefile{toc}{\contentsline {subsubsection}{Encodings for strict propositions}{91}{subsubsection*.496}\protected@file@percent }
\newlabel{addendum/sprop:encodings-for-strict-propositions}{{2.1.15}{91}{Encodings for strict propositions}{subsubsection*.496}{}}
\@writefile{toc}{\contentsline {subsubsection}{Issues with non\sphinxhyphen {}cumulativity}{91}{subsubsection*.497}\protected@file@percent }
\newlabel{addendum/sprop:issues-with-non-cumulativity}{{2.1.15}{91}{Issues with non\sphinxhyphen {}cumulativity}{subsubsection*.497}{}}
\newlabel{addendum/sprop:coq:flag.elaboration-strictprop-cumulativity}{{2.1.15}{91}{Issues with non\sphinxhyphen {}cumulativity}{section*.498}{}}
\newlabel{addendum/sprop:coq:warn.bad-relevance}{{2.1.15}{92}{Issues with non\sphinxhyphen {}cumulativity}{section*.499}{}}
\newlabel{addendum/sprop:coq:flag.cumulative-strictprop}{{2.1.15}{92}{Issues with non\sphinxhyphen {}cumulativity}{section*.500}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Language extensions}{92}{section.2.2}\protected@file@percent }
\newlabel{language/extensions/index:language-extensions}{{2.2}{92}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index:extensions}{{2.2}{92}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index::doc}{{2.2}{92}{Language extensions}{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Existential variables}{92}{subsection.2.2.1}\protected@file@percent }
\newlabel{language/extensions/evars:existential-variables}{{2.2.1}{92}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:id1}{{2.2.1}{92}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars::doc}{{2.2.1}{92}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:grammar-token-term-evar}{{2.2.1}{92}{Existential variables}{section*.502}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inferable subterms}{94}{subsubsection*.503}\protected@file@percent }
\newlabel{language/extensions/evars:inferable-subterms}{{2.2.1}{94}{Inferable subterms}{subsubsection*.503}{}}
\newlabel{language/extensions/evars:index-0}{{2.2.1}{94}{Inferable subterms}{subsubsection*.503}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{94}{subsubsection*.504}\protected@file@percent }
\newlabel{language/extensions/evars:explicit-displaying-of-existential-instances-for-pretty-printing}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.504}{}}
\newlabel{language/extensions/evars:explicit-display-existentials}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.504}{}}
\newlabel{language/extensions/evars:coq:flag.printing-existential-instances}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{section*.505}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving existential variables using tactics}{94}{subsubsection*.506}\protected@file@percent }
\newlabel{language/extensions/evars:solving-existential-variables-using-tactics}{{2.2.1}{94}{Solving existential variables using tactics}{subsubsection*.506}{}}
\newlabel{language/extensions/evars:tactics-in-terms}{{2.2.1}{94}{Solving existential variables using tactics}{subsubsection*.506}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Implicit arguments}{94}{subsection.2.2.2}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments}{{2.2.2}{94}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments:implicitarguments}{{2.2.2}{94}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments::doc}{{2.2.2}{94}{Implicit arguments}{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{The different kinds of implicit arguments}{94}{subsubsection*.507}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:the-different-kinds-of-implicit-arguments}{{2.2.2}{94}{The different kinds of implicit arguments}{subsubsection*.507}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable from the knowledge of other arguments of a function}{94}{paragraph*.508}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function}{{2.2.2}{94}{Implicit arguments inferable from the knowledge of other arguments of a function}{paragraph*.508}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable by resolution}{95}{paragraph*.509}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-by-resolution}{{2.2.2}{95}{Implicit arguments inferable by resolution}{paragraph*.509}{}}
\@writefile{toc}{\contentsline {subsubsection}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{96}{subsubsection*.510}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:maximal-and-non-maximal-insertion-of-implicit-arguments}{{2.2.2}{96}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{subsubsection*.510}{}}
\@writefile{toc}{\contentsline {paragraph}{Trailing Implicit Arguments}{96}{paragraph*.511}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:trailing-implicit-arguments}{{2.2.2}{96}{Trailing Implicit Arguments}{paragraph*.511}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.argument-name-is-a-trailing-implicit-so-it-can-t-be-declared-non-maximal-please-use-instead-of}{{2.2.2}{96}{Trailing Implicit Arguments}{section*.512}{}}
\@writefile{toc}{\contentsline {subsubsection}{Casual use of implicit arguments}{96}{subsubsection*.513}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:casual-use-of-implicit-arguments}{{2.2.2}{96}{Casual use of implicit arguments}{subsubsection*.513}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.cannot-infer-a-term-for-this-placeholder-casual-use-of-implicit-arguments}{{2.2.2}{96}{Casual use of implicit arguments}{section*.514}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of implicit arguments}{96}{subsubsection*.515}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:declaration-of-implicit-arguments}{{2.2.2}{96}{Declaration of implicit arguments}{subsubsection*.515}{}}
\newlabel{language/extensions/implicit-arguments:declare-implicit-args}{{2.2.2}{96}{Declaration of implicit arguments}{subsubsection*.515}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit Argument Binders}{96}{paragraph*.516}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-argument-binders}{{2.2.2}{96}{Implicit Argument Binders}{paragraph*.516}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-implicit-binders}{{2.2.2}{96}{Implicit Argument Binders}{section*.518}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.ignoring-implicit-binder-declaration-in-unexpected-position}{{2.2.2}{98}{Implicit Argument Binders}{section*.519}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.making-shadowed-name-of-implicit-argument-accessible-by-position}{{2.2.2}{98}{Implicit Argument Binders}{section*.520}{}}
\@writefile{toc}{\contentsline {paragraph}{Mode for automatic declaration of implicit arguments}{99}{paragraph*.521}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:mode-for-automatic-declaration-of-implicit-arguments}{{2.2.2}{99}{Mode for automatic declaration of implicit arguments}{paragraph*.521}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.implicit-arguments}{{2.2.2}{99}{Mode for automatic declaration of implicit arguments}{section*.522}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling strict implicit arguments}{99}{paragraph*.523}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-arguments}{{2.2.2}{99}{Controlling strict implicit arguments}{paragraph*.523}{}}
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-args}{{2.2.2}{99}{Controlling strict implicit arguments}{paragraph*.523}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.strict-implicit}{{2.2.2}{99}{Controlling strict implicit arguments}{section*.524}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.strongly-strict-implicit}{{2.2.2}{99}{Controlling strict implicit arguments}{section*.525}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling contextual implicit arguments}{99}{paragraph*.526}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-arguments}{{2.2.2}{99}{Controlling contextual implicit arguments}{paragraph*.526}{}}
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-args}{{2.2.2}{99}{Controlling contextual implicit arguments}{paragraph*.526}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.contextual-implicit}{{2.2.2}{99}{Controlling contextual implicit arguments}{section*.527}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{99}{paragraph*.528}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-reversible-pattern-implicit-arguments}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.528}{}}
\newlabel{language/extensions/implicit-arguments:controlling-rev-pattern-implicit-args}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.528}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.reversible-pattern-implicit}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{section*.529}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling the insertion of implicit arguments not followed by explicit arguments}{99}{paragraph*.530}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments}{{2.2.2}{99}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.530}{}}
\newlabel{language/extensions/implicit-arguments:controlling-insertion-implicit-args}{{2.2.2}{99}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.530}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.maximal-implicit-insertion}{{2.2.2}{99}{Controlling the insertion of implicit arguments not followed by explicit arguments}{section*.531}{}}
\@writefile{toc}{\contentsline {paragraph}{Combining manual declaration and automatic declaration}{99}{paragraph*.532}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:combining-manual-declaration-and-automatic-declaration}{{2.2.2}{99}{Combining manual declaration and automatic declaration}{paragraph*.532}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit applications}{100}{subsubsection*.533}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:explicit-applications}{{2.2.2}{100}{Explicit applications}{subsubsection*.533}{}}
\newlabel{language/extensions/implicit-arguments:id1}{{2.2.2}{100}{Explicit applications}{subsubsection*.533}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments}{101}{subsubsection*.534}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments}{{2.2.2}{101}{Displaying implicit arguments}{subsubsection*.534}{}}
\newlabel{language/extensions/implicit-arguments:displaying-implicit-args}{{2.2.2}{101}{Displaying implicit arguments}{subsubsection*.534}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.print-implicit}{{2.2.2}{101}{Displaying implicit arguments}{section*.535}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{101}{subsubsection*.536}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments-when-pretty-printing}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{subsubsection*.536}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.printing-implicit}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.537}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.printing-implicit-defensive}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.538}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interaction with subtyping}{101}{subsubsection*.539}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:interaction-with-subtyping}{{2.2.2}{101}{Interaction with subtyping}{subsubsection*.539}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deactivation of implicit arguments for parsing}{102}{subsubsection*.540}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:deactivation-of-implicit-arguments-for-parsing}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{subsubsection*.540}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term-explicit}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{section*.542}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.parsing-explicit}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{section*.543}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit types of variables}{103}{subsubsection*.544}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-types-of-variables}{{2.2.2}{103}{Implicit types of variables}{subsubsection*.544}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.implicit-type}{{2.2.2}{103}{Implicit types of variables}{section*.545}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.implicit-types}{{2.2.2}{103}{Implicit types of variables}{section*.546}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-reserv-list}{{2.2.2}{103}{Implicit types of variables}{section*.549}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-simple-reserv}{{2.2.2}{103}{Implicit types of variables}{section*.550}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.printing-use-implicit-types}{{2.2.2}{103}{Implicit types of variables}{section*.551}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit generalization}{104}{subsubsection*.552}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-generalization}{{2.2.2}{104}{Implicit generalization}{subsubsection*.552}{}}
\newlabel{language/extensions/implicit-arguments:id2}{{2.2.2}{104}{Implicit generalization}{subsubsection*.552}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-generalizing-binder}{{2.2.2}{104}{Implicit generalization}{section*.556}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-typeclass-constraint}{{2.2.2}{104}{Implicit generalization}{section*.557}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term-generalizing}{{2.2.2}{104}{Implicit generalization}{section*.558}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.generalizable}{{2.2.2}{105}{Implicit generalization}{section*.559}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Extended pattern matching}{106}{subsection.2.2.3}\protected@file@percent }
\newlabel{language/extensions/match:extended-pattern-matching}{{2.2.3}{106}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match:extendedpatternmatching}{{2.2.3}{106}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match::doc}{{2.2.3}{106}{Extended pattern matching}{subsection.2.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{106}{subsubsection*.560}\protected@file@percent }
\newlabel{language/extensions/match:variants-and-extensions-of-match}{{2.2.3}{106}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{subsubsection*.560}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple and nested pattern matching}{106}{paragraph*.561}\protected@file@percent }
\newlabel{language/extensions/match:multiple-and-nested-pattern-matching}{{2.2.3}{106}{Multiple and nested pattern matching}{paragraph*.561}{}}
\newlabel{language/extensions/match:mult-match}{{2.2.3}{106}{Multiple and nested pattern matching}{paragraph*.561}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{106}{paragraph*.562}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-boolean-values-the-if-expression}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.562}{}}
\newlabel{language/extensions/match:if-then-else}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.562}{}}
\newlabel{language/extensions/match:grammar-token-term-if}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{section*.564}{}}
\@writefile{toc}{\contentsline {paragraph}{Irrefutable patterns: the destructuring let variants}{107}{paragraph*.565}\protected@file@percent }
\newlabel{language/extensions/match:irrefutable-patterns-the-destructuring-let-variants}{{2.2.3}{107}{Irrefutable patterns: the destructuring let variants}{paragraph*.565}{}}
\newlabel{language/extensions/match:irrefutable-patterns}{{2.2.3}{107}{Irrefutable patterns: the destructuring let variants}{paragraph*.565}{}}
\@writefile{toc}{\contentsline {subparagraph}{First destructuring let syntax}{107}{subparagraph*.566}\protected@file@percent }
\newlabel{language/extensions/match:first-destructuring-let-syntax}{{2.2.3}{107}{First destructuring let syntax}{subparagraph*.566}{}}
\@writefile{toc}{\contentsline {subparagraph}{Second destructuring let syntax}{108}{subparagraph*.567}\protected@file@percent }
\newlabel{language/extensions/match:second-destructuring-let-syntax}{{2.2.3}{108}{Second destructuring let syntax}{subparagraph*.567}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling pretty\sphinxhyphen {}printing of match expressions}{108}{paragraph*.568}\protected@file@percent }
\newlabel{language/extensions/match:controlling-pretty-printing-of-match-expressions}{{2.2.3}{108}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.568}{}}
\newlabel{language/extensions/match:controlling-match-pp}{{2.2.3}{108}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.568}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing nested patterns}{108}{subparagraph*.569}\protected@file@percent }
\newlabel{language/extensions/match:printing-nested-patterns}{{2.2.3}{108}{Printing nested patterns}{subparagraph*.569}{}}
\newlabel{language/extensions/match:coq:flag.printing-matching}{{2.2.3}{108}{Printing nested patterns}{section*.570}{}}
\@writefile{toc}{\contentsline {subparagraph}{Factorization of clauses with same right\sphinxhyphen {}hand side}{108}{subparagraph*.571}\protected@file@percent }
\newlabel{language/extensions/match:factorization-of-clauses-with-same-right-hand-side}{{2.2.3}{108}{Factorization of clauses with same right\sphinxhyphen {}hand side}{subparagraph*.571}{}}
\newlabel{language/extensions/match:coq:flag.printing-factorizable-match-patterns}{{2.2.3}{108}{Factorization of clauses with same right\sphinxhyphen {}hand side}{section*.572}{}}
\@writefile{toc}{\contentsline {subparagraph}{Use of a default clause}{109}{subparagraph*.573}\protected@file@percent }
\newlabel{language/extensions/match:use-of-a-default-clause}{{2.2.3}{109}{Use of a default clause}{subparagraph*.573}{}}
\newlabel{language/extensions/match:coq:flag.printing-allow-match-default-clause}{{2.2.3}{109}{Use of a default clause}{section*.574}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of wildcard patterns}{109}{subparagraph*.575}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-wildcard-patterns}{{2.2.3}{109}{Printing of wildcard patterns}{subparagraph*.575}{}}
\newlabel{language/extensions/match:coq:flag.printing-wildcard}{{2.2.3}{109}{Printing of wildcard patterns}{section*.576}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of the elimination predicate}{109}{subparagraph*.577}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-the-elimination-predicate}{{2.2.3}{109}{Printing of the elimination predicate}{subparagraph*.577}{}}
\newlabel{language/extensions/match:coq:flag.printing-synth}{{2.2.3}{109}{Printing of the elimination predicate}{section*.578}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on irrefutable patterns}{109}{subparagraph*.579}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-irrefutable-patterns}{{2.2.3}{109}{Printing matching on irrefutable patterns}{subparagraph*.579}{}}
\newlabel{language/extensions/match:coq:table.printing-let}{{2.2.3}{109}{Printing matching on irrefutable patterns}{section*.580}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on booleans}{109}{subparagraph*.581}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-booleans}{{2.2.3}{109}{Printing matching on booleans}{subparagraph*.581}{}}
\newlabel{language/extensions/match:coq:table.printing-if}{{2.2.3}{109}{Printing matching on booleans}{section*.582}{}}
\@writefile{toc}{\contentsline {subsubsection}{Patterns}{110}{subsubsection*.583}\protected@file@percent }
\newlabel{language/extensions/match:patterns}{{2.2.3}{110}{Patterns}{subsubsection*.583}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple patterns}{111}{subsubsection*.584}\protected@file@percent }
\newlabel{language/extensions/match:multiple-patterns}{{2.2.3}{111}{Multiple patterns}{subsubsection*.584}{}}
\newlabel{language/extensions/match:id1}{{2.2.3}{111}{Multiple patterns}{subsubsection*.584}{}}
\@writefile{toc}{\contentsline {subsubsection}{Aliasing subpatterns}{111}{subsubsection*.585}\protected@file@percent }
\newlabel{language/extensions/match:aliasing-subpatterns}{{2.2.3}{111}{Aliasing subpatterns}{subsubsection*.585}{}}
\@writefile{toc}{\contentsline {subsubsection}{Nested patterns}{112}{subsubsection*.586}\protected@file@percent }
\newlabel{language/extensions/match:nested-patterns}{{2.2.3}{112}{Nested patterns}{subsubsection*.586}{}}
\newlabel{language/extensions/match:id2}{{2.2.3}{112}{Nested patterns}{subsubsection*.586}{}}
\@writefile{toc}{\contentsline {subsubsection}{Disjunctive patterns}{113}{subsubsection*.587}\protected@file@percent }
\newlabel{language/extensions/match:disjunctive-patterns}{{2.2.3}{113}{Disjunctive patterns}{subsubsection*.587}{}}
\@writefile{toc}{\contentsline {subsubsection}{About patterns of parametric types}{113}{subsubsection*.588}\protected@file@percent }
\newlabel{language/extensions/match:about-patterns-of-parametric-types}{{2.2.3}{113}{About patterns of parametric types}{subsubsection*.588}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters in patterns}{113}{paragraph*.589}\protected@file@percent }
\newlabel{language/extensions/match:parameters-in-patterns}{{2.2.3}{113}{Parameters in patterns}{paragraph*.589}{}}
\newlabel{language/extensions/match:coq:flag.asymmetric-patterns}{{2.2.3}{114}{Parameters in patterns}{section*.590}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit arguments in patterns}{114}{subsubsection*.591}\protected@file@percent }
\newlabel{language/extensions/match:implicit-arguments-in-patterns}{{2.2.3}{114}{Implicit arguments in patterns}{subsubsection*.591}{}}
\@writefile{toc}{\contentsline {subsubsection}{Matching objects of dependent types}{115}{subsubsection*.592}\protected@file@percent }
\newlabel{language/extensions/match:matching-objects-of-dependent-types}{{2.2.3}{115}{Matching objects of dependent types}{subsubsection*.592}{}}
\newlabel{language/extensions/match:matching-dependent}{{2.2.3}{115}{Matching objects of dependent types}{subsubsection*.592}{}}
\@writefile{toc}{\contentsline {subsubsection}{Understanding dependencies in patterns}{115}{subsubsection*.593}\protected@file@percent }
\newlabel{language/extensions/match:understanding-dependencies-in-patterns}{{2.2.3}{115}{Understanding dependencies in patterns}{subsubsection*.593}{}}
\@writefile{toc}{\contentsline {subsubsection}{When the elimination predicate must be provided}{115}{subsubsection*.594}\protected@file@percent }
\newlabel{language/extensions/match:when-the-elimination-predicate-must-be-provided}{{2.2.3}{115}{When the elimination predicate must be provided}{subsubsection*.594}{}}
\@writefile{toc}{\contentsline {paragraph}{Dependent pattern matching}{115}{paragraph*.595}\protected@file@percent }
\newlabel{language/extensions/match:dependent-pattern-matching}{{2.2.3}{115}{Dependent pattern matching}{paragraph*.595}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple dependent pattern matching}{116}{paragraph*.596}\protected@file@percent }
\newlabel{language/extensions/match:multiple-dependent-pattern-matching}{{2.2.3}{116}{Multiple dependent pattern matching}{paragraph*.596}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{116}{paragraph*.597}\protected@file@percent }
\newlabel{language/extensions/match:patterns-in-in}{{2.2.3}{116}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.597}{}}
\newlabel{language/extensions/match:match-in-patterns}{{2.2.3}{116}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.597}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using pattern matching to write proofs}{117}{subsubsection*.598}\protected@file@percent }
\newlabel{language/extensions/match:using-pattern-matching-to-write-proofs}{{2.2.3}{117}{Using pattern matching to write proofs}{subsubsection*.598}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{117}{subsubsection*.599}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-inductive-objects-involving-local-definitions}{{2.2.3}{117}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{subsubsection*.599}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching and coercions}{118}{subsubsection*.600}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-and-coercions}{{2.2.3}{118}{Pattern\sphinxhyphen {}matching and coercions}{subsubsection*.600}{}}
\@writefile{toc}{\contentsline {subsubsection}{When does the expansion strategy fail?}{119}{subsubsection*.601}\protected@file@percent }
\newlabel{language/extensions/match:when-does-the-expansion-strategy-fail}{{2.2.3}{119}{When does the expansion strategy fail?}{subsubsection*.601}{}}
\newlabel{language/extensions/match:coq:exn.the-constructor-ident-expects-num-arguments}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.602}{}}
\newlabel{language/extensions/match:coq:exn.non-exhaustive-pattern-matching}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.603}{}}
\newlabel{language/extensions/match:coq:exn.the-elimination-predicate-term-should-be-of-arity-num-for-non-dependent-case-or-num-for-dependent-case}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.604}{}}
\newlabel{language/extensions/match:coq:exn.unable-to-infer-a-match-predicate}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.605}{}}
\newlabel{language/extensions/match:coq:exn.either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.606}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Syntax extensions and notation scopes}{119}{subsection.2.2.4}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax-extensions-and-notation-scopes}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions:id1}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions::doc}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{119}{subsubsection*.607}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations}{{2.2.4}{119}{Notations}{subsubsection*.607}{}}
\newlabel{user-extensions/syntax-extensions:id2}{{2.2.4}{119}{Notations}{subsubsection*.607}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic notations}{119}{paragraph*.608}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:basic-notations}{{2.2.4}{119}{Basic notations}{paragraph*.608}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.notation}{{2.2.4}{119}{Basic notations}{section*.609}{}}
\@writefile{toc}{\contentsline {paragraph}{Precedences and associativity}{120}{paragraph*.610}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:precedences-and-associativity}{{2.2.4}{120}{Precedences and associativity}{paragraph*.610}{}}
\@writefile{toc}{\contentsline {paragraph}{Complex notations}{121}{paragraph*.611}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:complex-notations}{{2.2.4}{121}{Complex notations}{paragraph*.611}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple factorization rules}{121}{paragraph*.612}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simple-factorization-rules}{{2.2.4}{121}{Simple factorization rules}{paragraph*.612}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying symbolic notations}{122}{paragraph*.613}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-symbolic-notations}{{2.2.4}{122}{Displaying symbolic notations}{paragraph*.613}{}}
\@writefile{toc}{\contentsline {paragraph}{The Infix command}{123}{paragraph*.614}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-infix-command}{{2.2.4}{123}{The Infix command}{paragraph*.614}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.infix}{{2.2.4}{123}{The Infix command}{section*.615}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserving notations}{124}{paragraph*.616}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:reserving-notations}{{2.2.4}{124}{Reserving notations}{paragraph*.616}{}}
\newlabel{user-extensions/syntax-extensions:reservingnotations}{{2.2.4}{124}{Reserving notations}{paragraph*.616}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.reserved-notation}{{2.2.4}{124}{Reserving notations}{section*.617}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.reserved-infix}{{2.2.4}{124}{Reserving notations}{section*.618}{}}
\@writefile{toc}{\contentsline {paragraph}{Simultaneous definition of terms and notations}{124}{paragraph*.619}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simultaneous-definition-of-terms-and-notations}{{2.2.4}{124}{Simultaneous definition of terms and notations}{paragraph*.619}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl-notations}{{2.2.4}{124}{Simultaneous definition of terms and notations}{section*.622}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl-notation}{{2.2.4}{124}{Simultaneous definition of terms and notations}{section*.623}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about notations}{125}{paragraph*.624}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-notations}{{2.2.4}{125}{Displaying information about notations}{paragraph*.624}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.printing-notations}{{2.2.4}{125}{Displaying information about notations}{section*.625}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.printing-parentheses}{{2.2.4}{125}{Displaying information about notations}{section*.626}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-grammar}{{2.2.4}{125}{Displaying information about notations}{section*.627}{}}
\@writefile{toc}{\contentsline {paragraph}{Locating notations}{125}{paragraph*.628}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:locating-notations}{{2.2.4}{125}{Locating notations}{paragraph*.628}{}}
\newlabel{user-extensions/syntax-extensions:id5}{{2.2.4}{125}{Locating notations}{paragraph*.628}{}}
\@writefile{toc}{\contentsline {paragraph}{Inheritance of the properties of arguments of constants bound to a notation}{126}{paragraph*.629}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:inheritance-of-the-properties-of-arguments-of-constants-bound-to-a-notation}{{2.2.4}{126}{Inheritance of the properties of arguments of constants bound to a notation}{paragraph*.629}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations and binders}{126}{paragraph*.630}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-and-binders}{{2.2.4}{126}{Notations and binders}{paragraph*.630}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as identifiers}{126}{subparagraph*.631}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-identifiers}{{2.2.4}{126}{Binders bound in the notation and parsed as identifiers}{subparagraph*.631}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as patterns}{126}{subparagraph*.632}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-patterns}{{2.2.4}{126}{Binders bound in the notation and parsed as patterns}{subparagraph*.632}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as terms}{127}{subparagraph*.633}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-terms}{{2.2.4}{127}{Binders bound in the notation and parsed as terms}{subparagraph*.633}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders not bound in the notation}{128}{subparagraph*.634}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-not-bound-in-the-notation}{{2.2.4}{128}{Binders not bound in the notation}{subparagraph*.634}{}}
\newlabel{user-extensions/syntax-extensions:notationswithbinders}{{2.2.4}{128}{Binders not bound in the notation}{subparagraph*.634}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations with expressions used both as binder and term}{128}{subparagraph*.635}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-expressions-used-both-as-binder-and-term}{{2.2.4}{128}{Notations with expressions used both as binder and term}{subparagraph*.635}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns}{128}{paragraph*.636}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns}{{2.2.4}{128}{Notations with recursive patterns}{paragraph*.636}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotations}{{2.2.4}{128}{Notations with recursive patterns}{paragraph*.636}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns involving binders}{129}{paragraph*.637}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns-involving-binders}{{2.2.4}{129}{Notations with recursive patterns involving binders}{paragraph*.637}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotationswithbinders}{{2.2.4}{129}{Notations with recursive patterns involving binders}{paragraph*.637}{}}
\@writefile{toc}{\contentsline {paragraph}{Predefined entries}{130}{paragraph*.638}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:predefined-entries}{{2.2.4}{130}{Predefined entries}{paragraph*.638}{}}
\@writefile{toc}{\contentsline {paragraph}{Custom entries}{130}{paragraph*.639}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:custom-entries}{{2.2.4}{130}{Custom entries}{paragraph*.639}{}}
\newlabel{user-extensions/syntax-extensions:id6}{{2.2.4}{130}{Custom entries}{paragraph*.639}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.declare-custom-entry}{{2.2.4}{130}{Custom entries}{section*.640}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-custom-grammar}{{2.2.4}{132}{Custom entries}{section*.641}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{133}{paragraph*.642}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax}{{2.2.4}{133}{Syntax}{paragraph*.642}{}}
\newlabel{user-extensions/syntax-extensions:notationsyntax}{{2.2.4}{133}{Syntax}{paragraph*.642}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-syntax-modifier}{{2.2.4}{133}{Syntax}{section*.647}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-explicit-subentry}{{2.2.4}{133}{Syntax}{section*.648}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-binder-interp}{{2.2.4}{133}{Syntax}{section*.649}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-level}{{2.2.4}{133}{Syntax}{section*.650}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.use-of-string-notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax}{{2.2.4}{134}{Syntax}{section*.651}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation scopes}{134}{subsubsection*.652}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes}{{2.2.4}{134}{Notation scopes}{subsubsection*.652}{}}
\newlabel{user-extensions/syntax-extensions:scopes}{{2.2.4}{134}{Notation scopes}{subsubsection*.652}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope}{{2.2.4}{134}{Notation scopes}{section*.656}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope-name}{{2.2.4}{134}{Notation scopes}{section*.657}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope-key}{{2.2.4}{134}{Notation scopes}{section*.658}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.declare-scope}{{2.2.4}{134}{Notation scopes}{section*.659}{}}
\@writefile{toc}{\contentsline {paragraph}{Global interpretation rules for notations}{134}{paragraph*.660}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:global-interpretation-rules-for-notations}{{2.2.4}{134}{Global interpretation rules for notations}{paragraph*.660}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.open-scope}{{2.2.4}{134}{Global interpretation rules for notations}{section*.661}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.close-scope}{{2.2.4}{135}{Global interpretation rules for notations}{section*.662}{}}
\@writefile{toc}{\contentsline {paragraph}{Local interpretation rules for notations}{135}{paragraph*.663}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:local-interpretation-rules-for-notations}{{2.2.4}{135}{Local interpretation rules for notations}{paragraph*.663}{}}
\newlabel{user-extensions/syntax-extensions:localinterpretationrulesfornotations}{{2.2.4}{135}{Local interpretation rules for notations}{paragraph*.663}{}}
\@writefile{toc}{\contentsline {subparagraph}{Opening a notation scope locally}{135}{subparagraph*.664}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:opening-a-notation-scope-locally}{{2.2.4}{135}{Opening a notation scope locally}{subparagraph*.664}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-term-scope}{{2.2.4}{135}{Opening a notation scope locally}{section*.666}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.delimit-scope}{{2.2.4}{135}{Opening a notation scope locally}{section*.667}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.undelimit-scope}{{2.2.4}{135}{Opening a notation scope locally}{section*.668}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binding types or coercion classes to a notation scope}{135}{subparagraph*.669}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binding-types-or-coercion-classes-to-a-notation-scope}{{2.2.4}{135}{Binding types or coercion classes to a notation scope}{subparagraph*.669}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.bind-scope}{{2.2.4}{135}{Binding types or coercion classes to a notation scope}{section*.670}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{136}{paragraph*.671}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-type-scope-notation-scope}{{2.2.4}{136}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{paragraph*.671}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{136}{paragraph*.672}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-function-scope-notation-scope}{{2.2.4}{136}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{paragraph*.672}{}}
\@writefile{toc}{\contentsline {paragraph}{Notation scopes used in the standard library of Coq}{136}{paragraph*.673}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes-used-in-the-standard-library-of-coq}{{2.2.4}{136}{Notation scopes used in the standard library of Coq}{paragraph*.673}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about scopes}{137}{paragraph*.674}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-scopes}{{2.2.4}{137}{Displaying information about scopes}{paragraph*.674}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-visibility}{{2.2.4}{137}{Displaying information about scopes}{section*.675}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-scopes}{{2.2.4}{137}{Displaying information about scopes}{section*.676}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-scope}{{2.2.4}{137}{Displaying information about scopes}{section*.677}{}}
\@writefile{toc}{\contentsline {subsubsection}{Abbreviations}{138}{subsubsection*.678}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:abbreviations}{{2.2.4}{138}{Abbreviations}{subsubsection*.678}{}}
\newlabel{user-extensions/syntax-extensions:id7}{{2.2.4}{138}{Abbreviations}{subsubsection*.678}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.notation-abbreviation}{{2.2.4}{138}{Abbreviations}{section*.679}{}}
\@writefile{toc}{\contentsline {subsubsection}{Numerals and strings}{139}{subsubsection*.680}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:numerals-and-strings}{{2.2.4}{139}{Numerals and strings}{subsubsection*.680}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-primitive-notations}{{2.2.4}{139}{Numerals and strings}{section*.682}{}}
\@writefile{toc}{\contentsline {paragraph}{Numeral notations}{139}{paragraph*.683}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:numeral-notations}{{2.2.4}{139}{Numeral notations}{paragraph*.683}{}}
\newlabel{user-extensions/syntax-extensions:id8}{{2.2.4}{139}{Numeral notations}{paragraph*.683}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.numeral-notation}{{2.2.4}{139}{Numeral notations}{section*.684}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-numeral-modifier}{{2.2.4}{139}{Numeral notations}{section*.686}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.stack-overflow-or-segmentation-fault-happens-when-working-with-large-numbers-in-type-threshold-may-vary-depending-on-your-system-limits-and-on-the-command-executed}{{2.2.4}{140}{Numeral notations}{section*.687}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.to-avoid-stack-overflow-large-numbers-in-type-are-interpreted-as-applications-of-qualid}{{2.2.4}{140}{Numeral notations}{section*.688}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.the-abstract-after-directive-has-no-effect-when-the-parsing-function-qualid-targets-an-option-type}{{2.2.4}{140}{Numeral notations}{section*.689}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.cannot-interpret-this-number-as-a-value-of-type-type}{{2.2.4}{140}{Numeral notations}{section*.690}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.qualid-should-go-from-numeral-int-to-type-or-option-type-instead-of-numeral-int-the-types-numeral-uint-or-z-or-int63-int-or-numeral-numeral-could-be-used-you-may-need-to-require-binnums-or-numeral-or-int63-first}{{2.2.4}{140}{Numeral notations}{section*.691}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.qualid-should-go-from-type-to-numeral-int-or-option-numeral-int-instead-of-numeral-int-the-types-numeral-uint-or-z-or-int63-int-or-numeral-numeral-could-be-used-you-may-need-to-require-binnums-or-numeral-or-int63-first}{{2.2.4}{140}{Numeral notations}{section*.692}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.unexpected-term-term-while-parsing-a-numeral-notation}{{2.2.4}{140}{Numeral notations}{section*.693}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.unexpected-non-option-term-term-while-parsing-a-numeral-notation}{{2.2.4}{140}{Numeral notations}{section*.694}{}}
\@writefile{toc}{\contentsline {paragraph}{String notations}{141}{paragraph*.695}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:string-notations}{{2.2.4}{141}{String notations}{paragraph*.695}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.string-notation}{{2.2.4}{141}{String notations}{section*.696}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.cannot-interpret-this-string-as-a-value-of-type-type}{{2.2.4}{141}{String notations}{section*.697}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.qualid-should-go-from-byte-byte-or-list-byte-byte-to-type-or-option-type}{{2.2.4}{141}{String notations}{section*.698}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.qualid-should-go-from-type-to-byte-byte-or-option-byte-byte-or-list-byte-byte-or-option-list-byte-byte}{{2.2.4}{141}{String notations}{section*.699}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.unexpected-term-term-while-parsing-a-string-notation}{{2.2.4}{141}{String notations}{section*.700}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.unexpected-non-option-term-term-while-parsing-a-string-notation}{{2.2.4}{141}{String notations}{section*.701}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.type-is-not-an-inductive-type}{{2.2.4}{141}{String notations}{section*.702}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.cannot-interpret-in-scope-name-because-qualid-could-not-be-found-in-the-current-environment}{{2.2.4}{141}{String notations}{section*.703}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.syntax-error-prim-reference-expected-after-notation-in-vernac-command}{{2.2.4}{142}{String notations}{section*.704}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.syntax-error-prim-reference-expected-after-prim-reference-in-vernac-command}{{2.2.4}{142}{String notations}{section*.705}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.qualid-is-bound-to-a-notation-that-does-not-denote-a-reference}{{2.2.4}{142}{String notations}{section*.706}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic Notations}{142}{subsubsection*.707}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:tactic-notations}{{2.2.4}{142}{Tactic Notations}{subsubsection*.707}{}}
\newlabel{user-extensions/syntax-extensions:tacticnotation}{{2.2.4}{142}{Tactic Notations}{subsubsection*.707}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.tactic-notation}{{2.2.4}{142}{Tactic Notations}{section*.708}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-ltac-production-item}{{2.2.4}{142}{Tactic Notations}{section*.710}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.5}Setting properties of a function's arguments}{144}{subsection.2.2.5}\protected@file@percent }
\newlabel{language/extensions/arguments-command:setting-properties-of-a-function-s-arguments}{{2.2.5}{144}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:argumentscommand}{{2.2.5}{144}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command::doc}{{2.2.5}{144}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:coq:cmd.arguments}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.711}{}}
\newlabel{language/extensions/arguments-command:grammar-token-argument-spec}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.716}{}}
\newlabel{language/extensions/arguments-command:grammar-token-arg-specs}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.717}{}}
\newlabel{language/extensions/arguments-command:grammar-token-implicits-alt}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.718}{}}
\newlabel{language/extensions/arguments-command:grammar-token-args-modifier}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.719}{}}
\newlabel{language/extensions/arguments-command:coq:exn.the-modifier-may-only-occur-once}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.720}{}}
\newlabel{language/extensions/arguments-command:id1}{{2.2.5}{144}{Setting properties of a function's arguments}{section*.721}{}}
\newlabel{language/extensions/arguments-command:coq:warn.this-command-is-just-asserting-the-names-of-arguments-of-qualid-if-this-is-what-you-want-add-assert-to-silence-the-warning-if-you-want-to-clear-implicit-arguments-add-clear-implicits-if-you-want-to-clear-notation-scopes-add-clear-scopes}{{2.2.5}{145}{Setting properties of a function's arguments}{section*.722}{}}
\@writefile{toc}{\contentsline {subsubsection}{Manual declaration of implicit arguments}{146}{subsubsection*.723}\protected@file@percent }
\newlabel{language/extensions/arguments-command:manual-declaration-of-implicit-arguments}{{2.2.5}{146}{Manual declaration of implicit arguments}{subsubsection*.723}{}}
\newlabel{language/extensions/arguments-command:example-more-implicits}{{2.2.5}{146}{Manual declaration of implicit arguments}{section*.724}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic declaration of implicit arguments}{147}{subsubsection*.725}\protected@file@percent }
\newlabel{language/extensions/arguments-command:automatic-declaration-of-implicit-arguments}{{2.2.5}{147}{Automatic declaration of implicit arguments}{subsubsection*.725}{}}
\newlabel{language/extensions/arguments-command:auto-decl-implicit-args}{{2.2.5}{147}{Automatic declaration of implicit arguments}{subsubsection*.725}{}}
\@writefile{toc}{\contentsline {subsubsection}{Renaming implicit arguments}{148}{subsubsection*.726}\protected@file@percent }
\newlabel{language/extensions/arguments-command:renaming-implicit-arguments}{{2.2.5}{148}{Renaming implicit arguments}{subsubsection*.726}{}}
\newlabel{language/extensions/arguments-command:id2}{{2.2.5}{148}{Renaming implicit arguments}{subsubsection*.726}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding arguments to a scope}{149}{subsubsection*.727}\protected@file@percent }
\newlabel{language/extensions/arguments-command:binding-arguments-to-a-scope}{{2.2.5}{149}{Binding arguments to a scope}{subsubsection*.727}{}}
\newlabel{language/extensions/arguments-command:binding-to-scope}{{2.2.5}{149}{Binding arguments to a scope}{subsubsection*.727}{}}
\@writefile{toc}{\contentsline {subsubsection}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{150}{subsubsection*.728}\protected@file@percent }
\newlabel{language/extensions/arguments-command:effects-of-arguments-on-unfolding}{{2.2.5}{150}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.728}{}}
\newlabel{language/extensions/arguments-command:args-effect-on-unfolding}{{2.2.5}{150}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.728}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bidirectionality hints}{151}{subsubsection*.729}\protected@file@percent }
\newlabel{language/extensions/arguments-command:bidirectionality-hints}{{2.2.5}{151}{Bidirectionality hints}{subsubsection*.729}{}}
\newlabel{language/extensions/arguments-command:id3}{{2.2.5}{151}{Bidirectionality hints}{subsubsection*.729}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.6}Implicit Coercions}{151}{subsection.2.2.6}\protected@file@percent }
\newlabel{addendum/implicit-coercions:implicit-coercions}{{2.2.6}{151}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions:coercions}{{2.2.6}{151}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions::doc}{{2.2.6}{151}{Implicit Coercions}{subsection.2.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{152}{subsubsection*.730}\protected@file@percent }
\newlabel{addendum/implicit-coercions:general-presentation}{{2.2.6}{152}{General Presentation}{subsubsection*.730}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes}{152}{subsubsection*.731}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes}{{2.2.6}{152}{Classes}{subsubsection*.731}{}}
\newlabel{addendum/implicit-coercions:grammar-token-class}{{2.2.6}{152}{Classes}{section*.733}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions}{152}{subsubsection*.734}\protected@file@percent }
\newlabel{addendum/implicit-coercions:id1}{{2.2.6}{152}{Coercions}{subsubsection*.734}{}}
\@writefile{toc}{\contentsline {subsubsection}{Identity Coercions}{153}{subsubsection*.735}\protected@file@percent }
\newlabel{addendum/implicit-coercions:identity-coercions}{{2.2.6}{153}{Identity Coercions}{subsubsection*.735}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inheritance Graph}{153}{subsubsection*.736}\protected@file@percent }
\newlabel{addendum/implicit-coercions:inheritance-graph}{{2.2.6}{153}{Inheritance Graph}{subsubsection*.736}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaring Coercions}{153}{subsubsection*.737}\protected@file@percent }
\newlabel{addendum/implicit-coercions:declaring-coercions}{{2.2.6}{153}{Declaring Coercions}{subsubsection*.737}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.coercion}{{2.2.6}{153}{Declaring Coercions}{section*.738}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-not-declared}{{2.2.6}{153}{Declaring Coercions}{section*.739}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-is-already-a-coercion}{{2.2.6}{153}{Declaring Coercions}{section*.740}{}}
\newlabel{addendum/implicit-coercions:coq:exn.funclass-cannot-be-a-source-class}{{2.2.6}{153}{Declaring Coercions}{section*.741}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-is-not-a-function}{{2.2.6}{153}{Declaring Coercions}{section*.742}{}}
\newlabel{addendum/implicit-coercions:coq:exn.cannot-find-the-source-class-of-qualid}{{2.2.6}{153}{Declaring Coercions}{section*.743}{}}
\newlabel{addendum/implicit-coercions:coq:exn.cannot-recognize-class-as-a-source-class-of-qualid}{{2.2.6}{153}{Declaring Coercions}{section*.744}{}}
\newlabel{addendum/implicit-coercions:coq:warn.qualid-does-not-respect-the-uniform-inheritance-condition}{{2.2.6}{153}{Declaring Coercions}{section*.745}{}}
\newlabel{addendum/implicit-coercions:coq:exn.found-target-class-instead-of}{{2.2.6}{153}{Declaring Coercions}{section*.746}{}}
\newlabel{addendum/implicit-coercions:coq:warn.new-coercion-path-is-ambiguous-with-existing}{{2.2.6}{153}{Declaring Coercions}{section*.747}{}}
\newlabel{addendum/implicit-coercions:coq:warn.is-not-definitionally-an-identity-function}{{2.2.6}{154}{Declaring Coercions}{section*.748}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.identity-coercion}{{2.2.6}{154}{Declaring Coercions}{section*.749}{}}
\newlabel{addendum/implicit-coercions:coq:exn.class-must-be-a-transparent-constant}{{2.2.6}{154}{Declaring Coercions}{section*.750}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.subclass}{{2.2.6}{154}{Declaring Coercions}{section*.751}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying Available Coercions}{154}{subsubsection*.752}\protected@file@percent }
\newlabel{addendum/implicit-coercions:displaying-available-coercions}{{2.2.6}{154}{Displaying Available Coercions}{subsubsection*.752}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-classes}{{2.2.6}{154}{Displaying Available Coercions}{section*.753}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-coercions}{{2.2.6}{154}{Displaying Available Coercions}{section*.754}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-graph}{{2.2.6}{154}{Displaying Available Coercions}{section*.755}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-coercion-paths}{{2.2.6}{154}{Displaying Available Coercions}{section*.756}{}}
\@writefile{toc}{\contentsline {subsubsection}{Activating the Printing of Coercions}{155}{subsubsection*.757}\protected@file@percent }
\newlabel{addendum/implicit-coercions:activating-the-printing-of-coercions}{{2.2.6}{155}{Activating the Printing of Coercions}{subsubsection*.757}{}}
\newlabel{addendum/implicit-coercions:coq:flag.printing-coercions}{{2.2.6}{155}{Activating the Printing of Coercions}{section*.758}{}}
\newlabel{addendum/implicit-coercions:coq:table.printing-coercion}{{2.2.6}{155}{Activating the Printing of Coercions}{section*.759}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes as Records}{155}{subsubsection*.760}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes-as-records}{{2.2.6}{155}{Classes as Records}{subsubsection*.760}{}}
\newlabel{addendum/implicit-coercions:coercions-classes-as-records}{{2.2.6}{155}{Classes as Records}{subsubsection*.760}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Sections}{155}{subsubsection*.761}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-sections}{{2.2.6}{155}{Coercions and Sections}{subsubsection*.761}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Modules}{155}{subsubsection*.762}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-modules}{{2.2.6}{155}{Coercions and Modules}{subsubsection*.762}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples}{155}{subsubsection*.763}\protected@file@percent }
\newlabel{addendum/implicit-coercions:examples}{{2.2.6}{155}{Examples}{subsubsection*.763}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion at function application}{155}{paragraph*.764}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-at-function-application}{{2.2.6}{155}{Coercion at function application}{paragraph*.764}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a type}{158}{paragraph*.765}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-type}{{2.2.6}{158}{Coercion to a type}{paragraph*.765}{}}
\citation{zebibliography:sozeau08}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a function}{159}{paragraph*.766}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-function}{{2.2.6}{159}{Coercion to a function}{paragraph*.766}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.7}Typeclasses}{159}{subsection.2.2.7}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses}{{2.2.7}{159}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes:id1}{{2.2.7}{159}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes::doc}{{2.2.7}{159}{Typeclasses}{subsection.2.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Class and Instance declarations}{160}{subsubsection*.767}\protected@file@percent }
\newlabel{addendum/type-classes:class-and-instance-declarations}{{2.2.7}{160}{Class and Instance declarations}{subsubsection*.767}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding classes}{161}{subsubsection*.768}\protected@file@percent }
\newlabel{addendum/type-classes:binding-classes}{{2.2.7}{161}{Binding classes}{subsubsection*.768}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parameterized Instances}{161}{subsubsection*.769}\protected@file@percent }
\newlabel{addendum/type-classes:parameterized-instances}{{2.2.7}{161}{Parameterized Instances}{subsubsection*.769}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sections and contexts}{162}{subsubsection*.770}\protected@file@percent }
\newlabel{addendum/type-classes:sections-and-contexts}{{2.2.7}{162}{Sections and contexts}{subsubsection*.770}{}}
\newlabel{addendum/type-classes:contexts}{{2.2.7}{162}{Sections and contexts}{subsubsection*.770}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building hierarchies}{162}{subsubsection*.771}\protected@file@percent }
\newlabel{addendum/type-classes:building-hierarchies}{{2.2.7}{162}{Building hierarchies}{subsubsection*.771}{}}
\@writefile{toc}{\contentsline {paragraph}{Superclasses}{162}{paragraph*.772}\protected@file@percent }
\newlabel{addendum/type-classes:superclasses}{{2.2.7}{162}{Superclasses}{paragraph*.772}{}}
\newlabel{addendum/type-classes:id3}{{2.2.7}{162}{Superclasses}{paragraph*.772}{}}
\@writefile{toc}{\contentsline {paragraph}{Substructures}{163}{paragraph*.773}\protected@file@percent }
\newlabel{addendum/type-classes:substructures}{{2.2.7}{163}{Substructures}{paragraph*.773}{}}
\newlabel{addendum/type-classes:coq:warn.ignored-instance-declaration-for-ident-term-is-not-a-class}{{2.2.7}{163}{Substructures}{section*.774}{}}
\@writefile{toc}{\contentsline {subsubsection}{Summary of the commands}{164}{subsubsection*.775}\protected@file@percent }
\newlabel{addendum/type-classes:summary-of-the-commands}{{2.2.7}{164}{Summary of the commands}{subsubsection*.775}{}}
\newlabel{addendum/type-classes:coq:cmd.class}{{2.2.7}{164}{Summary of the commands}{section*.776}{}}
\newlabel{addendum/type-classes:singleton-class}{{2.2.7}{164}{Summary of the commands}{section*.777}{}}
\newlabel{addendum/type-classes:coq:warn.ident-is-already-declared-as-a-typeclass}{{2.2.7}{164}{Summary of the commands}{section*.778}{}}
\newlabel{addendum/type-classes:coq:cmd.instance}{{2.2.7}{164}{Summary of the commands}{section*.779}{}}
\newlabel{addendum/type-classes:coq:attr.refine}{{2.2.7}{164}{Summary of the commands}{section*.780}{}}
\newlabel{addendum/type-classes:coq:cmdv.declare-instance}{{2.2.7}{164}{Summary of the commands}{section*.781}{}}
\newlabel{addendum/type-classes:coq:cmd.existing-instance}{{2.2.7}{164}{Summary of the commands}{section*.782}{}}
\newlabel{addendum/type-classes:coq:tacn.typeclasses-eauto}{{2.2.7}{165}{Summary of the commands}{section*.783}{}}
\newlabel{addendum/type-classes:coq:tacn.autoapply}{{2.2.7}{165}{Summary of the commands}{section*.784}{}}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses Transparent, Typeclasses Opaque}{166}{paragraph*.785}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-transparent-typeclasses-opaque}{{2.2.7}{166}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.785}{}}
\newlabel{addendum/type-classes:typeclassestransparent}{{2.2.7}{166}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.785}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-transparent}{{2.2.7}{166}{Typeclasses Transparent, Typeclasses Opaque}{section*.786}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-opaque}{{2.2.7}{166}{Typeclasses Transparent, Typeclasses Opaque}{section*.787}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{166}{paragraph*.788}\protected@file@percent }
\newlabel{addendum/type-classes:settings}{{2.2.7}{166}{Settings}{paragraph*.788}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-dependency-order}{{2.2.7}{166}{Settings}{section*.789}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-filtered-unification}{{2.2.7}{166}{Settings}{section*.790}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-limit-intros}{{2.2.7}{166}{Settings}{section*.791}{}}
\newlabel{addendum/type-classes:coq:flag.typeclass-resolution-for-conversion}{{2.2.7}{166}{Settings}{section*.792}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-strict-resolution}{{2.2.7}{167}{Settings}{section*.793}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-unique-solutions}{{2.2.7}{167}{Settings}{section*.794}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-unique-instances}{{2.2.7}{167}{Settings}{section*.795}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-iterative-deepening}{{2.2.7}{167}{Settings}{section*.796}{}}
\newlabel{addendum/type-classes:coq:opt.typeclasses-depth}{{2.2.7}{167}{Settings}{section*.797}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-debug}{{2.2.7}{167}{Settings}{section*.798}{}}
\newlabel{addendum/type-classes:coq:opt.typeclasses-debug-verbosity}{{2.2.7}{167}{Settings}{section*.799}{}}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses eauto \sphinxstyleliteralintitle {\sphinxupquote {:=}}}{167}{paragraph*.800}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-eauto}{{2.2.7}{167}{Typeclasses eauto \sphinxstyleliteralintitle {\sphinxupquote {:=}}}{paragraph*.800}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-eauto}{{2.2.7}{167}{Typeclasses eauto \sphinxstyleliteralintitle {\sphinxupquote {:=}}}{section*.801}{}}
\citation{zebibliography:cswcu}
\citation{zebibliography:cslessadhoc}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.8}Canonical Structures}{168}{subsection.2.2.8}\protected@file@percent }
\newlabel{language/extensions/canonical:canonical-structures}{{2.2.8}{168}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical:canonicalstructures}{{2.2.8}{168}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical::doc}{{2.2.8}{168}{Canonical Structures}{subsection.2.2.8}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of canonical structures}{168}{subsubsection*.802}\protected@file@percent }
\newlabel{language/extensions/canonical:declaration-of-canonical-structures}{{2.2.8}{168}{Declaration of canonical structures}{subsubsection*.802}{}}
\newlabel{language/extensions/canonical:canonical-structure-declaration}{{2.2.8}{168}{Declaration of canonical structures}{subsubsection*.802}{}}
\newlabel{language/extensions/canonical:coq:cmd.canonical-structure}{{2.2.8}{168}{Declaration of canonical structures}{section*.803}{}}
\newlabel{language/extensions/canonical:id3}{{2.2.8}{168}{Declaration of canonical structures}{section*.804}{}}
\newlabel{language/extensions/canonical:coq:attr.canonical-false}{{2.2.8}{169}{Declaration of canonical structures}{section*.805}{}}
\newlabel{language/extensions/canonical:coq:attr.canonical}{{2.2.8}{169}{Declaration of canonical structures}{section*.806}{}}
\newlabel{language/extensions/canonical:coq:cmd.print-canonical-projections}{{2.2.8}{169}{Declaration of canonical structures}{section*.807}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation overloading}{170}{subsubsection*.808}\protected@file@percent }
\newlabel{language/extensions/canonical:notation-overloading}{{2.2.8}{170}{Notation overloading}{subsubsection*.808}{}}
\@writefile{toc}{\contentsline {paragraph}{Derived Canonical Structures}{171}{paragraph*.809}\protected@file@percent }
\newlabel{language/extensions/canonical:derived-canonical-structures}{{2.2.8}{171}{Derived Canonical Structures}{paragraph*.809}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hierarchy of structures}{172}{subsubsection*.810}\protected@file@percent }
\newlabel{language/extensions/canonical:hierarchy-of-structures}{{2.2.8}{172}{Hierarchy of structures}{subsubsection*.810}{}}
\@writefile{toc}{\contentsline {paragraph}{Compact declaration of Canonical Structures}{178}{paragraph*.811}\protected@file@percent }
\newlabel{language/extensions/canonical:compact-declaration-of-canonical-structures}{{2.2.8}{178}{Compact declaration of Canonical Structures}{paragraph*.811}{}}
\citation{zebibliography:cswcu}
\citation{zebibliography:cswcu}
\citation{zebibliography:sozeau06}
\citation{zebibliography:rushby98}
\citation{zebibliography:parent95b}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.9}Program}{180}{subsection.2.2.9}\protected@file@percent }
\newlabel{addendum/program:program}{{2.2.9}{180}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program:programs}{{2.2.9}{180}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program::doc}{{2.2.9}{180}{Program}{subsection.2.2.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Elaborating programs}{180}{subsubsection*.812}\protected@file@percent }
\newlabel{addendum/program:elaborating-programs}{{2.2.9}{180}{Elaborating programs}{subsubsection*.812}{}}
\newlabel{addendum/program:id4}{{2.2.9}{180}{Elaborating programs}{subsubsection*.812}{}}
\newlabel{addendum/program:coq:flag.program-cases}{{2.2.9}{181}{Elaborating programs}{section*.813}{}}
\newlabel{addendum/program:coq:flag.program-generalized-coercion}{{2.2.9}{181}{Elaborating programs}{section*.814}{}}
\newlabel{addendum/program:coq:flag.program-mode}{{2.2.9}{181}{Elaborating programs}{section*.815}{}}
\newlabel{addendum/program:coq:attr.program}{{2.2.9}{181}{Elaborating programs}{section*.816}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic control over equalities}{181}{paragraph*.817}\protected@file@percent }
\newlabel{addendum/program:syntactic-control-over-equalities}{{2.2.9}{181}{Syntactic control over equalities}{paragraph*.817}{}}
\newlabel{addendum/program:syntactic-control}{{2.2.9}{181}{Syntactic control over equalities}{paragraph*.817}{}}
\gdef \LT@i {\LT@entry 
    {1}{42.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{240.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Program Definition}{182}{paragraph*.818}\protected@file@percent }
\newlabel{addendum/program:program-definition}{{2.2.9}{182}{Program Definition}{paragraph*.818}{}}
\newlabel{addendum/program:id5}{{2.2.9}{182}{Program Definition}{paragraph*.818}{}}
\newlabel{addendum/program:coq:cmd.program-definition}{{2.2.9}{182}{Program Definition}{section*.819}{}}
\newlabel{addendum/program:coq:exn.ident-already-exists-program-definition}{{2.2.9}{182}{Program Definition}{section*.820}{}}
\newlabel{addendum/program:coq:exn.in-environment-the-term-term-does-not-have-type-type-actually-it-has-type}{{2.2.9}{182}{Program Definition}{section*.821}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Fixpoint}{182}{paragraph*.822}\protected@file@percent }
\newlabel{addendum/program:program-fixpoint}{{2.2.9}{182}{Program Fixpoint}{paragraph*.822}{}}
\newlabel{addendum/program:id6}{{2.2.9}{182}{Program Fixpoint}{paragraph*.822}{}}
\newlabel{addendum/program:coq:cmd.program-fixpoint}{{2.2.9}{182}{Program Fixpoint}{section*.823}{}}
\newlabel{addendum/program:grammar-token-order}{{1}{182}{Program Fixpoint}{section*.824}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Lemma}{183}{paragraph*.825}\protected@file@percent }
\newlabel{addendum/program:program-lemma}{{2.2.9}{183}{Program Lemma}{paragraph*.825}{}}
\newlabel{addendum/program:id7}{{2.2.9}{183}{Program Lemma}{paragraph*.825}{}}
\newlabel{addendum/program:coq:cmd.program-lemma}{{2.2.9}{183}{Program Lemma}{section*.826}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving obligations}{183}{subsubsection*.827}\protected@file@percent }
\newlabel{addendum/program:solving-obligations}{{2.2.9}{183}{Solving obligations}{subsubsection*.827}{}}
\newlabel{addendum/program:id8}{{2.2.9}{183}{Solving obligations}{subsubsection*.827}{}}
\newlabel{addendum/program:coq:cmd.obligation-tactic}{{2.2.9}{183}{Solving obligations}{section*.828}{}}
\newlabel{addendum/program:coq:cmd.show-obligation-tactic}{{2.2.9}{183}{Solving obligations}{section*.829}{}}
\newlabel{addendum/program:coq:cmd.obligations}{{2.2.9}{183}{Solving obligations}{section*.830}{}}
\newlabel{addendum/program:coq:cmd.obligation}{{2.2.9}{183}{Solving obligations}{section*.831}{}}
\newlabel{addendum/program:coq:cmd.next-obligation}{{2.2.9}{184}{Solving obligations}{section*.832}{}}
\newlabel{addendum/program:coq:cmd.solve-obligations}{{2.2.9}{184}{Solving obligations}{section*.833}{}}
\newlabel{addendum/program:coq:cmd.solve-all-obligations}{{2.2.9}{184}{Solving obligations}{section*.834}{}}
\newlabel{addendum/program:coq:cmd.admit-obligations}{{2.2.9}{184}{Solving obligations}{section*.835}{}}
\newlabel{addendum/program:coq:cmd.preterm}{{2.2.9}{184}{Solving obligations}{section*.836}{}}
\newlabel{addendum/program:coq:flag.transparent-obligations}{{2.2.9}{184}{Solving obligations}{section*.837}{}}
\newlabel{addendum/program:coq:flag.hide-obligations}{{2.2.9}{184}{Solving obligations}{section*.838}{}}
\@writefile{toc}{\contentsline {subsubsection}{Frequently Asked Questions}{184}{subsubsection*.839}\protected@file@percent }
\newlabel{addendum/program:frequently-asked-questions}{{2.2.9}{184}{Frequently Asked Questions}{subsubsection*.839}{}}
\newlabel{addendum/program:program-faq}{{2.2.9}{184}{Frequently Asked Questions}{subsubsection*.839}{}}
\newlabel{addendum/program:coq:exn.ill-formed-recursive-definition}{{2.2.9}{184}{Frequently Asked Questions}{section*.840}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.10}Vernacular commands}{185}{subsection.2.2.10}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:vernacular-commands}{{2.2.10}{185}{Vernacular commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands:vernacularcommands}{{2.2.10}{185}{Vernacular commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands::doc}{{2.2.10}{185}{Vernacular commands}{subsection.2.2.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying}{185}{subsubsection*.841}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:displaying}{{2.2.10}{185}{Displaying}{subsubsection*.841}{}}
\newlabel{proof-engine/vernacular-commands:id1}{{2.2.10}{185}{Displaying}{subsubsection*.841}{}}
\newlabel{proof-engine/vernacular-commands:print}{{2.2.10}{185}{Displaying}{section*.842}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print}{{2.2.10}{185}{Displaying}{section*.843}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-univ-name-list}{{2.2.10}{185}{Displaying}{section*.845}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.qualid-not-a-defined-object}{{2.2.10}{185}{Displaying}{section*.846}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.universe-instance-should-have-length-num}{{2.2.10}{185}{Displaying}{section*.847}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.this-object-does-not-support-universe-names}{{2.2.10}{185}{Displaying}{section*.848}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-all}{{2.2.10}{185}{Displaying}{section*.849}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.inspect}{{2.2.10}{185}{Displaying}{section*.850}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-section}{{2.2.10}{185}{Displaying}{section*.851}{}}
\@writefile{toc}{\contentsline {subsubsection}{Query commands}{185}{subsubsection*.852}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:query-commands}{{2.2.10}{185}{Query commands}{subsubsection*.852}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-query-command}{{2.2.10}{185}{Query commands}{section*.853}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.about}{{2.2.10}{185}{Query commands}{section*.854}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.check}{{2.2.10}{185}{Query commands}{section*.855}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.eval}{{2.2.10}{185}{Query commands}{section*.856}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.compute}{{2.2.10}{186}{Query commands}{section*.857}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.search}{{2.2.10}{186}{Query commands}{section*.858}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search-query}{{2.2.10}{186}{Query commands}{section*.860}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search-item}{{2.2.10}{186}{Query commands}{section*.862}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-logical-kind}{{2.2.10}{187}{Query commands}{section*.864}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.module-section-qualid-not-found}{{2.2.10}{187}{Query commands}{section*.865}{}}
\newlabel{proof-engine/vernacular-commands:search-pattern}{{2.2.10}{187}{Query commands}{section*.866}{}}
\newlabel{proof-engine/vernacular-commands:search-part-ident}{{2.2.10}{187}{Query commands}{section*.867}{}}
\newlabel{proof-engine/vernacular-commands:search-by-notation}{{2.2.10}{188}{Query commands}{section*.868}{}}
\newlabel{proof-engine/vernacular-commands:search-disambiguate-notation}{{2.2.10}{188}{Query commands}{section*.869}{}}
\newlabel{proof-engine/vernacular-commands:search-hyp}{{2.2.10}{189}{Query commands}{section*.870}{}}
\newlabel{proof-engine/vernacular-commands:search-concl}{{2.2.10}{189}{Query commands}{section*.871}{}}
\newlabel{proof-engine/vernacular-commands:search-by-keyword}{{2.2.10}{189}{Query commands}{section*.872}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchhead}{{2.2.10}{190}{Query commands}{section*.873}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchpattern}{{2.2.10}{191}{Query commands}{section*.874}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchrewrite}{{2.2.10}{192}{Query commands}{section*.875}{}}
\newlabel{proof-engine/vernacular-commands:coq:table.search-blacklist}{{2.2.10}{192}{Query commands}{section*.876}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.search-output-name-only}{{2.2.10}{192}{Query commands}{section*.877}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requests to the environment}{193}{subsubsection*.878}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:requests-to-the-environment}{{2.2.10}{193}{Requests to the environment}{subsubsection*.878}{}}
\newlabel{proof-engine/vernacular-commands:id2}{{2.2.10}{193}{Requests to the environment}{subsubsection*.878}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-assumptions}{{2.2.10}{193}{Requests to the environment}{section*.879}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-opaque-dependencies}{{2.2.10}{193}{Requests to the environment}{section*.880}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-transparent-dependencies}{{2.2.10}{193}{Requests to the environment}{section*.881}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-all-dependencies}{{2.2.10}{193}{Requests to the environment}{section*.882}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate}{{2.2.10}{193}{Requests to the environment}{section*.883}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-reference}{{2.2.10}{193}{Requests to the environment}{section*.885}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-term}{{2.2.10}{193}{Requests to the environment}{section*.886}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-module}{{2.2.10}{193}{Requests to the environment}{section*.887}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-ltac}{{2.2.10}{193}{Requests to the environment}{section*.888}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-library}{{2.2.10}{193}{Requests to the environment}{section*.889}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-file}{{2.2.10}{193}{Requests to the environment}{section*.890}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing flags}{194}{subsubsection*.891}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-flags}{{2.2.10}{194}{Printing flags}{subsubsection*.891}{}}
\newlabel{proof-engine/vernacular-commands:id3}{{2.2.10}{194}{Printing flags}{subsubsection*.891}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.fast-name-printing}{{2.2.10}{194}{Printing flags}{section*.892}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loading files}{194}{subsubsection*.893}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loading-files}{{2.2.10}{194}{Loading files}{subsubsection*.893}{}}
\newlabel{proof-engine/vernacular-commands:id4}{{2.2.10}{194}{Loading files}{subsubsection*.893}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.load}{{2.2.10}{194}{Loading files}{section*.894}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cant-find-file-ident-on-loadpath}{{2.2.10}{194}{Loading files}{section*.895}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.load-is-not-supported-inside-proofs}{{2.2.10}{194}{Loading files}{section*.896}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.files-processed-by-load-cannot-leave-open-proofs}{{2.2.10}{194}{Loading files}{section*.897}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled files}{195}{subsubsection*.898}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:compiled-files}{{2.2.10}{195}{Compiled files}{subsubsection*.898}{}}
\newlabel{proof-engine/vernacular-commands:id5}{{2.2.10}{195}{Compiled files}{subsubsection*.898}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.require}{{2.2.10}{195}{Compiled files}{section*.899}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.require-import}{{2.2.10}{195}{Compiled files}{section*.900}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.require-export}{{2.2.10}{195}{Compiled files}{section*.901}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.from-require}{{2.2.10}{195}{Compiled files}{section*.902}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cannot-load-qualid-no-physical-path-bound-to-dirpath}{{2.2.10}{195}{Compiled files}{section*.903}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cannot-find-library-foo-in-loadpath}{{2.2.10}{195}{Compiled files}{section*.904}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.compiled-library-ident-vo-makes-inconsistent-assumptions-over-library-qualid}{{2.2.10}{195}{Compiled files}{section*.905}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.bad-magic-number}{{2.2.10}{195}{Compiled files}{section*.906}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-file-ident-vo-contains-library-qualid-and-not-library-qualid}{{2.2.10}{195}{Compiled files}{section*.907}{}}
\newlabel{proof-engine/vernacular-commands:coq:warn.require-inside-a-module-is-deprecated-and-strongly-discouraged-you-can-require-a-module-at-toplevel-and-optionally-import-it-inside-another-one}{{2.2.10}{195}{Compiled files}{section*.908}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-libraries}{{2.2.10}{195}{Compiled files}{section*.909}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.declare-ml-module}{{2.2.10}{196}{Compiled files}{section*.910}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.file-not-found-on-loadpath-string}{{2.2.10}{196}{Compiled files}{section*.911}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-ml-modules}{{2.2.10}{196}{Compiled files}{section*.912}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loadpath}{196}{subsubsection*.913}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loadpath}{{2.2.10}{196}{Loadpath}{subsubsection*.913}{}}
\newlabel{proof-engine/vernacular-commands:id6}{{2.2.10}{196}{Loadpath}{subsubsection*.913}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.pwd}{{2.2.10}{196}{Loadpath}{section*.914}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.cd}{{2.2.10}{196}{Loadpath}{section*.915}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-loadpath}{{2.2.10}{196}{Loadpath}{section*.916}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-dirpath}{{2.2.10}{196}{Loadpath}{section*.918}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-rec-loadpath}{{2.2.10}{196}{Loadpath}{section*.919}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.remove-loadpath}{{2.2.10}{196}{Loadpath}{section*.920}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-loadpath}{{2.2.10}{196}{Loadpath}{section*.921}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-ml-path}{{2.2.10}{196}{Loadpath}{section*.922}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-ml-path}{{2.2.10}{196}{Loadpath}{section*.923}{}}
\@writefile{toc}{\contentsline {subsubsection}{Backtracking}{197}{subsubsection*.924}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:backtracking}{{2.2.10}{197}{Backtracking}{subsubsection*.924}{}}
\newlabel{proof-engine/vernacular-commands:backtracking-subsection}{{2.2.10}{197}{Backtracking}{subsubsection*.924}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.reset}{{2.2.10}{197}{Backtracking}{section*.925}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.ident-no-such-entry}{{2.2.10}{197}{Backtracking}{section*.926}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.reset-initial}{{2.2.10}{197}{Backtracking}{section*.927}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.back}{{2.2.10}{197}{Backtracking}{section*.928}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.invalid-backtrack}{{2.2.10}{197}{Backtracking}{section*.929}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.backto}{{2.2.10}{197}{Backtracking}{section*.930}{}}
\@writefile{toc}{\contentsline {subsubsection}{Quitting and debugging}{197}{subsubsection*.931}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:quitting-and-debugging}{{2.2.10}{197}{Quitting and debugging}{subsubsection*.931}{}}
\newlabel{proof-engine/vernacular-commands:id7}{{2.2.10}{197}{Quitting and debugging}{subsubsection*.931}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.quit}{{2.2.10}{197}{Quitting and debugging}{section*.932}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.drop}{{2.2.10}{197}{Quitting and debugging}{section*.933}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.time}{{2.2.10}{198}{Quitting and debugging}{section*.934}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.redirect}{{2.2.10}{198}{Quitting and debugging}{section*.935}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.timeout}{{2.2.10}{198}{Quitting and debugging}{section*.936}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.default-timeout}{{2.2.10}{198}{Quitting and debugging}{section*.937}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.fail}{{2.2.10}{198}{Quitting and debugging}{section*.938}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-command-has-not-failed}{{2.2.10}{198}{Quitting and debugging}{section*.939}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-control-command}{{2.2.10}{198}{Quitting and debugging}{section*.940}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling display}{198}{subsubsection*.941}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-display}{{2.2.10}{198}{Controlling display}{subsubsection*.941}{}}
\newlabel{proof-engine/vernacular-commands:id8}{{2.2.10}{198}{Controlling display}{subsubsection*.941}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.silent}{{2.2.10}{198}{Controlling display}{section*.942}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.warnings}{{2.2.10}{198}{Controlling display}{section*.943}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.printing-width}{{2.2.10}{198}{Controlling display}{section*.944}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.printing-depth}{{2.2.10}{198}{Controlling display}{section*.945}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-compact-contexts}{{2.2.10}{198}{Controlling display}{section*.946}{}}
\citation{zebibliography:leroy90}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-unfocused}{{2.2.10}{199}{Controlling display}{section*.947}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-dependent-evars-line}{{2.2.10}{199}{Controlling display}{section*.948}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing constructions in full}{199}{subsubsection*.949}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-constructions-in-full}{{2.2.10}{199}{Printing constructions in full}{subsubsection*.949}{}}
\newlabel{proof-engine/vernacular-commands:printing-constructions-full}{{2.2.10}{199}{Printing constructions in full}{subsubsection*.949}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-all}{{2.2.10}{199}{Printing constructions in full}{section*.950}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the reduction strategies and the conversion algorithm}{199}{subsubsection*.951}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-the-reduction-strategies-and-the-conversion-algorithm}{{2.2.10}{199}{Controlling the reduction strategies and the conversion algorithm}{subsubsection*.951}{}}
\newlabel{proof-engine/vernacular-commands:vernac-controlling-the-reduction-strategies}{{2.2.10}{199}{Controlling the reduction strategies and the conversion algorithm}{subsubsection*.951}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.opaque}{{2.2.10}{199}{Controlling the reduction strategies and the conversion algorithm}{section*.952}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.transparent}{{2.2.10}{199}{Controlling the reduction strategies and the conversion algorithm}{section*.953}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-reference-qualid-was-not-found-in-the-current-environment}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.954}{}}
\newlabel{proof-engine/vernacular-commands:vernac-strategy}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.955}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.strategy}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.956}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-strategy-level}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.959}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-strategy-level-or-var}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.960}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-strategy}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.961}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-reference-is-not-unfoldable}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.962}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-strategies}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.963}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.declare-reduction}{{2.2.10}{200}{Controlling the reduction strategies and the conversion algorithm}{section*.964}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the locality of commands}{201}{subsubsection*.965}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-the-locality-of-commands}{{2.2.10}{201}{Controlling the locality of commands}{subsubsection*.965}{}}
\newlabel{proof-engine/vernacular-commands:controlling-locality-of-commands}{{2.2.10}{201}{Controlling the locality of commands}{subsubsection*.965}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.global}{{2.2.10}{201}{Controlling the locality of commands}{section*.966}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.local}{{2.2.10}{201}{Controlling the locality of commands}{section*.967}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.export}{{2.2.10}{201}{Controlling the locality of commands}{section*.968}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling Typing Flags}{202}{subsubsection*.969}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-typing-flags}{{2.2.10}{202}{Controlling Typing Flags}{subsubsection*.969}{}}
\newlabel{proof-engine/vernacular-commands:id10}{{2.2.10}{202}{Controlling Typing Flags}{subsubsection*.969}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.guard-checking}{{2.2.10}{202}{Controlling Typing Flags}{section*.970}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.positivity-checking}{{2.2.10}{202}{Controlling Typing Flags}{section*.971}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.universe-checking}{{2.2.10}{202}{Controlling Typing Flags}{section*.972}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-typing-flags}{{2.2.10}{202}{Controlling Typing Flags}{section*.973}{}}
\@writefile{toc}{\contentsline {subsubsection}{Internal registration commands}{203}{subsubsection*.974}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:internal-registration-commands}{{2.2.10}{203}{Internal registration commands}{subsubsection*.974}{}}
\newlabel{proof-engine/vernacular-commands:id11}{{2.2.10}{203}{Internal registration commands}{subsubsection*.974}{}}
\@writefile{toc}{\contentsline {paragraph}{Exposing constants to OCaml libraries}{203}{paragraph*.975}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:exposing-constants-to-ocaml-libraries}{{2.2.10}{203}{Exposing constants to OCaml libraries}{paragraph*.975}{}}
\newlabel{proof-engine/vernacular-commands:id12}{{2.2.10}{203}{Exposing constants to OCaml libraries}{paragraph*.975}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.register}{{2.2.10}{203}{Exposing constants to OCaml libraries}{section*.976}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining hints for the fast reduction machines}{203}{paragraph*.977}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:inlining-hints-for-the-fast-reduction-machines}{{2.2.10}{203}{Inlining hints for the fast reduction machines}{paragraph*.977}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.register-inline}{{2.2.10}{203}{Inlining hints for the fast reduction machines}{section*.978}{}}
\@writefile{toc}{\contentsline {paragraph}{Registering primitive operations}{204}{paragraph*.979}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:registering-primitive-operations}{{2.2.10}{204}{Registering primitive operations}{paragraph*.979}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.primitive}{{2.2.10}{204}{Registering primitive operations}{section*.980}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-type-ident-must-be-registered-before-this-construction-can-be-typechecked}{{2.2.10}{204}{Registering primitive operations}{section*.981}{}}
\citation{zebibliography:how80}
\citation{zebibliography:bar81}
\citation{zebibliography:gir89}
\citation{zebibliography:h89}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Proofs}{205}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:proofs}{{3}{205}{Proofs}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Writing proofs}{205}{section.3.1}\protected@file@percent }
\newlabel{proofs/writing-proofs/index:writing-proofs}{{3.1}{205}{Writing proofs}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index:id1}{{3.1}{205}{Writing proofs}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index::doc}{{3.1}{205}{Writing proofs}{section.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Proof handling}{205}{subsection.3.1.1}\protected@file@percent }
\newlabel{proof-engine/proof-handling:proof-handling}{{3.1.1}{205}{Proof handling}{subsection.3.1.1}{}}
\newlabel{proof-engine/proof-handling:proofhandling}{{3.1.1}{205}{Proof handling}{subsection.3.1.1}{}}
\newlabel{proof-engine/proof-handling::doc}{{3.1.1}{205}{Proof handling}{subsection.3.1.1}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof}{{3.1.1}{205}{Proof handling}{section*.982}{}}
\@writefile{toc}{\contentsline {subsubsection}{Entering and leaving proof editing mode}{206}{subsubsection*.983}\protected@file@percent }
\newlabel{proof-engine/proof-handling:entering-and-leaving-proof-editing-mode}{{3.1.1}{206}{Entering and leaving proof editing mode}{subsubsection*.983}{}}
\newlabel{proof-engine/proof-handling:proof-editing-mode}{{3.1.1}{206}{Entering and leaving proof editing mode}{subsubsection*.983}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.goal}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.984}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.qed}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.985}{}}
\newlabel{proof-engine/proof-handling:coq:exn.attempt-to-save-an-incomplete-proof}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.986}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.defined}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.987}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.save}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.988}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.admitted}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.989}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.abort}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.990}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof-no-proof-editing-in-progress}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.991}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof-term}{{3.1.1}{206}{Entering and leaving proof editing mode}{section*.992}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof}{{3.1.1}{207}{Entering and leaving proof editing mode}{section*.993}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof-using}{{3.1.1}{207}{Entering and leaving proof editing mode}{section*.994}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof using options}{208}{paragraph*.995}\protected@file@percent }
\newlabel{proof-engine/proof-handling:proof-using-options}{{3.1.1}{208}{Proof using options}{paragraph*.995}{}}
\newlabel{proof-engine/proof-handling:coq:opt.default-proof-using}{{3.1.1}{208}{Proof using options}{section*.996}{}}
\newlabel{proof-engine/proof-handling:coq:flag.suggest-proof-using}{{3.1.1}{208}{Proof using options}{section*.997}{}}
\@writefile{toc}{\contentsline {paragraph}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{208}{paragraph*.998}\protected@file@percent }
\newlabel{proof-engine/proof-handling:name-a-set-of-section-hypotheses-for-proof-using}{{3.1.1}{208}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.998}{}}
\newlabel{proof-engine/proof-handling:nameaset}{{3.1.1}{208}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.998}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.collection}{{3.1.1}{208}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.999}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.existential}{{3.1.1}{208}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1000}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.grab-existential-variables}{{3.1.1}{208}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1001}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof modes}{209}{paragraph*.1002}\protected@file@percent }
\newlabel{proof-engine/proof-handling:proof-modes}{{3.1.1}{209}{Proof modes}{paragraph*.1002}{}}
\newlabel{proof-engine/proof-handling:coq:opt.default-proof-mode}{{3.1.1}{209}{Proof modes}{section*.1003}{}}
\@writefile{toc}{\contentsline {subsubsection}{Navigation in the proof tree}{209}{subsubsection*.1004}\protected@file@percent }
\newlabel{proof-engine/proof-handling:navigation-in-the-proof-tree}{{3.1.1}{209}{Navigation in the proof tree}{subsubsection*.1004}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.undo}{{3.1.1}{209}{Navigation in the proof tree}{section*.1005}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.restart}{{3.1.1}{209}{Navigation in the proof tree}{section*.1006}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof-to-restart}{{3.1.1}{209}{Navigation in the proof tree}{section*.1007}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.focus}{{3.1.1}{209}{Navigation in the proof tree}{section*.1008}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.unfocus}{{3.1.1}{209}{Navigation in the proof tree}{section*.1009}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.unfocused}{{3.1.1}{209}{Navigation in the proof tree}{section*.1010}{}}
\newlabel{proof-engine/proof-handling:curly-braces}{{3.1.1}{209}{Navigation in the proof tree}{section*.1011}{}}
\newlabel{proof-engine/proof-handling:coq:exn.this-proof-is-focused-but-cannot-be-unfocused-this-way}{{3.1.1}{212}{Navigation in the proof tree}{section*.1012}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal-num}{{3.1.1}{212}{Navigation in the proof tree}{section*.1013}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal-ident}{{3.1.1}{212}{Navigation in the proof tree}{section*.1014}{}}
\newlabel{proof-engine/proof-handling:coq:exn.brackets-do-not-support-multi-goal-selectors}{{3.1.1}{212}{Navigation in the proof tree}{section*.1015}{}}
\@writefile{toc}{\contentsline {paragraph}{Bullets}{212}{paragraph*.1016}\protected@file@percent }
\newlabel{proof-engine/proof-handling:bullets}{{3.1.1}{212}{Bullets}{paragraph*.1016}{}}
\newlabel{proof-engine/proof-handling:id5}{{3.1.1}{212}{Bullets}{paragraph*.1016}{}}
\newlabel{proof-engine/proof-handling:grammar-token-bullet}{{3.1.1}{212}{Bullets}{section*.1018}{}}
\newlabel{proof-engine/proof-handling:coq:exn.wrong-bullet-bullet-current-bullet-bullet-is-not-finished}{{3.1.1}{215}{Bullets}{section*.1019}{}}
\newlabel{proof-engine/proof-handling:coq:exn.wrong-bullet-bullet-bullet-bullet-is-mandatory-here}{{3.1.1}{215}{Bullets}{section*.1020}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal-focus-next-goal-with-bullet-bullet}{{3.1.1}{216}{Bullets}{section*.1021}{}}
\@writefile{toc}{\contentsline {paragraph}{Mandatory Bullets}{216}{paragraph*.1022}\protected@file@percent }
\newlabel{proof-engine/proof-handling:mandatory-bullets}{{3.1.1}{216}{Mandatory Bullets}{paragraph*.1022}{}}
\@writefile{toc}{\contentsline {paragraph}{Set Bullet Behavior}{216}{paragraph*.1023}\protected@file@percent }
\newlabel{proof-engine/proof-handling:set-bullet-behavior}{{3.1.1}{216}{Set Bullet Behavior}{paragraph*.1023}{}}
\newlabel{proof-engine/proof-handling:coq:opt.bullet-behavior}{{3.1.1}{216}{Set Bullet Behavior}{section*.1024}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requesting information}{216}{subsubsection*.1025}\protected@file@percent }
\newlabel{proof-engine/proof-handling:requesting-information}{{3.1.1}{216}{Requesting information}{subsubsection*.1025}{}}
\newlabel{proof-engine/proof-handling:requestinginformation}{{3.1.1}{216}{Requesting information}{subsubsection*.1025}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.show}{{3.1.1}{216}{Requesting information}{section*.1026}{}}
\newlabel{proof-engine/proof-handling:id6}{{3.1.1}{216}{Requesting information}{section*.1027}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal}{{3.1.1}{216}{Requesting information}{section*.1028}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-proof}{{3.1.1}{217}{Requesting information}{section*.1029}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-conjectures}{{3.1.1}{217}{Requesting information}{section*.1030}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-intro}{{3.1.1}{217}{Requesting information}{section*.1031}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-intros}{{3.1.1}{217}{Requesting information}{section*.1032}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-existentials}{{3.1.1}{217}{Requesting information}{section*.1033}{}}
\newlabel{proof-engine/proof-handling:coq:exn.unknown-inductive-type}{{3.1.1}{217}{Requesting information}{section*.1034}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-universes}{{3.1.1}{217}{Requesting information}{section*.1035}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-goal}{{3.1.1}{217}{Requesting information}{section*.1036}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.guarded}{{3.1.1}{218}{Requesting information}{section*.1037}{}}
\@writefile{toc}{\contentsline {subsubsection}{Showing differences between proof steps}{218}{subsubsection*.1038}\protected@file@percent }
\newlabel{proof-engine/proof-handling:showing-differences-between-proof-steps}{{3.1.1}{218}{Showing differences between proof steps}{subsubsection*.1038}{}}
\newlabel{proof-engine/proof-handling:showing-diffs}{{3.1.1}{218}{Showing differences between proof steps}{subsubsection*.1038}{}}
\@writefile{toc}{\contentsline {paragraph}{How to enable diffs}{218}{paragraph*.1039}\protected@file@percent }
\newlabel{proof-engine/proof-handling:how-to-enable-diffs}{{3.1.1}{218}{How to enable diffs}{paragraph*.1039}{}}
\newlabel{proof-engine/proof-handling:coq:opt.diffs}{{3.1.1}{218}{How to enable diffs}{section*.1040}{}}
\citation{zebibliography:myers}
\@writefile{toc}{\contentsline {paragraph}{How diffs are calculated}{219}{paragraph*.1041}\protected@file@percent }
\newlabel{proof-engine/proof-handling:how-diffs-are-calculated}{{3.1.1}{219}{How diffs are calculated}{paragraph*.1041}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the effect of proof editing commands}{219}{subsubsection*.1042}\protected@file@percent }
\newlabel{proof-engine/proof-handling:controlling-the-effect-of-proof-editing-commands}{{3.1.1}{219}{Controlling the effect of proof editing commands}{subsubsection*.1042}{}}
\newlabel{proof-engine/proof-handling:coq:opt.hyps-limit}{{3.1.1}{219}{Controlling the effect of proof editing commands}{section*.1043}{}}
\newlabel{proof-engine/proof-handling:coq:flag.nested-proofs-allowed}{{3.1.1}{219}{Controlling the effect of proof editing commands}{section*.1044}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling memory usage}{220}{subsubsection*.1045}\protected@file@percent }
\newlabel{proof-engine/proof-handling:controlling-memory-usage}{{3.1.1}{220}{Controlling memory usage}{subsubsection*.1045}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.optimize-proof}{{3.1.1}{220}{Controlling memory usage}{section*.1046}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.optimize-heap}{{3.1.1}{220}{Controlling memory usage}{section*.1047}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Tactics}{220}{subsection.3.1.2}\protected@file@percent }
\newlabel{proof-engine/tactics:tactics}{{3.1.2}{220}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics:id1}{{3.1.2}{220}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics::doc}{{3.1.2}{220}{Tactics}{subsection.3.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Common elements of tactics}{220}{subsubsection*.1048}\protected@file@percent }
\newlabel{proof-engine/tactics:common-elements-of-tactics}{{3.1.2}{220}{Common elements of tactics}{subsubsection*.1048}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserved keywords}{220}{paragraph*.1049}\protected@file@percent }
\newlabel{proof-engine/tactics:reserved-keywords}{{3.1.2}{220}{Reserved keywords}{paragraph*.1049}{}}
\gdef \LT@ii {\LT@entry 
    {1}{114.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{180.00002pt}}
\gdef \LT@iii {\LT@entry 
    {1}{90.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{204.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Invocation of tactics}{221}{paragraph*.1050}\protected@file@percent }
\newlabel{proof-engine/tactics:invocation-of-tactics}{{3.1.2}{221}{Invocation of tactics}{paragraph*.1050}{}}
\newlabel{proof-engine/tactics:id2}{{3.1.2}{221}{Invocation of tactics}{paragraph*.1050}{}}
\newlabel{proof-engine/tactics:tactic-invocation-grammar}{{3.1.2}{221}{Invocation of tactics}{section*.1051}{}}
\newlabel{proof-engine/tactics:grammar-token-tactic_invocation}{{1}{221}{Invocation of tactics}{section*.1052}{}}
\newlabel{proof-engine/tactics:coq:opt.default-goal-selector}{{3.1.2}{221}{Invocation of tactics}{section*.1053}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings list}{221}{paragraph*.1054}\protected@file@percent }
\newlabel{proof-engine/tactics:bindings-list}{{3.1.2}{221}{Bindings list}{paragraph*.1054}{}}
\newlabel{proof-engine/tactics:bindingslist}{{3.1.2}{221}{Bindings list}{paragraph*.1054}{}}
\newlabel{proof-engine/tactics:bindings-list-grammar}{{3.1.2}{221}{Bindings list}{section*.1055}{}}
\newlabel{proof-engine/tactics:grammar-token-ref}{{2}{221}{Bindings list}{section*.1056}{}}
\newlabel{proof-engine/tactics:grammar-token-bindings_list}{{2}{221}{Bindings list}{section*.1057}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-binder}{{3.1.2}{221}{Bindings list}{section*.1058}{}}
\newlabel{proof-engine/tactics:coq:exn.not-the-right-number-of-missing-arguments}{{3.1.2}{221}{Bindings list}{section*.1059}{}}
\gdef \LT@iv {\LT@entry 
    {1}{168.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{326.50002pt}}
\@writefile{toc}{\contentsline {paragraph}{Intro patterns}{222}{paragraph*.1060}\protected@file@percent }
\newlabel{proof-engine/tactics:intro-patterns}{{3.1.2}{222}{Intro patterns}{paragraph*.1060}{}}
\newlabel{proof-engine/tactics:intropatterns}{{3.1.2}{222}{Intro patterns}{paragraph*.1060}{}}
\newlabel{proof-engine/tactics:grammar-token-intropattern_list}{{3}{222}{Intro patterns}{section*.1061}{}}
\newlabel{proof-engine/tactics:grammar-token-empty}{{3}{222}{Intro patterns}{section*.1062}{}}
\newlabel{proof-engine/tactics:grammar-token-intropattern}{{3}{222}{Intro patterns}{section*.1063}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern}{{3}{222}{Intro patterns}{section*.1064}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern_closed}{{3}{222}{Intro patterns}{section*.1065}{}}
\newlabel{proof-engine/tactics:grammar-token-naming_intropattern}{{3}{222}{Intro patterns}{section*.1066}{}}
\newlabel{proof-engine/tactics:grammar-token-or_and_intropattern}{{3}{222}{Intro patterns}{section*.1067}{}}
\newlabel{proof-engine/tactics:grammar-token-rewriting_intropattern}{{3}{222}{Intro patterns}{section*.1068}{}}
\newlabel{proof-engine/tactics:grammar-token-injection_intropattern}{{3}{222}{Intro patterns}{section*.1069}{}}
\newlabel{proof-engine/tactics:grammar-token-or_and_intropattern_loc}{{3}{222}{Intro patterns}{section*.1070}{}}
\newlabel{proof-engine/tactics:coq:flag.bracketing-last-introduction-pattern}{{3.1.2}{224}{Intro patterns}{section*.1071}{}}
\newlabel{proof-engine/tactics:intropattern-cons-note}{{3.1.2}{224}{Intro patterns}{section*.1072}{}}
\newlabel{proof-engine/tactics:intropattern-conj-ex}{{3.1.2}{224}{Intro patterns}{section*.1073}{}}
\newlabel{proof-engine/tactics:intropattern-disj-ex}{{3.1.2}{224}{Intro patterns}{section*.1074}{}}
\newlabel{proof-engine/tactics:intropattern-rarrow-ex}{{3.1.2}{225}{Intro patterns}{section*.1075}{}}
\newlabel{proof-engine/tactics:intropattern-inj-discr-ex}{{3.1.2}{225}{Intro patterns}{section*.1076}{}}
\newlabel{proof-engine/tactics:intropattern-ampersand-ex}{{3.1.2}{226}{Intro patterns}{section*.1077}{}}
\newlabel{proof-engine/tactics:intropattern-star-ex}{{3.1.2}{226}{Intro patterns}{section*.1078}{}}
\newlabel{proof-engine/tactics:intropattern-2stars-ex}{{3.1.2}{226}{Intro patterns}{section*.1079}{}}
\newlabel{proof-engine/tactics:intropattern-injection-ex}{{3.1.2}{227}{Intro patterns}{section*.1080}{}}
\gdef \LT@v {\LT@entry 
    {1}{114.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{498.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence sets and occurrence clauses}{228}{paragraph*.1081}\protected@file@percent }
\newlabel{proof-engine/tactics:occurrence-sets-and-occurrence-clauses}{{3.1.2}{228}{Occurrence sets and occurrence clauses}{paragraph*.1081}{}}
\newlabel{proof-engine/tactics:occurrencessets}{{3.1.2}{228}{Occurrence sets and occurrence clauses}{paragraph*.1081}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrence_clause}{{4}{228}{Occurrence sets and occurrence clauses}{section*.1082}{}}
\newlabel{proof-engine/tactics:grammar-token-goal_occurrences}{{4}{228}{Occurrence sets and occurrence clauses}{section*.1083}{}}
\newlabel{proof-engine/tactics:grammar-token-at_occurrences}{{4}{228}{Occurrence sets and occurrence clauses}{section*.1084}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrences}{{4}{228}{Occurrence sets and occurrence clauses}{section*.1085}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applying theorems}{229}{subsubsection*.1086}\protected@file@percent }
\newlabel{proof-engine/tactics:applying-theorems}{{3.1.2}{229}{Applying theorems}{subsubsection*.1086}{}}
\newlabel{proof-engine/tactics:applyingtheorems}{{3.1.2}{229}{Applying theorems}{subsubsection*.1086}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact}{{3.1.2}{229}{Applying theorems}{section*.1087}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-exact-proof}{{3.1.2}{229}{Applying theorems}{section*.1088}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexact}{{3.1.2}{229}{Applying theorems}{section*.1089}{}}
\newlabel{proof-engine/tactics:coq:tacn.assumption}{{3.1.2}{229}{Applying theorems}{section*.1090}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-assumption}{{3.1.2}{229}{Applying theorems}{section*.1091}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassumption}{{3.1.2}{229}{Applying theorems}{section*.1092}{}}
\newlabel{proof-engine/tactics:coq:tacn.refine}{{3.1.2}{229}{Applying theorems}{section*.1093}{}}
\newlabel{proof-engine/tactics:coq:exn.invalid-argument}{{3.1.2}{230}{Applying theorems}{section*.1094}{}}
\newlabel{proof-engine/tactics:coq:exn.refine-passed-ill-formed-term}{{3.1.2}{230}{Applying theorems}{section*.1095}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-infer-a-term-for-this-placeholder-refine}{{3.1.2}{230}{Applying theorems}{section*.1096}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-refine}{{3.1.2}{230}{Applying theorems}{section*.1097}{}}
\newlabel{proof-engine/tactics:coq:tacv.notypeclasses-refine}{{3.1.2}{230}{Applying theorems}{section*.1098}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-notypeclasses-refine}{{3.1.2}{230}{Applying theorems}{section*.1099}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-unification}{{3.1.2}{230}{Applying theorems}{section*.1100}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply}{{3.1.2}{230}{Applying theorems}{section*.1101}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-unify-term-with-term}{{3.1.2}{230}{Applying theorems}{section*.1102}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-find-an-instance-for-the-variables-ident-ident}{{3.1.2}{230}{Applying theorems}{section*.1103}{}}
\newlabel{proof-engine/tactics:id3}{{3.1.2}{231}{Applying theorems}{section*.1104}{}}
\newlabel{proof-engine/tactics:coq:tacv.eapply}{{3.1.2}{231}{Applying theorems}{section*.1105}{}}
\newlabel{proof-engine/tactics:coq:tacv.rapply}{{3.1.2}{231}{Applying theorems}{section*.1106}{}}
\newlabel{proof-engine/tactics:grammar-token-constr}{{3.1.2}{231}{Applying theorems}{section*.1107}{}}
\newlabel{proof-engine/tactics:grammar-token-uconstr}{{3.1.2}{231}{Applying theorems}{section*.1108}{}}
\newlabel{proof-engine/tactics:grammar-token-open-constr}{{3.1.2}{231}{Applying theorems}{section*.1109}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-apply}{{3.1.2}{232}{Applying theorems}{section*.1110}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-eapply}{{3.1.2}{232}{Applying theorems}{section*.1111}{}}
\newlabel{proof-engine/tactics:coq:tacv.lapply}{{3.1.2}{232}{Applying theorems}{section*.1112}{}}
\newlabel{proof-engine/tactics:coq:warn.when-term-contains-more-than-one-non-dependent-product-the-tactic-lapply-only-takes-into-account-the-first-product}{{3.1.2}{232}{Applying theorems}{section*.1113}{}}
\newlabel{proof-engine/tactics:coq:flag.universal-lemma-under-conjunction}{{3.1.2}{233}{Applying theorems}{section*.1114}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply-in}{{3.1.2}{233}{Applying theorems}{section*.1115}{}}
\newlabel{proof-engine/tactics:coq:exn.statement-without-assumptions}{{3.1.2}{234}{Applying theorems}{section*.1116}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-apply}{{3.1.2}{234}{Applying theorems}{section*.1117}{}}
\newlabel{proof-engine/tactics:coq:tacv.apply-in-as}{{3.1.2}{234}{Applying theorems}{section*.1118}{}}
\newlabel{proof-engine/tactics:coq:tacn.constructor}{{3.1.2}{234}{Applying theorems}{section*.1119}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-product}{{3.1.2}{234}{Applying theorems}{section*.1120}{}}
\newlabel{proof-engine/tactics:coq:exn.not-enough-constructors}{{3.1.2}{235}{Applying theorems}{section*.1121}{}}
\newlabel{proof-engine/tactics:coq:tacv.split}{{3.1.2}{235}{Applying theorems}{section*.1122}{}}
\newlabel{proof-engine/tactics:coq:tacv.exists}{{3.1.2}{235}{Applying theorems}{section*.1123}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-goal-with-1-constructor}{{3.1.2}{235}{Applying theorems}{section*.1124}{}}
\newlabel{proof-engine/tactics:coq:tacv.left}{{3.1.2}{235}{Applying theorems}{section*.1125}{}}
\newlabel{proof-engine/tactics:coq:tacv.right}{{3.1.2}{235}{Applying theorems}{section*.1126}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-goal-with-2-constructors}{{3.1.2}{235}{Applying theorems}{section*.1127}{}}
\newlabel{proof-engine/tactics:coq:tacv.econstructor}{{3.1.2}{235}{Applying theorems}{section*.1128}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexists}{{3.1.2}{235}{Applying theorems}{section*.1129}{}}
\newlabel{proof-engine/tactics:coq:tacv.esplit}{{3.1.2}{235}{Applying theorems}{section*.1130}{}}
\newlabel{proof-engine/tactics:coq:tacv.eleft}{{3.1.2}{235}{Applying theorems}{section*.1131}{}}
\newlabel{proof-engine/tactics:coq:tacv.eright}{{3.1.2}{235}{Applying theorems}{section*.1132}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-tactic-unification}{{3.1.2}{235}{Applying theorems}{section*.1133}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing the local context}{236}{subsubsection*.1134}\protected@file@percent }
\newlabel{proof-engine/tactics:managing-the-local-context}{{3.1.2}{236}{Managing the local context}{subsubsection*.1134}{}}
\newlabel{proof-engine/tactics:managingthelocalcontext}{{3.1.2}{236}{Managing the local context}{subsubsection*.1134}{}}
\newlabel{proof-engine/tactics:coq:tacn.intro}{{3.1.2}{236}{Managing the local context}{section*.1135}{}}
\newlabel{proof-engine/tactics:coq:exn.no-product-even-after-head-reduction}{{3.1.2}{236}{Managing the local context}{section*.1136}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-already-used}{{3.1.2}{236}{Managing the local context}{section*.1137}{}}
\newlabel{proof-engine/tactics:coq:tacv.intros}{{3.1.2}{236}{Managing the local context}{section*.1138}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis-in-current-goal}{{3.1.2}{236}{Managing the local context}{section*.1139}{}}
\newlabel{proof-engine/tactics:id5}{{3.1.2}{236}{Managing the local context}{section*.1140}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis-ident}{{3.1.2}{237}{Managing the local context}{section*.1141}{}}
\newlabel{proof-engine/tactics:coq:tacn.intros}{{3.1.2}{237}{Managing the local context}{section*.1142}{}}
\newlabel{proof-engine/tactics:coq:tacn.eintros}{{3.1.2}{237}{Managing the local context}{section*.1143}{}}
\newlabel{proof-engine/tactics:coq:tacn.clear}{{3.1.2}{237}{Managing the local context}{section*.1144}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis}{{3.1.2}{237}{Managing the local context}{section*.1145}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-the-conclusion}{{3.1.2}{237}{Managing the local context}{section*.1146}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-the-hypothesis-ident}{{3.1.2}{237}{Managing the local context}{section*.1147}{}}
\newlabel{proof-engine/tactics:coq:tacv.clearbody}{{3.1.2}{237}{Managing the local context}{section*.1148}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-not-a-local-definition}{{3.1.2}{237}{Managing the local context}{section*.1149}{}}
\newlabel{proof-engine/tactics:coq:tacn.revert}{{3.1.2}{237}{Managing the local context}{section*.1150}{}}
\newlabel{proof-engine/tactics:id6}{{3.1.2}{238}{Managing the local context}{section*.1151}{}}
\newlabel{proof-engine/tactics:id7}{{3.1.2}{238}{Managing the local context}{section*.1152}{}}
\newlabel{proof-engine/tactics:coq:tacv.revert-dependent}{{3.1.2}{238}{Managing the local context}{section*.1153}{}}
\newlabel{proof-engine/tactics:coq:tacn.move-after}{{3.1.2}{238}{Managing the local context}{section*.1154}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-before}{{3.1.2}{238}{Managing the local context}{section*.1155}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-at-top}{{3.1.2}{238}{Managing the local context}{section*.1156}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-at-bottom}{{3.1.2}{238}{Managing the local context}{section*.1157}{}}
\newlabel{proof-engine/tactics:id8}{{3.1.2}{238}{Managing the local context}{section*.1158}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-move-ident-after-ident-it-occurs-in-the-type-of-ident}{{3.1.2}{238}{Managing the local context}{section*.1159}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-move-ident-after-ident-it-depends-on-ident}{{3.1.2}{238}{Managing the local context}{section*.1160}{}}
\newlabel{proof-engine/tactics:coq:tacn.rename}{{3.1.2}{240}{Managing the local context}{section*.1161}{}}
\newlabel{proof-engine/tactics:id9}{{3.1.2}{240}{Managing the local context}{section*.1162}{}}
\newlabel{proof-engine/tactics:id10}{{3.1.2}{240}{Managing the local context}{section*.1163}{}}
\newlabel{proof-engine/tactics:coq:tacn.set}{{3.1.2}{240}{Managing the local context}{section*.1164}{}}
\newlabel{proof-engine/tactics:coq:exn.the-variable-ident-is-already-defined}{{3.1.2}{240}{Managing the local context}{section*.1165}{}}
\newlabel{proof-engine/tactics:coq:tacv.eset}{{3.1.2}{240}{Managing the local context}{section*.1166}{}}
\newlabel{proof-engine/tactics:id11}{{3.1.2}{240}{Managing the local context}{section*.1167}{}}
\newlabel{proof-engine/tactics:coq:tacn.remember}{{3.1.2}{240}{Managing the local context}{section*.1168}{}}
\newlabel{proof-engine/tactics:coq:tacv.eremember}{{3.1.2}{241}{Managing the local context}{section*.1169}{}}
\newlabel{proof-engine/tactics:coq:tacn.pose}{{3.1.2}{241}{Managing the local context}{section*.1170}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose}{{3.1.2}{241}{Managing the local context}{section*.1171}{}}
\newlabel{proof-engine/tactics:id12}{{3.1.2}{241}{Managing the local context}{section*.1172}{}}
\newlabel{proof-engine/tactics:coq:tacn.decompose}{{3.1.2}{241}{Managing the local context}{section*.1173}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the proof flow}{242}{subsubsection*.1174}\protected@file@percent }
\newlabel{proof-engine/tactics:controlling-the-proof-flow}{{3.1.2}{242}{Controlling the proof flow}{subsubsection*.1174}{}}
\newlabel{proof-engine/tactics:controllingtheproofflow}{{3.1.2}{242}{Controlling the proof flow}{subsubsection*.1174}{}}
\newlabel{proof-engine/tactics:coq:tacn.assert}{{3.1.2}{242}{Controlling the proof flow}{section*.1175}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-proposition-or-a-type}{{3.1.2}{242}{Controlling the proof flow}{section*.1176}{}}
\newlabel{proof-engine/tactics:coq:exn.proof-is-not-complete-assert}{{3.1.2}{242}{Controlling the proof flow}{section*.1177}{}}
\newlabel{proof-engine/tactics:coq:exn.variable-ident-is-already-declared}{{3.1.2}{242}{Controlling the proof flow}{section*.1178}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassert}{{3.1.2}{242}{Controlling the proof flow}{section*.1179}{}}
\newlabel{proof-engine/tactics:coq:tacv.pose-proof}{{3.1.2}{242}{Controlling the proof flow}{section*.1180}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose-proof}{{3.1.2}{242}{Controlling the proof flow}{section*.1181}{}}
\newlabel{proof-engine/tactics:coq:tacv.enough}{{3.1.2}{243}{Controlling the proof flow}{section*.1182}{}}
\newlabel{proof-engine/tactics:coq:tacv.eenough}{{3.1.2}{243}{Controlling the proof flow}{section*.1183}{}}
\newlabel{proof-engine/tactics:id14}{{3.1.2}{243}{Controlling the proof flow}{section*.1184}{}}
\newlabel{proof-engine/tactics:coq:tacv.cut}{{3.1.2}{243}{Controlling the proof flow}{section*.1185}{}}
\newlabel{proof-engine/tactics:coq:tacv.specialize}{{3.1.2}{243}{Controlling the proof flow}{section*.1186}{}}
\newlabel{proof-engine/tactics:id15}{{3.1.2}{243}{Controlling the proof flow}{section*.1187}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-hypothesis-ident}{{3.1.2}{243}{Controlling the proof flow}{section*.1188}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-conclusion}{{3.1.2}{243}{Controlling the proof flow}{section*.1189}{}}
\newlabel{proof-engine/tactics:coq:tacn.generalize}{{3.1.2}{243}{Controlling the proof flow}{section*.1190}{}}
\newlabel{proof-engine/tactics:coq:tacn.evar}{{3.1.2}{244}{Controlling the proof flow}{section*.1191}{}}
\newlabel{proof-engine/tactics:coq:tacn.instantiate}{{3.1.2}{244}{Controlling the proof flow}{section*.1192}{}}
\newlabel{proof-engine/tactics:coq:tacn.admit}{{3.1.2}{245}{Controlling the proof flow}{section*.1193}{}}
\newlabel{proof-engine/tactics:coq:tacn.absurd}{{3.1.2}{245}{Controlling the proof flow}{section*.1194}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradiction}{{3.1.2}{245}{Controlling the proof flow}{section*.1195}{}}
\newlabel{proof-engine/tactics:id16}{{3.1.2}{245}{Controlling the proof flow}{section*.1196}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradict}{{3.1.2}{245}{Controlling the proof flow}{section*.1197}{}}
\newlabel{proof-engine/tactics:coq:tacn.exfalso}{{3.1.2}{245}{Controlling the proof flow}{section*.1198}{}}
\@writefile{toc}{\contentsline {subsubsection}{Case analysis and induction}{246}{subsubsection*.1199}\protected@file@percent }
\newlabel{proof-engine/tactics:case-analysis-and-induction}{{3.1.2}{246}{Case analysis and induction}{subsubsection*.1199}{}}
\newlabel{proof-engine/tactics:caseanalysisandinduction}{{3.1.2}{246}{Case analysis and induction}{subsubsection*.1199}{}}
\newlabel{proof-engine/tactics:coq:tacn.destruct}{{3.1.2}{246}{Case analysis and induction}{section*.1200}{}}
\newlabel{proof-engine/tactics:coq:tacv.destruct-eqn}{{3.1.2}{246}{Case analysis and induction}{section*.1201}{}}
\newlabel{proof-engine/tactics:coq:tacv.edestruct}{{3.1.2}{246}{Case analysis and induction}{section*.1202}{}}
\newlabel{proof-engine/tactics:coq:tacn.case}{{3.1.2}{247}{Case analysis and induction}{section*.1203}{}}
\newlabel{proof-engine/tactics:coq:tacv.ecase}{{3.1.2}{247}{Case analysis and induction}{section*.1204}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-destruct}{{3.1.2}{247}{Case analysis and induction}{section*.1205}{}}
\newlabel{proof-engine/tactics:coq:tacn.induction}{{3.1.2}{247}{Case analysis and induction}{section*.1206}{}}
\newlabel{proof-engine/tactics:id17}{{3.1.2}{248}{Case analysis and induction}{section*.1207}{}}
\newlabel{proof-engine/tactics:id18}{{3.1.2}{248}{Case analysis and induction}{section*.1208}{}}
\newlabel{proof-engine/tactics:coq:tacv.einduction}{{3.1.2}{249}{Case analysis and induction}{section*.1209}{}}
\newlabel{proof-engine/tactics:coq:tacv.induction-using}{{3.1.2}{249}{Case analysis and induction}{section*.1210}{}}
\citation{zebibliography:dblp-conf-types-mcbride00}
\citation{zebibliography:dblp-conf-types-cornest95}
\newlabel{proof-engine/tactics:coq:tacv.elim}{{3.1.2}{250}{Case analysis and induction}{section*.1211}{}}
\newlabel{proof-engine/tactics:coq:tacv.elim-with}{{3.1.2}{250}{Case analysis and induction}{section*.1212}{}}
\newlabel{proof-engine/tactics:coq:tacv.eelim}{{3.1.2}{250}{Case analysis and induction}{section*.1213}{}}
\newlabel{proof-engine/tactics:coq:tacv.elimtype}{{3.1.2}{250}{Case analysis and induction}{section*.1214}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-induction}{{3.1.2}{250}{Case analysis and induction}{section*.1215}{}}
\newlabel{proof-engine/tactics:coq:tacn.double-induction}{{3.1.2}{250}{Case analysis and induction}{section*.1216}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-induction}{{3.1.2}{250}{Case analysis and induction}{section*.1217}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-destruction}{{3.1.2}{252}{Case analysis and induction}{section*.1218}{}}
\newlabel{proof-engine/tactics:coq:tacn.discriminate}{{3.1.2}{252}{Case analysis and induction}{section*.1219}{}}
\newlabel{proof-engine/tactics:coq:exn.no-primitive-equality-found}{{3.1.2}{252}{Case analysis and induction}{section*.1220}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-discriminable-equality}{{3.1.2}{252}{Case analysis and induction}{section*.1221}{}}
\newlabel{proof-engine/tactics:coq:tacv.ediscriminate}{{3.1.2}{252}{Case analysis and induction}{section*.1222}{}}
\newlabel{proof-engine/tactics:id22}{{3.1.2}{252}{Case analysis and induction}{section*.1223}{}}
\newlabel{proof-engine/tactics:coq:exn.no-discriminable-equalities}{{3.1.2}{252}{Case analysis and induction}{section*.1224}{}}
\newlabel{proof-engine/tactics:coq:tacn.injection}{{3.1.2}{252}{Case analysis and induction}{section*.1225}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-projectable-equality-but-a-discriminable-one}{{3.1.2}{253}{Case analysis and induction}{section*.1226}{}}
\newlabel{proof-engine/tactics:coq:exn.nothing-to-do-it-is-an-equality-between-convertible-terms}{{3.1.2}{253}{Case analysis and induction}{section*.1227}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-primitive-equality}{{3.1.2}{253}{Case analysis and induction}{section*.1228}{}}
\newlabel{proof-engine/tactics:coq:exn.nothing-to-inject}{{3.1.2}{253}{Case analysis and induction}{section*.1229}{}}
\newlabel{proof-engine/tactics:coq:tacv.einjection}{{3.1.2}{254}{Case analysis and induction}{section*.1230}{}}
\newlabel{proof-engine/tactics:id23}{{3.1.2}{254}{Case analysis and induction}{section*.1231}{}}
\newlabel{proof-engine/tactics:coq:exn.goal-does-not-satisfy-the-expected-preconditions}{{3.1.2}{254}{Case analysis and induction}{section*.1232}{}}
\newlabel{proof-engine/tactics:coq:flag.structural-injection}{{3.1.2}{254}{Case analysis and induction}{section*.1233}{}}
\newlabel{proof-engine/tactics:coq:flag.keep-proof-equalities}{{3.1.2}{254}{Case analysis and induction}{section*.1234}{}}
\newlabel{proof-engine/tactics:coq:tacn.inversion}{{3.1.2}{254}{Case analysis and induction}{section*.1235}{}}
\newlabel{proof-engine/tactics:coq:tacv.inversion-clear}{{3.1.2}{255}{Case analysis and induction}{section*.1236}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion}{{3.1.2}{256}{Case analysis and induction}{section*.1237}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion-with}{{3.1.2}{256}{Case analysis and induction}{section*.1238}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-inversion}{{3.1.2}{257}{Case analysis and induction}{section*.1239}{}}
\newlabel{proof-engine/tactics:coq:tacn.inversion-using}{{3.1.2}{257}{Case analysis and induction}{section*.1240}{}}
\newlabel{proof-engine/tactics:coq:tacv.inversion-sigma}{{3.1.2}{257}{Case analysis and induction}{section*.1241}{}}
\newlabel{proof-engine/tactics:coq:tacn.fix}{{3.1.2}{261}{Case analysis and induction}{section*.1242}{}}
\newlabel{proof-engine/tactics:coq:tacn.cofix}{{3.1.2}{261}{Case analysis and induction}{section*.1243}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting expressions}{262}{subsubsection*.1244}\protected@file@percent }
\newlabel{proof-engine/tactics:rewriting-expressions}{{3.1.2}{262}{Rewriting expressions}{subsubsection*.1244}{}}
\newlabel{proof-engine/tactics:rewritingexpressions}{{3.1.2}{262}{Rewriting expressions}{subsubsection*.1244}{}}
\newlabel{proof-engine/tactics:coq:tacn.rewrite}{{3.1.2}{262}{Rewriting expressions}{section*.1245}{}}
\newlabel{proof-engine/tactics:coq:exn.the-term-provided-does-not-end-with-an-equation}{{3.1.2}{262}{Rewriting expressions}{section*.1246}{}}
\newlabel{proof-engine/tactics:coq:exn.tactic-generated-a-subgoal-identical-to-the-original-goal-this-happens-if-term-does-not-occur-in-the-goal}{{3.1.2}{262}{Rewriting expressions}{section*.1247}{}}
\newlabel{proof-engine/tactics:grammar-token-orientation}{{3.1.2}{262}{Rewriting expressions}{section*.1248}{}}
\newlabel{proof-engine/tactics:coq:tacv.erewrite}{{3.1.2}{263}{Rewriting expressions}{section*.1249}{}}
\newlabel{proof-engine/tactics:coq:flag.keyed-unification}{{3.1.2}{263}{Rewriting expressions}{section*.1250}{}}
\newlabel{proof-engine/tactics:coq:tacn.replace}{{3.1.2}{263}{Rewriting expressions}{section*.1251}{}}
\newlabel{proof-engine/tactics:coq:exn.terms-do-not-have-convertible-types}{{3.1.2}{263}{Rewriting expressions}{section*.1252}{}}
\newlabel{proof-engine/tactics:coq:tacv.cutrewrite}{{3.1.2}{263}{Rewriting expressions}{section*.1253}{}}
\newlabel{proof-engine/tactics:coq:tacn.subst}{{3.1.2}{263}{Rewriting expressions}{section*.1254}{}}
\newlabel{proof-engine/tactics:coq:flag.regular-subst-tactic}{{3.1.2}{264}{Rewriting expressions}{section*.1255}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-find-any-non-recursive-equality-over-n-ident}{{3.1.2}{264}{Rewriting expressions}{section*.1256}{}}
\newlabel{proof-engine/tactics:coq:exn.section-variable-n-ident-occurs-implicitly-in-global-declaration-n-qualid-present-in-hypothesis-n-ident}{{3.1.2}{264}{Rewriting expressions}{section*.1257}{}}
\newlabel{proof-engine/tactics:coq:exn.section-variable-n-ident-occurs-implicitly-in-global-declaration-n-qualid-present-in-the-conclusion}{{3.1.2}{264}{Rewriting expressions}{section*.1258}{}}
\newlabel{proof-engine/tactics:coq:tacn.stepl}{{3.1.2}{264}{Rewriting expressions}{section*.1259}{}}
\newlabel{proof-engine/tactics:coq:cmd.declare-left-step}{{3.1.2}{264}{Rewriting expressions}{section*.1260}{}}
\newlabel{proof-engine/tactics:coq:tacv.stepr}{{3.1.2}{264}{Rewriting expressions}{section*.1261}{}}
\newlabel{proof-engine/tactics:coq:cmd.declare-right-step}{{3.1.2}{264}{Rewriting expressions}{section*.1262}{}}
\newlabel{proof-engine/tactics:coq:tacn.change}{{3.1.2}{264}{Rewriting expressions}{section*.1263}{}}
\newlabel{proof-engine/tactics:coq:exn.not-convertible}{{3.1.2}{265}{Rewriting expressions}{section*.1264}{}}
\newlabel{proof-engine/tactics:coq:exn.too-few-occurrences}{{3.1.2}{265}{Rewriting expressions}{section*.1265}{}}
\@writefile{toc}{\contentsline {subsubsection}{Performing computations}{266}{subsubsection*.1266}\protected@file@percent }
\newlabel{proof-engine/tactics:performing-computations}{{3.1.2}{266}{Performing computations}{subsubsection*.1266}{}}
\newlabel{proof-engine/tactics:performingcomputations}{{3.1.2}{266}{Performing computations}{subsubsection*.1266}{}}
\newlabel{proof-engine/tactics:grammar-token-red-expr}{{3.1.2}{266}{Performing computations}{section*.1276}{}}
\newlabel{proof-engine/tactics:grammar-token-delta-flag}{{3.1.2}{266}{Performing computations}{section*.1277}{}}
\newlabel{proof-engine/tactics:grammar-token-strategy-flag}{{3.1.2}{266}{Performing computations}{section*.1278}{}}
\newlabel{proof-engine/tactics:grammar-token-red-flags}{{3.1.2}{266}{Performing computations}{section*.1279}{}}
\newlabel{proof-engine/tactics:grammar-token-ref-or-pattern-occ}{{3.1.2}{266}{Performing computations}{section*.1280}{}}
\newlabel{proof-engine/tactics:grammar-token-occs-nums}{{3.1.2}{266}{Performing computations}{section*.1281}{}}
\newlabel{proof-engine/tactics:grammar-token-int-or-var}{{3.1.2}{266}{Performing computations}{section*.1282}{}}
\newlabel{proof-engine/tactics:grammar-token-unfold-occ}{{3.1.2}{266}{Performing computations}{section*.1283}{}}
\newlabel{proof-engine/tactics:grammar-token-pattern-occ}{{3.1.2}{266}{Performing computations}{section*.1284}{}}
\newlabel{proof-engine/tactics:coq:tacn.cbv}{{3.1.2}{267}{Performing computations}{section*.1285}{}}
\newlabel{proof-engine/tactics:coq:tacn.lazy}{{3.1.2}{267}{Performing computations}{section*.1286}{}}
\newlabel{proof-engine/tactics:coq:tacv.compute}{{3.1.2}{267}{Performing computations}{section*.1287}{}}
\newlabel{proof-engine/tactics:id24}{{3.1.2}{267}{Performing computations}{section*.1288}{}}
\citation{zebibliography:compiledstrongreduction}
\citation{zebibliography:fullreduction}
\newlabel{proof-engine/tactics:coq:tacv.vm-compute}{{3.1.2}{268}{Performing computations}{section*.1289}{}}
\newlabel{proof-engine/tactics:coq:tacv.native-compute}{{3.1.2}{268}{Performing computations}{section*.1290}{}}
\newlabel{proof-engine/tactics:coq:flag.nativecompute-timing}{{3.1.2}{268}{Performing computations}{section*.1291}{}}
\newlabel{proof-engine/tactics:coq:flag.nativecompute-profiling}{{3.1.2}{268}{Performing computations}{section*.1292}{}}
\newlabel{proof-engine/tactics:coq:opt.nativecompute-profile-filename}{{3.1.2}{268}{Performing computations}{section*.1293}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-cbv}{{3.1.2}{268}{Performing computations}{section*.1294}{}}
\newlabel{proof-engine/tactics:coq:tacn.red}{{3.1.2}{268}{Performing computations}{section*.1295}{}}
\newlabel{proof-engine/tactics:coq:exn.not-reducible}{{3.1.2}{268}{Performing computations}{section*.1296}{}}
\newlabel{proof-engine/tactics:coq:exn.no-head-constant-to-reduce}{{3.1.2}{268}{Performing computations}{section*.1297}{}}
\newlabel{proof-engine/tactics:coq:tacn.hnf}{{3.1.2}{268}{Performing computations}{section*.1298}{}}
\newlabel{proof-engine/tactics:coq:tacn.cbn}{{3.1.2}{269}{Performing computations}{section*.1299}{}}
\newlabel{proof-engine/tactics:coq:tacn.simpl}{{3.1.2}{269}{Performing computations}{section*.1300}{}}
\newlabel{proof-engine/tactics:id27}{{3.1.2}{269}{Performing computations}{section*.1301}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-rakam}{{3.1.2}{269}{Performing computations}{section*.1302}{}}
\newlabel{proof-engine/tactics:coq:tacn.unfold}{{3.1.2}{269}{Performing computations}{section*.1303}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-coerce-qualid-to-an-evaluable-reference}{{3.1.2}{270}{Performing computations}{section*.1304}{}}
\newlabel{proof-engine/tactics:coq:exn.bad-occurrence-number-of-qualid}{{3.1.2}{270}{Performing computations}{section*.1305}{}}
\newlabel{proof-engine/tactics:coq:exn.qualid-does-not-occur}{{3.1.2}{271}{Performing computations}{section*.1306}{}}
\newlabel{proof-engine/tactics:coq:tacn.fold}{{3.1.2}{271}{Performing computations}{section*.1307}{}}
\newlabel{proof-engine/tactics:coq:tacn.pattern}{{3.1.2}{271}{Performing computations}{section*.1308}{}}
\newlabel{proof-engine/tactics:coq:tacn.with-strategy}{{3.1.2}{272}{Performing computations}{section*.1309}{}}
\@writefile{toc}{\contentsline {paragraph}{Conversion tactics applied to hypotheses}{275}{paragraph*.1310}\protected@file@percent }
\newlabel{proof-engine/tactics:conversion-tactics-applied-to-hypotheses}{{3.1.2}{275}{Conversion tactics applied to hypotheses}{paragraph*.1310}{}}
\newlabel{proof-engine/tactics:id29}{{3.1.2}{275}{Conversion tactics applied to hypotheses}{section*.1311}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automation}{275}{subsubsection*.1312}\protected@file@percent }
\newlabel{proof-engine/tactics:automation}{{3.1.2}{275}{Automation}{subsubsection*.1312}{}}
\newlabel{proof-engine/tactics:id30}{{3.1.2}{275}{Automation}{subsubsection*.1312}{}}
\newlabel{proof-engine/tactics:coq:tacn.auto}{{3.1.2}{275}{Automation}{section*.1313}{}}
\newlabel{proof-engine/tactics:coq:tacv.debug-auto}{{3.1.2}{276}{Automation}{section*.1314}{}}
\newlabel{proof-engine/tactics:coq:tacv.trivial}{{3.1.2}{276}{Automation}{section*.1315}{}}
\newlabel{proof-engine/tactics:id31}{{3.1.2}{276}{Automation}{section*.1316}{}}
\newlabel{proof-engine/tactics:coq:tacv.debug-trivial}{{3.1.2}{276}{Automation}{section*.1317}{}}
\newlabel{proof-engine/tactics:coq:tacv.info-trivial}{{3.1.2}{276}{Automation}{section*.1318}{}}
\newlabel{proof-engine/tactics:coq:flag.info-auto}{{3.1.2}{276}{Automation}{section*.1319}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-auto}{{3.1.2}{276}{Automation}{section*.1320}{}}
\newlabel{proof-engine/tactics:coq:flag.info-trivial}{{3.1.2}{276}{Automation}{section*.1321}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-trivial}{{3.1.2}{276}{Automation}{section*.1322}{}}
\newlabel{proof-engine/tactics:coq:tacn.eauto}{{3.1.2}{276}{Automation}{section*.1323}{}}
\newlabel{proof-engine/tactics:coq:flag.info-eauto}{{3.1.2}{277}{Automation}{section*.1324}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-eauto}{{3.1.2}{277}{Automation}{section*.1325}{}}
\newlabel{proof-engine/tactics:coq:tacn.autounfold}{{3.1.2}{277}{Automation}{section*.1326}{}}
\newlabel{proof-engine/tactics:coq:tacn.autorewrite}{{3.1.2}{277}{Automation}{section*.1327}{}}
\newlabel{proof-engine/tactics:coq:tacn.easy}{{3.1.2}{278}{Automation}{section*.1328}{}}
\newlabel{proof-engine/tactics:coq:tacv.now}{{3.1.2}{278}{Automation}{section*.1329}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling automation}{278}{subsubsection*.1330}\protected@file@percent }
\newlabel{proof-engine/tactics:controlling-automation}{{3.1.2}{278}{Controlling automation}{subsubsection*.1330}{}}
\@writefile{toc}{\contentsline {paragraph}{The hints databases for auto and eauto}{278}{paragraph*.1331}\protected@file@percent }
\newlabel{proof-engine/tactics:the-hints-databases-for-auto-and-eauto}{{3.1.2}{278}{The hints databases for auto and eauto}{paragraph*.1331}{}}
\newlabel{proof-engine/tactics:thehintsdatabasesforautoandeauto}{{3.1.2}{278}{The hints databases for auto and eauto}{paragraph*.1331}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-hint}{{3.1.2}{278}{The hints databases for auto and eauto}{section*.1332}{}}
\@writefile{toc}{\contentsline {subparagraph}{Creating Hint databases}{278}{subparagraph*.1333}\protected@file@percent }
\newlabel{proof-engine/tactics:creating-hint-databases}{{3.1.2}{278}{Creating Hint databases}{subparagraph*.1333}{}}
\newlabel{proof-engine/tactics:coq:cmd.create-hintdb}{{3.1.2}{278}{Creating Hint databases}{section*.1334}{}}
\newlabel{proof-engine/tactics:coq:cmd.hint}{{3.1.2}{278}{Creating Hint databases}{section*.1335}{}}
\newlabel{proof-engine/tactics:grammar-token-hint-definition}{{3.1.2}{279}{Creating Hint databases}{section*.1336}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-resolve}{{3.1.2}{279}{Creating Hint databases}{section*.1337}{}}
\newlabel{proof-engine/tactics:coq:exn.qualid-cannot-be-used-as-a-hint}{{3.1.2}{279}{Creating Hint databases}{section*.1338}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-immediate}{{3.1.2}{279}{Creating Hint databases}{section*.1339}{}}
\newlabel{proof-engine/tactics:id32}{{3.1.2}{279}{Creating Hint databases}{section*.1340}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-constructors}{{3.1.2}{279}{Creating Hint databases}{section*.1341}{}}
\newlabel{proof-engine/tactics:coq:exn.qualid-is-not-an-inductive-type}{{3.1.2}{279}{Creating Hint databases}{section*.1342}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-unfold}{{3.1.2}{280}{Creating Hint databases}{section*.1343}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-transparent}{{3.1.2}{280}{Creating Hint databases}{section*.1344}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-opaque}{{3.1.2}{280}{Creating Hint databases}{section*.1345}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-variables}{{3.1.2}{280}{Creating Hint databases}{section*.1346}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-constants}{{3.1.2}{280}{Creating Hint databases}{section*.1347}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-extern}{{3.1.2}{280}{Creating Hint databases}{section*.1348}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-cut}{{3.1.2}{280}{Creating Hint databases}{section*.1349}{}}
\gdef \LT@vi {\LT@entry 
    {1}{48.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{228.00002pt}}
\newlabel{proof-engine/tactics:grammar-token-regexp}{{5}{281}{Creating Hint databases}{section*.1350}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-mode}{{3.1.2}{281}{Creating Hint databases}{section*.1351}{}}
\@writefile{toc}{\contentsline {paragraph}{Hint databases defined in the Coq standard library}{282}{paragraph*.1352}\protected@file@percent }
\newlabel{proof-engine/tactics:hint-databases-defined-in-the-coq-standard-library}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{paragraph*.1352}{}}
\newlabel{proof-engine/tactics:removehints}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1353}{}}
\newlabel{proof-engine/tactics:coq:cmd.remove-hints}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1354}{}}
\newlabel{proof-engine/tactics:printhint}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1355}{}}
\newlabel{proof-engine/tactics:id33}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1356}{}}
\newlabel{proof-engine/tactics:id34}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1357}{}}
\newlabel{proof-engine/tactics:id35}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1358}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-hintdb}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1359}{}}
\newlabel{proof-engine/tactics:hintrewrite}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1360}{}}
\newlabel{proof-engine/tactics:coq:cmd.hint-rewrite}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1361}{}}
\newlabel{proof-engine/tactics:id36}{{3.1.2}{282}{Hint databases defined in the Coq standard library}{section*.1362}{}}
\newlabel{proof-engine/tactics:id37}{{3.1.2}{283}{Hint databases defined in the Coq standard library}{section*.1363}{}}
\newlabel{proof-engine/tactics:id38}{{3.1.2}{283}{Hint databases defined in the Coq standard library}{section*.1364}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-rewrite-hintdb}{{3.1.2}{283}{Hint databases defined in the Coq standard library}{section*.1365}{}}
\@writefile{toc}{\contentsline {paragraph}{Hint locality}{283}{paragraph*.1366}\protected@file@percent }
\newlabel{proof-engine/tactics:hint-locality}{{3.1.2}{283}{Hint locality}{paragraph*.1366}{}}
\newlabel{proof-engine/tactics:coq:opt.loose-hint-behavior}{{3.1.2}{283}{Hint locality}{section*.1367}{}}
\@writefile{toc}{\contentsline {paragraph}{Setting implicit automation tactics}{283}{paragraph*.1368}\protected@file@percent }
\newlabel{proof-engine/tactics:setting-implicit-automation-tactics}{{3.1.2}{283}{Setting implicit automation tactics}{paragraph*.1368}{}}
\newlabel{proof-engine/tactics:tactics-implicit-automation}{{3.1.2}{283}{Setting implicit automation tactics}{paragraph*.1368}{}}
\newlabel{proof-engine/tactics:coq:cmd.proof-with}{{3.1.2}{283}{Setting implicit automation tactics}{section*.1369}{}}
\citation{zebibliography:dyc92}
\@writefile{toc}{\contentsline {subsubsection}{Decision procedures}{284}{subsubsection*.1370}\protected@file@percent }
\newlabel{proof-engine/tactics:decision-procedures}{{3.1.2}{284}{Decision procedures}{subsubsection*.1370}{}}
\newlabel{proof-engine/tactics:decisionprocedures}{{3.1.2}{284}{Decision procedures}{subsubsection*.1370}{}}
\newlabel{proof-engine/tactics:coq:tacn.tauto}{{3.1.2}{284}{Decision procedures}{section*.1371}{}}
\citation{zebibliography:mun94}
\newlabel{proof-engine/tactics:coq:tacv.dtauto}{{3.1.2}{285}{Decision procedures}{section*.1372}{}}
\newlabel{proof-engine/tactics:coq:tacn.intuition}{{3.1.2}{285}{Decision procedures}{section*.1373}{}}
\newlabel{proof-engine/tactics:coq:tacv.dintuition}{{3.1.2}{285}{Decision procedures}{section*.1374}{}}
\newlabel{proof-engine/tactics:coq:flag.intuition-negation-unfolding}{{3.1.2}{285}{Decision procedures}{section*.1375}{}}
\newlabel{proof-engine/tactics:coq:tacn.rtauto}{{3.1.2}{285}{Decision procedures}{section*.1376}{}}
\newlabel{proof-engine/tactics:coq:tacn.firstorder}{{3.1.2}{285}{Decision procedures}{section*.1377}{}}
\newlabel{proof-engine/tactics:coq:opt.firstorder-solver}{{3.1.2}{285}{Decision procedures}{section*.1378}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-firstorder-solver}{{3.1.2}{286}{Decision procedures}{section*.1379}{}}
\newlabel{proof-engine/tactics:coq:opt.firstorder-depth}{{3.1.2}{286}{Decision procedures}{section*.1380}{}}
\newlabel{proof-engine/tactics:coq:tacn.congruence}{{3.1.2}{286}{Decision procedures}{section*.1381}{}}
\newlabel{proof-engine/tactics:coq:tacv.congruence-with}{{3.1.2}{287}{Decision procedures}{section*.1382}{}}
\newlabel{proof-engine/tactics:coq:exn.i-dont-know-how-to-handle-dependent-equality}{{3.1.2}{287}{Decision procedures}{section*.1383}{}}
\newlabel{proof-engine/tactics:coq:exn.goal-is-solvable-by-congruence-but-some-arguments-are-missing-try-congruence-with-term-term-replacing-metavariables-by-arbitrary-terms}{{3.1.2}{287}{Decision procedures}{section*.1384}{}}
\newlabel{proof-engine/tactics:coq:flag.congruence-verbose}{{3.1.2}{288}{Decision procedures}{section*.1385}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking properties of terms}{288}{subsubsection*.1386}\protected@file@percent }
\newlabel{proof-engine/tactics:checking-properties-of-terms}{{3.1.2}{288}{Checking properties of terms}{subsubsection*.1386}{}}
\newlabel{proof-engine/tactics:coq:tacn.constr-eq}{{3.1.2}{288}{Checking properties of terms}{section*.1387}{}}
\newlabel{proof-engine/tactics:coq:exn.not-equal}{{3.1.2}{288}{Checking properties of terms}{section*.1388}{}}
\newlabel{proof-engine/tactics:coq:exn.not-equal-due-to-universes}{{3.1.2}{288}{Checking properties of terms}{section*.1389}{}}
\newlabel{proof-engine/tactics:coq:tacn.constr-eq-strict}{{3.1.2}{288}{Checking properties of terms}{section*.1390}{}}
\newlabel{proof-engine/tactics:id41}{{3.1.2}{288}{Checking properties of terms}{section*.1391}{}}
\newlabel{proof-engine/tactics:id42}{{3.1.2}{288}{Checking properties of terms}{section*.1392}{}}
\newlabel{proof-engine/tactics:coq:tacn.unify}{{3.1.2}{288}{Checking properties of terms}{section*.1393}{}}
\newlabel{proof-engine/tactics:id43}{{3.1.2}{288}{Checking properties of terms}{section*.1394}{}}
\newlabel{proof-engine/tactics:coq:tacn.is-evar}{{3.1.2}{288}{Checking properties of terms}{section*.1395}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-evar}{{3.1.2}{288}{Checking properties of terms}{section*.1396}{}}
\newlabel{proof-engine/tactics:coq:tacn.has-evar}{{3.1.2}{288}{Checking properties of terms}{section*.1397}{}}
\newlabel{proof-engine/tactics:coq:exn.no-evars}{{3.1.2}{288}{Checking properties of terms}{section*.1398}{}}
\newlabel{proof-engine/tactics:coq:tacn.is-var}{{3.1.2}{288}{Checking properties of terms}{section*.1399}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-variable-or-hypothesis}{{3.1.2}{288}{Checking properties of terms}{section*.1400}{}}
\@writefile{toc}{\contentsline {subsubsection}{Equality}{289}{subsubsection*.1401}\protected@file@percent }
\newlabel{proof-engine/tactics:equality}{{3.1.2}{289}{Equality}{subsubsection*.1401}{}}
\newlabel{proof-engine/tactics:id44}{{3.1.2}{289}{Equality}{subsubsection*.1401}{}}
\newlabel{proof-engine/tactics:coq:tacn.f-equal}{{3.1.2}{289}{Equality}{section*.1402}{}}
\newlabel{proof-engine/tactics:coq:tacn.reflexivity}{{3.1.2}{289}{Equality}{section*.1403}{}}
\newlabel{proof-engine/tactics:coq:exn.the-conclusion-is-not-a-substitutive-equation}{{3.1.2}{289}{Equality}{section*.1404}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-unify-with}{{3.1.2}{289}{Equality}{section*.1405}{}}
\newlabel{proof-engine/tactics:coq:tacn.symmetry}{{3.1.2}{289}{Equality}{section*.1406}{}}
\newlabel{proof-engine/tactics:coq:tacn.transitivity}{{3.1.2}{289}{Equality}{section*.1407}{}}
\@writefile{toc}{\contentsline {subsubsection}{Equality and inductive sets}{289}{subsubsection*.1408}\protected@file@percent }
\newlabel{proof-engine/tactics:equality-and-inductive-sets}{{3.1.2}{289}{Equality and inductive sets}{subsubsection*.1408}{}}
\newlabel{proof-engine/tactics:coq:tacn.decide-equality}{{3.1.2}{289}{Equality and inductive sets}{section*.1409}{}}
\newlabel{proof-engine/tactics:coq:tacn.compare}{{3.1.2}{289}{Equality and inductive sets}{section*.1410}{}}
\newlabel{proof-engine/tactics:coq:tacn.simplify-eq}{{3.1.2}{289}{Equality and inductive sets}{section*.1411}{}}
\newlabel{proof-engine/tactics:coq:tacv.esimplify-eq}{{3.1.2}{289}{Equality and inductive sets}{section*.1412}{}}
\gdef \LT@vii {\LT@entry 
    {1}{78.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{306.00002pt}}
\newlabel{proof-engine/tactics:id45}{{3.1.2}{290}{Equality and inductive sets}{section*.1413}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-rewrite}{{3.1.2}{290}{Equality and inductive sets}{section*.1414}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-rewrite}{{3.1.2}{290}{Equality and inductive sets}{section*.1415}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classical tactics}{290}{subsubsection*.1416}\protected@file@percent }
\newlabel{proof-engine/tactics:classical-tactics}{{3.1.2}{290}{Classical tactics}{subsubsection*.1416}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical-left}{{3.1.2}{290}{Classical tactics}{section*.1417}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical-right}{{3.1.2}{290}{Classical tactics}{section*.1418}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automating}{290}{subsubsection*.1419}\protected@file@percent }
\newlabel{proof-engine/tactics:automating}{{3.1.2}{290}{Automating}{subsubsection*.1419}{}}
\newlabel{proof-engine/tactics:tactics-automating}{{3.1.2}{290}{Automating}{subsubsection*.1419}{}}
\newlabel{proof-engine/tactics:coq:tacn.btauto}{{3.1.2}{290}{Automating}{section*.1420}{}}
\newlabel{proof-engine/tactics:btauto-grammar}{{3.1.2}{290}{Automating}{section*.1421}{}}
\newlabel{proof-engine/tactics:grammar-token-btauto_term}{{6}{290}{Automating}{section*.1422}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-recognize-a-boolean-equality}{{3.1.2}{290}{Automating}{section*.1423}{}}
\@writefile{toc}{\contentsline {subsubsection}{Non\sphinxhyphen {}logical tactics}{292}{subsubsection*.1424}\protected@file@percent }
\newlabel{proof-engine/tactics:non-logical-tactics}{{3.1.2}{292}{Non\sphinxhyphen {}logical tactics}{subsubsection*.1424}{}}
\newlabel{proof-engine/tactics:coq:tacn.cycle}{{3.1.2}{292}{Non\sphinxhyphen {}logical tactics}{section*.1425}{}}
\newlabel{proof-engine/tactics:coq:tacn.swap}{{3.1.2}{293}{Non\sphinxhyphen {}logical tactics}{section*.1426}{}}
\newlabel{proof-engine/tactics:coq:tacn.revgoals}{{3.1.2}{294}{Non\sphinxhyphen {}logical tactics}{section*.1427}{}}
\newlabel{proof-engine/tactics:coq:tacn.shelve}{{3.1.2}{294}{Non\sphinxhyphen {}logical tactics}{section*.1428}{}}
\newlabel{proof-engine/tactics:coq:tacv.shelve-unifiable}{{3.1.2}{294}{Non\sphinxhyphen {}logical tactics}{section*.1429}{}}
\newlabel{proof-engine/tactics:coq:cmd.unshelve}{{3.1.2}{295}{Non\sphinxhyphen {}logical tactics}{section*.1430}{}}
\newlabel{proof-engine/tactics:coq:tacn.unshelve}{{3.1.2}{295}{Non\sphinxhyphen {}logical tactics}{section*.1431}{}}
\newlabel{proof-engine/tactics:coq:tacn.give-up}{{3.1.2}{295}{Non\sphinxhyphen {}logical tactics}{section*.1432}{}}
\@writefile{toc}{\contentsline {subsubsection}{Delaying solving unification constraints}{295}{subsubsection*.1433}\protected@file@percent }
\newlabel{proof-engine/tactics:delaying-solving-unification-constraints}{{3.1.2}{295}{Delaying solving unification constraints}{subsubsection*.1433}{}}
\newlabel{proof-engine/tactics:coq:tacn.solve-constraints}{{3.1.2}{295}{Delaying solving unification constraints}{section*.1434}{}}
\newlabel{proof-engine/tactics:coq:flag.solve-unification-constraints}{{3.1.2}{295}{Delaying solving unification constraints}{section*.1435}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof maintenance}{295}{subsubsection*.1436}\protected@file@percent }
\newlabel{proof-engine/tactics:proof-maintenance}{{3.1.2}{295}{Proof maintenance}{subsubsection*.1436}{}}
\newlabel{proof-engine/tactics:coq:flag.mangle-names}{{3.1.2}{295}{Proof maintenance}{section*.1437}{}}
\newlabel{proof-engine/tactics:coq:opt.mangle-names-prefix}{{3.1.2}{295}{Proof maintenance}{section*.1438}{}}
\@writefile{toc}{\contentsline {subsubsection}{Performance\sphinxhyphen {}oriented tactic variants}{296}{subsubsection*.1439}\protected@file@percent }
\newlabel{proof-engine/tactics:performance-oriented-tactic-variants}{{3.1.2}{296}{Performance\sphinxhyphen {}oriented tactic variants}{subsubsection*.1439}{}}
\newlabel{proof-engine/tactics:coq:tacn.change-no-check}{{3.1.2}{296}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1440}{}}
\newlabel{proof-engine/tactics:coq:tacv.convert-concl-no-check}{{3.1.2}{297}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1441}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact-no-check}{{3.1.2}{297}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1442}{}}
\newlabel{proof-engine/tactics:coq:tacv.vm-cast-no-check}{{3.1.2}{297}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1443}{}}
\newlabel{proof-engine/tactics:coq:tacv.native-cast-no-check}{{3.1.2}{298}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1444}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}The SSReflect proof language}{298}{subsection.3.1.3}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-ssr-proof-language}{{3.1.3}{298}{The SSReflect proof language}{subsection.3.1.3}{}}
\newlabel{proof-engine/ssreflect-proof-language:thessreflectprooflanguage}{{3.1.3}{298}{The SSReflect proof language}{subsection.3.1.3}{}}
\newlabel{proof-engine/ssreflect-proof-language::doc}{{3.1.3}{298}{The SSReflect proof language}{subsection.3.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction}{298}{subsubsection*.1445}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction}{{3.1.3}{298}{Introduction}{subsubsection*.1445}{}}
\@writefile{toc}{\contentsline {paragraph}{Acknowledgments}{299}{paragraph*.1446}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:acknowledgments}{{3.1.3}{299}{Acknowledgments}{paragraph*.1446}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{299}{subsubsection*.1447}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:usage}{{3.1.3}{299}{Usage}{subsubsection*.1447}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting started}{299}{paragraph*.1448}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:getting-started}{{3.1.3}{299}{Getting started}{paragraph*.1448}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility issues}{300}{paragraph*.1449}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues}{{3.1.3}{300}{Compatibility issues}{paragraph*.1449}{}}
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues-ssr}{{3.1.3}{300}{Compatibility issues}{paragraph*.1449}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.ssrrewrite}{{3.1.3}{300}{Compatibility issues}{section*.1450}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.ssridents}{{3.1.3}{300}{Compatibility issues}{section*.1451}{}}
\@writefile{toc}{\contentsline {subsubsection}{Gallina extensions}{301}{subsubsection*.1452}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:gallina-extensions}{{3.1.3}{301}{Gallina extensions}{subsubsection*.1452}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern assignment}{301}{paragraph*.1453}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-assignment}{{3.1.3}{301}{Pattern assignment}{paragraph*.1453}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.3}{301}{Pattern assignment}{section*.1455}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.3}{301}{Pattern assignment}{section*.1457}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern conditional}{302}{paragraph*.1458}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional}{{3.1.3}{302}{Pattern conditional}{paragraph*.1458}{}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional-ssr}{{3.1.3}{302}{Pattern conditional}{paragraph*.1458}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.3}{302}{Pattern conditional}{section*.1460}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.3}{303}{Pattern conditional}{section*.1462}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.3}{303}{Pattern conditional}{section*.1464}{}}
\@writefile{toc}{\contentsline {paragraph}{Parametric polymorphism}{303}{paragraph*.1465}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism}{{3.1.3}{303}{Parametric polymorphism}{paragraph*.1465}{}}
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism-ssr}{{3.1.3}{303}{Parametric polymorphism}{paragraph*.1465}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.prenex-implicits}{{3.1.3}{303}{Parametric polymorphism}{section*.1466}{}}
\@writefile{toc}{\contentsline {paragraph}{Anonymous arguments}{304}{paragraph*.1467}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:anonymous-arguments}{{3.1.3}{304}{Anonymous arguments}{paragraph*.1467}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-binder}{{3.1.3}{304}{Anonymous arguments}{section*.1469}{}}
\@writefile{toc}{\contentsline {paragraph}{Wildcards}{304}{paragraph*.1470}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards}{{3.1.3}{304}{Wildcards}{paragraph*.1470}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{304}{paragraph*.1471}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:definitions}{{3.1.3}{304}{Definitions}{paragraph*.1471}{}}
\newlabel{proof-engine/ssreflect-proof-language:definitions-ssr}{{3.1.3}{304}{Definitions}{paragraph*.1471}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.pose-ssreflect}{{3.1.3}{304}{Definitions}{section*.1472}{}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{306}{paragraph*.1473}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:abbreviations}{{3.1.3}{306}{Abbreviations}{paragraph*.1473}{}}
\newlabel{proof-engine/ssreflect-proof-language:abbreviations-ssr}{{3.1.3}{306}{Abbreviations}{paragraph*.1473}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.set-ssreflect}{{3.1.3}{306}{Abbreviations}{section*.1474}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ-switch}{{3.1.3}{306}{Abbreviations}{section*.1476}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching}{307}{subparagraph*.1477}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching}{{3.1.3}{307}{Matching}{subparagraph*.1477}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection}{309}{subparagraph*.1478}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection}{{3.1.3}{309}{Occurrence selection}{subparagraph*.1478}{}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-ssr}{{3.1.3}{309}{Occurrence selection}{subparagraph*.1478}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic localization}{311}{paragraph*.1479}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-localization}{{3.1.3}{311}{Basic localization}{paragraph*.1479}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-localization-ssr}{{3.1.3}{311}{Basic localization}{paragraph*.1479}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic tactics}{312}{subsubsection*.1480}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics}{{3.1.3}{312}{Basic tactics}{subsubsection*.1480}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics-ssr}{{3.1.3}{312}{Basic tactics}{subsubsection*.1480}{}}
\@writefile{toc}{\contentsline {paragraph}{Bookkeeping}{312}{paragraph*.1481}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping}{{3.1.3}{312}{Bookkeeping}{paragraph*.1481}{}}
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping-ssr}{{3.1.3}{312}{Bookkeeping}{paragraph*.1481}{}}
\@writefile{toc}{\contentsline {paragraph}{The defective tactics}{315}{paragraph*.1482}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics}{{3.1.3}{315}{The defective tactics}{paragraph*.1482}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics-ssr}{{3.1.3}{315}{The defective tactics}{paragraph*.1482}{}}
\@writefile{toc}{\contentsline {subparagraph}{The move tactic.}{315}{subparagraph*.1483}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-move-tactic}{{3.1.3}{315}{The move tactic}{subparagraph*.1483}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.move}{{3.1.3}{315}{The move tactic}{section*.1484}{}}
\@writefile{toc}{\contentsline {subparagraph}{The case tactic}{316}{subparagraph*.1485}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic}{{3.1.3}{316}{The case tactic}{subparagraph*.1485}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.case-ssreflect}{{3.1.3}{316}{The case tactic}{section*.1486}{}}
\@writefile{toc}{\contentsline {subparagraph}{The elim tactic}{316}{subparagraph*.1487}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-elim-tactic}{{3.1.3}{316}{The elim tactic}{subparagraph*.1487}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.elim-ssreflect}{{3.1.3}{316}{The elim tactic}{section*.1488}{}}
\@writefile{toc}{\contentsline {subparagraph}{The apply tactic}{317}{subparagraph*.1489}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-apply-tactic}{{3.1.3}{317}{The apply tactic}{subparagraph*.1489}{}}
\newlabel{proof-engine/ssreflect-proof-language:apply-ssr}{{3.1.3}{317}{The apply tactic}{subparagraph*.1489}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.apply-ssreflect}{{3.1.3}{317}{The apply tactic}{section*.1490}{}}
\@writefile{toc}{\contentsline {paragraph}{Discharge}{318}{paragraph*.1491}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:discharge}{{3.1.3}{318}{Discharge}{paragraph*.1491}{}}
\newlabel{proof-engine/ssreflect-proof-language:discharge-ssr}{{3.1.3}{318}{Discharge}{paragraph*.1491}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.ssreflect}{{3.1.3}{318}{Discharge}{section*.1492}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d-item}{{3.1.3}{318}{Discharge}{section*.1494}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear-switch}{{3.1.3}{318}{Discharge}{section*.1496}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear rules}{319}{subparagraph*.1497}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-rules}{{3.1.3}{319}{Clear rules}{subparagraph*.1497}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching for apply and exact}{319}{subparagraph*.1498}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-for-apply-and-exact}{{3.1.3}{319}{Matching for apply and exact}{subparagraph*.1498}{}}
\@writefile{toc}{\contentsline {subparagraph}{The abstract tactic}{320}{subparagraph*.1499}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-abstract-tactic}{{3.1.3}{320}{The abstract tactic}{subparagraph*.1499}{}}
\newlabel{proof-engine/ssreflect-proof-language:abstract-ssr}{{3.1.3}{320}{The abstract tactic}{subparagraph*.1499}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.abstract-ssreflect}{{3.1.3}{320}{The abstract tactic}{section*.1500}{}}
\@writefile{toc}{\contentsline {paragraph}{Introduction in the context}{321}{paragraph*.1501}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction-in-the-context}{{3.1.3}{321}{Introduction in the context}{paragraph*.1501}{}}
\newlabel{proof-engine/ssreflect-proof-language:introduction-ssr}{{3.1.3}{321}{Introduction in the context}{paragraph*.1501}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.}{{3.1.3}{321}{Introduction in the context}{section*.1502}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-item}{{3.1.3}{321}{Introduction in the context}{section*.1504}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s-item}{{3.1.3}{321}{Introduction in the context}{section*.1506}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-view}{{3.1.3}{321}{Introduction in the context}{section*.1508}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-pattern}{{3.1.3}{321}{Introduction in the context}{section*.1510}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-block}{{3.1.3}{321}{Introduction in the context}{section*.1512}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simplification items}{321}{subparagraph*.1513}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:simplification-items}{{3.1.3}{321}{Simplification items}{subparagraph*.1513}{}}
\@writefile{toc}{\contentsline {subparagraph}{Views}{322}{subparagraph*.1514}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views}{{3.1.3}{322}{Views}{subparagraph*.1514}{}}
\@writefile{toc}{\contentsline {subparagraph}{Intro patterns}{322}{subparagraph*.1515}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:intro-patterns}{{3.1.3}{322}{Intro patterns}{subparagraph*.1515}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear switch}{323}{subparagraph*.1516}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-switch}{{3.1.3}{323}{Clear switch}{subparagraph*.1516}{}}
\@writefile{toc}{\contentsline {subparagraph}{Branching and destructuring}{324}{subparagraph*.1517}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:branching-and-destructuring}{{3.1.3}{324}{Branching and destructuring}{subparagraph*.1517}{}}
\@writefile{toc}{\contentsline {subparagraph}{Block introduction}{324}{subparagraph*.1518}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:block-introduction}{{3.1.3}{324}{Block introduction}{subparagraph*.1518}{}}
\@writefile{toc}{\contentsline {paragraph}{Generation of equations}{325}{paragraph*.1519}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations}{{3.1.3}{325}{Generation of equations}{paragraph*.1519}{}}
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations-ssr}{{3.1.3}{325}{Generation of equations}{paragraph*.1519}{}}
\@writefile{toc}{\contentsline {paragraph}{Type families}{326}{paragraph*.1520}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:type-families}{{3.1.3}{326}{Type families}{paragraph*.1520}{}}
\newlabel{proof-engine/ssreflect-proof-language:type-families-ssr}{{3.1.3}{326}{Type families}{paragraph*.1520}{}}
\@writefile{toc}{\contentsline {subsubsection}{Control flow}{329}{subsubsection*.1521}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:control-flow}{{3.1.3}{329}{Control flow}{subsubsection*.1521}{}}
\@writefile{toc}{\contentsline {paragraph}{Indentation and bullets}{329}{paragraph*.1522}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:indentation-and-bullets}{{3.1.3}{329}{Indentation and bullets}{paragraph*.1522}{}}
\newlabel{proof-engine/ssreflect-proof-language:indentation-ssr}{{3.1.3}{329}{Indentation and bullets}{paragraph*.1522}{}}
\@writefile{toc}{\contentsline {paragraph}{Terminators}{330}{paragraph*.1523}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:terminators}{{3.1.3}{330}{Terminators}{paragraph*.1523}{}}
\newlabel{proof-engine/ssreflect-proof-language:terminators-ssr}{{3.1.3}{330}{Terminators}{paragraph*.1523}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.by}{{3.1.3}{330}{Terminators}{section*.1524}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.done}{{3.1.3}{330}{Terminators}{section*.1525}{}}
\@writefile{toc}{\contentsline {paragraph}{Selectors}{331}{paragraph*.1526}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:selectors}{{3.1.3}{331}{Selectors}{paragraph*.1526}{}}
\newlabel{proof-engine/ssreflect-proof-language:selectors-ssr}{{3.1.3}{331}{Selectors}{paragraph*.1526}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.last}{{3.1.3}{331}{Selectors}{section*.1527}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.first-ssreflect}{{3.1.3}{331}{Selectors}{section*.1528}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.last-first}{{3.1.3}{331}{Selectors}{section*.1529}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.first-last}{{3.1.3}{331}{Selectors}{section*.1530}{}}
\newlabel{proof-engine/ssreflect-proof-language:id11}{{3.1.3}{331}{Selectors}{section*.1531}{}}
\@writefile{toc}{\contentsline {paragraph}{Iteration}{333}{paragraph*.1532}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:iteration}{{3.1.3}{333}{Iteration}{paragraph*.1532}{}}
\newlabel{proof-engine/ssreflect-proof-language:iteration-ssr}{{3.1.3}{333}{Iteration}{paragraph*.1532}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.do-ssreflect}{{3.1.3}{333}{Iteration}{section*.1533}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.3}{333}{Iteration}{section*.1535}{}}
\@writefile{toc}{\contentsline {paragraph}{Localization}{333}{paragraph*.1536}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:localization}{{3.1.3}{333}{Localization}{paragraph*.1536}{}}
\newlabel{proof-engine/ssreflect-proof-language:localization-ssr}{{3.1.3}{333}{Localization}{paragraph*.1536}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.in}{{3.1.3}{333}{Localization}{section*.1537}{}}
\@writefile{toc}{\contentsline {paragraph}{Structure}{334}{paragraph*.1538}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:structure}{{3.1.3}{334}{Structure}{paragraph*.1538}{}}
\newlabel{proof-engine/ssreflect-proof-language:structure-ssr}{{3.1.3}{334}{Structure}{paragraph*.1538}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic.}{335}{subparagraph*.1539}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic}{{3.1.3}{335}{The have tactic}{subparagraph*.1539}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.have}{{3.1.3}{335}{The have tactic}{section*.1540}{}}
\newlabel{proof-engine/ssreflect-proof-language:id12}{{3.1.3}{336}{The have tactic}{section*.1541}{}}
\@writefile{toc}{\contentsline {subparagraph}{Generating let in context entries with have}{338}{subparagraph*.1542}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generating-let-in-context-entries-with-have}{{3.1.3}{338}{Generating let in context entries with have}{subparagraph*.1542}{}}
\newlabel{proof-engine/ssreflect-proof-language:generating-let-ssr}{{3.1.3}{338}{Generating let in context entries with have}{subparagraph*.1542}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic and typeclass resolution}{341}{subparagraph*.1543}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic-and-typeclass-resolution}{{3.1.3}{341}{The have tactic and typeclass resolution}{subparagraph*.1543}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.ssrhave-notcresolution}{{3.1.3}{341}{The have tactic and typeclass resolution}{section*.1544}{}}
\@writefile{toc}{\contentsline {subparagraph}{Variants: the suff and wlog tactics}{342}{subparagraph*.1545}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:variants-the-suff-and-wlog-tactics}{{3.1.3}{342}{Variants: the suff and wlog tactics}{subparagraph*.1545}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.wlog}{{3.1.3}{342}{Variants: the suff and wlog tactics}{section*.1546}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.without-loss}{{3.1.3}{342}{Variants: the suff and wlog tactics}{section*.1547}{}}
\@writefile{toc}{\contentsline {subparagraph}{Advanced generalization}{344}{subparagraph*.1548}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization}{{3.1.3}{344}{Advanced generalization}{subparagraph*.1548}{}}
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization-ssr}{{3.1.3}{344}{Advanced generalization}{subparagraph*.1548}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting}{345}{subsubsection*.1549}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting}{{3.1.3}{345}{Rewriting}{subsubsection*.1549}{}}
\newlabel{proof-engine/ssreflect-proof-language:rewriting-ssr}{{3.1.3}{345}{Rewriting}{subsubsection*.1549}{}}
\@writefile{toc}{\contentsline {paragraph}{An extended rewrite tactic}{345}{paragraph*.1550}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:an-extended-rewrite-tactic}{{3.1.3}{345}{An extended rewrite tactic}{paragraph*.1550}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.rewrite-ssreflect}{{3.1.3}{345}{An extended rewrite tactic}{section*.1551}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-rstep}{{3.1.3}{346}{An extended rewrite tactic}{section*.1553}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-prefix}{{3.1.3}{346}{An extended rewrite tactic}{section*.1555}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-pattern}{{3.1.3}{346}{An extended rewrite tactic}{section*.1557}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-item}{{3.1.3}{346}{An extended rewrite tactic}{section*.1559}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.ssroldrewritegoalsorder}{{3.1.3}{348}{An extended rewrite tactic}{section*.1560}{}}
\@writefile{toc}{\contentsline {paragraph}{Remarks and examples}{348}{paragraph*.1561}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:remarks-and-examples}{{3.1.3}{348}{Remarks and examples}{paragraph*.1561}{}}
\@writefile{toc}{\contentsline {subparagraph}{Rewrite redex selection}{348}{subparagraph*.1562}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewrite-redex-selection}{{3.1.3}{348}{Rewrite redex selection}{subparagraph*.1562}{}}
\@writefile{toc}{\contentsline {subparagraph}{Chained rewrite steps}{348}{subparagraph*.1563}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:chained-rewrite-steps}{{3.1.3}{348}{Chained rewrite steps}{subparagraph*.1563}{}}
\@writefile{toc}{\contentsline {subparagraph}{Explicit redex switches are matched first}{349}{subparagraph*.1564}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:explicit-redex-switches-are-matched-first}{{3.1.3}{349}{Explicit redex switches are matched first}{subparagraph*.1564}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence switches and redex switches}{350}{subparagraph*.1565}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-switches-and-redex-switches}{{3.1.3}{350}{Occurrence switches and redex switches}{subparagraph*.1565}{}}
\newlabel{proof-engine/ssreflect-proof-language:ssr-rewrite-occ-switch}{{3.1.3}{350}{Occurrence switches and redex switches}{subparagraph*.1565}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection and repetition}{351}{subparagraph*.1566}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-and-repetition}{{3.1.3}{351}{Occurrence selection and repetition}{subparagraph*.1566}{}}
\@writefile{toc}{\contentsline {subparagraph}{Multi\sphinxhyphen {}rule rewriting}{351}{subparagraph*.1567}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multi-rule-rewriting}{{3.1.3}{351}{Multi\sphinxhyphen {}rule rewriting}{subparagraph*.1567}{}}
\@writefile{toc}{\contentsline {subparagraph}{Wildcards vs abstractions}{354}{subparagraph*.1568}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards-vs-abstractions}{{3.1.3}{354}{Wildcards vs abstractions}{subparagraph*.1568}{}}
\@writefile{toc}{\contentsline {subparagraph}{When SSReflect rewrite fails on standard Coq licit rewrite}{355}{subparagraph*.1569}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:when-ssr-rewrite-fails-on-standard-coq-licit-rewrite}{{3.1.3}{355}{When SSReflect rewrite fails on standard Coq licit rewrite}{subparagraph*.1569}{}}
\@writefile{toc}{\contentsline {subparagraph}{Existential metavariables and rewriting}{357}{subparagraph*.1570}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:existential-metavariables-and-rewriting}{{3.1.3}{357}{Existential metavariables and rewriting}{subparagraph*.1570}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{358}{paragraph*.1571}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting-under-binders}{{3.1.3}{358}{Rewriting under binders}{paragraph*.1571}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-ssr}{{3.1.3}{358}{Rewriting under binders}{paragraph*.1571}{}}
\@writefile{toc}{\contentsline {subparagraph}{The under tactic}{359}{subparagraph*.1572}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-under-tactic}{{3.1.3}{359}{The under tactic}{subparagraph*.1572}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.under}{{3.1.3}{359}{The under tactic}{section*.1573}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:exn.incorrect-number-of-tactics-expected-n-tactics-was-given-m}{{3.1.3}{359}{The under tactic}{section*.1574}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interactive mode}{360}{subparagraph*.1575}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interactive-mode}{{3.1.3}{360}{Interactive mode}{subparagraph*.1575}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-interactive}{{3.1.3}{360}{Interactive mode}{subparagraph*.1575}{}}
\@writefile{toc}{\contentsline {subparagraph}{The over tactic}{361}{subparagraph*.1576}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-over-tactic}{{3.1.3}{361}{The over tactic}{subparagraph*.1576}{}}
\newlabel{proof-engine/ssreflect-proof-language:over-ssr}{{3.1.3}{361}{The over tactic}{subparagraph*.1576}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.over}{{3.1.3}{361}{The over tactic}{section*.1577}{}}
\@writefile{toc}{\contentsline {subparagraph}{One\sphinxhyphen {}liner mode}{361}{subparagraph*.1578}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:one-liner-mode}{{3.1.3}{361}{One\sphinxhyphen {}liner mode}{subparagraph*.1578}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-one-liner}{{3.1.3}{361}{One\sphinxhyphen {}liner mode}{subparagraph*.1578}{}}
\@writefile{toc}{\contentsline {paragraph}{Locking, unlocking}{363}{paragraph*.1579}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:locking-unlocking}{{3.1.3}{363}{Locking, unlocking}{paragraph*.1579}{}}
\newlabel{proof-engine/ssreflect-proof-language:locking-ssr}{{3.1.3}{363}{Locking, unlocking}{paragraph*.1579}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.unlock}{{3.1.3}{364}{Locking, unlocking}{section*.1580}{}}
\@writefile{toc}{\contentsline {paragraph}{Congruence}{365}{paragraph*.1581}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:congruence}{{3.1.3}{365}{Congruence}{paragraph*.1581}{}}
\newlabel{proof-engine/ssreflect-proof-language:congruence-ssr}{{3.1.3}{365}{Congruence}{paragraph*.1581}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.congr}{{3.1.3}{365}{Congruence}{section*.1582}{}}
\@writefile{toc}{\contentsline {subsubsection}{Contextual patterns}{367}{subsubsection*.1583}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns}{{3.1.3}{367}{Contextual patterns}{subsubsection*.1583}{}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-ssr}{{3.1.3}{367}{Contextual patterns}{subsubsection*.1583}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{367}{paragraph*.1584}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:syntax}{{3.1.3}{367}{Syntax}{paragraph*.1584}{}}
\@writefile{toc}{\contentsline {paragraph}{Matching contextual patterns}{368}{paragraph*.1585}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-contextual-patterns}{{3.1.3}{368}{Matching contextual patterns}{paragraph*.1585}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{369}{paragraph*.1586}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:examples}{{3.1.3}{369}{Examples}{paragraph*.1586}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual pattern in set and the : tactical}{369}{subparagraph*.1587}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-pattern-in-set-and-the-tactical}{{3.1.3}{369}{Contextual pattern in set and the : tactical}{subparagraph*.1587}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual patterns in rewrite}{370}{subparagraph*.1588}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-in-rewrite}{{3.1.3}{370}{Contextual patterns in rewrite}{subparagraph*.1588}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns for recurrent contexts}{371}{paragraph*.1589}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:patterns-for-recurrent-contexts}{{3.1.3}{371}{Patterns for recurrent contexts}{paragraph*.1589}{}}
\@writefile{toc}{\contentsline {subsubsection}{Views and reflection}{371}{subsubsection*.1590}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection}{{3.1.3}{371}{Views and reflection}{subsubsection*.1590}{}}
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection-ssr}{{3.1.3}{371}{Views and reflection}{subsubsection*.1590}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting eliminations}{372}{paragraph*.1591}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-eliminations}{{3.1.3}{372}{Interpreting eliminations}{paragraph*.1591}{}}
\newlabel{proof-engine/ssreflect-proof-language:custom-elim-ssr}{{3.1.3}{372}{Interpreting eliminations}{paragraph*.1591}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting assumptions}{375}{paragraph*.1592}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions}{{3.1.3}{375}{Interpreting assumptions}{paragraph*.1592}{}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions-ssr}{{3.1.3}{375}{Interpreting assumptions}{paragraph*.1592}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{378}{subparagraph*.1593}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:specializing-assumptions}{{3.1.3}{378}{Specializing assumptions}{subparagraph*.1593}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting goals}{379}{paragraph*.1594}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-goals}{{3.1.3}{379}{Interpreting goals}{paragraph*.1594}{}}
\@writefile{toc}{\contentsline {paragraph}{Boolean reflection}{380}{paragraph*.1595}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:boolean-reflection}{{3.1.3}{380}{Boolean reflection}{paragraph*.1595}{}}
\@writefile{toc}{\contentsline {paragraph}{The reflect predicate}{381}{paragraph*.1596}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-reflect-predicate}{{3.1.3}{381}{The reflect predicate}{paragraph*.1596}{}}
\@writefile{toc}{\contentsline {paragraph}{General mechanism for interpreting goals and assumptions}{383}{paragraph*.1597}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:general-mechanism-for-interpreting-goals-and-assumptions}{{3.1.3}{383}{General mechanism for interpreting goals and assumptions}{paragraph*.1597}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{383}{subparagraph*.1598}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id15}{{3.1.3}{383}{Specializing assumptions}{subparagraph*.1598}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interpreting assumptions}{383}{subparagraph*.1599}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id16}{{3.1.3}{383}{Interpreting assumptions}{subparagraph*.1599}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting equivalences}{385}{paragraph*.1600}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-equivalences}{{3.1.3}{385}{Interpreting equivalences}{paragraph*.1600}{}}
\@writefile{toc}{\contentsline {paragraph}{Declaring new Hint Views}{386}{paragraph*.1601}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hint-views}{{3.1.3}{386}{Declaring new Hint Views}{paragraph*.1601}{}}
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hints-ssr}{{3.1.3}{386}{Declaring new Hint Views}{paragraph*.1601}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for-move}{{3.1.3}{386}{Declaring new Hint Views}{section*.1602}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for-apply}{{3.1.3}{386}{Declaring new Hint Views}{section*.1603}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple views}{387}{paragraph*.1604}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multiple-views}{{3.1.3}{387}{Multiple views}{paragraph*.1604}{}}
\@writefile{toc}{\contentsline {subsubsection}{SSReflect searching tool}{388}{subsubsection*.1605}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:ssr-searching-tool}{{3.1.3}{388}{SSReflect searching tool}{subsubsection*.1605}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.search-ssreflect}{{3.1.3}{388}{SSReflect searching tool}{section*.1606}{}}
\@writefile{toc}{\contentsline {subsubsection}{Synopsis and Index}{389}{subsubsection*.1607}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:synopsis-and-index}{{3.1.3}{389}{Synopsis and Index}{subsubsection*.1607}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters}{389}{paragraph*.1608}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parameters}{{3.1.3}{389}{Parameters}{paragraph*.1608}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d-tactic}{{3.1.3}{389}{Parameters}{section*.1610}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-key}{{3.1.3}{389}{Parameters}{section*.1612}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-modname}{{3.1.3}{389}{Parameters}{section*.1614}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-natural}{{3.1.3}{389}{Parameters}{section*.1616}{}}
\@writefile{toc}{\contentsline {paragraph}{Items and switches}{390}{paragraph*.1617}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:items-and-switches}{{3.1.3}{390}{Items and switches}{paragraph*.1617}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-ssr-binder}{{3.1.3}{390}{Items and switches}{section*.1619}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear-switch}{{3.1.3}{390}{Items and switches}{section*.1621}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-c-pattern}{{3.1.3}{390}{Items and switches}{section*.1623}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d-item}{{3.1.3}{390}{Items and switches}{section*.1625}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-gen-item}{{3.1.3}{390}{Items and switches}{section*.1627}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-pattern}{{3.1.3}{390}{Items and switches}{section*.1629}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-item}{{3.1.3}{390}{Items and switches}{section*.1631}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-view}{{3.1.3}{390}{Items and switches}{section*.1633}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i-block}{{3.1.3}{390}{Items and switches}{section*.1635}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-int-mult}{{3.1.3}{390}{Items and switches}{section*.1637}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ-switch}{{3.1.3}{390}{Items and switches}{section*.1639}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.3}{390}{Items and switches}{section*.1641}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult-mark}{{3.1.3}{391}{Items and switches}{section*.1643}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-item}{{3.1.3}{391}{Items and switches}{section*.1645}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-prefix}{{3.1.3}{391}{Items and switches}{section*.1647}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-pattern}{{3.1.3}{391}{Items and switches}{section*.1649}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r-step}{{3.1.3}{391}{Items and switches}{section*.1651}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s-item}{{3.1.3}{391}{Items and switches}{section*.1653}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{391}{paragraph*.1654}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tactics}{{3.1.3}{391}{Tactics}{paragraph*.1654}{}}
\newlabel{proof-engine/ssreflect-proof-language:id29}{{3.1.3}{391}{Tactics}{section*.1655}{}}
\newlabel{proof-engine/ssreflect-proof-language:id30}{{3.1.3}{391}{Tactics}{section*.1656}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.exact-ssreflect}{{3.1.3}{391}{Tactics}{section*.1657}{}}
\newlabel{proof-engine/ssreflect-proof-language:id31}{{3.1.3}{391}{Tactics}{section*.1658}{}}
\newlabel{proof-engine/ssreflect-proof-language:id32}{{3.1.3}{391}{Tactics}{section*.1659}{}}
\newlabel{proof-engine/ssreflect-proof-language:id33}{{3.1.3}{391}{Tactics}{section*.1660}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.generally-have}{{3.1.3}{392}{Tactics}{section*.1661}{}}
\newlabel{proof-engine/ssreflect-proof-language:id34}{{3.1.3}{392}{Tactics}{section*.1662}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suff}{{3.1.3}{392}{Tactics}{section*.1663}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suffices}{{3.1.3}{392}{Tactics}{section*.1664}{}}
\newlabel{proof-engine/ssreflect-proof-language:id35}{{3.1.3}{392}{Tactics}{section*.1665}{}}
\newlabel{proof-engine/ssreflect-proof-language:id36}{{3.1.3}{392}{Tactics}{section*.1666}{}}
\newlabel{proof-engine/ssreflect-proof-language:id37}{{3.1.3}{392}{Tactics}{section*.1667}{}}
\newlabel{proof-engine/ssreflect-proof-language:id38}{{3.1.3}{392}{Tactics}{section*.1668}{}}
\@writefile{toc}{\contentsline {paragraph}{Tacticals}{393}{paragraph*.1669}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tacticals}{{3.1.3}{393}{Tacticals}{paragraph*.1669}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1671}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1673}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1675}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1677}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1679}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1681}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.3}{393}{Tacticals}{section*.1683}{}}
\@writefile{toc}{\contentsline {paragraph}{Commands}{393}{paragraph*.1684}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:commands}{{3.1.3}{393}{Commands}{paragraph*.1684}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for}{{3.1.3}{393}{Commands}{section*.1685}{}}
\newlabel{proof-engine/ssreflect-proof-language:id39}{{3.1.3}{393}{Commands}{section*.1686}{}}
\newlabel{proof-engine/ssreflect-proof-language:id40}{{3.1.3}{393}{Commands}{section*.1687}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{394}{paragraph*.1688}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:settings}{{3.1.3}{394}{Settings}{paragraph*.1688}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.debug-ssreflect}{{3.1.3}{394}{Settings}{section*.1689}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.debug-ssrmatching}{{3.1.3}{394}{Settings}{section*.1690}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Detailed examples of tactics}{394}{subsection.3.1.4}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:detailed-examples-of-tactics}{{3.1.4}{394}{Detailed examples of tactics}{subsection.3.1.4}{}}
\newlabel{proof-engine/detailed-tactic-examples:detailedexamplesoftactics}{{3.1.4}{394}{Detailed examples of tactics}{subsection.3.1.4}{}}
\newlabel{proof-engine/detailed-tactic-examples::doc}{{3.1.4}{394}{Detailed examples of tactics}{subsection.3.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{dependent induction}{394}{subsubsection*.1691}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:dependent-induction}{{3.1.4}{394}{dependent induction}{subsubsection*.1691}{}}
\newlabel{proof-engine/detailed-tactic-examples:id1}{{3.1.4}{394}{dependent induction}{subsubsection*.1691}{}}
\@writefile{toc}{\contentsline {paragraph}{A larger example}{396}{paragraph*.1692}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:a-larger-example}{{3.1.4}{396}{A larger example}{paragraph*.1692}{}}
\@writefile{toc}{\contentsline {subsubsection}{autorewrite}{399}{subsubsection*.1693}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:autorewrite}{{3.1.4}{399}{autorewrite}{subsubsection*.1693}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Proof schemes}{401}{subsection.3.1.5}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:proof-schemes}{{3.1.5}{401}{Proof schemes}{subsection.3.1.5}{}}
\newlabel{user-extensions/proof-schemes:proofschemes}{{3.1.5}{401}{Proof schemes}{subsection.3.1.5}{}}
\newlabel{user-extensions/proof-schemes::doc}{{3.1.5}{401}{Proof schemes}{subsection.3.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{401}{subsubsection*.1694}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:generation-of-induction-principles-with-scheme}{{3.1.5}{401}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1694}{}}
\newlabel{user-extensions/proof-schemes:proofschemes-induction-principles}{{3.1.5}{401}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1694}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.scheme}{{3.1.5}{401}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1695}{}}
\newlabel{user-extensions/proof-schemes:coq:cmdv.scheme-equality}{{3.1.5}{401}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1696}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic declaration of schemes}{403}{paragraph*.1697}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:automatic-declaration-of-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{paragraph*.1697}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.elimination-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1698}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.nonrecursive-elimination-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1699}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.case-analysis-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1700}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.boolean-equality-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1701}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.decidable-equality-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1702}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.rewriting-schemes}{{3.1.5}{403}{Automatic declaration of schemes}{section*.1703}{}}
\@writefile{toc}{\contentsline {paragraph}{Combined Scheme}{403}{paragraph*.1704}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:combined-scheme}{{3.1.5}{403}{Combined Scheme}{paragraph*.1704}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.combined-scheme}{{3.1.5}{403}{Combined Scheme}{section*.1705}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{404}{subsubsection*.1706}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:generation-of-inversion-principles-with-derive-inversion}{{3.1.5}{404}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1706}{}}
\newlabel{user-extensions/proof-schemes:derive-inversion}{{3.1.5}{404}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1706}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.derive-inversion}{{3.1.5}{404}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1707}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Built\sphinxhyphen {}in decision procedures and programmable tactics}{406}{section.3.2}\protected@file@percent }
\newlabel{proofs/automatic-tactics/index:built-in-decision-procedures-and-programmable-tactics}{{3.2}{406}{Built\sphinxhyphen {}in decision procedures and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index:automatic-tactics}{{3.2}{406}{Built\sphinxhyphen {}in decision procedures and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index::doc}{{3.2}{406}{Built\sphinxhyphen {}in decision procedures and programmable tactics}{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Omega: a solver for quantifier\sphinxhyphen {}free problems in Presburger Arithmetic}{406}{subsection.3.2.1}\protected@file@percent }
\newlabel{addendum/omega:omega-a-solver-for-quantifier-free-problems-in-presburger-arithmetic}{{3.2.1}{406}{Omega: a solver for quantifier\sphinxhyphen {}free problems in Presburger Arithmetic}{subsection.3.2.1}{}}
\newlabel{addendum/omega:omega-chapter}{{3.2.1}{406}{Omega: a solver for quantifier\sphinxhyphen {}free problems in Presburger Arithmetic}{subsection.3.2.1}{}}
\newlabel{addendum/omega::doc}{{3.2.1}{406}{Omega: a solver for quantifier\sphinxhyphen {}free problems in Presburger Arithmetic}{subsection.3.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{406}{subsubsection*.1708}\protected@file@percent }
\newlabel{addendum/omega:description-of-omega}{{3.2.1}{406}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1708}{}}
\newlabel{addendum/omega:coq:tacn.omega}{{3.2.1}{406}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1709}{}}
\@writefile{toc}{\contentsline {subsubsection}{Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{406}{subsubsection*.1710}\protected@file@percent }
\newlabel{addendum/omega:arithmetical-goals-recognized-by-omega}{{3.2.1}{406}{Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1710}{}}
\@writefile{toc}{\contentsline {subsubsection}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{407}{subsubsection*.1711}\protected@file@percent }
\newlabel{addendum/omega:messages-from-omega}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1711}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-this-system}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1712}{}}
\newlabel{addendum/omega:coq:exn.omega-not-a-quantifier-free-goal}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1713}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-predicate-or-connective-ident}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1714}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-atomic-proposition}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1715}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-proposition-variables}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1716}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-proposition}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1717}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-non-linear-products}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1718}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-equality-on-type}{{3.2.1}{407}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1719}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{407}{subsubsection*.1720}\protected@file@percent }
\newlabel{addendum/omega:using-omega}{{3.2.1}{407}{Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1720}{}}
\@writefile{toc}{\contentsline {subsubsection}{Options}{408}{subsubsection*.1721}\protected@file@percent }
\newlabel{addendum/omega:options}{{3.2.1}{408}{Options}{subsubsection*.1721}{}}
\newlabel{addendum/omega:coq:flag.stable-omega}{{3.2.1}{408}{Options}{section*.1722}{}}
\newlabel{addendum/omega:coq:flag.omega-uselocaldefs}{{3.2.1}{408}{Options}{section*.1723}{}}
\newlabel{addendum/omega:coq:flag.omega-system}{{3.2.1}{408}{Options}{section*.1724}{}}
\newlabel{addendum/omega:coq:flag.omega-action}{{3.2.1}{408}{Options}{section*.1725}{}}
\@writefile{toc}{\contentsline {subsubsection}{Technical data}{408}{subsubsection*.1726}\protected@file@percent }
\newlabel{addendum/omega:technical-data}{{3.2.1}{408}{Technical data}{subsubsection*.1726}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview of the tactic}{408}{paragraph*.1727}\protected@file@percent }
\newlabel{addendum/omega:overview-of-the-tactic}{{3.2.1}{408}{Overview of the tactic}{paragraph*.1727}{}}
\citation{zebibliography:theomegapaper}
\@writefile{toc}{\contentsline {paragraph}{Overview of the OMEGA decision procedure}{409}{paragraph*.1728}\protected@file@percent }
\newlabel{addendum/omega:overview-of-the-omega-decision-procedure}{{3.2.1}{409}{Overview of the OMEGA decision procedure}{paragraph*.1728}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bugs}{409}{subsubsection*.1729}\protected@file@percent }
\newlabel{addendum/omega:bugs}{{3.2.1}{409}{Bugs}{subsubsection*.1729}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Micromega: tactics for solving arithmetic goals over ordered rings}{409}{subsection.3.2.2}\protected@file@percent }
\newlabel{addendum/micromega:micromega-tactics-for-solving-arithmetic-goals-over-ordered-rings}{{3.2.2}{409}{Micromega: tactics for solving arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\newlabel{addendum/micromega:micromega}{{3.2.2}{409}{Micromega: tactics for solving arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\newlabel{addendum/micromega::doc}{{3.2.2}{409}{Micromega: tactics for solving arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Short description of the tactics}{409}{subsubsection*.1730}\protected@file@percent }
\newlabel{addendum/micromega:short-description-of-the-tactics}{{3.2.2}{409}{Short description of the tactics}{subsubsection*.1730}{}}
\newlabel{addendum/micromega:coq:flag.simplex}{{3.2.2}{409}{Short description of the tactics}{section*.1731}{}}
\newlabel{addendum/micromega:coq:opt.dump-arith}{{3.2.2}{409}{Short description of the tactics}{section*.1732}{}}
\gdef \LT@viii {\LT@entry 
    {1}{18.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{368.50002pt}}
\newlabel{addendum/micromega:coq:cmd.show-lia-profile}{{3.2.2}{410}{Short description of the tactics}{section*.1733}{}}
\newlabel{addendum/micromega:coq:flag.lia-cache}{{3.2.2}{410}{Short description of the tactics}{section*.1734}{}}
\newlabel{addendum/micromega:coq:flag.nia-cache}{{3.2.2}{410}{Short description of the tactics}{section*.1735}{}}
\newlabel{addendum/micromega:coq:flag.nra-cache}{{3.2.2}{410}{Short description of the tactics}{section*.1736}{}}
\newlabel{addendum/micromega:grammar-token-F}{{7}{410}{Short description of the tactics}{section*.1737}{}}
\newlabel{addendum/micromega:grammar-token-A}{{7}{410}{Short description of the tactics}{section*.1738}{}}
\newlabel{addendum/micromega:grammar-token-p}{{7}{410}{Short description of the tactics}{section*.1739}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleemphasis {Positivstellensatz} refutations}{410}{subsubsection*.1740}\protected@file@percent }
\newlabel{addendum/micromega:positivstellensatz-refutations}{{3.2.2}{410}{\sphinxstyleemphasis {Positivstellensatz} refutations}{subsubsection*.1740}{}}
\newlabel{addendum/micromega:psatz-thm}{{3.2.2}{410}{\sphinxstyleemphasis {Positivstellensatz} refutations}{section*.1741}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{411}{subsubsection*.1742}\protected@file@percent }
\newlabel{addendum/micromega:lra-a-decision-procedure-for-linear-real-and-rational-arithmetic}{{3.2.2}{411}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{subsubsection*.1742}{}}
\newlabel{addendum/micromega:coq:tacn.lra}{{3.2.2}{411}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{section*.1743}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{411}{subsubsection*.1744}\protected@file@percent }
\newlabel{addendum/micromega:lia-a-tactic-for-linear-integer-arithmetic}{{3.2.2}{411}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{subsubsection*.1744}{}}
\newlabel{addendum/micromega:coq:tacn.lia}{{3.2.2}{411}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{section*.1745}{}}
\@writefile{toc}{\contentsline {paragraph}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{411}{paragraph*.1746}\protected@file@percent }
\newlabel{addendum/micromega:high-level-view-of-lia}{{3.2.2}{411}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{paragraph*.1746}{}}
\@writefile{toc}{\contentsline {paragraph}{Cutting plane proofs}{411}{paragraph*.1747}\protected@file@percent }
\newlabel{addendum/micromega:cutting-plane-proofs}{{3.2.2}{411}{Cutting plane proofs}{paragraph*.1747}{}}
\newlabel{addendum/micromega:ceil-thm}{{3.2.2}{411}{Cutting plane proofs}{section*.1748}{}}
\newlabel{addendum/micromega:coq:thm.bound-on-the-ceiling-function}{{3.2.2}{411}{Cutting plane proofs}{section*.1749}{}}
\@writefile{toc}{\contentsline {paragraph}{Case split}{412}{paragraph*.1750}\protected@file@percent }
\newlabel{addendum/micromega:case-split}{{3.2.2}{412}{Case split}{paragraph*.1750}{}}
\newlabel{addendum/micromega:casesplit-thm}{{3.2.2}{412}{Case split}{section*.1751}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{412}{subsubsection*.1752}\protected@file@percent }
\newlabel{addendum/micromega:nra-a-proof-procedure-for-non-linear-arithmetic}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1752}{}}
\newlabel{addendum/micromega:coq:tacn.nra}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1753}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{412}{subsubsection*.1754}\protected@file@percent }
\newlabel{addendum/micromega:nia-a-proof-procedure-for-non-linear-integer-arithmetic}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{subsubsection*.1754}{}}
\newlabel{addendum/micromega:coq:tacn.nia}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{section*.1755}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{412}{subsubsection*.1756}\protected@file@percent }
\newlabel{addendum/micromega:psatz-a-proof-procedure-for-non-linear-arithmetic}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1756}{}}
\newlabel{addendum/micromega:coq:tacn.psatz}{{3.2.2}{412}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1757}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{413}{subsubsection*.1758}\protected@file@percent }
\newlabel{addendum/micromega:zify-pre-processing-of-arithmetic-goals}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{subsubsection*.1758}{}}
\newlabel{addendum/micromega:coq:tacn.zify}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1759}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-injtyp}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1760}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-binop}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1761}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-binrel}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1762}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-unop}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1763}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-cstop}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1764}{}}
\newlabel{addendum/micromega:coq:cmd.show-zify-spec}{{3.2.2}{413}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1765}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}The ring and field tactic families}{413}{subsection.3.2.3}\protected@file@percent }
\newlabel{addendum/ring:the-ring-and-field-tactic-families}{{3.2.3}{413}{The ring and field tactic families}{subsection.3.2.3}{}}
\newlabel{addendum/ring:theringandfieldtacticfamilies}{{3.2.3}{413}{The ring and field tactic families}{subsection.3.2.3}{}}
\newlabel{addendum/ring::doc}{{3.2.3}{413}{The ring and field tactic families}{subsection.3.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{What does this tactic do?}{413}{subsubsection*.1766}\protected@file@percent }
\newlabel{addendum/ring:what-does-this-tactic-do}{{3.2.3}{413}{What does this tactic do?}{subsubsection*.1766}{}}
\@writefile{toc}{\contentsline {subsubsection}{The variables map}{414}{subsubsection*.1767}\protected@file@percent }
\newlabel{addendum/ring:the-variables-map}{{3.2.3}{414}{The variables map}{subsubsection*.1767}{}}
\@writefile{toc}{\contentsline {subsubsection}{Is it automatic?}{414}{subsubsection*.1768}\protected@file@percent }
\newlabel{addendum/ring:is-it-automatic}{{3.2.3}{414}{Is it automatic?}{subsubsection*.1768}{}}
\@writefile{toc}{\contentsline {subsubsection}{Concrete usage in Coq}{414}{subsubsection*.1769}\protected@file@percent }
\newlabel{addendum/ring:concrete-usage-in-coq}{{3.2.3}{414}{Concrete usage in Coq}{subsubsection*.1769}{}}
\newlabel{addendum/ring:coq:tacn.ring}{{3.2.3}{414}{Concrete usage in Coq}{section*.1770}{}}
\newlabel{addendum/ring:coq:tacn.ring-simplify}{{3.2.3}{414}{Concrete usage in Coq}{section*.1771}{}}
\newlabel{addendum/ring:coq:cmd.print-rings}{{3.2.3}{415}{Concrete usage in Coq}{section*.1772}{}}
\newlabel{addendum/ring:coq:exn.not-a-valid-ring-equation}{{3.2.3}{415}{Concrete usage in Coq}{section*.1773}{}}
\newlabel{addendum/ring:coq:exn.arguments-of-ring-simplify-do-not-have-all-the-same-type}{{3.2.3}{416}{Concrete usage in Coq}{section*.1774}{}}
\newlabel{addendum/ring:coq:exn.cannot-find-a-declared-ring-structure-over-term}{{3.2.3}{416}{Concrete usage in Coq}{section*.1775}{}}
\newlabel{addendum/ring:coq:exn.cannot-find-a-declared-ring-structure-for-equality-term}{{3.2.3}{416}{Concrete usage in Coq}{section*.1776}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a ring structure}{416}{subsubsection*.1777}\protected@file@percent }
\newlabel{addendum/ring:adding-a-ring-structure}{{3.2.3}{416}{Adding a ring structure}{subsubsection*.1777}{}}
\newlabel{addendum/ring:coq:cmd.add-ring}{{3.2.3}{417}{Adding a ring structure}{section*.1778}{}}
\newlabel{addendum/ring:grammar-token-ring-mod}{{3.2.3}{418}{Adding a ring structure}{section*.1780}{}}
\newlabel{addendum/ring:coq:exn.bad-ring-structure}{{3.2.3}{419}{Adding a ring structure}{section*.1781}{}}
\newlabel{addendum/ring:coq:exn.bad-lemma-for-decidability-of-equality}{{3.2.3}{419}{Adding a ring structure}{section*.1782}{}}
\newlabel{addendum/ring:coq:exn.ring-operation-should-be-declared-as-a-morphism}{{3.2.3}{419}{Adding a ring structure}{section*.1783}{}}
\@writefile{toc}{\contentsline {subsubsection}{How does it work?}{419}{subsubsection*.1784}\protected@file@percent }
\newlabel{addendum/ring:how-does-it-work}{{3.2.3}{419}{How does it work?}{subsubsection*.1784}{}}
\@writefile{toc}{\contentsline {subsubsection}{Dealing with fields}{420}{subsubsection*.1785}\protected@file@percent }
\newlabel{addendum/ring:dealing-with-fields}{{3.2.3}{420}{Dealing with fields}{subsubsection*.1785}{}}
\newlabel{addendum/ring:coq:tacn.field}{{3.2.3}{420}{Dealing with fields}{section*.1786}{}}
\newlabel{addendum/ring:coq:tacn.field-simplify}{{3.2.3}{421}{Dealing with fields}{section*.1787}{}}
\newlabel{addendum/ring:coq:tacn.field-simplify-eq}{{3.2.3}{421}{Dealing with fields}{section*.1788}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a new field structure}{422}{subsubsection*.1789}\protected@file@percent }
\newlabel{addendum/ring:adding-a-new-field-structure}{{3.2.3}{422}{Adding a new field structure}{subsubsection*.1789}{}}
\newlabel{addendum/ring:coq:cmd.add-field}{{3.2.3}{422}{Adding a new field structure}{section*.1790}{}}
\newlabel{addendum/ring:grammar-token-field-mod}{{3.2.3}{422}{Adding a new field structure}{section*.1792}{}}
\citation{zebibliography:bou97}
\@writefile{toc}{\contentsline {subsubsection}{History of ring}{423}{subsubsection*.1793}\protected@file@percent }
\newlabel{addendum/ring:history-of-ring}{{3.2.3}{423}{History of ring}{subsubsection*.1793}{}}
\@writefile{toc}{\contentsline {subsubsection}{Discussion}{423}{subsubsection*.1794}\protected@file@percent }
\newlabel{addendum/ring:discussion}{{3.2.3}{423}{Discussion}{subsubsection*.1794}{}}
\newlabel{addendum/ring:discussion-reflection}{{3.2.3}{423}{Discussion}{subsubsection*.1794}{}}
\citation{zebibliography:sugar}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Nsatz: tactics for proving equalities in integral domains}{424}{subsection.3.2.4}\protected@file@percent }
\newlabel{addendum/nsatz:nsatz-tactics-for-proving-equalities-in-integral-domains}{{3.2.4}{424}{Nsatz: tactics for proving equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz:nsatz-chapter}{{3.2.4}{424}{Nsatz: tactics for proving equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz::doc}{{3.2.4}{424}{Nsatz: tactics for proving equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz:coq:tacn.nsatz}{{3.2.4}{424}{Nsatz: tactics for proving equalities in integral domains}{section*.1795}{}}
\@writefile{toc}{\contentsline {subsubsection}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{424}{subsubsection*.1796}\protected@file@percent }
\newlabel{addendum/nsatz:more-about-nsatz}{{3.2.4}{424}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{subsubsection*.1796}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Generalized rewriting}{425}{subsection.3.2.5}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:generalized-rewriting}{{3.2.5}{425}{Generalized rewriting}{subsection.3.2.5}{}}
\newlabel{addendum/generalized-rewriting:generalizedrewriting}{{3.2.5}{425}{Generalized rewriting}{subsection.3.2.5}{}}
\newlabel{addendum/generalized-rewriting::doc}{{3.2.5}{425}{Generalized rewriting}{subsection.3.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction to generalized rewriting}{426}{subsubsection*.1797}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:introduction-to-generalized-rewriting}{{3.2.5}{426}{Introduction to generalized rewriting}{subsubsection*.1797}{}}
\@writefile{toc}{\contentsline {paragraph}{Relations and morphisms}{426}{paragraph*.1798}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:relations-and-morphisms}{{3.2.5}{426}{Relations and morphisms}{paragraph*.1798}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding new relations and morphisms}{427}{paragraph*.1799}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:adding-new-relations-and-morphisms}{{3.2.5}{427}{Adding new relations and morphisms}{paragraph*.1799}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-parametric-relation}{{3.2.5}{427}{Adding new relations and morphisms}{section*.1800}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-relation}{{3.2.5}{427}{Adding new relations and morphisms}{section*.1801}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-parametric-morphism}{{3.2.5}{428}{Adding new relations and morphisms}{section*.1802}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and non reflexive relations}{429}{paragraph*.1803}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-non-reflexive-relations}{{3.2.5}{429}{Rewriting and non reflexive relations}{paragraph*.1803}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and non symmetric relations}{430}{paragraph*.1804}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-non-symmetric-relations}{{3.2.5}{430}{Rewriting and non symmetric relations}{paragraph*.1804}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting in ambiguous setoid contexts}{431}{paragraph*.1805}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-in-ambiguous-setoid-contexts}{{3.2.5}{431}{Rewriting in ambiguous setoid contexts}{paragraph*.1805}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands and tactics}{431}{subsubsection*.1806}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:commands-and-tactics}{{3.2.5}{431}{Commands and tactics}{subsubsection*.1806}{}}
\@writefile{toc}{\contentsline {paragraph}{First class setoids and morphisms}{431}{paragraph*.1807}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:first-class-setoids-and-morphisms}{{3.2.5}{431}{First class setoids and morphisms}{paragraph*.1807}{}}
\newlabel{addendum/generalized-rewriting:id2}{{3.2.5}{431}{First class setoids and morphisms}{paragraph*.1807}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics enabled on user provided relations}{432}{paragraph*.1808}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:tactics-enabled-on-user-provided-relations}{{3.2.5}{432}{Tactics enabled on user provided relations}{paragraph*.1808}{}}
\newlabel{addendum/generalized-rewriting:id3}{{3.2.5}{432}{Tactics enabled on user provided relations}{paragraph*.1808}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-reflexivity}{{3.2.5}{432}{Tactics enabled on user provided relations}{section*.1809}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-symmetry}{{3.2.5}{432}{Tactics enabled on user provided relations}{section*.1810}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-transitivity}{{3.2.5}{432}{Tactics enabled on user provided relations}{section*.1811}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-rewrite}{{3.2.5}{432}{Tactics enabled on user provided relations}{section*.1812}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-replace}{{3.2.5}{432}{Tactics enabled on user provided relations}{section*.1813}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing relations and morphisms}{433}{paragraph*.1814}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:printing-relations-and-morphisms}{{3.2.5}{433}{Printing relations and morphisms}{paragraph*.1814}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.print-instances}{{3.2.5}{433}{Printing relations and morphisms}{section*.1815}{}}
\@writefile{toc}{\contentsline {paragraph}{Deprecated syntax and backward incompatibilities}{433}{paragraph*.1816}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:deprecated-syntax-and-backward-incompatibilities}{{3.2.5}{433}{Deprecated syntax and backward incompatibilities}{paragraph*.1816}{}}
\newlabel{addendum/generalized-rewriting:deprecated-syntax-for-generalized-rewriting}{{3.2.5}{433}{Deprecated syntax and backward incompatibilities}{paragraph*.1816}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-setoid}{{3.2.5}{433}{Deprecated syntax and backward incompatibilities}{section*.1817}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-morphism}{{3.2.5}{433}{Deprecated syntax and backward incompatibilities}{section*.1818}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.declare-morphism}{{3.2.5}{433}{Deprecated syntax and backward incompatibilities}{section*.1819}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extensions}{433}{subsubsection*.1820}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:extensions}{{3.2.5}{433}{Extensions}{subsubsection*.1820}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{433}{paragraph*.1821}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-under-binders}{{3.2.5}{433}{Rewriting under binders}{paragraph*.1821}{}}
\@writefile{toc}{\contentsline {paragraph}{Subrelations}{434}{paragraph*.1822}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:subrelations}{{3.2.5}{434}{Subrelations}{paragraph*.1822}{}}
\citation{zebibliography:luttik97specificationof}
\citation{zebibliography:visser98}
\citation{zebibliography:visser01}
\@writefile{toc}{\contentsline {paragraph}{Constant unfolding}{435}{paragraph*.1823}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:constant-unfolding}{{3.2.5}{435}{Constant unfolding}{paragraph*.1823}{}}
\@writefile{toc}{\contentsline {subsubsection}{Strategies for rewriting}{435}{subsubsection*.1824}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:strategies-for-rewriting}{{3.2.5}{435}{Strategies for rewriting}{subsubsection*.1824}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{435}{paragraph*.1825}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:definitions}{{3.2.5}{435}{Definitions}{paragraph*.1825}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-rewstrategy}{{3.2.5}{435}{Definitions}{section*.1827}{}}
\citation{zebibliography:del00}
\@writefile{toc}{\contentsline {paragraph}{Usage}{437}{paragraph*.1828}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:usage}{{3.2.5}{437}{Usage}{paragraph*.1828}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.rewrite-strat}{{3.2.5}{437}{Usage}{section*.1829}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.nothing-to-rewrite}{{3.2.5}{437}{Usage}{section*.1830}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.no-progress-made}{{3.2.5}{437}{Usage}{section*.1831}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.unable-to-satisfy-the-rewriting-constraints}{{3.2.5}{437}{Usage}{section*.1832}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Creating new tactics}{437}{section.3.3}\protected@file@percent }
\newlabel{proofs/creating-tactics/index:creating-new-tactics}{{3.3}{437}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index:writing-tactics}{{3.3}{437}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index::doc}{{3.3}{437}{Creating new tactics}{section.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Ltac}{437}{subsection.3.3.1}\protected@file@percent }
\newlabel{proof-engine/ltac:ltac}{{3.3.1}{437}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac:id1}{{3.3.1}{437}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac::doc}{{3.3.1}{437}{Ltac}{subsection.3.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax}{438}{subsubsection*.1833}\protected@file@percent }
\newlabel{proof-engine/ltac:syntax}{{3.3.1}{438}{Syntax}{subsubsection*.1833}{}}
\newlabel{proof-engine/ltac:ltac-syntax}{{3.3.1}{438}{Syntax}{subsubsection*.1833}{}}
\newlabel{proof-engine/ltac:term-left-associative}{{3.3.1}{438}{Syntax}{section*.1834}{}}
\newlabel{proof-engine/ltac:term-right-associative}{{3.3.1}{438}{Syntax}{section*.1835}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr}{{3.3.1}{438}{Syntax}{section*.1845}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr4}{{3.3.1}{438}{Syntax}{section*.1846}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr3}{{3.3.1}{438}{Syntax}{section*.1847}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr2}{{3.3.1}{438}{Syntax}{section*.1848}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr1}{{3.3.1}{438}{Syntax}{section*.1849}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic-value}{{3.3.1}{438}{Syntax}{section*.1850}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic-arg}{{3.3.1}{438}{Syntax}{section*.1851}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac-expr0}{{3.3.1}{438}{Syntax}{section*.1852}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic-atom}{{3.3.1}{438}{Syntax}{section*.1853}{}}
\newlabel{proof-engine/ltac:grammar-token-simple-tactic}{{3.3.1}{438}{Syntax}{section*.1854}{}}
\newlabel{proof-engine/ltac:grammar-token-binder-tactic}{{3.3.1}{438}{Syntax}{section*.1855}{}}
\newlabel{proof-engine/ltac:grammar-token-l3-tactic}{{3.3.1}{439}{Syntax}{section*.1856}{}}
\newlabel{proof-engine/ltac:grammar-token-l2-tactic}{{3.3.1}{439}{Syntax}{section*.1857}{}}
\newlabel{proof-engine/ltac:grammar-token-l1-tactic}{{3.3.1}{439}{Syntax}{section*.1858}{}}
\newlabel{proof-engine/ltac:grammar-token-value-tactic}{{3.3.1}{439}{Syntax}{section*.1859}{}}
\@writefile{toc}{\contentsline {subsubsection}{Semantics}{439}{subsubsection*.1860}\protected@file@percent }
\newlabel{proof-engine/ltac:semantics}{{3.3.1}{439}{Semantics}{subsubsection*.1860}{}}
\newlabel{proof-engine/ltac:ltac-semantics}{{3.3.1}{439}{Semantics}{subsubsection*.1860}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of values}{439}{paragraph*.1861}\protected@file@percent }
\newlabel{proof-engine/ltac:types-of-values}{{3.3.1}{439}{Types of values}{paragraph*.1861}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic values}{439}{paragraph*.1862}\protected@file@percent }
\newlabel{proof-engine/ltac:syntactic-values}{{3.3.1}{439}{Syntactic values}{paragraph*.1862}{}}
\newlabel{proof-engine/ltac:grammar-token-syn-value}{{3.3.1}{439}{Syntactic values}{section*.1864}{}}
\newlabel{proof-engine/ltac:grammar-token-nonterminal}{{3.3.1}{439}{\DUrole {inline-grammar-production}{\phantomsection \label {\detokenize {proof-engine/ltac:grammar-token-nonterminal}}\sphinxcode {\sphinxupquote {nonterminal}}}}{section*.1865}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics in terms}{440}{paragraph*.1866}\protected@file@percent }
\newlabel{proof-engine/ltac:tactics-in-terms}{{3.3.1}{440}{Tactics in terms}{paragraph*.1866}{}}
\newlabel{proof-engine/ltac:grammar-token-term-ltac}{{3.3.1}{440}{Tactics in terms}{section*.1868}{}}
\@writefile{toc}{\contentsline {paragraph}{Substitution}{440}{paragraph*.1869}\protected@file@percent }
\newlabel{proof-engine/ltac:substitution}{{3.3.1}{440}{Substitution}{paragraph*.1869}{}}
\@writefile{toc}{\contentsline {paragraph}{Sequence: ;}{441}{paragraph*.1870}\protected@file@percent }
\newlabel{proof-engine/ltac:sequence}{{3.3.1}{441}{Sequence: ;}{paragraph*.1870}{}}
\newlabel{proof-engine/ltac:coq:tacn.ltac-seq}{{3.3.1}{441}{Sequence: ;}{section*.1871}{}}
\@writefile{toc}{\contentsline {paragraph}{Local application of tactics: {[}> ... {]}}{441}{paragraph*.1872}\protected@file@percent }
\newlabel{proof-engine/ltac:local-application-of-tactics}{{3.3.1}{441}{Local application of tactics: {[}> ... {]}}{paragraph*.1872}{}}
\newlabel{proof-engine/ltac:coq:tacn.dispatch}{{3.3.1}{441}{Local application of tactics: {[}> ... {]}}{section*.1873}{}}
\newlabel{proof-engine/ltac:grammar-token-for-each-goal}{{3.3.1}{441}{Local application of tactics: {[}> ... {]}}{section*.1876}{}}
\newlabel{proof-engine/ltac:grammar-token-goal-tactics}{{3.3.1}{441}{Local application of tactics: {[}> ... {]}}{section*.1877}{}}
\newlabel{proof-engine/ltac:id3}{{3.3.1}{441}{Local application of tactics: {[}> ... {]}}{section*.1878}{}}
\@writefile{toc}{\contentsline {paragraph}{Goal selectors}{442}{paragraph*.1879}\protected@file@percent }
\newlabel{proof-engine/ltac:goal-selectors}{{3.3.1}{442}{Goal selectors}{paragraph*.1879}{}}
\newlabel{proof-engine/ltac:id4}{{3.3.1}{442}{Goal selectors}{paragraph*.1879}{}}
\newlabel{proof-engine/ltac:coq:tacn.goal-selector}{{3.3.1}{442}{Goal selectors}{section*.1880}{}}
\newlabel{proof-engine/ltac:grammar-token-toplevel-selector}{{3.3.1}{442}{Goal selectors}{section*.1882}{}}
\newlabel{proof-engine/ltac:coq:tacn.only}{{3.3.1}{442}{Goal selectors}{section*.1883}{}}
\newlabel{proof-engine/ltac:grammar-token-selector}{{3.3.1}{442}{Goal selectors}{section*.1886}{}}
\newlabel{proof-engine/ltac:grammar-token-range-selector}{{3.3.1}{442}{Goal selectors}{section*.1887}{}}
\newlabel{proof-engine/ltac:coq:exn.no-such-goal-goal-selector}{{3.3.1}{442}{Goal selectors}{section*.1888}{}}
\@writefile{toc}{\contentsline {paragraph}{Processing multiple goals}{443}{paragraph*.1889}\protected@file@percent }
\newlabel{proof-engine/ltac:processing-multiple-goals}{{3.3.1}{443}{Processing multiple goals}{paragraph*.1889}{}}
\@writefile{toc}{\contentsline {paragraph}{Do loop}{443}{paragraph*.1890}\protected@file@percent }
\newlabel{proof-engine/ltac:do-loop}{{3.3.1}{443}{Do loop}{paragraph*.1890}{}}
\newlabel{proof-engine/ltac:coq:tacn.do}{{3.3.1}{443}{Do loop}{section*.1891}{}}
\@writefile{toc}{\contentsline {paragraph}{Repeat loop}{443}{paragraph*.1892}\protected@file@percent }
\newlabel{proof-engine/ltac:repeat-loop}{{3.3.1}{443}{Repeat loop}{paragraph*.1892}{}}
\newlabel{proof-engine/ltac:coq:tacn.repeat}{{3.3.1}{443}{Repeat loop}{section*.1893}{}}
\@writefile{toc}{\contentsline {paragraph}{Catching errors: try}{444}{paragraph*.1894}\protected@file@percent }
\newlabel{proof-engine/ltac:catching-errors-try}{{3.3.1}{444}{Catching errors: try}{paragraph*.1894}{}}
\newlabel{proof-engine/ltac:coq:tacn.try}{{3.3.1}{444}{Catching errors: try}{section*.1895}{}}
\@writefile{toc}{\contentsline {paragraph}{Detecting progress}{444}{paragraph*.1896}\protected@file@percent }
\newlabel{proof-engine/ltac:detecting-progress}{{3.3.1}{444}{Detecting progress}{paragraph*.1896}{}}
\newlabel{proof-engine/ltac:coq:tacn.progress}{{3.3.1}{444}{Detecting progress}{section*.1897}{}}
\newlabel{proof-engine/ltac:coq:exn.failed-to-progress}{{3.3.1}{444}{Detecting progress}{section*.1898}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching and backtracking}{444}{paragraph*.1899}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-and-backtracking}{{3.3.1}{444}{Branching and backtracking}{paragraph*.1899}{}}
\newlabel{proof-engine/ltac:term-branching}{{3.3.1}{444}{Branching and backtracking}{section*.1900}{}}
\newlabel{proof-engine/ltac:term-backtracking}{{3.3.1}{444}{Branching and backtracking}{section*.1901}{}}
\newlabel{proof-engine/ltac:term-backtracking-point}{{3.3.1}{444}{Branching and backtracking}{section*.1902}{}}
\newlabel{proof-engine/ltac:term-first-success}{{3.3.1}{445}{Branching and backtracking}{section*.1903}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching with backtracking: +}{445}{paragraph*.1904}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-with-backtracking}{{3.3.1}{445}{Branching with backtracking: +}{paragraph*.1904}{}}
\newlabel{proof-engine/ltac:coq:tacn.backtracking-branching}{{3.3.1}{445}{Branching with backtracking: +}{section*.1905}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to succeed}{446}{paragraph*.1906}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-succeed}{{3.3.1}{446}{First tactic to succeed}{paragraph*.1906}{}}
\newlabel{proof-engine/ltac:coq:tacn.first}{{3.3.1}{446}{First tactic to succeed}{section*.1907}{}}
\newlabel{proof-engine/ltac:coq:exn.no-applicable-tactic}{{3.3.1}{446}{First tactic to succeed}{section*.1908}{}}
\@writefile{toc}{\contentsline {paragraph}{Solving}{446}{paragraph*.1909}\protected@file@percent }
\newlabel{proof-engine/ltac:solving}{{3.3.1}{446}{Solving}{paragraph*.1909}{}}
\newlabel{proof-engine/ltac:coq:tacn.solve}{{3.3.1}{446}{Solving}{section*.1910}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to make progress: ||}{447}{paragraph*.1911}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-make-progress}{{3.3.1}{447}{First tactic to make progress: ||}{paragraph*.1911}{}}
\newlabel{proof-engine/ltac:coq:tacn.first-tactic-making-progress}{{3.3.1}{447}{First tactic to make progress: ||}{section*.1912}{}}
\@writefile{toc}{\contentsline {paragraph}{Conditional branching: tryif}{447}{paragraph*.1913}\protected@file@percent }
\newlabel{proof-engine/ltac:conditional-branching-tryif}{{3.3.1}{447}{Conditional branching: tryif}{paragraph*.1913}{}}
\newlabel{proof-engine/ltac:coq:tacn.tryif}{{3.3.1}{447}{Conditional branching: tryif}{section*.1914}{}}
\@writefile{toc}{\contentsline {paragraph}{Soft cut: once}{447}{paragraph*.1915}\protected@file@percent }
\newlabel{proof-engine/ltac:soft-cut-once}{{3.3.1}{447}{Soft cut: once}{paragraph*.1915}{}}
\newlabel{proof-engine/ltac:coq:tacn.once}{{3.3.1}{447}{Soft cut: once}{section*.1916}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for a single success: exactly\_once}{447}{paragraph*.1917}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-a-single-success-exactly-once}{{3.3.1}{447}{Checking for a single success: exactly\_once}{paragraph*.1917}{}}
\newlabel{proof-engine/ltac:coq:tacn.exactly-once}{{3.3.1}{447}{Checking for a single success: exactly\_once}{section*.1918}{}}
\newlabel{proof-engine/ltac:coq:exn.this-tactic-has-more-than-one-success}{{3.3.1}{447}{Checking for a single success: exactly\_once}{section*.1919}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for failure: assert\_fails}{448}{paragraph*.1920}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-failure-assert-fails}{{3.3.1}{448}{Checking for failure: assert\_fails}{paragraph*.1920}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert-fails}{{3.3.1}{448}{Checking for failure: assert\_fails}{section*.1921}{}}
\newlabel{proof-engine/ltac:coq:exn.tactic-failure-tactic-closure-succeeds}{{3.3.1}{448}{Checking for failure: assert\_fails}{section*.1922}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for success: assert\_succeeds}{448}{paragraph*.1923}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-success-assert-succeeds}{{3.3.1}{448}{Checking for success: assert\_succeeds}{paragraph*.1923}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert-succeeds}{{3.3.1}{448}{Checking for success: assert\_succeeds}{section*.1924}{}}
\newlabel{proof-engine/ltac:coq:exn.tactic-failure-tactic-closure-fails}{{3.3.1}{448}{Checking for success: assert\_succeeds}{section*.1925}{}}
\@writefile{toc}{\contentsline {paragraph}{Print/identity tactic: idtac}{448}{paragraph*.1926}\protected@file@percent }
\newlabel{proof-engine/ltac:print-identity-tactic-idtac}{{3.3.1}{448}{Print/identity tactic: idtac}{paragraph*.1926}{}}
\newlabel{proof-engine/ltac:coq:tacn.idtac}{{3.3.1}{448}{Print/identity tactic: idtac}{section*.1927}{}}
\@writefile{toc}{\contentsline {paragraph}{Failing}{449}{paragraph*.1928}\protected@file@percent }
\newlabel{proof-engine/ltac:failing}{{3.3.1}{449}{Failing}{paragraph*.1928}{}}
\newlabel{proof-engine/ltac:coq:tacn.fail}{{3.3.1}{449}{Failing}{section*.1929}{}}
\newlabel{proof-engine/ltac:coq:tacn.gfail}{{3.3.1}{449}{Failing}{section*.1930}{}}
\newlabel{proof-engine/ltac:coq:exn.tactic-failure}{{3.3.1}{449}{Failing}{section*.1931}{}}
\newlabel{proof-engine/ltac:coq:exn.tactic-failure-level-num}{{3.3.1}{449}{Failing}{section*.1932}{}}
\newlabel{proof-engine/ltac:coq:exn.no-such-goal-fail}{{3.3.1}{449}{Failing}{section*.1933}{}}
\@writefile{toc}{\contentsline {paragraph}{Timeout}{451}{paragraph*.1934}\protected@file@percent }
\newlabel{proof-engine/ltac:timeout}{{3.3.1}{451}{Timeout}{paragraph*.1934}{}}
\newlabel{proof-engine/ltac:coq:tacn.timeout}{{3.3.1}{451}{Timeout}{section*.1935}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic}{451}{paragraph*.1936}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic}{{3.3.1}{451}{Timing a tactic}{paragraph*.1936}{}}
\newlabel{proof-engine/ltac:coq:tacn.time}{{3.3.1}{451}{Timing a tactic}{section*.1937}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic that evaluates to a term: time\_constr}{452}{paragraph*.1938}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic-that-evaluates-to-a-term-time-constr}{{3.3.1}{452}{Timing a tactic that evaluates to a term: time\_constr}{paragraph*.1938}{}}
\newlabel{proof-engine/ltac:coq:tacn.time-constr}{{3.3.1}{452}{Timing a tactic that evaluates to a term: time\_constr}{section*.1939}{}}
\newlabel{proof-engine/ltac:coq:tacn.restart-timer}{{3.3.1}{452}{Timing a tactic that evaluates to a term: time\_constr}{section*.1940}{}}
\newlabel{proof-engine/ltac:coq:tacn.finish-timing}{{3.3.1}{452}{Timing a tactic that evaluates to a term: time\_constr}{section*.1941}{}}
\@writefile{toc}{\contentsline {paragraph}{Local definitions: let}{453}{paragraph*.1942}\protected@file@percent }
\newlabel{proof-engine/ltac:local-definitions-let}{{3.3.1}{453}{Local definitions: let}{paragraph*.1942}{}}
\newlabel{proof-engine/ltac:coq:tacn.let}{{3.3.1}{453}{Local definitions: let}{section*.1943}{}}
\newlabel{proof-engine/ltac:grammar-token-let-clause}{{3.3.1}{453}{Local definitions: let}{section*.1945}{}}
\@writefile{toc}{\contentsline {paragraph}{Function construction and application}{453}{paragraph*.1946}\protected@file@percent }
\newlabel{proof-engine/ltac:function-construction-and-application}{{3.3.1}{453}{Function construction and application}{paragraph*.1946}{}}
\newlabel{proof-engine/ltac:coq:tacn.fun}{{3.3.1}{453}{Function construction and application}{section*.1947}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on terms: match}{453}{paragraph*.1948}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-terms-match}{{3.3.1}{453}{Pattern matching on terms: match}{paragraph*.1948}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1949}{}}
\newlabel{proof-engine/ltac:coq:tacn.match}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1950}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1951}{}}
\newlabel{proof-engine/ltac:grammar-token-match-key}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1955}{}}
\newlabel{proof-engine/ltac:grammar-token-match-pattern}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1956}{}}
\newlabel{proof-engine/ltac:grammar-token-cpattern}{{3.3.1}{453}{Pattern matching on terms: match}{section*.1957}{}}
\newlabel{proof-engine/ltac:match-term-context}{{3.3.1}{454}{Pattern matching on terms: match}{section*.1958}{}}
\newlabel{proof-engine/ltac:coq:exn.expression-does-not-evaluate-to-a-tactic}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1959}{}}
\newlabel{proof-engine/ltac:coq:exn.no-matching-clauses-for-match}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1960}{}}
\newlabel{proof-engine/ltac:coq:exn.argument-of-match-does-not-evaluate-to-a-term}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1961}{}}
\newlabel{proof-engine/ltac:match-vs-lazymatch-ex}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1962}{}}
\newlabel{proof-engine/ltac:match-vs-multimatch-ex}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1963}{}}
\newlabel{proof-engine/ltac:match-with-holes-ex}{{3.3.1}{456}{Pattern matching on terms: match}{section*.1964}{}}
\newlabel{proof-engine/ltac:match-term-context-ex}{{3.3.1}{456}{Pattern matching on terms: match}{section*.1965}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on goals and hypotheses: match goal}{456}{paragraph*.1966}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-goals-and-hypotheses-match-goal}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{paragraph*.1966}{}}
\newlabel{proof-engine/ltac:ltac-match-goal}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{paragraph*.1966}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch-goal}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{section*.1967}{}}
\newlabel{proof-engine/ltac:coq:tacn.match-goal}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{section*.1968}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch-goal}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{section*.1969}{}}
\newlabel{proof-engine/ltac:grammar-token-goal-pattern}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{section*.1972}{}}
\newlabel{proof-engine/ltac:grammar-token-match-hyp}{{3.3.1}{456}{Pattern matching on goals and hypotheses: match goal}{section*.1973}{}}
\newlabel{proof-engine/ltac:coq:exn.no-matching-clauses-for-match-goal}{{3.3.1}{457}{Pattern matching on goals and hypotheses: match goal}{section*.1974}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-ex}{{3.3.1}{457}{Pattern matching on goals and hypotheses: match goal}{section*.1975}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-rev-ex}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1976}{}}
\newlabel{proof-engine/ltac:match-goal-multiple-hyps-ex}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1977}{}}
\@writefile{toc}{\contentsline {paragraph}{Filling a term context}{459}{paragraph*.1978}\protected@file@percent }
\newlabel{proof-engine/ltac:filling-a-term-context}{{3.3.1}{459}{Filling a term context}{paragraph*.1978}{}}
\newlabel{proof-engine/ltac:coq:tacn.context}{{3.3.1}{459}{Filling a term context}{section*.1979}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-context-variable}{{3.3.1}{459}{Filling a term context}{section*.1980}{}}
\newlabel{proof-engine/ltac:coq:exn.unbound-context-identifier-ident}{{3.3.1}{459}{Filling a term context}{section*.1981}{}}
\@writefile{toc}{\contentsline {paragraph}{Generating fresh hypothesis names}{460}{paragraph*.1982}\protected@file@percent }
\newlabel{proof-engine/ltac:generating-fresh-hypothesis-names}{{3.3.1}{460}{Generating fresh hypothesis names}{paragraph*.1982}{}}
\newlabel{proof-engine/ltac:coq:tacn.fresh}{{3.3.1}{460}{Generating fresh hypothesis names}{section*.1983}{}}
\@writefile{toc}{\contentsline {paragraph}{Computing in a term: eval}{460}{paragraph*.1984}\protected@file@percent }
\newlabel{proof-engine/ltac:computing-in-a-term-eval}{{3.3.1}{460}{Computing in a term: eval}{paragraph*.1984}{}}
\newlabel{proof-engine/ltac:coq:tacn.eval}{{3.3.1}{460}{Computing in a term: eval}{section*.1985}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting the type of a term}{461}{paragraph*.1986}\protected@file@percent }
\newlabel{proof-engine/ltac:getting-the-type-of-a-term}{{3.3.1}{461}{Getting the type of a term}{paragraph*.1986}{}}
\newlabel{proof-engine/ltac:coq:tacn.type-of}{{3.3.1}{461}{Getting the type of a term}{section*.1987}{}}
\@writefile{toc}{\contentsline {paragraph}{Manipulating untyped terms: type\_term}{461}{paragraph*.1988}\protected@file@percent }
\newlabel{proof-engine/ltac:manipulating-untyped-terms-type-term}{{3.3.1}{461}{Manipulating untyped terms: type\_term}{paragraph*.1988}{}}
\newlabel{proof-engine/ltac:coq:tacn.type-term}{{3.3.1}{461}{Manipulating untyped terms: type\_term}{section*.1989}{}}
\@writefile{toc}{\contentsline {paragraph}{Counting goals: numgoals}{461}{paragraph*.1990}\protected@file@percent }
\newlabel{proof-engine/ltac:counting-goals-numgoals}{{3.3.1}{461}{Counting goals: numgoals}{paragraph*.1990}{}}
\newlabel{proof-engine/ltac:coq:tacn.numgoals}{{3.3.1}{461}{Counting goals: numgoals}{section*.1991}{}}
\@writefile{toc}{\contentsline {paragraph}{Testing boolean expressions: guard}{461}{paragraph*.1992}\protected@file@percent }
\newlabel{proof-engine/ltac:testing-boolean-expressions-guard}{{3.3.1}{461}{Testing boolean expressions: guard}{paragraph*.1992}{}}
\newlabel{proof-engine/ltac:coq:tacn.guard}{{3.3.1}{461}{Testing boolean expressions: guard}{section*.1993}{}}
\newlabel{proof-engine/ltac:grammar-token-comparison}{{3.3.1}{461}{Testing boolean expressions: guard}{section*.1995}{}}
\newlabel{proof-engine/ltac:coq:exn.condition-not-satisfied}{{3.3.1}{462}{Testing boolean expressions: guard}{section*.1996}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving a subgoal as a separate lemma: abstract}{462}{paragraph*.1997}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-a-subgoal-as-a-separate-lemma-abstract}{{3.3.1}{462}{Proving a subgoal as a separate lemma: abstract}{paragraph*.1997}{}}
\newlabel{proof-engine/ltac:coq:tacn.abstract}{{3.3.1}{462}{Proving a subgoal as a separate lemma: abstract}{section*.1998}{}}
\newlabel{proof-engine/ltac:coq:tacn.transparent-abstract}{{3.3.1}{462}{Proving a subgoal as a separate lemma: abstract}{section*.1999}{}}
\newlabel{proof-engine/ltac:coq:exn.proof-is-not-complete-abstract}{{3.3.1}{462}{Proving a subgoal as a separate lemma: abstract}{section*.2000}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic toplevel definitions}{463}{subsubsection*.2001}\protected@file@percent }
\newlabel{proof-engine/ltac:tactic-toplevel-definitions}{{3.3.1}{463}{Tactic toplevel definitions}{subsubsection*.2001}{}}
\@writefile{toc}{\contentsline {paragraph}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ symbols}{463}{paragraph*.2002}\protected@file@percent }
\newlabel{proof-engine/ltac:defining-ltac-symbols}{{3.3.1}{463}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{paragraph*.2002}{}}
\newlabel{proof-engine/ltac:coq:cmd.ltac}{{3.3.1}{463}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2003}{}}
\newlabel{proof-engine/ltac:grammar-token-tacdef-body}{{3.3.1}{463}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2005}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{463}{paragraph*.2006}\protected@file@percent }
\newlabel{proof-engine/ltac:printing-ltac-tactics}{{3.3.1}{463}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.2006}{}}
\newlabel{proof-engine/ltac:coq:cmd.print-ltac}{{3.3.1}{463}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2007}{}}
\newlabel{proof-engine/ltac:coq:cmd.print-ltac-signatures}{{3.3.1}{463}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2008}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$}{463}{subsubsection*.2009}\protected@file@percent }
\newlabel{proof-engine/ltac:examples-of-using-ltac}{{3.3.1}{463}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.2009}{}}
\newlabel{proof-engine/ltac:ltac-examples}{{3.3.1}{463}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.2009}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof that the natural numbers have at least two elements}{463}{paragraph*.2010}\protected@file@percent }
\newlabel{proof-engine/ltac:proof-that-the-natural-numbers-have-at-least-two-elements}{{3.3.1}{463}{Proof that the natural numbers have at least two elements}{paragraph*.2010}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving that a list is a permutation of a second list}{465}{paragraph*.2011}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-that-a-list-is-a-permutation-of-a-second-list}{{3.3.1}{465}{Proving that a list is a permutation of a second list}{paragraph*.2011}{}}
\citation{zebibliography:dyc92}
\@writefile{toc}{\contentsline {paragraph}{Deciding intuitionistic propositional logic}{466}{paragraph*.2012}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-intuitionistic-propositional-logic}{{3.3.1}{466}{Deciding intuitionistic propositional logic}{paragraph*.2012}{}}
\citation{zebibliography:rc95}
\@writefile{toc}{\contentsline {paragraph}{Deciding type isomorphisms}{468}{paragraph*.2013}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-type-isomorphisms}{{3.3.1}{468}{Deciding type isomorphisms}{paragraph*.2013}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{470}{subsubsection*.2014}\protected@file@percent }
\newlabel{proof-engine/ltac:debugging-ltac-tactics}{{3.3.1}{470}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{subsubsection*.2014}{}}
\@writefile{toc}{\contentsline {paragraph}{Backtraces}{470}{paragraph*.2015}\protected@file@percent }
\newlabel{proof-engine/ltac:backtraces}{{3.3.1}{470}{Backtraces}{paragraph*.2015}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-backtrace}{{3.3.1}{470}{Backtraces}{section*.2016}{}}
\@writefile{toc}{\contentsline {paragraph}{Tracing execution}{470}{paragraph*.2017}\protected@file@percent }
\newlabel{proof-engine/ltac:tracing-execution}{{3.3.1}{470}{Tracing execution}{paragraph*.2017}{}}
\newlabel{proof-engine/ltac:coq:cmd.info}{{3.3.1}{470}{Tracing execution}{section*.2018}{}}
\newlabel{proof-engine/ltac:coq:opt.info-level}{{3.3.1}{470}{Tracing execution}{section*.2019}{}}
\@writefile{toc}{\contentsline {paragraph}{Interactive debugger}{471}{paragraph*.2020}\protected@file@percent }
\newlabel{proof-engine/ltac:interactive-debugger}{{3.3.1}{471}{Interactive debugger}{paragraph*.2020}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-debug}{{3.3.1}{471}{Interactive debugger}{section*.2021}{}}
\newlabel{proof-engine/ltac:coq:exn.debug-mode-not-available-in-the-ide}{{3.3.1}{471}{Interactive debugger}{section*.2022}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-batch-debug}{{3.3.1}{471}{Interactive debugger}{section*.2023}{}}
\@writefile{toc}{\contentsline {paragraph}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{471}{paragraph*.2024}\protected@file@percent }
\newlabel{proof-engine/ltac:profiling-ltac-tactics}{{3.3.1}{471}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.2024}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-profiling}{{3.3.1}{471}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2025}{}}
\newlabel{proof-engine/ltac:coq:cmd.show-ltac-profile}{{3.3.1}{471}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2026}{}}
\newlabel{proof-engine/ltac:coq:cmd.reset-ltac-profile}{{3.3.1}{471}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2027}{}}
\newlabel{proof-engine/ltac:coq:tacn.start-ltac-profiling}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2028}{}}
\newlabel{proof-engine/ltac:coq:tacn.stop-ltac-profiling}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2029}{}}
\newlabel{proof-engine/ltac:coq:tacn.reset-ltac-profile}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2030}{}}
\newlabel{proof-engine/ltac:coq:tacn.show-ltac-profile}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2031}{}}
\newlabel{proof-engine/ltac:coq:warn.ltac-profiler-encountered-an-invalid-stack-no-self-node-this-can-happen-if-you-reset-the-profile-during-tactic-execution}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2032}{}}
\@writefile{toc}{\contentsline {paragraph}{Run\sphinxhyphen {}time optimization tactic}{473}{paragraph*.2033}\protected@file@percent }
\newlabel{proof-engine/ltac:run-time-optimization-tactic}{{3.3.1}{473}{Run\sphinxhyphen {}time optimization tactic}{paragraph*.2033}{}}
\newlabel{proof-engine/ltac:coq:tacn.optimize-heap}{{3.3.1}{473}{Run\sphinxhyphen {}time optimization tactic}{section*.2034}{}}
\newlabel{proof-engine/ltac:coq:tacn.infoh}{{3.3.1}{473}{Run\sphinxhyphen {}time optimization tactic}{section*.2035}{}}
\citation{zebibliography:milnerprincipaltypeschemes}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Ltac2}{474}{subsection.3.3.2}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2}{{3.3.2}{474}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2:id1}{{3.3.2}{474}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2::doc}{{3.3.2}{474}{Ltac2}{subsection.3.3.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{General design}{474}{subsubsection*.2036}\protected@file@percent }
\newlabel{proof-engine/ltac2:general-design}{{3.3.2}{474}{General design}{subsubsection*.2036}{}}
\newlabel{proof-engine/ltac2:ltac2-design}{{3.3.2}{474}{General design}{subsubsection*.2036}{}}
\@writefile{toc}{\contentsline {subsubsection}{ML component}{474}{subsubsection*.2037}\protected@file@percent }
\newlabel{proof-engine/ltac2:ml-component}{{3.3.2}{474}{ML component}{subsubsection*.2037}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{474}{paragraph*.2038}\protected@file@percent }
\newlabel{proof-engine/ltac2:overview}{{3.3.2}{474}{Overview}{paragraph*.2038}{}}
\gdef \LT@ix {\LT@entry 
    {1}{108.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{306.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Type Syntax}{475}{paragraph*.2039}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-syntax}{{3.3.2}{475}{Type Syntax}{paragraph*.2039}{}}
\newlabel{proof-engine/ltac2:grammar-token-lident}{{3.3.2}{475}{Type Syntax}{section*.2040}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type}{{8}{475}{Type Syntax}{section*.2041}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typeconst}{{8}{475}{Type Syntax}{section*.2042}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typevar}{{8}{475}{Type Syntax}{section*.2043}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typeparams}{{8}{475}{Type Syntax}{section*.2044}{}}
\gdef \LT@x {\LT@entry 
    {1}{132.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{336.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Type declarations}{476}{paragraph*.2045}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-declarations}{{3.3.2}{476}{Type declarations}{paragraph*.2045}{}}
\newlabel{proof-engine/ltac2:coq:cmd.ltac2-type}{{3.3.2}{476}{Type declarations}{section*.2046}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typedef}{{9}{476}{Type declarations}{section*.2047}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_constructordef}{{9}{476}{Type declarations}{section*.2048}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_fielddef}{{9}{476}{Type declarations}{section*.2049}{}}
\newlabel{proof-engine/ltac2:grammar-token-uident}{{3.3.2}{476}{Type declarations}{section*.2050}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Syntax}{476}{paragraph*.2051}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-syntax}{{3.3.2}{476}{Term Syntax}{paragraph*.2051}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_var}{{10}{476}{Term Syntax}{section*.2052}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_qualid}{{10}{476}{Term Syntax}{section*.2053}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_constructor}{{10}{476}{Term Syntax}{section*.2054}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_term}{{10}{476}{Term Syntax}{section*.2055}{}}
\gdef \LT@xi {\LT@entry 
    {1}{114.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{348.00002pt}}
\gdef \LT@xii {\LT@entry 
    {1}{78.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{288.19002pt}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_branch}{{10}{477}{Term Syntax}{section*.2056}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_pattern}{{10}{477}{Term Syntax}{section*.2057}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_field}{{10}{477}{Term Syntax}{section*.2058}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac Definitions}{477}{paragraph*.2059}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac-definitions}{{3.3.2}{477}{Ltac Definitions}{paragraph*.2059}{}}
\newlabel{proof-engine/ltac2:coq:cmd.ltac2}{{3.3.2}{477}{Ltac Definitions}{section*.2060}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_value}{{11}{477}{Ltac Definitions}{section*.2061}{}}
\newlabel{proof-engine/ltac2:coq:cmd.ltac2-set}{{3.3.2}{477}{Ltac Definitions}{section*.2062}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{478}{paragraph*.2063}\protected@file@percent }
\newlabel{proof-engine/ltac2:reduction}{{3.3.2}{478}{Reduction}{paragraph*.2063}{}}
\@writefile{toc}{\contentsline {paragraph}{Typing}{479}{paragraph*.2064}\protected@file@percent }
\newlabel{proof-engine/ltac2:typing}{{3.3.2}{479}{Typing}{paragraph*.2064}{}}
\@writefile{toc}{\contentsline {paragraph}{Effects}{479}{paragraph*.2065}\protected@file@percent }
\newlabel{proof-engine/ltac2:effects}{{3.3.2}{479}{Effects}{paragraph*.2065}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard IO}{479}{subparagraph*.2066}\protected@file@percent }
\newlabel{proof-engine/ltac2:standard-io}{{3.3.2}{479}{Standard IO}{subparagraph*.2066}{}}
\@writefile{toc}{\contentsline {subparagraph}{Fatal errors}{479}{subparagraph*.2067}\protected@file@percent }
\newlabel{proof-engine/ltac2:fatal-errors}{{3.3.2}{479}{Fatal errors}{subparagraph*.2067}{}}
\@writefile{toc}{\contentsline {subparagraph}{Backtracking}{480}{subparagraph*.2068}\protected@file@percent }
\newlabel{proof-engine/ltac2:backtracking}{{3.3.2}{480}{Backtracking}{subparagraph*.2068}{}}
\@writefile{toc}{\contentsline {subparagraph}{Goals}{480}{subparagraph*.2069}\protected@file@percent }
\newlabel{proof-engine/ltac2:goals}{{3.3.2}{480}{Goals}{subparagraph*.2069}{}}
\@writefile{toc}{\contentsline {subsubsection}{Meta\sphinxhyphen {}programming}{481}{subsubsection*.2070}\protected@file@percent }
\newlabel{proof-engine/ltac2:meta-programming}{{3.3.2}{481}{Meta\sphinxhyphen {}programming}{subsubsection*.2070}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{481}{paragraph*.2071}\protected@file@percent }
\newlabel{proof-engine/ltac2:id3}{{3.3.2}{481}{Overview}{paragraph*.2071}{}}
\@writefile{toc}{\contentsline {paragraph}{Generic Syntax for Quotations}{481}{paragraph*.2072}\protected@file@percent }
\newlabel{proof-engine/ltac2:generic-syntax-for-quotations}{{3.3.2}{481}{Generic Syntax for Quotations}{paragraph*.2072}{}}
\newlabel{proof-engine/ltac2:grammar-token-quotentry}{{3.3.2}{481}{Generic Syntax for Quotations}{section*.2073}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2-term}{{3.3.2}{481}{Generic Syntax for Quotations}{section*.2075}{}}
\@writefile{toc}{\contentsline {subparagraph}{Built\sphinxhyphen {}in quotations}{481}{subparagraph*.2076}\protected@file@percent }
\newlabel{proof-engine/ltac2:built-in-quotations}{{3.3.2}{481}{Built\sphinxhyphen {}in quotations}{subparagraph*.2076}{}}
\newlabel{proof-engine/ltac2:ltac2-built-in-quotations}{{3.3.2}{481}{Built\sphinxhyphen {}in quotations}{subparagraph*.2076}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict vs. non\sphinxhyphen {}strict mode}{481}{subparagraph*.2077}\protected@file@percent }
\newlabel{proof-engine/ltac2:strict-vs-non-strict-mode}{{3.3.2}{481}{Strict vs. non\sphinxhyphen {}strict mode}{subparagraph*.2077}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Antiquotations}{482}{paragraph*.2078}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-antiquotations}{{3.3.2}{482}{Term Antiquotations}{paragraph*.2078}{}}
\@writefile{toc}{\contentsline {subparagraph}{Syntax}{482}{subparagraph*.2079}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax}{{3.3.2}{482}{Syntax}{subparagraph*.2079}{}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{482}{Syntax}{section*.2081}{}}
\@writefile{toc}{\contentsline {subparagraph}{Semantics}{482}{subparagraph*.2082}\protected@file@percent }
\newlabel{proof-engine/ltac2:semantics}{{3.3.2}{482}{Semantics}{subparagraph*.2082}{}}
\@writefile{toc}{\contentsline {subparagraph}{Static semantics}{482}{subparagraph*.2083}\protected@file@percent }
\newlabel{proof-engine/ltac2:static-semantics}{{3.3.2}{482}{Static semantics}{subparagraph*.2083}{}}
\@writefile{toc}{\contentsline {subparagraph}{Dynamic semantics}{483}{subparagraph*.2084}\protected@file@percent }
\newlabel{proof-engine/ltac2:dynamic-semantics}{{3.3.2}{483}{Dynamic semantics}{subparagraph*.2084}{}}
\gdef \LT@xiii {\LT@entry 
    {1}{96.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{410.50002pt}}
\gdef \LT@xiv {\LT@entry 
    {1}{84.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{428.50002pt}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{484}{Dynamic semantics}{section*.2086}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over terms}{484}{paragraph*.2087}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-terms}{{3.3.2}{484}{Match over terms}{paragraph*.2087}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_term}{{12}{484}{Match over terms}{section*.2088}{}}
\newlabel{proof-engine/ltac2:grammar-token-constrmatching}{{12}{484}{Match over terms}{section*.2089}{}}
\newlabel{proof-engine/ltac2:grammar-token-constrpattern}{{12}{484}{Match over terms}{section*.2090}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over goals}{484}{paragraph*.2091}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-goals}{{3.3.2}{484}{Match over goals}{paragraph*.2091}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_term}{{13}{484}{Match over goals}{section*.2092}{}}
\newlabel{proof-engine/ltac2:grammar-token-goalmatching}{{13}{484}{Match over goals}{section*.2093}{}}
\newlabel{proof-engine/ltac2:grammar-token-hypmatching}{{13}{484}{Match over goals}{section*.2094}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{485}{subsubsection*.2095}\protected@file@percent }
\newlabel{proof-engine/ltac2:notations}{{3.3.2}{485}{Notations}{subsubsection*.2095}{}}
\newlabel{proof-engine/ltac2:ltac2-notations}{{3.3.2}{485}{Notations}{subsubsection*.2095}{}}
\@writefile{toc}{\contentsline {paragraph}{Scopes}{485}{paragraph*.2096}\protected@file@percent }
\newlabel{proof-engine/ltac2:scopes}{{3.3.2}{485}{Scopes}{paragraph*.2096}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2-scope}{{3.3.2}{485}{Scopes}{section*.2098}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations}{486}{paragraph*.2099}\protected@file@percent }
\newlabel{proof-engine/ltac2:id4}{{3.3.2}{486}{Notations}{paragraph*.2099}{}}
\newlabel{proof-engine/ltac2:coq:cmd.ltac2-notation}{{3.3.2}{486}{Notations}{section*.2100}{}}
\gdef \LT@xv {\LT@entry 
    {1}{72.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{144.00002pt}}
\gdef \LT@xvi {\LT@entry 
    {1}{72.00002pt}\LT@entry 
    {1}{22.64001pt}\LT@entry 
    {1}{258.00002pt}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{487}{paragraph*.2101}\protected@file@percent }
\newlabel{proof-engine/ltac2:abbreviations}{{3.3.2}{487}{Abbreviations}{paragraph*.2101}{}}
\@writefile{toc}{\contentsline {subsubsection}{Evaluation}{487}{subsubsection*.2102}\protected@file@percent }
\newlabel{proof-engine/ltac2:evaluation}{{3.3.2}{487}{Evaluation}{subsubsection*.2102}{}}
\newlabel{proof-engine/ltac2:coq:cmd.ltac2-eval}{{3.3.2}{487}{Evaluation}{section*.2103}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debug}{487}{subsubsection*.2104}\protected@file@percent }
\newlabel{proof-engine/ltac2:debug}{{3.3.2}{487}{Debug}{subsubsection*.2104}{}}
\newlabel{proof-engine/ltac2:coq:flag.ltac2-backtrace}{{3.3.2}{487}{Debug}{section*.2105}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compatibility layer with Ltac1}{487}{subsubsection*.2106}\protected@file@percent }
\newlabel{proof-engine/ltac2:compatibility-layer-with-ltac1}{{3.3.2}{487}{Compatibility layer with Ltac1}{subsubsection*.2106}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac1 from Ltac2}{487}{paragraph*.2107}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac1-from-ltac2}{{3.3.2}{487}{Ltac1 from Ltac2}{paragraph*.2107}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simple API}{487}{subparagraph*.2108}\protected@file@percent }
\newlabel{proof-engine/ltac2:simple-api}{{3.3.2}{487}{Simple API}{subparagraph*.2108}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_term}{{14}{487}{Simple API}{section*.2109}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_term}{{15}{487}{Simple API}{section*.2110}{}}
\@writefile{toc}{\contentsline {subparagraph}{Low\sphinxhyphen {}level API}{488}{subparagraph*.2111}\protected@file@percent }
\newlabel{proof-engine/ltac2:low-level-api}{{3.3.2}{488}{Low\sphinxhyphen {}level API}{subparagraph*.2111}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac2 from Ltac1}{488}{paragraph*.2112}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2-from-ltac1}{{3.3.2}{488}{Ltac2 from Ltac1}{paragraph*.2112}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac-expr}{{3.3.2}{488}{Ltac2 from Ltac1}{section*.2114}{}}
\@writefile{toc}{\contentsline {paragraph}{Switching between Ltac languages}{489}{paragraph*.2115}\protected@file@percent }
\newlabel{proof-engine/ltac2:switching-between-ltac-languages}{{3.3.2}{489}{Switching between Ltac languages}{paragraph*.2115}{}}
\@writefile{toc}{\contentsline {subsubsection}{Transition from Ltac1}{489}{subsubsection*.2116}\protected@file@percent }
\newlabel{proof-engine/ltac2:transition-from-ltac1}{{3.3.2}{489}{Transition from Ltac1}{subsubsection*.2116}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax changes}{489}{paragraph*.2117}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax-changes}{{3.3.2}{489}{Syntax changes}{paragraph*.2117}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactic delay}{489}{paragraph*.2118}\protected@file@percent }
\newlabel{proof-engine/ltac2:tactic-delay}{{3.3.2}{489}{Tactic delay}{paragraph*.2118}{}}
\@writefile{toc}{\contentsline {paragraph}{Variable binding}{490}{paragraph*.2119}\protected@file@percent }
\newlabel{proof-engine/ltac2:variable-binding}{{3.3.2}{490}{Variable binding}{paragraph*.2119}{}}
\@writefile{toc}{\contentsline {subparagraph}{In Ltac expressions}{490}{subparagraph*.2120}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-ltac-expressions}{{3.3.2}{490}{In Ltac expressions}{subparagraph*.2120}{}}
\newlabel{proof-engine/ltac2:coq:exn.unbound-value-constructor-x}{{3.3.2}{490}{In Ltac expressions}{section*.2121}{}}
\@writefile{toc}{\contentsline {subparagraph}{In quotations}{490}{subparagraph*.2122}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-quotations}{{3.3.2}{490}{In quotations}{subparagraph*.2122}{}}
\newlabel{proof-engine/ltac2:coq:exn.the-reference-x-was-not-found-in-the-current-environment}{{3.3.2}{490}{In quotations}{section*.2123}{}}
\@writefile{toc}{\contentsline {paragraph}{Exception catching}{490}{paragraph*.2124}\protected@file@percent }
\newlabel{proof-engine/ltac2:exception-catching}{{3.3.2}{490}{Exception catching}{paragraph*.2124}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Using Coq}{491}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:using-coq}{{4}{491}{Using Coq}{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Libraries and plugins}{491}{section.4.1}\protected@file@percent }
\newlabel{using/libraries/index:libraries-and-plugins}{{4.1}{491}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index:libraries}{{4.1}{491}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index::doc}{{4.1}{491}{Libraries and plugins}{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}The Coq library}{491}{subsection.4.1.1}\protected@file@percent }
\newlabel{language/coq-library:the-coq-library}{{4.1.1}{491}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:thecoqlibrary}{{4.1.1}{491}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library::doc}{{4.1.1}{491}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:term-prelude}{{4.1.1}{491}{The Coq library}{section*.2125}{}}
\newlabel{language/coq-library:term-standard-library}{{4.1.1}{491}{The Coq library}{section*.2126}{}}
\@writefile{toc}{\contentsline {subsubsection}{The prelude}{491}{subsubsection*.2127}\protected@file@percent }
\newlabel{language/coq-library:the-prelude}{{4.1.1}{491}{The prelude}{subsubsection*.2127}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations}{492}{paragraph*.2128}\protected@file@percent }
\newlabel{language/coq-library:notations}{{4.1.1}{492}{Notations}{paragraph*.2128}{}}
\newlabel{language/coq-library:init-notations}{{4.1.1}{492}{Notations}{paragraph*.2128}{}}
\@writefile{toc}{\contentsline {paragraph}{Logic}{492}{paragraph*.2129}\protected@file@percent }
\newlabel{language/coq-library:logic}{{4.1.1}{492}{Logic}{paragraph*.2129}{}}
\newlabel{language/coq-library:coq-library-logic}{{4.1.1}{492}{Logic}{paragraph*.2129}{}}
\newlabel{language/coq-library:grammar-token-form}{{4.1.1}{492}{Logic}{section*.2130}{}}
\@writefile{toc}{\contentsline {subparagraph}{Propositional Connectives}{493}{subparagraph*.2131}\protected@file@percent }
\newlabel{language/coq-library:propositional-connectives}{{4.1.1}{493}{Propositional Connectives}{subparagraph*.2131}{}}
\@writefile{toc}{\contentsline {subparagraph}{Quantifiers}{493}{subparagraph*.2132}\protected@file@percent }
\newlabel{language/coq-library:quantifiers}{{4.1.1}{493}{Quantifiers}{subparagraph*.2132}{}}
\@writefile{toc}{\contentsline {subparagraph}{Equality}{494}{subparagraph*.2133}\protected@file@percent }
\newlabel{language/coq-library:equality}{{4.1.1}{494}{Equality}{subparagraph*.2133}{}}
\newlabel{language/coq-library:coq-equality}{{4.1.1}{494}{Equality}{subparagraph*.2133}{}}
\@writefile{toc}{\contentsline {subparagraph}{Lemmas}{494}{subparagraph*.2134}\protected@file@percent }
\newlabel{language/coq-library:lemmas}{{4.1.1}{494}{Lemmas}{subparagraph*.2134}{}}
\newlabel{language/coq-library:index-4}{{4.1.1}{494}{Lemmas}{section*.2135}{}}
\@writefile{toc}{\contentsline {paragraph}{Datatypes}{495}{paragraph*.2136}\protected@file@percent }
\newlabel{language/coq-library:datatypes}{{4.1.1}{495}{Datatypes}{paragraph*.2136}{}}
\newlabel{language/coq-library:id1}{{4.1.1}{495}{Datatypes}{paragraph*.2136}{}}
\newlabel{language/coq-library:grammar-token-specif}{{4.1.1}{495}{Datatypes}{section*.2137}{}}
\@writefile{toc}{\contentsline {subparagraph}{Programming}{495}{subparagraph*.2138}\protected@file@percent }
\newlabel{language/coq-library:programming}{{4.1.1}{495}{Programming}{subparagraph*.2138}{}}
\newlabel{language/coq-library:index-7}{{4.1.1}{495}{Programming}{section*.2139}{}}
\newlabel{language/coq-library:index-8}{{4.1.1}{495}{Programming}{section*.2140}{}}
\@writefile{toc}{\contentsline {paragraph}{Specification}{496}{paragraph*.2141}\protected@file@percent }
\newlabel{language/coq-library:specification}{{4.1.1}{496}{Specification}{paragraph*.2141}{}}
\newlabel{language/coq-library:id2}{{4.1.1}{496}{Specification}{paragraph*.2141}{}}
\newlabel{language/coq-library:index-9}{{4.1.1}{496}{Specification}{section*.2142}{}}
\newlabel{language/coq-library:index-10}{{4.1.1}{496}{Specification}{section*.2143}{}}
\newlabel{language/coq-library:index-11}{{4.1.1}{496}{Specification}{section*.2144}{}}
\newlabel{language/coq-library:index-12}{{4.1.1}{496}{Specification}{section*.2145}{}}
\newlabel{language/coq-library:index-13}{{4.1.1}{496}{Specification}{section*.2146}{}}
\newlabel{language/coq-library:index-14}{{4.1.1}{497}{Specification}{section*.2147}{}}
\newlabel{language/coq-library:index-15}{{4.1.1}{497}{Specification}{section*.2148}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic Arithmetic}{497}{paragraph*.2149}\protected@file@percent }
\newlabel{language/coq-library:basic-arithmetic}{{4.1.1}{497}{Basic Arithmetic}{paragraph*.2149}{}}
\newlabel{language/coq-library:index-18}{{4.1.1}{498}{Basic Arithmetic}{section*.2150}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}founded recursion}{498}{paragraph*.2151}\protected@file@percent }
\newlabel{language/coq-library:well-founded-recursion}{{4.1.1}{498}{Well\sphinxhyphen {}founded recursion}{paragraph*.2151}{}}
\newlabel{language/coq-library:index-19}{{4.1.1}{498}{Well\sphinxhyphen {}founded recursion}{section*.2152}{}}
\newlabel{language/coq-library:index-20}{{4.1.1}{499}{Well\sphinxhyphen {}founded recursion}{section*.2153}{}}
\@writefile{toc}{\contentsline {paragraph}{Accessing the Type level}{499}{paragraph*.2154}\protected@file@percent }
\newlabel{language/coq-library:accessing-the-type-level}{{4.1.1}{499}{Accessing the Type level}{paragraph*.2154}{}}
\newlabel{language/coq-library:index-21}{{4.1.1}{499}{Accessing the Type level}{section*.2155}{}}
\newlabel{language/coq-library:index-22}{{4.1.1}{499}{Accessing the Type level}{section*.2156}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{499}{paragraph*.2157}\protected@file@percent }
\newlabel{language/coq-library:tactics}{{4.1.1}{499}{Tactics}{paragraph*.2157}{}}
\@writefile{toc}{\contentsline {subsubsection}{The standard library}{500}{subsubsection*.2158}\protected@file@percent }
\newlabel{language/coq-library:the-standard-library}{{4.1.1}{500}{The standard library}{subsubsection*.2158}{}}
\@writefile{toc}{\contentsline {paragraph}{Survey}{500}{paragraph*.2159}\protected@file@percent }
\newlabel{language/coq-library:survey}{{4.1.1}{500}{Survey}{paragraph*.2159}{}}
\@writefile{toc}{\contentsline {paragraph}{Peano’s arithmetic (nat)}{500}{paragraph*.2160}\protected@file@percent }
\newlabel{language/coq-library:peanos-arithmetic-nat}{{4.1.1}{500}{Peano’s arithmetic (nat)}{paragraph*.2160}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations for integer arithmetic}{501}{paragraph*.2161}\protected@file@percent }
\newlabel{language/coq-library:notations-for-integer-arithmetic}{{4.1.1}{501}{Notations for integer arithmetic}{paragraph*.2161}{}}
\@writefile{toc}{\contentsline {paragraph}{Real numbers library}{502}{paragraph*.2162}\protected@file@percent }
\newlabel{language/coq-library:real-numbers-library}{{4.1.1}{502}{Real numbers library}{paragraph*.2162}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations for real numbers}{502}{subparagraph*.2163}\protected@file@percent }
\newlabel{language/coq-library:notations-for-real-numbers}{{4.1.1}{502}{Notations for real numbers}{subparagraph*.2163}{}}
\@writefile{toc}{\contentsline {subparagraph}{Some tactics for real numbers}{503}{subparagraph*.2164}\protected@file@percent }
\newlabel{language/coq-library:some-tactics-for-real-numbers}{{4.1.1}{503}{Some tactics for real numbers}{subparagraph*.2164}{}}
\newlabel{language/coq-library:coq:tacn.discrr}{{4.1.1}{503}{Some tactics for real numbers}{section*.2165}{}}
\newlabel{language/coq-library:coq:tacn.split-rabs}{{4.1.1}{503}{Some tactics for real numbers}{section*.2166}{}}
\newlabel{language/coq-library:coq:tacn.split-rmult}{{4.1.1}{503}{Some tactics for real numbers}{section*.2167}{}}
\@writefile{toc}{\contentsline {paragraph}{List library}{504}{paragraph*.2168}\protected@file@percent }
\newlabel{language/coq-library:list-library}{{4.1.1}{504}{List library}{paragraph*.2168}{}}
\@writefile{toc}{\contentsline {paragraph}{Floats library}{505}{paragraph*.2169}\protected@file@percent }
\newlabel{language/coq-library:floats-library}{{4.1.1}{505}{Floats library}{paragraph*.2169}{}}
\newlabel{language/coq-library:id3}{{4.1.1}{505}{Floats library}{paragraph*.2169}{}}
\newlabel{language/coq-library:coq:warn.the-constant-numeral-is-not-a-binary64-floating-point-value-a-closest-value-will-be-used-and-unambiguously-printed-numeral-inexact-float-parsing}{{4.1.1}{506}{Floats library}{section*.2170}{}}
\@writefile{toc}{\contentsline {subsubsection}{Users’ contributions}{507}{subsubsection*.2171}\protected@file@percent }
\newlabel{language/coq-library:users-contributions}{{4.1.1}{507}{Users’ contributions}{subsubsection*.2171}{}}
\newlabel{language/coq-library:userscontributions}{{4.1.1}{507}{Users’ contributions}{subsubsection*.2171}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Program extraction}{507}{subsection.4.1.2}\protected@file@percent }
\newlabel{addendum/extraction:program-extraction}{{4.1.2}{507}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction:extraction}{{4.1.2}{507}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction::doc}{{4.1.2}{507}{Program extraction}{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generating ML Code}{508}{subsubsection*.2172}\protected@file@percent }
\newlabel{addendum/extraction:generating-ml-code}{{4.1.2}{508}{Generating ML Code}{subsubsection*.2172}{}}
\newlabel{addendum/extraction:coq:cmd.extraction}{{4.1.2}{508}{Generating ML Code}{section*.2173}{}}
\newlabel{addendum/extraction:coq:cmd.recursive-extraction}{{4.1.2}{508}{Generating ML Code}{section*.2174}{}}
\newlabel{addendum/extraction:id1}{{4.1.2}{508}{Generating ML Code}{section*.2175}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-library}{{4.1.2}{508}{Generating ML Code}{section*.2176}{}}
\newlabel{addendum/extraction:coq:cmd.recursive-extraction-library}{{4.1.2}{508}{Generating ML Code}{section*.2177}{}}
\newlabel{addendum/extraction:coq:cmd.separate-extraction}{{4.1.2}{508}{Generating ML Code}{section*.2178}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-testcompile}{{4.1.2}{508}{Generating ML Code}{section*.2179}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extraction Options}{509}{subsubsection*.2180}\protected@file@percent }
\newlabel{addendum/extraction:extraction-options}{{4.1.2}{509}{Extraction Options}{subsubsection*.2180}{}}
\@writefile{toc}{\contentsline {paragraph}{Setting the target language}{509}{paragraph*.2181}\protected@file@percent }
\newlabel{addendum/extraction:setting-the-target-language}{{4.1.2}{509}{Setting the target language}{paragraph*.2181}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-language}{{4.1.2}{509}{Setting the target language}{section*.2182}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining and optimizations}{509}{paragraph*.2183}\protected@file@percent }
\newlabel{addendum/extraction:inlining-and-optimizations}{{4.1.2}{509}{Inlining and optimizations}{paragraph*.2183}{}}
\newlabel{addendum/extraction:coq:flag.extraction-optimize}{{4.1.2}{509}{Inlining and optimizations}{section*.2184}{}}
\newlabel{addendum/extraction:coq:flag.extraction-conservative-types}{{4.1.2}{509}{Inlining and optimizations}{section*.2185}{}}
\newlabel{addendum/extraction:coq:flag.extraction-keepsingleton}{{4.1.2}{509}{Inlining and optimizations}{section*.2186}{}}
\newlabel{addendum/extraction:coq:flag.extraction-autoinline}{{4.1.2}{509}{Inlining and optimizations}{section*.2187}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-inline}{{4.1.2}{509}{Inlining and optimizations}{section*.2188}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-noinline}{{4.1.2}{509}{Inlining and optimizations}{section*.2189}{}}
\newlabel{addendum/extraction:coq:cmd.print-extraction-inline}{{4.1.2}{509}{Inlining and optimizations}{section*.2190}{}}
\newlabel{addendum/extraction:coq:cmd.reset-extraction-inline}{{4.1.2}{509}{Inlining and optimizations}{section*.2191}{}}
\@writefile{toc}{\contentsline {paragraph}{Extra elimination of useless arguments}{510}{paragraph*.2192}\protected@file@percent }
\newlabel{addendum/extraction:extra-elimination-of-useless-arguments}{{4.1.2}{510}{Extra elimination of useless arguments}{paragraph*.2192}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-implicit}{{4.1.2}{510}{Extra elimination of useless arguments}{section*.2193}{}}
\newlabel{addendum/extraction:coq:flag.extraction-safeimplicits}{{4.1.2}{510}{Extra elimination of useless arguments}{section*.2194}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing axioms}{510}{paragraph*.2195}\protected@file@percent }
\newlabel{addendum/extraction:realizing-axioms}{{4.1.2}{510}{Realizing axioms}{paragraph*.2195}{}}
\newlabel{addendum/extraction:coq:cmd.extract-constant}{{4.1.2}{510}{Realizing axioms}{section*.2196}{}}
\newlabel{addendum/extraction:coq:cmd.extract-inlined-constant}{{4.1.2}{510}{Realizing axioms}{section*.2197}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing inductive types}{511}{paragraph*.2198}\protected@file@percent }
\newlabel{addendum/extraction:realizing-inductive-types}{{4.1.2}{511}{Realizing inductive types}{paragraph*.2198}{}}
\newlabel{addendum/extraction:coq:cmd.extract-inductive}{{4.1.2}{511}{Realizing inductive types}{section*.2199}{}}
\@writefile{toc}{\contentsline {paragraph}{Avoiding conflicts with existing filenames}{512}{paragraph*.2200}\protected@file@percent }
\newlabel{addendum/extraction:avoiding-conflicts-with-existing-filenames}{{4.1.2}{512}{Avoiding conflicts with existing filenames}{paragraph*.2200}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-blacklist}{{4.1.2}{512}{Avoiding conflicts with existing filenames}{section*.2201}{}}
\newlabel{addendum/extraction:coq:cmd.print-extraction-blacklist}{{4.1.2}{512}{Avoiding conflicts with existing filenames}{section*.2202}{}}
\newlabel{addendum/extraction:coq:cmd.reset-extraction-blacklist}{{4.1.2}{512}{Avoiding conflicts with existing filenames}{section*.2203}{}}
\@writefile{toc}{\contentsline {paragraph}{Additional settings}{513}{paragraph*.2204}\protected@file@percent }
\newlabel{addendum/extraction:additional-settings}{{4.1.2}{513}{Additional settings}{paragraph*.2204}{}}
\newlabel{addendum/extraction:coq:opt.extraction-file-comment}{{4.1.2}{513}{Additional settings}{section*.2205}{}}
\newlabel{addendum/extraction:coq:opt.extraction-flag}{{4.1.2}{513}{Additional settings}{section*.2206}{}}
\newlabel{addendum/extraction:coq:flag.extraction-typeexpand}{{4.1.2}{513}{Additional settings}{section*.2207}{}}
\@writefile{toc}{\contentsline {subsubsection}{Differences between Coq and ML type systems}{513}{subsubsection*.2208}\protected@file@percent }
\newlabel{addendum/extraction:differences-between-coq-and-ml-type-systems}{{4.1.2}{513}{Differences between Coq and ML type systems}{subsubsection*.2208}{}}
\citation{zebibliography:let02}
\@writefile{toc}{\contentsline {subsubsection}{Some examples}{514}{subsubsection*.2209}\protected@file@percent }
\newlabel{addendum/extraction:some-examples}{{4.1.2}{514}{Some examples}{subsubsection*.2209}{}}
\@writefile{toc}{\contentsline {paragraph}{A detailed example: Euclidean division}{514}{paragraph*.2210}\protected@file@percent }
\newlabel{addendum/extraction:a-detailed-example-euclidean-division}{{4.1.2}{514}{A detailed example: Euclidean division}{paragraph*.2210}{}}
\citation{zebibliography:let02}
\@writefile{toc}{\contentsline {paragraph}{Extraction's horror museum}{516}{paragraph*.2211}\protected@file@percent }
\newlabel{addendum/extraction:extraction-s-horror-museum}{{4.1.2}{516}{Extraction's horror museum}{paragraph*.2211}{}}
\@writefile{toc}{\contentsline {paragraph}{Users' Contributions}{516}{paragraph*.2212}\protected@file@percent }
\newlabel{addendum/extraction:users-contributions}{{4.1.2}{516}{Users' Contributions}{paragraph*.2212}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Program derivation}{517}{subsection.4.1.3}\protected@file@percent }
\newlabel{addendum/miscellaneous-extensions:program-derivation}{{4.1.3}{517}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions::doc}{{4.1.3}{517}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions:coq:cmd.derive}{{4.1.3}{517}{Program derivation}{section*.2213}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Functional induction}{518}{subsection.4.1.4}\protected@file@percent }
\newlabel{using/libraries/funind:functional-induction}{{4.1.4}{518}{Functional induction}{subsection.4.1.4}{}}
\newlabel{using/libraries/funind::doc}{{4.1.4}{518}{Functional induction}{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Advanced recursive functions}{518}{subsubsection*.2214}\protected@file@percent }
\newlabel{using/libraries/funind:advanced-recursive-functions}{{4.1.4}{518}{Advanced recursive functions}{subsubsection*.2214}{}}
\newlabel{using/libraries/funind:id1}{{4.1.4}{518}{Advanced recursive functions}{subsubsection*.2214}{}}
\newlabel{using/libraries/funind:coq:cmd.function}{{4.1.4}{518}{Advanced recursive functions}{section*.2215}{}}
\newlabel{using/libraries/funind:coq:exn.the-recursive-argument-must-be-specified}{{4.1.4}{520}{Advanced recursive functions}{section*.2216}{}}
\newlabel{using/libraries/funind:coq:exn.no-argument-name-ident}{{4.1.4}{520}{Advanced recursive functions}{section*.2217}{}}
\newlabel{using/libraries/funind:coq:exn.cannot-use-mutual-definition-with-well-founded-recursion-or-measure}{{4.1.4}{520}{Advanced recursive functions}{section*.2218}{}}
\newlabel{using/libraries/funind:coq:warn.cannot-define-graph-for-ident}{{4.1.4}{520}{Advanced recursive functions}{section*.2219}{}}
\newlabel{using/libraries/funind:coq:warn.cannot-define-principle-s-for-ident}{{4.1.4}{520}{Advanced recursive functions}{section*.2220}{}}
\newlabel{using/libraries/funind:coq:warn.cannot-build-functional-inversion-principle}{{4.1.4}{520}{Advanced recursive functions}{section*.2221}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics}{521}{subsubsection*.2222}\protected@file@percent }
\newlabel{using/libraries/funind:tactics}{{4.1.4}{521}{Tactics}{subsubsection*.2222}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-induction}{{4.1.4}{521}{Tactics}{section*.2223}{}}
\newlabel{using/libraries/funind:coq:exn.cannot-find-induction-information-on-qualid}{{4.1.4}{522}{Tactics}{section*.2224}{}}
\newlabel{using/libraries/funind:coq:exn.not-the-right-number-of-induction-arguments}{{4.1.4}{522}{Tactics}{section*.2225}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-inversion}{{4.1.4}{522}{Tactics}{section*.2226}{}}
\newlabel{using/libraries/funind:coq:exn.hypothesis-ident-must-contain-at-least-one-function}{{4.1.4}{522}{Tactics}{section*.2227}{}}
\newlabel{using/libraries/funind:coq:exn.cannot-find-inversion-information-for-hypothesis-ident}{{4.1.4}{522}{Tactics}{section*.2228}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{522}{subsubsection*.2229}\protected@file@percent }
\newlabel{using/libraries/funind:generation-of-induction-principles-with-functional-scheme}{{4.1.4}{522}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2229}{}}
\newlabel{using/libraries/funind:functional-scheme}{{4.1.4}{522}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2229}{}}
\newlabel{using/libraries/funind:coq:cmd.functional-scheme}{{4.1.4}{522}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.2230}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}Writing Coq libraries and plugins}{527}{subsection.4.1.5}\protected@file@percent }
\newlabel{using/libraries/writing:writing-coq-libraries-and-plugins}{{4.1.5}{527}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\newlabel{using/libraries/writing::doc}{{4.1.5}{527}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deprecating library objects or tactics}{527}{subsubsection*.2231}\protected@file@percent }
\newlabel{using/libraries/writing:deprecating-library-objects-or-tactics}{{4.1.5}{527}{Deprecating library objects or tactics}{subsubsection*.2231}{}}
\newlabel{using/libraries/writing:coq:attr.deprecated}{{4.1.5}{527}{Deprecating library objects or tactics}{section*.2232}{}}
\newlabel{using/libraries/writing:coq:warn.tactic-qualid-is-deprecated-since-string-string}{{4.1.5}{527}{Deprecating library objects or tactics}{section*.2233}{}}
\newlabel{using/libraries/writing:coq:warn.tactic-notation-qualid-is-deprecated-since-string-string}{{4.1.5}{527}{Deprecating library objects or tactics}{section*.2234}{}}
\newlabel{using/libraries/writing:coq:warn.notation-string-is-deprecated-since-string-string}{{4.1.5}{527}{Deprecating library objects or tactics}{section*.2235}{}}
\newlabel{using/libraries/writing:compatibility-alias}{{4.1.5}{528}{Deprecating library objects or tactics}{section*.2236}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Command\sphinxhyphen {}line and graphical tools}{528}{section.4.2}\protected@file@percent }
\newlabel{using/tools/index:command-line-and-graphical-tools}{{4.2}{528}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index:tools}{{4.2}{528}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index::doc}{{4.2}{528}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}The Coq commands}{528}{subsection.4.2.1}\protected@file@percent }
\newlabel{practical-tools/coq-commands:the-coq-commands}{{4.2.1}{528}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands:thecoqcommands}{{4.2.1}{528}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands::doc}{{4.2.1}{528}{The Coq commands}{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive use (coqtop)}{529}{subsubsection*.2237}\protected@file@percent }
\newlabel{practical-tools/coq-commands:interactive-use-coqtop}{{4.2.1}{529}{Interactive use (coqtop)}{subsubsection*.2237}{}}
\newlabel{practical-tools/coq-commands:interactive-use}{{4.2.1}{529}{Interactive use (coqtop)}{subsubsection*.2237}{}}
\newlabel{practical-tools/coq-commands:coq:flag.coqtop-exit-on-error}{{4.2.1}{529}{Interactive use (coqtop)}{section*.2238}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch compilation (coqc)}{529}{subsubsection*.2239}\protected@file@percent }
\newlabel{practical-tools/coq-commands:batch-compilation-coqc}{{4.2.1}{529}{Batch compilation (coqc)}{subsubsection*.2239}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customization at launch time}{529}{subsubsection*.2240}\protected@file@percent }
\newlabel{practical-tools/coq-commands:customization-at-launch-time}{{4.2.1}{529}{Customization at launch time}{subsubsection*.2240}{}}
\@writefile{toc}{\contentsline {paragraph}{By resource file}{529}{paragraph*.2241}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-resource-file}{{4.2.1}{529}{By resource file}{paragraph*.2241}{}}
\@writefile{toc}{\contentsline {paragraph}{By environment variables}{529}{paragraph*.2242}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-environment-variables}{{4.2.1}{529}{By environment variables}{paragraph*.2242}{}}
\newlabel{practical-tools/coq-commands:customization-by-environment-variables}{{4.2.1}{529}{By environment variables}{paragraph*.2242}{}}
\newlabel{practical-tools/coq-commands:coq-colors}{{4.2.1}{529}{By environment variables}{section*.2243}{}}
\@writefile{toc}{\contentsline {paragraph}{By command line options}{530}{paragraph*.2244}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-command-line-options}{{4.2.1}{530}{By command line options}{paragraph*.2244}{}}
\newlabel{practical-tools/coq-commands:command-line-options}{{4.2.1}{530}{By command line options}{paragraph*.2244}{}}
\newlabel{practical-tools/coq-commands:interleave-command-line}{{4.2.1}{530}{By command line options}{section*.2245}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{532}{subsubsection*.2246}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-interfaces-produced-using-vos}{{4.2.1}{532}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2246}{}}
\newlabel{practical-tools/coq-commands:compiled-interfaces}{{4.2.1}{532}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2246}{}}
\newlabel{practical-tools/coq-commands:coq:warn.you-should-use-the-proof-using-syntax-instead-of-proof-to-enable-skipping-this-proof-which-is-located-inside-a-section-give-as-argument-to-proof-using-the-list-of-section-variables-that-are-not-needed-to-typecheck-the-statement-but-that-are-required-by-the-proof}{{4.2.1}{534}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{section*.2247}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled libraries checker (coqchk)}{534}{subsubsection*.2248}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-libraries-checker-coqchk}{{4.2.1}{534}{Compiled libraries checker (coqchk)}{subsubsection*.2248}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Utilities}{535}{subsection.4.2.2}\protected@file@percent }
\newlabel{practical-tools/utilities:utilities}{{4.2.2}{535}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities:id1}{{4.2.2}{535}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities::doc}{{4.2.2}{535}{Utilities}{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Coq as a library}{535}{subsubsection*.2249}\protected@file@percent }
\newlabel{practical-tools/utilities:using-coq-as-a-library}{{4.2.2}{535}{Using Coq as a library}{subsubsection*.2249}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building a Coq project}{535}{subsubsection*.2250}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project}{{4.2.2}{535}{Building a Coq project}{subsubsection*.2250}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with coq\_makefile}{535}{paragraph*.2251}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-coq-makefile}{{4.2.2}{535}{Building a Coq project with coq\_makefile}{paragraph*.2251}{}}
\newlabel{practical-tools/utilities:coq-makefile}{{4.2.2}{535}{Building a Coq project with coq\_makefile}{paragraph*.2251}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqMakefile.local}{536}{subparagraph*.2252}\protected@file@percent }
\newlabel{practical-tools/utilities:coqmakefile-local}{{4.2.2}{536}{CoqMakefile.local}{subparagraph*.2252}{}}
\newlabel{practical-tools/utilities:coqmakefilelocal}{{4.2.2}{536}{CoqMakefile.local}{subparagraph*.2252}{}}
\@writefile{toc}{\contentsline {subparagraph}{Timing targets and performance testing}{537}{subparagraph*.2253}\protected@file@percent }
\newlabel{practical-tools/utilities:timing-targets-and-performance-testing}{{4.2.2}{537}{Timing targets and performance testing}{subparagraph*.2253}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reusing/extending the generated Makefile}{541}{subparagraph*.2254}\protected@file@percent }
\newlabel{practical-tools/utilities:reusing-extending-the-generated-makefile}{{4.2.2}{541}{Reusing/extending the generated Makefile}{subparagraph*.2254}{}}
\@writefile{toc}{\contentsline {subparagraph}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{542}{subparagraph*.2255}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-subset-of-the-targets-with-j}{{4.2.2}{542}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{subparagraph*.2255}{}}
\@writefile{toc}{\contentsline {subparagraph}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{542}{subparagraph*.2256}\protected@file@percent }
\newlabel{practical-tools/utilities:precompiling-for-native-compute}{{4.2.2}{542}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{subparagraph*.2256}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with Dune}{543}{paragraph*.2257}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-dune}{{4.2.2}{543}{Building a Coq project with Dune}{paragraph*.2257}{}}
\@writefile{toc}{\contentsline {subsubsection}{Computing Module dependencies}{544}{subsubsection*.2258}\protected@file@percent }
\newlabel{practical-tools/utilities:computing-module-dependencies}{{4.2.2}{544}{Computing Module dependencies}{subsubsection*.2258}{}}
\newlabel{practical-tools/utilities:coqdep}{{4.2.2}{544}{Computing Module dependencies}{subsubsection*.2258}{}}
\@writefile{toc}{\contentsline {subsubsection}{Embedded Coq phrases inside LaTeX documents}{544}{subsubsection*.2259}\protected@file@percent }
\newlabel{practical-tools/utilities:embedded-coq-phrases-inside-latex-documents}{{4.2.2}{544}{Embedded Coq phrases inside LaTeX documents}{subsubsection*.2259}{}}
\@writefile{toc}{\contentsline {subsubsection}{Man pages}{544}{subsubsection*.2260}\protected@file@percent }
\newlabel{practical-tools/utilities:man-pages}{{4.2.2}{544}{Man pages}{subsubsection*.2260}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Documenting Coq files with coqdoc}{544}{subsection.4.2.3}\protected@file@percent }
\newlabel{using/tools/coqdoc:documenting-coq-files-with-coqdoc}{{4.2.3}{544}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:coqdoc}{{4.2.3}{544}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:index-0}{{4.2.3}{544}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc::doc}{{4.2.3}{544}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Principles}{545}{subsubsection*.2261}\protected@file@percent }
\newlabel{using/tools/coqdoc:principles}{{4.2.3}{545}{Principles}{subsubsection*.2261}{}}
\@writefile{toc}{\contentsline {paragraph}{Coq material inside documentation.}{545}{paragraph*.2262}\protected@file@percent }
\newlabel{using/tools/coqdoc:coq-material-inside-documentation}{{4.2.3}{545}{Coq material inside documentation}{paragraph*.2262}{}}
\@writefile{toc}{\contentsline {paragraph}{Pretty\sphinxhyphen {}printing.}{545}{paragraph*.2263}\protected@file@percent }
\newlabel{using/tools/coqdoc:pretty-printing}{{4.2.3}{545}{Pretty\sphinxhyphen {}printing}{paragraph*.2263}{}}
\@writefile{toc}{\contentsline {paragraph}{Sections}{546}{paragraph*.2264}\protected@file@percent }
\newlabel{using/tools/coqdoc:sections}{{4.2.3}{546}{Sections}{paragraph*.2264}{}}
\@writefile{toc}{\contentsline {paragraph}{Lists.}{546}{paragraph*.2265}\protected@file@percent }
\newlabel{using/tools/coqdoc:lists}{{4.2.3}{546}{Lists}{paragraph*.2265}{}}
\@writefile{toc}{\contentsline {paragraph}{Rules.}{546}{paragraph*.2266}\protected@file@percent }
\newlabel{using/tools/coqdoc:rules}{{4.2.3}{546}{Rules}{paragraph*.2266}{}}
\@writefile{toc}{\contentsline {paragraph}{Emphasis.}{546}{paragraph*.2267}\protected@file@percent }
\newlabel{using/tools/coqdoc:emphasis}{{4.2.3}{546}{Emphasis}{paragraph*.2267}{}}
\@writefile{toc}{\contentsline {paragraph}{Escaping to LaTeX and HTML.}{547}{paragraph*.2268}\protected@file@percent }
\newlabel{using/tools/coqdoc:escaping-to-latex-and-html}{{4.2.3}{547}{Escaping to LaTeX and HTML}{paragraph*.2268}{}}
\@writefile{toc}{\contentsline {paragraph}{Verbatim}{547}{paragraph*.2269}\protected@file@percent }
\newlabel{using/tools/coqdoc:verbatim}{{4.2.3}{547}{Verbatim}{paragraph*.2269}{}}
\@writefile{toc}{\contentsline {paragraph}{Hyperlinks}{547}{paragraph*.2270}\protected@file@percent }
\newlabel{using/tools/coqdoc:hyperlinks}{{4.2.3}{547}{Hyperlinks}{paragraph*.2270}{}}
\@writefile{toc}{\contentsline {paragraph}{Hiding / Showing parts of the source}{547}{paragraph*.2271}\protected@file@percent }
\newlabel{using/tools/coqdoc:hiding-showing-parts-of-the-source}{{4.2.3}{547}{Hiding / Showing parts of the source}{paragraph*.2271}{}}
\newlabel{using/tools/coqdoc:coqdoc-hide-show}{{4.2.3}{547}{Hiding / Showing parts of the source}{paragraph*.2271}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{548}{subsubsection*.2272}\protected@file@percent }
\newlabel{using/tools/coqdoc:usage}{{4.2.3}{548}{Usage}{subsubsection*.2272}{}}
\@writefile{toc}{\contentsline {paragraph}{Command line options}{548}{paragraph*.2273}\protected@file@percent }
\newlabel{using/tools/coqdoc:command-line-options}{{4.2.3}{548}{Command line options}{paragraph*.2273}{}}
\@writefile{toc}{\contentsline {subsubsection}{The coqdoc LaTeX style file}{551}{subsubsection*.2274}\protected@file@percent }
\newlabel{using/tools/coqdoc:the-coqdoc-latex-style-file}{{4.2.3}{551}{The coqdoc LaTeX style file}{subsubsection*.2274}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Coq Integrated Development Environment}{551}{subsection.4.2.4}\protected@file@percent }
\newlabel{practical-tools/coqide:coq-integrated-development-environment}{{4.2.4}{551}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqintegrateddevelopmentenvironment}{{4.2.4}{551}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide::doc}{{4.2.4}{551}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqide-mainscreen}{{4.2.4}{551}{Coq Integrated Development Environment}{section*.2275}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing files and buffers, basic editing}{552}{subsubsection*.2276}\protected@file@percent }
\newlabel{practical-tools/coqide:managing-files-and-buffers-basic-editing}{{4.2.4}{552}{Managing files and buffers, basic editing}{subsubsection*.2276}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive navigation into Coq scripts}{553}{subsubsection*.2277}\protected@file@percent }
\newlabel{practical-tools/coqide:interactive-navigation-into-coq-scripts}{{4.2.4}{553}{Interactive navigation into Coq scripts}{subsubsection*.2277}{}}
\@writefile{toc}{\contentsline {subsubsection}{Vernacular commands, templates}{554}{subsubsection*.2278}\protected@file@percent }
\newlabel{practical-tools/coqide:vernacular-commands-templates}{{4.2.4}{554}{Vernacular commands, templates}{subsubsection*.2278}{}}
\@writefile{toc}{\contentsline {subsubsection}{Queries}{554}{subsubsection*.2279}\protected@file@percent }
\newlabel{practical-tools/coqide:queries}{{4.2.4}{554}{Queries}{subsubsection*.2279}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compilation}{555}{subsubsection*.2280}\protected@file@percent }
\newlabel{practical-tools/coqide:compilation}{{4.2.4}{555}{Compilation}{subsubsection*.2280}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customizations}{555}{subsubsection*.2281}\protected@file@percent }
\newlabel{practical-tools/coqide:customizations}{{4.2.4}{555}{Customizations}{subsubsection*.2281}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Unicode symbols}{556}{subsubsection*.2282}\protected@file@percent }
\newlabel{practical-tools/coqide:using-unicode-symbols}{{4.2.4}{556}{Using Unicode symbols}{subsubsection*.2282}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying Unicode symbols}{556}{paragraph*.2283}\protected@file@percent }
\newlabel{practical-tools/coqide:displaying-unicode-symbols}{{4.2.4}{556}{Displaying Unicode symbols}{paragraph*.2283}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings for input of Unicode symbols}{556}{paragraph*.2284}\protected@file@percent }
\newlabel{practical-tools/coqide:bindings-for-input-of-unicode-symbols}{{4.2.4}{556}{Bindings for input of Unicode symbols}{paragraph*.2284}{}}
\newlabel{practical-tools/coqide:coqide-unicode}{{4.2.4}{556}{Bindings for input of Unicode symbols}{paragraph*.2284}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding custom bindings}{556}{paragraph*.2285}\protected@file@percent }
\newlabel{practical-tools/coqide:adding-custom-bindings}{{4.2.4}{556}{Adding custom bindings}{paragraph*.2285}{}}
\@writefile{toc}{\contentsline {paragraph}{Character encoding for saved files}{557}{paragraph*.2286}\protected@file@percent }
\newlabel{practical-tools/coqide:character-encoding-for-saved-files}{{4.2.4}{557}{Character encoding for saved files}{paragraph*.2286}{}}
\newlabel{practical-tools/coqide:character-encoding-saved-files}{{4.2.4}{557}{Character encoding for saved files}{paragraph*.2286}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Asynchronous and Parallel Proof Processing}{557}{subsection.4.2.5}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:asynchronous-and-parallel-proof-processing}{{4.2.5}{557}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing:asynchronousandparallelproofprocessing}{{4.2.5}{557}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing::doc}{{4.2.5}{557}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof annotations}{558}{subsubsection*.2287}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-annotations}{{4.2.5}{558}{Proof annotations}{subsubsection*.2287}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic suggestion of proof annotations}{558}{paragraph*.2288}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:automatic-suggestion-of-proof-annotations}{{4.2.5}{558}{Automatic suggestion of proof annotations}{paragraph*.2288}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof blocks and error resilience}{558}{subsubsection*.2289}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-blocks-and-error-resilience}{{4.2.5}{558}{Proof blocks and error resilience}{subsubsection*.2289}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{559}{paragraph*.2290}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:caveats}{{4.2.5}{559}{Caveats}{paragraph*.2290}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive mode}{559}{subsubsection*.2291}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:interactive-mode}{{4.2.5}{559}{Interactive mode}{subsubsection*.2291}{}}
\newlabel{addendum/parallel-proof-processing:id1}{{4.2.5}{559}{Interactive mode}{subsubsection*.2291}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{559}{paragraph*.2292}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:id2}{{4.2.5}{559}{Caveats}{paragraph*.2292}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch mode}{560}{subsubsection*.2293}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:batch-mode}{{4.2.5}{560}{Batch mode}{subsubsection*.2293}{}}
\@writefile{toc}{\contentsline {subsubsection}{Limiting the number of parallel workers}{561}{subsubsection*.2294}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:limiting-the-number-of-parallel-workers}{{4.2.5}{561}{Limiting the number of parallel workers}{subsubsection*.2294}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Appendix}{562}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:appendix}{{5}{562}{Appendix}{chapter.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}History and recent changes}{562}{section.5.1}\protected@file@percent }
\newlabel{appendix/history-and-changes/index:history-and-recent-changes}{{5.1}{562}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index:history-and-changes}{{5.1}{562}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index::doc}{{5.1}{562}{History and recent changes}{section.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Early history of Coq}{562}{subsection.5.1.1}\protected@file@percent }
\newlabel{history:early-history-of-coq}{{5.1.1}{562}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history:history}{{5.1.1}{562}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history::doc}{{5.1.1}{562}{Early history of Coq}{subsection.5.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Historical roots}{562}{subsubsection*.2295}\protected@file@percent }
\newlabel{history:historical-roots}{{5.1.1}{562}{Historical roots}{subsubsection*.2295}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 1 to 5}{563}{subsubsection*.2296}\protected@file@percent }
\newlabel{history:versions-1-to-5}{{5.1.1}{563}{Versions 1 to 5}{subsubsection*.2296}{}}
\citation{zebibliography:ch85}
\citation{zebibliography:ch88}
\citation{zebibliography:ch87}
\citation{zebibliography:p86}
\citation{zebibliography:h88}
\@writefile{toc}{\contentsline {paragraph}{Version 1}{565}{paragraph*.2297}\protected@file@percent }
\newlabel{history:version-1}{{5.1.1}{565}{Version 1}{paragraph*.2297}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 2}{565}{paragraph*.2298}\protected@file@percent }
\newlabel{history:version-2}{{5.1.1}{565}{Version 2}{paragraph*.2298}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 3}{566}{paragraph*.2299}\protected@file@percent }
\newlabel{history:version-3}{{5.1.1}{566}{Version 3}{paragraph*.2299}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 4}{566}{paragraph*.2300}\protected@file@percent }
\newlabel{history:version-4}{{5.1.1}{566}{Version 4}{paragraph*.2300}{}}
\citation{zebibliography:c90}
\citation{zebibliography:p89}
\citation{zebibliography:h89}
\citation{zebibliography:pp90}
\citation{zebibliography:cp90}
\citation{zebibliography:p93}
\@writefile{toc}{\contentsline {paragraph}{Version 5}{568}{paragraph*.2301}\protected@file@percent }
\newlabel{history:version-5}{{5.1.1}{568}{Version 5}{paragraph*.2301}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 6}{568}{subsubsection*.2302}\protected@file@percent }
\newlabel{history:versions-6}{{5.1.1}{568}{Versions 6}{subsubsection*.2302}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.1}{568}{paragraph*.2303}\protected@file@percent }
\newlabel{history:version-6-1}{{5.1.1}{568}{Version 6.1}{paragraph*.2303}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.2}{569}{paragraph*.2304}\protected@file@percent }
\newlabel{history:version-6-2}{{5.1.1}{569}{Version 6.2}{paragraph*.2304}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.3}{569}{paragraph*.2305}\protected@file@percent }
\newlabel{history:version-6-3}{{5.1.1}{569}{Version 6.3}{paragraph*.2305}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 7}{570}{subsubsection*.2306}\protected@file@percent }
\newlabel{history:versions-7}{{5.1.1}{570}{Versions 7}{subsubsection*.2306}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{570}{paragraph*.2307}\protected@file@percent }
\newlabel{history:summary-of-changes}{{5.1.1}{570}{Summary of changes}{paragraph*.2307}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.0 and 7.1}{571}{paragraph*.2308}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-0-and-7-1}{{5.1.1}{571}{Details of changes in 7.0 and 7.1}{paragraph*.2308}{}}
\@writefile{toc}{\contentsline {subparagraph}{Main novelties}{571}{subparagraph*.2309}\protected@file@percent }
\newlabel{history:main-novelties}{{5.1.1}{571}{Main novelties}{subparagraph*.2309}{}}
\@writefile{toc}{\contentsline {subparagraph}{Details of changes}{572}{subparagraph*.2310}\protected@file@percent }
\newlabel{history:details-of-changes}{{5.1.1}{572}{Details of changes}{subparagraph*.2310}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: new "let\sphinxhyphen {}in" construction}{572}{subparagraph*.2311}\protected@file@percent }
\newlabel{history:language-new-let-in-construction}{{5.1.1}{572}{Language: new "let\sphinxhyphen {}in" construction}{subparagraph*.2311}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: long names}{572}{subparagraph*.2312}\protected@file@percent }
\newlabel{history:language-long-names}{{5.1.1}{572}{Language: long names}{subparagraph*.2312}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: miscellaneous}{572}{subparagraph*.2313}\protected@file@percent }
\newlabel{history:language-miscellaneous}{{5.1.1}{572}{Language: miscellaneous}{subparagraph*.2313}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: Cases}{572}{subparagraph*.2314}\protected@file@percent }
\newlabel{history:language-cases}{{5.1.1}{572}{Language: Cases}{subparagraph*.2314}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reduction}{573}{subparagraph*.2315}\protected@file@percent }
\newlabel{history:reduction}{{5.1.1}{573}{Reduction}{subparagraph*.2315}{}}
\@writefile{toc}{\contentsline {subparagraph}{New tactics}{573}{subparagraph*.2316}\protected@file@percent }
\newlabel{history:new-tactics}{{5.1.1}{573}{New tactics}{subparagraph*.2316}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing tactics}{573}{subparagraph*.2317}\protected@file@percent }
\newlabel{history:changes-in-existing-tactics}{{5.1.1}{573}{Changes in existing tactics}{subparagraph*.2317}{}}
\@writefile{toc}{\contentsline {subparagraph}{Efficiency}{574}{subparagraph*.2318}\protected@file@percent }
\newlabel{history:efficiency}{{5.1.1}{574}{Efficiency}{subparagraph*.2318}{}}
\@writefile{toc}{\contentsline {subparagraph}{Concrete syntax of constructions}{574}{subparagraph*.2319}\protected@file@percent }
\newlabel{history:concrete-syntax-of-constructions}{{5.1.1}{574}{Concrete syntax of constructions}{subparagraph*.2319}{}}
\@writefile{toc}{\contentsline {subparagraph}{Parsing and grammar extension}{574}{subparagraph*.2320}\protected@file@percent }
\newlabel{history:parsing-and-grammar-extension}{{5.1.1}{574}{Parsing and grammar extension}{subparagraph*.2320}{}}
\@writefile{toc}{\contentsline {subparagraph}{New commands}{575}{subparagraph*.2321}\protected@file@percent }
\newlabel{history:new-commands}{{5.1.1}{575}{New commands}{subparagraph*.2321}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing commands}{575}{subparagraph*.2322}\protected@file@percent }
\newlabel{history:changes-in-existing-commands}{{5.1.1}{575}{Changes in existing commands}{subparagraph*.2322}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{575}{subparagraph*.2323}\protected@file@percent }
\newlabel{history:tools}{{5.1.1}{575}{Tools}{subparagraph*.2323}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{576}{subparagraph*.2324}\protected@file@percent }
\newlabel{history:extraction}{{5.1.1}{576}{Extraction}{subparagraph*.2324}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{576}{subparagraph*.2325}\protected@file@percent }
\newlabel{history:standard-library}{{5.1.1}{576}{Standard library}{subparagraph*.2325}{}}
\@writefile{toc}{\contentsline {subparagraph}{New user contributions}{576}{subparagraph*.2326}\protected@file@percent }
\newlabel{history:new-user-contributions}{{5.1.1}{576}{New user contributions}{subparagraph*.2326}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.2}{576}{paragraph*.2327}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-2}{{5.1.1}{576}{Details of changes in 7.2}{paragraph*.2327}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.3}{578}{paragraph*.2328}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-3}{{5.1.1}{578}{Details of changes in 7.3}{paragraph*.2328}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in 7.3.1}{579}{subparagraph*.2329}\protected@file@percent }
\newlabel{history:changes-in-7-3-1}{{5.1.1}{579}{Changes in 7.3.1}{subparagraph*.2329}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.4}{580}{paragraph*.2330}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-4}{{5.1.1}{580}{Details of changes in 7.4}{paragraph*.2330}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Recent changes}{582}{subsection.5.1.2}\protected@file@percent }
\newlabel{changes:recent-changes}{{5.1.2}{582}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes:changes}{{5.1.2}{582}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes::doc}{{5.1.2}{582}{Recent changes}{subsection.5.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.12}{582}{subsubsection*.2331}\protected@file@percent }
\newlabel{changes:version-8-12}{{5.1.2}{582}{Version 8.12}{subsubsection*.2331}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{582}{paragraph*.2332}\protected@file@percent }
\newlabel{changes:summary-of-changes}{{5.1.2}{582}{Summary of changes}{paragraph*.2332}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12+beta1}{584}{paragraph*.2333}\protected@file@percent }
\newlabel{changes:changes-in-8-12-beta1}{{5.1.2}{584}{Changes in 8.12+beta1}{paragraph*.2333}{}}
\newlabel{changes:id550}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2334}{}}
\newlabel{changes:id551}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2335}{}}
\newlabel{changes:id552}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2336}{}}
\newlabel{changes:id553}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2337}{}}
\newlabel{changes:id554}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2338}{}}
\newlabel{changes:id555}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2339}{}}
\newlabel{changes:id556}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2340}{}}
\newlabel{changes:id557}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2341}{}}
\newlabel{changes:id558}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2342}{}}
\newlabel{changes:id559}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2343}{}}
\newlabel{changes:id560}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2344}{}}
\newlabel{changes:id561}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2345}{}}
\newlabel{changes:id562}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2346}{}}
\newlabel{changes:id563}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2347}{}}
\newlabel{changes:id564}{{5.1.2}{584}{Changes in 8.12+beta1}{section*.2348}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{584}{subparagraph*.2349}\protected@file@percent }
\newlabel{changes:kernel}{{5.1.2}{584}{Kernel}{subparagraph*.2349}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{584}{subparagraph*.2350}\protected@file@percent }
\newlabel{changes:specification-language-type-inference}{{5.1.2}{584}{Specification language, type inference}{subparagraph*.2350}{}}
\newlabel{changes:implicit}{{5.1.2}{585}{Specification language, type inference}{section*.2351}{}}
\newlabel{changes:uniform}{{5.1.2}{585}{Specification language, type inference}{section*.2352}{}}
\newlabel{changes:implicitinductive}{{5.1.2}{585}{Specification language, type inference}{section*.2353}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{585}{subparagraph*.2354}\protected@file@percent }
\newlabel{changes:notations}{{5.1.2}{585}{Notations}{subparagraph*.2354}{}}
\newlabel{changes:id23}{{5.1.2}{585}{Notations}{subparagraph*.2354}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{587}{subparagraph*.2355}\protected@file@percent }
\newlabel{changes:tactics}{{5.1.2}{587}{Tactics}{subparagraph*.2355}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{589}{subparagraph*.2356}\protected@file@percent }
\newlabel{changes:tactic-language}{{5.1.2}{589}{Tactic language}{subparagraph*.2356}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{589}{subparagraph*.2357}\protected@file@percent }
\newlabel{changes:ssreflect}{{5.1.2}{589}{SSReflect}{subparagraph*.2357}{}}
\newlabel{changes:ssrsearch}{{5.1.2}{589}{SSReflect}{section*.2358}{}}
\@writefile{toc}{\contentsline {subparagraph}{Flags, options and attributes}{590}{subparagraph*.2359}\protected@file@percent }
\newlabel{changes:flags-options-and-attributes}{{5.1.2}{590}{Flags, options and attributes}{subparagraph*.2359}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands}{590}{subparagraph*.2360}\protected@file@percent }
\newlabel{changes:commands}{{5.1.2}{590}{Commands}{subparagraph*.2360}{}}
\newlabel{changes:coercions}{{5.1.2}{590}{Commands}{section*.2361}{}}
\newlabel{changes:search}{{5.1.2}{591}{Commands}{section*.2362}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{592}{subparagraph*.2363}\protected@file@percent }
\newlabel{changes:tools}{{5.1.2}{592}{Tools}{subparagraph*.2363}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{594}{subparagraph*.2364}\protected@file@percent }
\newlabel{changes:coqide}{{5.1.2}{594}{CoqIDE}{subparagraph*.2364}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{594}{subparagraph*.2365}\protected@file@percent }
\newlabel{changes:standard-library}{{5.1.2}{594}{Standard library}{subparagraph*.2365}{}}
\newlabel{changes:stdlib}{{5.1.2}{594}{Standard library}{subparagraph*.2365}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reals library}{597}{subparagraph*.2366}\protected@file@percent }
\newlabel{changes:reals-library}{{5.1.2}{597}{Reals library}{subparagraph*.2366}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{598}{subparagraph*.2367}\protected@file@percent }
\newlabel{changes:extraction}{{5.1.2}{598}{Extraction}{subparagraph*.2367}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reference manual}{598}{subparagraph*.2368}\protected@file@percent }
\newlabel{changes:reference-manual}{{5.1.2}{598}{Reference manual}{subparagraph*.2368}{}}
\newlabel{changes:refman}{{5.1.2}{598}{Reference manual}{subparagraph*.2368}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{599}{subparagraph*.2369}\protected@file@percent }
\newlabel{changes:infrastructure-and-dependencies}{{5.1.2}{599}{Infrastructure and dependencies}{subparagraph*.2369}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.0}{599}{paragraph*.2370}\protected@file@percent }
\newlabel{changes:changes-in-8-12-0}{{5.1.2}{599}{Changes in 8.12.0}{paragraph*.2370}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.11}{600}{subsubsection*.2371}\protected@file@percent }
\newlabel{changes:version-8-11}{{5.1.2}{600}{Version 8.11}{subsubsection*.2371}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{600}{paragraph*.2372}\protected@file@percent }
\newlabel{changes:id251}{{5.1.2}{600}{Summary of changes}{paragraph*.2372}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11+beta1}{602}{paragraph*.2373}\protected@file@percent }
\newlabel{changes:changes-in-8-11-beta1}{{5.1.2}{602}{Changes in 8.11+beta1}{paragraph*.2373}{}}
\newlabel{changes:primitivefloats}{{5.1.2}{602}{Changes in 8.11+beta1}{section*.2374}{}}
\newlabel{changes:sections}{{5.1.2}{602}{Changes in 8.11+beta1}{section*.2375}{}}
\newlabel{changes:bidirarguments}{{5.1.2}{602}{Changes in 8.11+beta1}{section*.2376}{}}
\newlabel{changes:refineinstance}{{5.1.2}{603}{Changes in 8.11+beta1}{section*.2377}{}}
\newlabel{changes:ltac2}{{5.1.2}{604}{Changes in 8.11+beta1}{section*.2378}{}}
\newlabel{changes:ssrunderover}{{5.1.2}{605}{Changes in 8.11+beta1}{section*.2379}{}}
\newlabel{changes:unsafeflags}{{5.1.2}{605}{Changes in 8.11+beta1}{section*.2380}{}}
\newlabel{changes:exportbug}{{5.1.2}{605}{Changes in 8.11+beta1}{section*.2381}{}}
\newlabel{changes:vos}{{5.1.2}{606}{Changes in 8.11+beta1}{section*.2382}{}}
\newlabel{changes:reals}{{5.1.2}{606}{Changes in 8.11+beta1}{section*.2383}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.0}{607}{paragraph*.2384}\protected@file@percent }
\newlabel{changes:changes-in-8-11-0}{{5.1.2}{607}{Changes in 8.11.0}{paragraph*.2384}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.1}{609}{paragraph*.2385}\protected@file@percent }
\newlabel{changes:changes-in-8-11-1}{{5.1.2}{609}{Changes in 8.11.1}{paragraph*.2385}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.2}{610}{paragraph*.2386}\protected@file@percent }
\newlabel{changes:changes-in-8-11-2}{{5.1.2}{610}{Changes in 8.11.2}{paragraph*.2386}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.10}{610}{subsubsection*.2387}\protected@file@percent }
\newlabel{changes:version-8-10}{{5.1.2}{610}{Version 8.10}{subsubsection*.2387}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{610}{paragraph*.2388}\protected@file@percent }
\newlabel{changes:id388}{{5.1.2}{610}{Summary of changes}{paragraph*.2388}{}}
\@writefile{toc}{\contentsline {paragraph}{Other changes in 8.10+beta1}{613}{paragraph*.2389}\protected@file@percent }
\newlabel{changes:other-changes-in-8-10-beta1}{{5.1.2}{613}{Other changes in 8.10+beta1}{paragraph*.2389}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta2}{619}{paragraph*.2390}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta2}{{5.1.2}{619}{Changes in 8.10+beta2}{paragraph*.2390}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta3}{619}{paragraph*.2391}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta3}{{5.1.2}{619}{Changes in 8.10+beta3}{paragraph*.2391}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.0}{620}{paragraph*.2392}\protected@file@percent }
\newlabel{changes:changes-in-8-10-0}{{5.1.2}{620}{Changes in 8.10.0}{paragraph*.2392}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.1}{620}{paragraph*.2393}\protected@file@percent }
\newlabel{changes:changes-in-8-10-1}{{5.1.2}{620}{Changes in 8.10.1}{paragraph*.2393}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.2}{621}{paragraph*.2394}\protected@file@percent }
\newlabel{changes:changes-in-8-10-2}{{5.1.2}{621}{Changes in 8.10.2}{paragraph*.2394}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.9}{622}{subsubsection*.2395}\protected@file@percent }
\newlabel{changes:version-8-9}{{5.1.2}{622}{Version 8.9}{subsubsection*.2395}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{622}{paragraph*.2396}\protected@file@percent }
\newlabel{changes:id535}{{5.1.2}{622}{Summary of changes}{paragraph*.2396}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.9+beta1}{624}{paragraph*.2397}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-9-beta1}{{5.1.2}{624}{Details of changes in 8.9+beta1}{paragraph*.2397}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.0}{626}{paragraph*.2398}\protected@file@percent }
\newlabel{changes:changes-in-8-8-0}{{5.1.2}{626}{Changes in 8.8.0}{paragraph*.2398}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.1}{627}{paragraph*.2399}\protected@file@percent }
\newlabel{changes:changes-in-8-8-1}{{5.1.2}{627}{Changes in 8.8.1}{paragraph*.2399}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.8}{627}{subsubsection*.2400}\protected@file@percent }
\newlabel{changes:version-8-8}{{5.1.2}{627}{Version 8.8}{subsubsection*.2400}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{627}{paragraph*.2401}\protected@file@percent }
\newlabel{changes:id537}{{5.1.2}{627}{Summary of changes}{paragraph*.2401}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8+beta1}{628}{paragraph*.2402}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-beta1}{{5.1.2}{628}{Details of changes in 8.8+beta1}{paragraph*.2402}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.0}{631}{paragraph*.2403}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-0}{{5.1.2}{631}{Details of changes in 8.8.0}{paragraph*.2403}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.1}{631}{paragraph*.2404}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-1}{{5.1.2}{631}{Details of changes in 8.8.1}{paragraph*.2404}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.2}{632}{paragraph*.2405}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-2}{{5.1.2}{632}{Details of changes in 8.8.2}{paragraph*.2405}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.7}{632}{subsubsection*.2406}\protected@file@percent }
\newlabel{changes:version-8-7}{{5.1.2}{632}{Version 8.7}{subsubsection*.2406}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{632}{paragraph*.2407}\protected@file@percent }
\newlabel{changes:id538}{{5.1.2}{632}{Summary of changes}{paragraph*.2407}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential compatibility issues}{634}{paragraph*.2408}\protected@file@percent }
\newlabel{changes:potential-compatibility-issues}{{5.1.2}{634}{Potential compatibility issues}{paragraph*.2408}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta1}{634}{paragraph*.2409}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta1}{{5.1.2}{634}{Details of changes in 8.7+beta1}{paragraph*.2409}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta2}{636}{paragraph*.2410}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta2}{{5.1.2}{636}{Details of changes in 8.7+beta2}{paragraph*.2410}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.0}{637}{paragraph*.2411}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-0}{{5.1.2}{637}{Details of changes in 8.7.0}{paragraph*.2411}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.1}{637}{paragraph*.2412}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-1}{{5.1.2}{637}{Details of changes in 8.7.1}{paragraph*.2412}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.2}{637}{paragraph*.2413}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-2}{{5.1.2}{637}{Details of changes in 8.7.2}{paragraph*.2413}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.6}{637}{subsubsection*.2414}\protected@file@percent }
\newlabel{changes:version-8-6}{{5.1.2}{637}{Version 8.6}{subsubsection*.2414}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{637}{paragraph*.2415}\protected@file@percent }
\newlabel{changes:id539}{{5.1.2}{637}{Summary of changes}{paragraph*.2415}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{639}{paragraph*.2416}\protected@file@percent }
\newlabel{changes:potential-sources-of-incompatibilities}{{5.1.2}{639}{Potential sources of incompatibilities}{paragraph*.2416}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6beta1}{639}{paragraph*.2417}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6beta1}{{5.1.2}{639}{Details of changes in 8.6beta1}{paragraph*.2417}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6}{641}{paragraph*.2418}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6}{{5.1.2}{641}{Details of changes in 8.6}{paragraph*.2418}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6.1}{641}{paragraph*.2419}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6-1}{{5.1.2}{641}{Details of changes in 8.6.1}{paragraph*.2419}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.5}{643}{subsubsection*.2420}\protected@file@percent }
\newlabel{changes:version-8-5}{{5.1.2}{643}{Version 8.5}{subsubsection*.2420}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{643}{paragraph*.2421}\protected@file@percent }
\newlabel{changes:id540}{{5.1.2}{643}{Summary of changes}{paragraph*.2421}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{645}{paragraph*.2422}\protected@file@percent }
\newlabel{changes:id541}{{5.1.2}{645}{Potential sources of incompatibilities}{paragraph*.2422}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta1}{646}{paragraph*.2423}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta1}{{5.1.2}{646}{Details of changes in 8.5beta1}{paragraph*.2423}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta2}{653}{paragraph*.2424}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta2}{{5.1.2}{653}{Details of changes in 8.5beta2}{paragraph*.2424}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta3}{653}{paragraph*.2425}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta3}{{5.1.2}{653}{Details of changes in 8.5beta3}{paragraph*.2425}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5}{655}{paragraph*.2426}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5}{{5.1.2}{655}{Details of changes in 8.5}{paragraph*.2426}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl1}{655}{paragraph*.2427}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl1}{{5.1.2}{655}{Details of changes in 8.5pl1}{paragraph*.2427}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl2}{657}{paragraph*.2428}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl2}{{5.1.2}{657}{Details of changes in 8.5pl2}{paragraph*.2428}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl3}{658}{paragraph*.2429}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl3}{{5.1.2}{658}{Details of changes in 8.5pl3}{paragraph*.2429}{}}
\citation{zebibliography:leewerner11}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.4}{659}{subsubsection*.2430}\protected@file@percent }
\newlabel{changes:version-8-4}{{5.1.2}{659}{Version 8.4}{subsubsection*.2430}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{659}{paragraph*.2431}\protected@file@percent }
\newlabel{changes:id542}{{5.1.2}{659}{Summary of changes}{paragraph*.2431}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{661}{paragraph*.2432}\protected@file@percent }
\newlabel{changes:id544}{{5.1.2}{661}{Potential sources of incompatibilities}{paragraph*.2432}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta}{662}{paragraph*.2433}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta}{{5.1.2}{662}{Details of changes in 8.4beta}{paragraph*.2433}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta2}{666}{paragraph*.2434}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta2}{{5.1.2}{666}{Details of changes in 8.4beta2}{paragraph*.2434}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4}{667}{paragraph*.2435}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4}{{5.1.2}{667}{Details of changes in 8.4}{paragraph*.2435}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.3}{667}{subsubsection*.2436}\protected@file@percent }
\newlabel{changes:version-8-3}{{5.1.2}{667}{Version 8.3}{subsubsection*.2436}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{667}{paragraph*.2437}\protected@file@percent }
\newlabel{changes:id545}{{5.1.2}{667}{Summary of changes}{paragraph*.2437}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{668}{paragraph*.2438}\protected@file@percent }
\newlabel{changes:details-of-changes}{{5.1.2}{668}{Details of changes}{paragraph*.2438}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.2}{674}{subsubsection*.2439}\protected@file@percent }
\newlabel{changes:version-8-2}{{5.1.2}{674}{Version 8.2}{subsubsection*.2439}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{674}{paragraph*.2440}\protected@file@percent }
\newlabel{changes:id546}{{5.1.2}{674}{Summary of changes}{paragraph*.2440}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{675}{paragraph*.2441}\protected@file@percent }
\newlabel{changes:id547}{{5.1.2}{675}{Details of changes}{paragraph*.2441}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.1}{683}{subsubsection*.2442}\protected@file@percent }
\newlabel{changes:version-8-1}{{5.1.2}{683}{Version 8.1}{subsubsection*.2442}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{683}{paragraph*.2443}\protected@file@percent }
\newlabel{changes:id548}{{5.1.2}{683}{Summary of changes}{paragraph*.2443}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1beta}{684}{paragraph*.2444}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1beta}{{5.1.2}{684}{Details of changes in 8.1beta}{paragraph*.2444}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1gamma}{687}{paragraph*.2445}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1gamma}{{5.1.2}{687}{Details of changes in 8.1gamma}{paragraph*.2445}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1}{688}{paragraph*.2446}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1}{{5.1.2}{688}{Details of changes in 8.1}{paragraph*.2446}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.0}{689}{subsubsection*.2447}\protected@file@percent }
\newlabel{changes:version-8-0}{{5.1.2}{689}{Version 8.0}{subsubsection*.2447}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{689}{paragraph*.2448}\protected@file@percent }
\newlabel{changes:id549}{{5.1.2}{689}{Summary of changes}{paragraph*.2448}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta old syntax}{690}{paragraph*.2449}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-old-syntax}{{5.1.2}{690}{Details of changes in 8.0beta old syntax}{paragraph*.2449}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta new syntax}{693}{paragraph*.2450}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-new-syntax}{{5.1.2}{693}{Details of changes in 8.0beta new syntax}{paragraph*.2450}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0}{694}{paragraph*.2451}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0}{{5.1.2}{694}{Details of changes in 8.0}{paragraph*.2451}{}}
\newlabel{zebibliography:bibliography}{{5.1.2}{695}{Details of changes in 8.0}{section*.2452}{}}
\bibcite{zebibliography:bar81}{Bar81}
\bibcite{zebibliography:fullreduction}{BDenesGregoire11}
\bibcite{zebibliography:bou97}{Bou97}
\bibcite{zebibliography:c90}{Coq89}
\bibcite{zebibliography:ch87}{CH86a}
\bibcite{zebibliography:ch88}{CH86b}
\bibcite{zebibliography:coq85}{Coq85}
\bibcite{zebibliography:coq86}{Coq86}
\bibcite{zebibliography:coq92}{Coq92}
\bibcite{zebibliography:ch85}{CH85}
\bibcite{zebibliography:cp90}{CP90}
\bibcite{zebibliography:dblp-conf-types-cornest95}{CT95}
\bibcite{zebibliography:cur58}{CFC58}
\bibcite{zebibliography:milnerprincipaltypeschemes}{DM82}
\@writefile{toc}{\contentsline {chapter}{Bibliography}{696}{chapter*.2453}\protected@file@percent }
\bibcite{zebibliography:bru72}{dB72}
\bibcite{zebibliography:del00}{Del00}
\bibcite{zebibliography:rc95}{dC95}
\bibcite{zebibliography:dyc92}{Dyc92}
\bibcite{zebibliography:gilbert-popl2019}{GCST19}
\bibcite{zebibliography:gim94}{Gimenez94}
\bibcite{zebibliography:gimenez95b}{Gimenez95}
\bibcite{zebibliography:gim98}{Gimenez98}
\bibcite{zebibliography:gimcas05}{GimenezCasteran05}
\bibcite{zebibliography:sugar}{GMN+91}
\bibcite{zebibliography:gir89}{GLT89}
\bibcite{zebibliography:cslessadhoc}{GZND11}
\bibcite{zebibliography:compiledstrongreduction}{GregoireL02}
\bibcite{zebibliography:how80}{How80}
\bibcite{zebibliography:h89}{Hue89}
\bibcite{zebibliography:h88}{Hue88}
\bibcite{zebibliography:leewerner11}{LW11}
\bibcite{zebibliography:leroy90}{Ler90}
\bibcite{zebibliography:let02}{Let02}
\bibcite{zebibliography:luttik97specificationof}{LV97}
\bibcite{zebibliography:cswcu}{MT13}
\bibcite{zebibliography:dblp-conf-types-mcbride00}{McB00}
\bibcite{zebibliography:p86}{Moh86}
\bibcite{zebibliography:mun94}{Mun94}
\bibcite{zebibliography:myers}{Mye86}
\bibcite{zebibliography:parent95b}{Par95}
\bibcite{zebibliography:moh93}{PM93a}
\bibcite{zebibliography:p89}{PM89}
\bibcite{zebibliography:p93}{PM93b}
\bibcite{zebibliography:pp90}{PPM89}
\bibcite{zebibliography:theomegapaper}{Pug92}
\bibcite{zebibliography:rushby98}{ROS98}
\bibcite{zebibliography:sozeau06}{Soz07}
\bibcite{zebibliography:sozeau08}{SO08}
\bibcite{zebibliography:visser01}{Vis01}
\bibcite{zebibliography:visser98}{VBT98}
\bibcite{zebibliography:wer94}{Wer94}
\@writefile{toc}{\contentsline {chapter}{Glossary}{700}{section*.2454}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Command Index}{701}{section*.2455}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Tactic Index}{705}{section*.2456}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Flags, options and Tables Index}{709}{section*.2457}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Gallina Index}{711}{section*.2458}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Errors and Warnings Index}{712}{section*.2459}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Attribute Index}{717}{section*.2460}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{718}{section*.2461}\protected@file@percent }
