\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]{}
\select@language {english}
\@writefile{toc}{\select@language {english}}
\@writefile{lof}{\select@language {english}}
\@writefile{lot}{\select@language {english}}
\HyPL@Entry{1<</S/r>>}
\citation{zebibliography:asp00}
\citation{zebibliography:pit16}
\HyPL@Entry{3<</S/D>>}
\newlabel{index::doc}{{}{1}{}{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:introduction}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}How to read this book}{1}{section.1.1}}
\newlabel{index:how-to-read-this-book}{{1.1}{1}{How to read this book}{section.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}List of additional documentation}{2}{section.1.2}}
\newlabel{index:list-of-additional-documentation}{{1.2}{2}{List of additional documentation}{section.1.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Credits}{3}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:credits}{{2}{3}{Credits}{chapter.2}{}}
\newlabel{index:id4}{{2}{3}{Credits}{section*.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Credits: addendum for version 6.1}{5}{section.2.1}}
\newlabel{index:credits-addendum-for-version-6-1}{{2.1}{5}{Credits: addendum for version 6.1}{section.2.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Credits: addendum for version 6.2}{6}{section.2.2}}
\newlabel{index:credits-addendum-for-version-6-2}{{2.2}{6}{Credits: addendum for version 6.2}{section.2.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Credits: addendum for version 6.3}{6}{section.2.3}}
\newlabel{index:credits-addendum-for-version-6-3}{{2.3}{6}{Credits: addendum for version 6.3}{section.2.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Credits: versions 7}{7}{section.2.4}}
\newlabel{index:credits-versions-7}{{2.4}{7}{Credits: versions 7}{section.2.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Credits: version 8.0}{8}{section.2.5}}
\newlabel{index:credits-version-8-0}{{2.5}{8}{Credits: version 8.0}{section.2.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.6}Credits: version 8.1}{9}{section.2.6}}
\newlabel{index:credits-version-8-1}{{2.6}{9}{Credits: version 8.1}{section.2.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Credits: version 8.2}{10}{section.2.7}}
\newlabel{index:credits-version-8-2}{{2.7}{10}{Credits: version 8.2}{section.2.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.8}Credits: version 8.3}{12}{section.2.8}}
\newlabel{index:credits-version-8-3}{{2.8}{12}{Credits: version 8.3}{section.2.8}{}}
\citation{zebibliography:leewerner11}
\@writefile{toc}{\contentsline {section}{\numberline {2.9}Credits: version 8.4}{13}{section.2.9}}
\newlabel{index:credits-version-8-4}{{2.9}{13}{Credits: version 8.4}{section.2.9}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.10}Credits: version 8.5}{15}{section.2.10}}
\newlabel{index:credits-version-8-5}{{2.10}{15}{Credits: version 8.5}{section.2.10}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.11}Credits: version 8.6}{17}{section.2.11}}
\newlabel{index:credits-version-8-6}{{2.11}{17}{Credits: version 8.6}{section.2.11}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.12}Credits: version 8.7}{18}{section.2.12}}
\newlabel{index:credits-version-8-7}{{2.12}{18}{Credits: version 8.7}{section.2.12}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.13}Credits: version 8.8}{20}{section.2.13}}
\newlabel{index:credits-version-8-8}{{2.13}{20}{Credits: version 8.8}{section.2.13}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}License}{22}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:license}{{3}{22}{License}{chapter.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}The language}{23}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:the-language}{{4}{23}{The language}{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}The Gallina specification language}{23}{section.4.1}}
\newlabel{language/gallina-specification-language:the-gallina-specification-language}{{4.1}{23}{The Gallina specification language}{section.4.1}{}}
\newlabel{language/gallina-specification-language:gallinaspecificationlanguage}{{4.1}{23}{The Gallina specification language}{section.4.1}{}}
\newlabel{language/gallina-specification-language::doc}{{4.1}{23}{The Gallina specification language}{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}About the grammars in the manual}{23}{subsection.4.1.1}}
\newlabel{language/gallina-specification-language:about-the-grammars-in-the-manual}{{4.1.1}{23}{About the grammars in the manual}{subsection.4.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Lexical conventions}{23}{subsection.4.1.2}}
\newlabel{language/gallina-specification-language:lexical-conventions}{{4.1.2}{23}{Lexical conventions}{subsection.4.1.2}{}}
\newlabel{language/gallina-specification-language:id2}{{4.1.2}{23}{Lexical conventions}{subsection.4.1.2}{}}
\gdef \LT@i {\LT@entry 
    {1}{101.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{326.13004pt}}
\gdef \LT@ii {\LT@entry 
    {1}{48.75002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{78.33002pt}}
\newlabel{language/gallina-specification-language:grammar-token-first_letter}{{1}{24}{Lexical conventions}{section*.4}{}}
\newlabel{language/gallina-specification-language:grammar-token-subsequent_letter}{{1}{24}{Lexical conventions}{section*.5}{}}
\newlabel{language/gallina-specification-language:grammar-token-ident}{{1}{24}{Lexical conventions}{section*.6}{}}
\newlabel{language/gallina-specification-language:grammar-token-access_ident}{{1}{24}{Lexical conventions}{section*.7}{}}
\newlabel{language/gallina-specification-language:grammar-token-digit}{{2}{24}{Lexical conventions}{section*.8}{}}
\newlabel{language/gallina-specification-language:grammar-token-num}{{2}{24}{Lexical conventions}{section*.9}{}}
\newlabel{language/gallina-specification-language:grammar-token-integer}{{2}{24}{Lexical conventions}{section*.10}{}}
\newlabel{language/gallina-specification-language:grammar-token-string}{{4.1.2}{24}{Lexical conventions}{section*.11}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Terms}{24}{subsection.4.1.3}}
\newlabel{language/gallina-specification-language:terms}{{4.1.3}{24}{Terms}{subsection.4.1.3}{}}
\newlabel{language/gallina-specification-language:term}{{4.1.3}{24}{Terms}{subsection.4.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax of terms}{24}{subsubsection*.12}}
\newlabel{language/gallina-specification-language:syntax-of-terms}{{4.1.3}{24}{Syntax of terms}{subsubsection*.12}{}}
\newlabel{language/gallina-specification-language:grammar-token-term}{{3}{24}{Syntax of terms}{section*.13}{}}
\gdef \LT@iii {\LT@entry 
    {2}{75.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {2}{341.25002pt}}
\newlabel{language/gallina-specification-language:grammar-token-arg}{{3}{25}{Syntax of terms}{section*.14}{}}
\newlabel{language/gallina-specification-language:grammar-token-binders}{{3}{25}{Syntax of terms}{section*.15}{}}
\newlabel{language/gallina-specification-language:grammar-token-binder}{{3}{25}{Syntax of terms}{section*.16}{}}
\newlabel{language/gallina-specification-language:grammar-token-name}{{3}{25}{Syntax of terms}{section*.17}{}}
\newlabel{language/gallina-specification-language:grammar-token-qualid}{{3}{25}{Syntax of terms}{section*.18}{}}
\newlabel{language/gallina-specification-language:grammar-token-sort}{{3}{25}{Syntax of terms}{section*.19}{}}
\newlabel{language/gallina-specification-language:grammar-token-fix_bodies}{{3}{25}{Syntax of terms}{section*.20}{}}
\newlabel{language/gallina-specification-language:grammar-token-cofix_bodies}{{3}{25}{Syntax of terms}{section*.21}{}}
\newlabel{language/gallina-specification-language:grammar-token-fix_body}{{3}{25}{Syntax of terms}{section*.22}{}}
\newlabel{language/gallina-specification-language:grammar-token-cofix_body}{{3}{25}{Syntax of terms}{section*.23}{}}
\newlabel{language/gallina-specification-language:grammar-token-annotation}{{3}{25}{Syntax of terms}{section*.24}{}}
\newlabel{language/gallina-specification-language:grammar-token-match_item}{{3}{25}{Syntax of terms}{section*.25}{}}
\newlabel{language/gallina-specification-language:grammar-token-dep_ret_type}{{3}{25}{Syntax of terms}{section*.26}{}}
\newlabel{language/gallina-specification-language:grammar-token-return_type}{{3}{25}{Syntax of terms}{section*.27}{}}
\newlabel{language/gallina-specification-language:grammar-token-equation}{{3}{25}{Syntax of terms}{section*.28}{}}
\newlabel{language/gallina-specification-language:grammar-token-mult_pattern}{{3}{25}{Syntax of terms}{section*.29}{}}
\newlabel{language/gallina-specification-language:grammar-token-pattern}{{3}{25}{Syntax of terms}{section*.30}{}}
\newlabel{language/gallina-specification-language:grammar-token-or_pattern}{{3}{25}{Syntax of terms}{section*.31}{}}
\@writefile{toc}{\contentsline {subsubsection}{Types}{26}{subsubsection*.32}}
\newlabel{language/gallina-specification-language:types}{{4.1.3}{26}{Types}{subsubsection*.32}{}}
\newlabel{language/gallina-specification-language:grammar-token-type}{{4.1.3}{26}{Types}{section*.33}{}}
\@writefile{toc}{\contentsline {subsubsection}{Qualified identifiers and simple identifiers}{26}{subsubsection*.34}}
\newlabel{language/gallina-specification-language:qualified-identifiers-and-simple-identifiers}{{4.1.3}{26}{Qualified identifiers and simple identifiers}{subsubsection*.34}{}}
\newlabel{language/gallina-specification-language:gallina-identifiers}{{4.1.3}{26}{Qualified identifiers and simple identifiers}{subsubsection*.34}{}}
\@writefile{toc}{\contentsline {subsubsection}{Numerals}{26}{subsubsection*.35}}
\newlabel{language/gallina-specification-language:numerals}{{4.1.3}{26}{Numerals}{subsubsection*.35}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sorts}{26}{subsubsection*.36}}
\newlabel{language/gallina-specification-language:sorts}{{4.1.3}{26}{Sorts}{subsubsection*.36}{}}
\newlabel{language/gallina-specification-language:index-0}{{4.1.3}{26}{Sorts}{subsubsection*.36}{}}
\newlabel{language/gallina-specification-language:grammar-token-form}{{4.1.3}{26}{Sorts}{section*.37}{}}
\newlabel{language/gallina-specification-language:grammar-token-specif}{{4.1.3}{26}{Sorts}{section*.38}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binders}{26}{subsubsection*.39}}
\newlabel{language/gallina-specification-language:binders}{{4.1.3}{26}{Binders}{subsubsection*.39}{}}
\newlabel{language/gallina-specification-language:id3}{{4.1.3}{26}{Binders}{subsubsection*.39}{}}
\@writefile{toc}{\contentsline {subsubsection}{Abstractions}{27}{subsubsection*.40}}
\newlabel{language/gallina-specification-language:abstractions}{{4.1.3}{27}{Abstractions}{subsubsection*.40}{}}
\newlabel{language/gallina-specification-language:index-1}{{4.1.3}{27}{Abstractions}{subsubsection*.40}{}}
\@writefile{toc}{\contentsline {subsubsection}{Products}{27}{subsubsection*.41}}
\newlabel{language/gallina-specification-language:products}{{4.1.3}{27}{Products}{subsubsection*.41}{}}
\newlabel{language/gallina-specification-language:index-2}{{4.1.3}{27}{Products}{subsubsection*.41}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applications}{27}{subsubsection*.42}}
\newlabel{language/gallina-specification-language:applications}{{4.1.3}{27}{Applications}{subsubsection*.42}{}}
\@writefile{toc}{\contentsline {subsubsection}{Type cast}{27}{subsubsection*.43}}
\newlabel{language/gallina-specification-language:type-cast}{{4.1.3}{27}{Type cast}{subsubsection*.43}{}}
\newlabel{language/gallina-specification-language:index-3}{{4.1.3}{27}{Type cast}{subsubsection*.43}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inferable subterms}{27}{subsubsection*.44}}
\newlabel{language/gallina-specification-language:inferable-subterms}{{4.1.3}{27}{Inferable subterms}{subsubsection*.44}{}}
\newlabel{language/gallina-specification-language:index-4}{{4.1.3}{27}{Inferable subterms}{subsubsection*.44}{}}
\@writefile{toc}{\contentsline {subsubsection}{Let-in definitions}{27}{subsubsection*.45}}
\newlabel{language/gallina-specification-language:let-in-definitions}{{4.1.3}{27}{Let-in definitions}{subsubsection*.45}{}}
\newlabel{language/gallina-specification-language:let-in}{{4.1.3}{27}{Let-in definitions}{subsubsection*.45}{}}
\newlabel{language/gallina-specification-language:index-5}{{4.1.3}{27}{Let-in definitions}{subsubsection*.45}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definition by case analysis}{28}{subsubsection*.46}}
\newlabel{language/gallina-specification-language:definition-by-case-analysis}{{4.1.3}{28}{Definition by case analysis}{subsubsection*.46}{}}
\newlabel{language/gallina-specification-language:index-6}{{4.1.3}{28}{Definition by case analysis}{subsubsection*.46}{}}
\@writefile{toc}{\contentsline {subsubsection}{Recursive functions}{29}{subsubsection*.47}}
\newlabel{language/gallina-specification-language:recursive-functions}{{4.1.3}{29}{Recursive functions}{subsubsection*.47}{}}
\newlabel{language/gallina-specification-language:index-7}{{4.1.3}{29}{Recursive functions}{subsubsection*.47}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}The Vernacular}{29}{subsection.4.1.4}}
\newlabel{language/gallina-specification-language:the-vernacular}{{4.1.4}{29}{The Vernacular}{subsection.4.1.4}{}}
\newlabel{language/gallina-specification-language:vernacular}{{4.1.4}{29}{The Vernacular}{subsection.4.1.4}{}}
\newlabel{language/gallina-specification-language:grammar-token-sentence}{{4}{29}{The Vernacular}{section*.48}{}}
\newlabel{language/gallina-specification-language:grammar-token-assumption}{{4}{29}{The Vernacular}{section*.49}{}}
\newlabel{language/gallina-specification-language:grammar-token-assumption_keyword}{{4}{29}{The Vernacular}{section*.50}{}}
\gdef \LT@iv {\LT@entry 
    {1}{106.50002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{331.25003pt}}
\newlabel{language/gallina-specification-language:grammar-token-assums}{{4}{30}{The Vernacular}{section*.51}{}}
\newlabel{language/gallina-specification-language:grammar-token-definition}{{4}{30}{The Vernacular}{section*.52}{}}
\newlabel{language/gallina-specification-language:grammar-token-inductive}{{4}{30}{The Vernacular}{section*.53}{}}
\newlabel{language/gallina-specification-language:grammar-token-ind_body}{{4}{30}{The Vernacular}{section*.54}{}}
\newlabel{language/gallina-specification-language:grammar-token-fixpoint}{{4}{30}{The Vernacular}{section*.55}{}}
\newlabel{language/gallina-specification-language:grammar-token-assertion}{{4}{30}{The Vernacular}{section*.56}{}}
\newlabel{language/gallina-specification-language:grammar-token-assertion_keyword}{{4}{30}{The Vernacular}{section*.57}{}}
\newlabel{language/gallina-specification-language:grammar-token-proof}{{4}{30}{The Vernacular}{section*.58}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assumptions}{30}{subsubsection*.59}}
\newlabel{language/gallina-specification-language:assumptions}{{4.1.4}{30}{Assumptions}{subsubsection*.59}{}}
\newlabel{language/gallina-specification-language:gallina-assumptions}{{4.1.4}{30}{Assumptions}{subsubsection*.59}{}}
\newlabel{language/gallina-specification-language:axiom}{{4.1.4}{30}{Assumptions}{section*.60}{}}
\newlabel{language/gallina-specification-language:coq:cmd.parameter}{{4.1.4}{30}{Assumptions}{section*.61}{}}
\newlabel{language/gallina-specification-language:coq:exn.ident-already-exists-axiom}{{4.1.4}{30}{Assumptions}{section*.62}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.local-parameter}{{4.1.4}{30}{Assumptions}{section*.63}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.parameters}{{4.1.4}{30}{Assumptions}{section*.64}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.axiom}{{4.1.4}{31}{Assumptions}{section*.65}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.axioms}{{4.1.4}{31}{Assumptions}{section*.66}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.conjecture}{{4.1.4}{31}{Assumptions}{section*.67}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.conjectures}{{4.1.4}{31}{Assumptions}{section*.68}{}}
\newlabel{language/gallina-specification-language:coq:cmd.variable}{{4.1.4}{31}{Assumptions}{section*.69}{}}
\newlabel{language/gallina-specification-language:coq:exn.ident-already-exists-variable}{{4.1.4}{31}{Assumptions}{section*.70}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.variables}{{4.1.4}{31}{Assumptions}{section*.71}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.hypothesis}{{4.1.4}{31}{Assumptions}{section*.72}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.hypotheses}{{4.1.4}{31}{Assumptions}{section*.73}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definitions}{31}{subsubsection*.74}}
\newlabel{language/gallina-specification-language:definitions}{{4.1.4}{31}{Definitions}{subsubsection*.74}{}}
\newlabel{language/gallina-specification-language:gallina-definitions}{{4.1.4}{31}{Definitions}{subsubsection*.74}{}}
\newlabel{language/gallina-specification-language:coq:cmd.definition}{{4.1.4}{32}{Definitions}{section*.75}{}}
\newlabel{language/gallina-specification-language:coq:exn.ident-already-exists-definition}{{4.1.4}{32}{Definitions}{section*.76}{}}
\newlabel{language/gallina-specification-language:coq:exn.the-term-term-has-type-type-while-it-is-expected-to-have-type-type}{{4.1.4}{32}{Definitions}{section*.77}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.local-definition}{{4.1.4}{32}{Definitions}{section*.78}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.example}{{4.1.4}{32}{Definitions}{section*.79}{}}
\newlabel{language/gallina-specification-language:coq:cmd.let}{{4.1.4}{32}{Definitions}{section*.80}{}}
\newlabel{language/gallina-specification-language:coq:exn.ident-already-exists-let}{{4.1.4}{32}{Definitions}{section*.81}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.let-fixpoint}{{4.1.4}{32}{Definitions}{section*.82}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.let-cofixpoint}{{4.1.4}{32}{Definitions}{section*.83}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inductive definitions}{32}{subsubsection*.84}}
\newlabel{language/gallina-specification-language:inductive-definitions}{{4.1.4}{32}{Inductive definitions}{subsubsection*.84}{}}
\newlabel{language/gallina-specification-language:gallina-inductive-definitions}{{4.1.4}{32}{Inductive definitions}{subsubsection*.84}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple inductive types}{33}{paragraph*.85}}
\newlabel{language/gallina-specification-language:simple-inductive-types}{{4.1.4}{33}{Simple inductive types}{paragraph*.85}{}}
\newlabel{language/gallina-specification-language:coq:cmd.inductive}{{4.1.4}{33}{Simple inductive types}{section*.86}{}}
\newlabel{language/gallina-specification-language:coq:exn.non-strictly-positive-occurrence-of-ident-in-type}{{4.1.4}{33}{Simple inductive types}{section*.87}{}}
\newlabel{language/gallina-specification-language:coq:exn.the-conclusion-of-type-is-not-valid-it-must-be-built-from-ident}{{4.1.4}{33}{Simple inductive types}{section*.88}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple annotated inductive types}{34}{paragraph*.89}}
\newlabel{language/gallina-specification-language:simple-annotated-inductive-types}{{4.1.4}{34}{Simple annotated inductive types}{paragraph*.89}{}}
\@writefile{toc}{\contentsline {paragraph}{Parametrized inductive types}{34}{paragraph*.90}}
\newlabel{language/gallina-specification-language:parametrized-inductive-types}{{4.1.4}{34}{Parametrized inductive types}{paragraph*.90}{}}
\@writefile{toc}{\contentsline {paragraph}{Variants}{36}{paragraph*.91}}
\newlabel{language/gallina-specification-language:variants}{{4.1.4}{36}{Variants}{paragraph*.91}{}}
\newlabel{language/gallina-specification-language:coq:cmd.variant}{{4.1.4}{36}{Variants}{section*.92}{}}
\newlabel{language/gallina-specification-language:coq:exn.the-num-th-argument-of-ident-must-be-ident-in-type}{{4.1.4}{36}{Variants}{section*.93}{}}
\@writefile{toc}{\contentsline {paragraph}{Mutually defined inductive types}{36}{paragraph*.94}}
\newlabel{language/gallina-specification-language:mutually-defined-inductive-types}{{4.1.4}{36}{Mutually defined inductive types}{paragraph*.94}{}}
\@writefile{toc}{\contentsline {paragraph}{Co-inductive types}{37}{paragraph*.95}}
\newlabel{language/gallina-specification-language:co-inductive-types}{{4.1.4}{37}{Co-inductive types}{paragraph*.95}{}}
\newlabel{language/gallina-specification-language:coinductive-types}{{4.1.4}{37}{Co-inductive types}{paragraph*.95}{}}
\newlabel{language/gallina-specification-language:coq:cmd.coinductive}{{4.1.4}{37}{Co-inductive types}{section*.96}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definition of recursive functions}{38}{subsubsection*.97}}
\newlabel{language/gallina-specification-language:definition-of-recursive-functions}{{4.1.4}{38}{Definition of recursive functions}{subsubsection*.97}{}}
\@writefile{toc}{\contentsline {paragraph}{Definition of functions by recursion over inductive objects}{38}{paragraph*.98}}
\newlabel{language/gallina-specification-language:definition-of-functions-by-recursion-over-inductive-objects}{{4.1.4}{38}{Definition of functions by recursion over inductive objects}{paragraph*.98}{}}
\newlabel{language/gallina-specification-language:fixpoint}{{4.1.4}{38}{Definition of functions by recursion over inductive objects}{section*.99}{}}
\newlabel{language/gallina-specification-language:coq:cmd.fixpoint}{{4.1.4}{38}{Definition of functions by recursion over inductive objects}{section*.100}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions of recursive objects in co-inductive types}{41}{paragraph*.101}}
\newlabel{language/gallina-specification-language:definitions-of-recursive-objects-in-co-inductive-types}{{4.1.4}{41}{Definitions of recursive objects in co-inductive types}{paragraph*.101}{}}
\newlabel{language/gallina-specification-language:cofixpoint}{{4.1.4}{41}{Definitions of recursive objects in co-inductive types}{paragraph*.101}{}}
\newlabel{language/gallina-specification-language:coq:cmd.cofixpoint}{{4.1.4}{41}{Definitions of recursive objects in co-inductive types}{section*.102}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assertions and proofs}{42}{subsubsection*.103}}
\newlabel{language/gallina-specification-language:assertions-and-proofs}{{4.1.4}{42}{Assertions and proofs}{subsubsection*.103}{}}
\newlabel{language/gallina-specification-language:assertions}{{4.1.4}{42}{Assertions and proofs}{subsubsection*.103}{}}
\newlabel{language/gallina-specification-language:coq:cmd.theorem}{{4.1.4}{42}{Assertions and proofs}{section*.104}{}}
\newlabel{language/gallina-specification-language:coq:exn.the-term-term-has-type-type-which-should-be-set-prop-or-type}{{4.1.4}{42}{Assertions and proofs}{section*.105}{}}
\newlabel{language/gallina-specification-language:coq:exn.ident-already-exists-theorem}{{4.1.4}{42}{Assertions and proofs}{section*.106}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.lemma}{{4.1.4}{42}{Assertions and proofs}{section*.107}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.remark}{{4.1.4}{42}{Assertions and proofs}{section*.108}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.fact}{{4.1.4}{42}{Assertions and proofs}{section*.109}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.corollary}{{4.1.4}{42}{Assertions and proofs}{section*.110}{}}
\newlabel{language/gallina-specification-language:coq:cmdv.proposition}{{4.1.4}{42}{Assertions and proofs}{section*.111}{}}
\gdef \LT@v {\LT@entry 
    {1}{85.50002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{283.36002pt}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Extensions of Gallina}{43}{section.4.2}}
\newlabel{language/gallina-extensions:extensions-of-gallina}{{4.2}{43}{Extensions of Gallina}{section.4.2}{}}
\newlabel{language/gallina-extensions:extensionsofgallina}{{4.2}{43}{Extensions of Gallina}{section.4.2}{}}
\newlabel{language/gallina-extensions::doc}{{4.2}{43}{Extensions of Gallina}{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Record types}{43}{subsection.4.2.1}}
\newlabel{language/gallina-extensions:record-types}{{4.2.1}{43}{Record types}{subsection.4.2.1}{}}
\newlabel{language/gallina-extensions:id1}{{4.2.1}{43}{Record types}{subsection.4.2.1}{}}
\newlabel{language/gallina-extensions:record-grammar}{{4.2.1}{43}{Record types}{section*.112}{}}
\newlabel{language/gallina-extensions:grammar-token-record}{{5}{43}{Record types}{section*.113}{}}
\newlabel{language/gallina-extensions:grammar-token-record_keyword}{{5}{43}{Record types}{section*.114}{}}
\newlabel{language/gallina-extensions:grammar-token-field}{{5}{43}{Record types}{section*.115}{}}
\newlabel{language/gallina-extensions:coq:cmd.record}{{4.2.1}{43}{Record types}{section*.116}{}}
\gdef \LT@vi {\LT@entry 
    {1}{69.75002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{194.75003pt}}
\newlabel{language/gallina-extensions:record-named-fields-grammar}{{4.2.1}{44}{Record types}{section*.117}{}}
\newlabel{language/gallina-extensions:grammar-token-record_term}{{6}{44}{Record types}{section*.118}{}}
\newlabel{language/gallina-extensions:grammar-token-field_def}{{6}{44}{Record types}{section*.119}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-records}{{4.2.1}{45}{Record types}{section*.120}{}}
\newlabel{language/gallina-extensions:coq:table.printing-record}{{4.2.1}{45}{Record types}{section*.121}{}}
\newlabel{language/gallina-extensions:coq:table.printing-constructor}{{4.2.1}{45}{Record types}{section*.122}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-projections}{{4.2.1}{45}{Record types}{section*.123}{}}
\gdef \LT@vii {\LT@entry 
    {1}{64.50002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{228.45003pt}}
\newlabel{language/gallina-extensions:record-projections-grammar}{{4.2.1}{46}{Record types}{section*.124}{}}
\newlabel{language/gallina-extensions:grammar-token-projection}{{7}{46}{Record types}{section*.125}{}}
\newlabel{language/gallina-extensions:coq:warn.ident-cannot-be-defined}{{4.2.1}{46}{Record types}{section*.126}{}}
\newlabel{language/gallina-extensions:coq:exn.records-declared-with-the-keyword-record-or-structure-cannot-be-recursive}{{4.2.1}{46}{Record types}{section*.127}{}}
\newlabel{language/gallina-extensions:coq:exn.cannot-handle-mutually-co-inductive-records}{{4.2.1}{46}{Record types}{section*.128}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Projections}{47}{subsubsection*.129}}
\newlabel{language/gallina-extensions:primitive-projections}{{4.2.1}{47}{Primitive Projections}{subsubsection*.129}{}}
\newlabel{language/gallina-extensions:id2}{{4.2.1}{47}{Primitive Projections}{subsubsection*.129}{}}
\newlabel{language/gallina-extensions:coq:flag.primitive-projections}{{4.2.1}{47}{Primitive Projections}{section*.130}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-primitive-projection-parameters}{{4.2.1}{47}{Primitive Projections}{section*.131}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-primitive-projection-compatibility}{{4.2.1}{47}{Primitive Projections}{section*.132}{}}
\@writefile{toc}{\contentsline {paragraph}{Primitive Record Types}{47}{paragraph*.133}}
\newlabel{language/gallina-extensions:primitive-record-types}{{4.2.1}{47}{Primitive Record Types}{paragraph*.133}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{47}{paragraph*.134}}
\newlabel{language/gallina-extensions:reduction}{{4.2.1}{47}{Reduction}{paragraph*.134}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{48}{paragraph*.135}}
\newlabel{language/gallina-extensions:compatibility-projections-and-match}{{4.2.1}{48}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{paragraph*.135}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{48}{subsection.4.2.2}}
\newlabel{language/gallina-extensions:variants-and-extensions-of-match}{{4.2.2}{48}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple and nested pattern matching}{48}{subsubsection*.136}}
\newlabel{language/gallina-extensions:multiple-and-nested-pattern-matching}{{4.2.2}{48}{Multiple and nested pattern matching}{subsubsection*.136}{}}
\newlabel{language/gallina-extensions:mult-match}{{4.2.2}{48}{Multiple and nested pattern matching}{subsubsection*.136}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern-matching on boolean values: the if expression}{48}{subsubsection*.137}}
\newlabel{language/gallina-extensions:pattern-matching-on-boolean-values-the-if-expression}{{4.2.2}{48}{Pattern-matching on boolean values: the if expression}{subsubsection*.137}{}}
\newlabel{language/gallina-extensions:if-then-else}{{4.2.2}{48}{Pattern-matching on boolean values: the if expression}{subsubsection*.137}{}}
\@writefile{toc}{\contentsline {subsubsection}{Irrefutable patterns: the destructuring let variants}{49}{subsubsection*.138}}
\newlabel{language/gallina-extensions:irrefutable-patterns-the-destructuring-let-variants}{{4.2.2}{49}{Irrefutable patterns: the destructuring let variants}{subsubsection*.138}{}}
\newlabel{language/gallina-extensions:irrefutable-patterns}{{4.2.2}{49}{Irrefutable patterns: the destructuring let variants}{subsubsection*.138}{}}
\@writefile{toc}{\contentsline {paragraph}{First destructuring let syntax}{49}{paragraph*.139}}
\newlabel{language/gallina-extensions:first-destructuring-let-syntax}{{4.2.2}{49}{First destructuring let syntax}{paragraph*.139}{}}
\@writefile{toc}{\contentsline {paragraph}{Second destructuring let syntax}{50}{paragraph*.140}}
\newlabel{language/gallina-extensions:second-destructuring-let-syntax}{{4.2.2}{50}{Second destructuring let syntax}{paragraph*.140}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling pretty-printing of match expressions}{50}{subsubsection*.141}}
\newlabel{language/gallina-extensions:controlling-pretty-printing-of-match-expressions}{{4.2.2}{50}{Controlling pretty-printing of match expressions}{subsubsection*.141}{}}
\newlabel{language/gallina-extensions:controlling-match-pp}{{4.2.2}{50}{Controlling pretty-printing of match expressions}{subsubsection*.141}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing nested patterns}{50}{paragraph*.142}}
\newlabel{language/gallina-extensions:printing-nested-patterns}{{4.2.2}{50}{Printing nested patterns}{paragraph*.142}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-matching}{{4.2.2}{50}{Printing nested patterns}{section*.143}{}}
\@writefile{toc}{\contentsline {paragraph}{Factorization of clauses with same right-hand side}{50}{paragraph*.144}}
\newlabel{language/gallina-extensions:factorization-of-clauses-with-same-right-hand-side}{{4.2.2}{50}{Factorization of clauses with same right-hand side}{paragraph*.144}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-factorizable-match-patterns}{{4.2.2}{50}{Factorization of clauses with same right-hand side}{section*.145}{}}
\@writefile{toc}{\contentsline {paragraph}{Use of a default clause}{51}{paragraph*.146}}
\newlabel{language/gallina-extensions:use-of-a-default-clause}{{4.2.2}{51}{Use of a default clause}{paragraph*.146}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-allow-match-default-clause}{{4.2.2}{51}{Use of a default clause}{section*.147}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing of wildcard patterns}{51}{paragraph*.148}}
\newlabel{language/gallina-extensions:printing-of-wildcard-patterns}{{4.2.2}{51}{Printing of wildcard patterns}{paragraph*.148}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-wildcard}{{4.2.2}{51}{Printing of wildcard patterns}{section*.149}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing of the elimination predicate}{51}{paragraph*.150}}
\newlabel{language/gallina-extensions:printing-of-the-elimination-predicate}{{4.2.2}{51}{Printing of the elimination predicate}{paragraph*.150}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-synth}{{4.2.2}{51}{Printing of the elimination predicate}{section*.151}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing matching on irrefutable patterns}{51}{paragraph*.152}}
\newlabel{language/gallina-extensions:printing-matching-on-irrefutable-patterns}{{4.2.2}{51}{Printing matching on irrefutable patterns}{paragraph*.152}{}}
\newlabel{language/gallina-extensions:coq:table.printing-let}{{4.2.2}{51}{Printing matching on irrefutable patterns}{section*.153}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing matching on booleans}{51}{paragraph*.154}}
\newlabel{language/gallina-extensions:printing-matching-on-booleans}{{4.2.2}{51}{Printing matching on booleans}{paragraph*.154}{}}
\newlabel{language/gallina-extensions:coq:table.printing-if}{{4.2.2}{51}{Printing matching on booleans}{section*.155}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Advanced recursive functions}{52}{subsection.4.2.3}}
\newlabel{language/gallina-extensions:advanced-recursive-functions}{{4.2.3}{52}{Advanced recursive functions}{subsection.4.2.3}{}}
\newlabel{language/gallina-extensions:id3}{{4.2.3}{52}{Advanced recursive functions}{subsection.4.2.3}{}}
\newlabel{language/gallina-extensions:coq:cmd.function}{{4.2.3}{52}{Advanced recursive functions}{section*.156}{}}
\newlabel{language/gallina-extensions:coq:exn.the-recursive-argument-must-be-specified}{{4.2.3}{53}{Advanced recursive functions}{section*.157}{}}
\newlabel{language/gallina-extensions:coq:exn.no-argument-name-ident}{{4.2.3}{53}{Advanced recursive functions}{section*.158}{}}
\newlabel{language/gallina-extensions:coq:exn.cannot-use-mutual-definition-with-well-founded-recursion-or-measure}{{4.2.3}{53}{Advanced recursive functions}{section*.159}{}}
\newlabel{language/gallina-extensions:coq:warn.cannot-define-graph-for-ident}{{4.2.3}{53}{Advanced recursive functions}{section*.160}{}}
\newlabel{language/gallina-extensions:coq:warn.cannot-define-principle-s-for-ident}{{4.2.3}{53}{Advanced recursive functions}{section*.161}{}}
\newlabel{language/gallina-extensions:coq:warn.cannot-build-functional-inversion-principle}{{4.2.3}{54}{Advanced recursive functions}{section*.162}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Section mechanism}{55}{subsection.4.2.4}}
\newlabel{language/gallina-extensions:section-mechanism}{{4.2.4}{55}{Section mechanism}{subsection.4.2.4}{}}
\newlabel{language/gallina-extensions:id4}{{4.2.4}{55}{Section mechanism}{subsection.4.2.4}{}}
\newlabel{language/gallina-extensions:coq:cmd.section}{{4.2.4}{55}{Section mechanism}{section*.163}{}}
\newlabel{language/gallina-extensions:coq:cmd.end}{{4.2.4}{55}{Section mechanism}{section*.164}{}}
\newlabel{language/gallina-extensions:coq:exn.this-is-not-the-last-opened-section}{{4.2.4}{55}{Section mechanism}{section*.165}{}}
\gdef \LT@viii {\LT@entry 
    {1}{101.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{269.08002pt}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Module system}{56}{subsection.4.2.5}}
\newlabel{language/gallina-extensions:module-system}{{4.2.5}{56}{Module system}{subsection.4.2.5}{}}
\newlabel{language/gallina-extensions:grammar-token-module_type}{{8}{56}{Module system}{section*.166}{}}
\newlabel{language/gallina-extensions:grammar-token-module_binding}{{8}{56}{Module system}{section*.167}{}}
\newlabel{language/gallina-extensions:grammar-token-module_bindings}{{8}{56}{Module system}{section*.168}{}}
\newlabel{language/gallina-extensions:grammar-token-module_expression}{{8}{56}{Module system}{section*.169}{}}
\newlabel{language/gallina-extensions:coq:cmd.module}{{4.2.5}{56}{Module system}{section*.170}{}}
\@writefile{toc}{\contentsline {subsubsection}{Reserved commands inside an interactive module}{57}{subsubsection*.171}}
\newlabel{language/gallina-extensions:reserved-commands-inside-an-interactive-module}{{4.2.5}{57}{Reserved commands inside an interactive module}{subsubsection*.171}{}}
\newlabel{language/gallina-extensions:coq:cmd.include}{{4.2.5}{57}{Reserved commands inside an interactive module}{section*.172}{}}
\newlabel{language/gallina-extensions:coq:exn.no-such-label-ident}{{4.2.5}{57}{Reserved commands inside an interactive module}{section*.173}{}}
\newlabel{language/gallina-extensions:coq:exn.signature-components-for-label-ident-do-not-match}{{4.2.5}{57}{Reserved commands inside an interactive module}{section*.174}{}}
\newlabel{language/gallina-extensions:coq:exn.this-is-not-the-last-opened-module}{{4.2.5}{57}{Reserved commands inside an interactive module}{section*.175}{}}
\newlabel{language/gallina-extensions:coq:cmd.module-type}{{4.2.5}{57}{Reserved commands inside an interactive module}{section*.176}{}}
\@writefile{toc}{\contentsline {subsubsection}{Reserved commands inside an interactive module type:}{57}{subsubsection*.177}}
\newlabel{language/gallina-extensions:reserved-commands-inside-an-interactive-module-type}{{4.2.5}{57}{Reserved commands inside an interactive module type:}{subsubsection*.177}{}}
\newlabel{language/gallina-extensions:coq:cmd.inline}{{4.2.5}{57}{Reserved commands inside an interactive module type:}{section*.178}{}}
\newlabel{language/gallina-extensions:coq:exn.this-is-not-the-last-opened-module-type}{{4.2.5}{58}{Reserved commands inside an interactive module type:}{section*.179}{}}
\newlabel{language/gallina-extensions:coq:cmd.declare-module}{{4.2.5}{58}{Reserved commands inside an interactive module type:}{section*.180}{}}
\newlabel{language/gallina-extensions:import-qualid}{{4.2.5}{61}{Reserved commands inside an interactive module type:}{section*.181}{}}
\newlabel{language/gallina-extensions:coq:cmd.import}{{4.2.5}{61}{Reserved commands inside an interactive module type:}{section*.182}{}}
\newlabel{language/gallina-extensions:coq:cmdv.export}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.183}{}}
\newlabel{language/gallina-extensions:coq:exn.qualid-is-not-a-module}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.184}{}}
\newlabel{language/gallina-extensions:coq:warn.trying-to-mask-the-absolute-name-qualid}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.185}{}}
\newlabel{language/gallina-extensions:coq:cmd.print-module}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.186}{}}
\newlabel{language/gallina-extensions:coq:cmd.print-module-type}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.187}{}}
\newlabel{language/gallina-extensions:coq:flag.short-module-printing}{{4.2.5}{63}{Reserved commands inside an interactive module type:}{section*.188}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.6}Libraries and qualified names}{63}{subsection.4.2.6}}
\newlabel{language/gallina-extensions:libraries-and-qualified-names}{{4.2.6}{63}{Libraries and qualified names}{subsection.4.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{Names of libraries}{63}{subsubsection*.189}}
\newlabel{language/gallina-extensions:names-of-libraries}{{4.2.6}{63}{Names of libraries}{subsubsection*.189}{}}
\newlabel{language/gallina-extensions:id5}{{4.2.6}{63}{Names of libraries}{subsubsection*.189}{}}
\@writefile{toc}{\contentsline {subsubsection}{Qualified names}{63}{subsubsection*.190}}
\newlabel{language/gallina-extensions:qualified-names}{{4.2.6}{63}{Qualified names}{subsubsection*.190}{}}
\newlabel{language/gallina-extensions:id6}{{4.2.6}{63}{Qualified names}{subsubsection*.190}{}}
\@writefile{toc}{\contentsline {subsubsection}{Libraries and filesystem}{64}{subsubsection*.191}}
\newlabel{language/gallina-extensions:libraries-and-filesystem}{{4.2.6}{64}{Libraries and filesystem}{subsubsection*.191}{}}
\newlabel{language/gallina-extensions:id7}{{4.2.6}{64}{Libraries and filesystem}{subsubsection*.191}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.7}Implicit arguments}{65}{subsection.4.2.7}}
\newlabel{language/gallina-extensions:implicit-arguments}{{4.2.7}{65}{Implicit arguments}{subsection.4.2.7}{}}
\newlabel{language/gallina-extensions:implicitarguments}{{4.2.7}{65}{Implicit arguments}{subsection.4.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{The different kinds of implicit arguments}{65}{subsubsection*.192}}
\newlabel{language/gallina-extensions:the-different-kinds-of-implicit-arguments}{{4.2.7}{65}{The different kinds of implicit arguments}{subsubsection*.192}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable from the knowledge of other arguments of a function}{65}{paragraph*.193}}
\newlabel{language/gallina-extensions:implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function}{{4.2.7}{65}{Implicit arguments inferable from the knowledge of other arguments of a function}{paragraph*.193}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable by resolution}{66}{paragraph*.194}}
\newlabel{language/gallina-extensions:implicit-arguments-inferable-by-resolution}{{4.2.7}{66}{Implicit arguments inferable by resolution}{paragraph*.194}{}}
\@writefile{toc}{\contentsline {subsubsection}{Maximal or non maximal insertion of implicit arguments}{66}{subsubsection*.195}}
\newlabel{language/gallina-extensions:maximal-or-non-maximal-insertion-of-implicit-arguments}{{4.2.7}{66}{Maximal or non maximal insertion of implicit arguments}{subsubsection*.195}{}}
\@writefile{toc}{\contentsline {subsubsection}{Casual use of implicit arguments}{67}{subsubsection*.196}}
\newlabel{language/gallina-extensions:casual-use-of-implicit-arguments}{{4.2.7}{67}{Casual use of implicit arguments}{subsubsection*.196}{}}
\newlabel{language/gallina-extensions:coq:exn.cannot-infer-a-term-for-this-placeholder-casual-use-of-implicit-arguments}{{4.2.7}{67}{Casual use of implicit arguments}{section*.197}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of implicit arguments}{67}{subsubsection*.198}}
\newlabel{language/gallina-extensions:declaration-of-implicit-arguments}{{4.2.7}{67}{Declaration of implicit arguments}{subsubsection*.198}{}}
\newlabel{language/gallina-extensions:declare-implicit-args}{{4.2.7}{67}{Declaration of implicit arguments}{subsubsection*.198}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit Argument Binders}{67}{paragraph*.199}}
\newlabel{language/gallina-extensions:implicit-argument-binders}{{4.2.7}{67}{Implicit Argument Binders}{paragraph*.199}{}}
\@writefile{toc}{\contentsline {paragraph}{Declaring Implicit Arguments}{68}{paragraph*.200}}
\newlabel{language/gallina-extensions:declaring-implicit-arguments}{{4.2.7}{68}{Declaring Implicit Arguments}{paragraph*.200}{}}
\newlabel{language/gallina-extensions:coq:cmd.arguments-implicits}{{4.2.7}{68}{Declaring Implicit Arguments}{section*.201}{}}
\newlabel{language/gallina-extensions:coq:cmd.arguments}{{4.2.7}{68}{Declaring Implicit Arguments}{section*.202}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic declaration of implicit arguments}{69}{subsubsection*.203}}
\newlabel{language/gallina-extensions:automatic-declaration-of-implicit-arguments}{{4.2.7}{69}{Automatic declaration of implicit arguments}{subsubsection*.203}{}}
\@writefile{toc}{\contentsline {subsubsection}{Mode for automatic declaration of implicit arguments}{71}{subsubsection*.204}}
\newlabel{language/gallina-extensions:mode-for-automatic-declaration-of-implicit-arguments}{{4.2.7}{71}{Mode for automatic declaration of implicit arguments}{subsubsection*.204}{}}
\newlabel{language/gallina-extensions:coq:flag.implicit-arguments}{{4.2.7}{71}{Mode for automatic declaration of implicit arguments}{section*.205}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling strict implicit arguments}{71}{subsubsection*.206}}
\newlabel{language/gallina-extensions:controlling-strict-implicit-arguments}{{4.2.7}{71}{Controlling strict implicit arguments}{subsubsection*.206}{}}
\newlabel{language/gallina-extensions:controlling-strict-implicit-args}{{4.2.7}{71}{Controlling strict implicit arguments}{subsubsection*.206}{}}
\newlabel{language/gallina-extensions:coq:flag.strict-implicit}{{4.2.7}{71}{Controlling strict implicit arguments}{section*.207}{}}
\newlabel{language/gallina-extensions:coq:flag.strongly-strict-implicit}{{4.2.7}{71}{Controlling strict implicit arguments}{section*.208}{}}
\gdef \LT@ix {\LT@entry 
    {1}{54.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{167.58002pt}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling contextual implicit arguments}{72}{subsubsection*.209}}
\newlabel{language/gallina-extensions:controlling-contextual-implicit-arguments}{{4.2.7}{72}{Controlling contextual implicit arguments}{subsubsection*.209}{}}
\newlabel{language/gallina-extensions:controlling-contextual-implicit-args}{{4.2.7}{72}{Controlling contextual implicit arguments}{subsubsection*.209}{}}
\newlabel{language/gallina-extensions:coq:flag.contextual-implicit}{{4.2.7}{72}{Controlling contextual implicit arguments}{section*.210}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling reversible-pattern implicit arguments}{72}{subsubsection*.211}}
\newlabel{language/gallina-extensions:controlling-reversible-pattern-implicit-arguments}{{4.2.7}{72}{Controlling reversible-pattern implicit arguments}{subsubsection*.211}{}}
\newlabel{language/gallina-extensions:controlling-rev-pattern-implicit-args}{{4.2.7}{72}{Controlling reversible-pattern implicit arguments}{subsubsection*.211}{}}
\newlabel{language/gallina-extensions:coq:flag.reversible-pattern-implicit}{{4.2.7}{72}{Controlling reversible-pattern implicit arguments}{section*.212}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the insertion of implicit arguments not followed by explicit arguments}{72}{subsubsection*.213}}
\newlabel{language/gallina-extensions:controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments}{{4.2.7}{72}{Controlling the insertion of implicit arguments not followed by explicit arguments}{subsubsection*.213}{}}
\newlabel{language/gallina-extensions:controlling-insertion-implicit-args}{{4.2.7}{72}{Controlling the insertion of implicit arguments not followed by explicit arguments}{subsubsection*.213}{}}
\newlabel{language/gallina-extensions:coq:flag.maximal-implicit-insertion}{{4.2.7}{72}{Controlling the insertion of implicit arguments not followed by explicit arguments}{section*.214}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit applications}{72}{subsubsection*.215}}
\newlabel{language/gallina-extensions:explicit-applications}{{4.2.7}{72}{Explicit applications}{subsubsection*.215}{}}
\newlabel{language/gallina-extensions:id8}{{4.2.7}{72}{Explicit applications}{subsubsection*.215}{}}
\newlabel{language/gallina-extensions:explicit-app-grammar}{{4.2.7}{72}{Explicit applications}{section*.216}{}}
\newlabel{language/gallina-extensions:grammar-token-term}{{9}{72}{Explicit applications}{section*.217}{}}
\newlabel{language/gallina-extensions:grammar-token-argument}{{9}{72}{Explicit applications}{section*.218}{}}
\@writefile{toc}{\contentsline {subsubsection}{Renaming implicit arguments}{73}{subsubsection*.219}}
\newlabel{language/gallina-extensions:renaming-implicit-arguments}{{4.2.7}{73}{Renaming implicit arguments}{subsubsection*.219}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying what the implicit arguments are}{73}{subsubsection*.220}}
\newlabel{language/gallina-extensions:displaying-what-the-implicit-arguments-are}{{4.2.7}{73}{Displaying what the implicit arguments are}{subsubsection*.220}{}}
\newlabel{language/gallina-extensions:displaying-implicit-args}{{4.2.7}{73}{Displaying what the implicit arguments are}{subsubsection*.220}{}}
\newlabel{language/gallina-extensions:coq:cmd.print-implicit}{{4.2.7}{73}{Displaying what the implicit arguments are}{section*.221}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit displaying of implicit arguments for pretty-printing}{73}{subsubsection*.222}}
\newlabel{language/gallina-extensions:explicit-displaying-of-implicit-arguments-for-pretty-printing}{{4.2.7}{73}{Explicit displaying of implicit arguments for pretty-printing}{subsubsection*.222}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-implicit}{{4.2.7}{73}{Explicit displaying of implicit arguments for pretty-printing}{section*.223}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-implicit-defensive}{{4.2.7}{73}{Explicit displaying of implicit arguments for pretty-printing}{section*.224}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interaction with subtyping}{73}{subsubsection*.225}}
\newlabel{language/gallina-extensions:interaction-with-subtyping}{{4.2.7}{73}{Interaction with subtyping}{subsubsection*.225}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deactivation of implicit arguments for parsing}{74}{subsubsection*.226}}
\newlabel{language/gallina-extensions:deactivation-of-implicit-arguments-for-parsing}{{4.2.7}{74}{Deactivation of implicit arguments for parsing}{subsubsection*.226}{}}
\newlabel{language/gallina-extensions:coq:flag.parsing-explicit}{{4.2.7}{74}{Deactivation of implicit arguments for parsing}{section*.227}{}}
\@writefile{toc}{\contentsline {subsubsection}{Canonical structures}{74}{subsubsection*.228}}
\newlabel{language/gallina-extensions:canonical-structures}{{4.2.7}{74}{Canonical structures}{subsubsection*.228}{}}
\newlabel{language/gallina-extensions:coq:cmd.canonical-structure}{{4.2.7}{74}{Canonical structures}{section*.229}{}}
\newlabel{language/gallina-extensions:coq:cmd.print-canonical-projections}{{4.2.7}{75}{Canonical structures}{section*.230}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit types of variables}{75}{subsubsection*.231}}
\newlabel{language/gallina-extensions:implicit-types-of-variables}{{4.2.7}{75}{Implicit types of variables}{subsubsection*.231}{}}
\newlabel{language/gallina-extensions:coq:cmd.implicit-types}{{4.2.7}{75}{Implicit types of variables}{section*.232}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit generalization}{76}{subsubsection*.233}}
\newlabel{language/gallina-extensions:implicit-generalization}{{4.2.7}{76}{Implicit generalization}{subsubsection*.233}{}}
\newlabel{language/gallina-extensions:id9}{{4.2.7}{76}{Implicit generalization}{subsubsection*.233}{}}
\newlabel{language/gallina-extensions:coq:cmd.generalizable-all-variables}{{4.2.7}{76}{Implicit generalization}{section*.234}{}}
\newlabel{language/gallina-extensions:coq:cmd.generalizable-no-variables}{{4.2.7}{77}{Implicit generalization}{section*.235}{}}
\newlabel{language/gallina-extensions:coq:cmd.generalizable}{{4.2.7}{77}{Implicit generalization}{section*.236}{}}
\newlabel{language/gallina-extensions:coq:cmd.global-generalizable}{{4.2.7}{77}{Implicit generalization}{section*.237}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.8}Coercions}{77}{subsection.4.2.8}}
\newlabel{language/gallina-extensions:coercions}{{4.2.8}{77}{Coercions}{subsection.4.2.8}{}}
\newlabel{language/gallina-extensions:id10}{{4.2.8}{77}{Coercions}{subsection.4.2.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.9}Printing constructions in full}{77}{subsection.4.2.9}}
\newlabel{language/gallina-extensions:printing-constructions-in-full}{{4.2.9}{77}{Printing constructions in full}{subsection.4.2.9}{}}
\newlabel{language/gallina-extensions:printing-constructions-full}{{4.2.9}{77}{Printing constructions in full}{subsection.4.2.9}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-all}{{4.2.9}{77}{Printing constructions in full}{section*.238}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.10}Printing universes}{78}{subsection.4.2.10}}
\newlabel{language/gallina-extensions:printing-universes}{{4.2.10}{78}{Printing universes}{subsection.4.2.10}{}}
\newlabel{language/gallina-extensions:id11}{{4.2.10}{78}{Printing universes}{subsection.4.2.10}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-universes}{{4.2.10}{78}{Printing universes}{section*.239}{}}
\newlabel{language/gallina-extensions:coq:cmd.print-universes}{{4.2.10}{78}{Printing universes}{section*.240}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.11}Existential variables}{78}{subsection.4.2.11}}
\newlabel{language/gallina-extensions:existential-variables}{{4.2.11}{78}{Existential variables}{subsection.4.2.11}{}}
\newlabel{language/gallina-extensions:id12}{{4.2.11}{78}{Existential variables}{subsection.4.2.11}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit displaying of existential instances for pretty-printing}{79}{subsubsection*.241}}
\newlabel{language/gallina-extensions:explicit-displaying-of-existential-instances-for-pretty-printing}{{4.2.11}{79}{Explicit displaying of existential instances for pretty-printing}{subsubsection*.241}{}}
\newlabel{language/gallina-extensions:explicit-display-existentials}{{4.2.11}{79}{Explicit displaying of existential instances for pretty-printing}{subsubsection*.241}{}}
\newlabel{language/gallina-extensions:coq:flag.printing-existential-instances}{{4.2.11}{79}{Explicit displaying of existential instances for pretty-printing}{section*.242}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving existential variables using tactics}{79}{subsubsection*.243}}
\newlabel{language/gallina-extensions:solving-existential-variables-using-tactics}{{4.2.11}{79}{Solving existential variables using tactics}{subsubsection*.243}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}The Coq library}{80}{section.4.3}}
\newlabel{language/coq-library:the-coq-library}{{4.3}{80}{The Coq library}{section.4.3}{}}
\newlabel{language/coq-library:thecoqlibrary}{{4.3}{80}{The Coq library}{section.4.3}{}}
\newlabel{language/coq-library::doc}{{4.3}{80}{The Coq library}{section.4.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}The basic library}{80}{subsection.4.3.1}}
\newlabel{language/coq-library:the-basic-library}{{4.3.1}{80}{The basic library}{subsection.4.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{80}{subsubsection*.244}}
\newlabel{language/coq-library:notations}{{4.3.1}{80}{Notations}{subsubsection*.244}{}}
\newlabel{language/coq-library:init-notations}{{4.3.1}{80}{Notations}{subsubsection*.244}{}}
\gdef \LT@x {\LT@entry 
    {1}{33.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{266.25002pt}}
\@writefile{toc}{\contentsline {subsubsection}{Logic}{81}{subsubsection*.245}}
\newlabel{language/coq-library:logic}{{4.3.1}{81}{Logic}{subsubsection*.245}{}}
\newlabel{language/coq-library:coq-library-logic}{{4.3.1}{81}{Logic}{subsubsection*.245}{}}
\newlabel{language/coq-library:grammar-token-form}{{10}{81}{Logic}{section*.246}{}}
\@writefile{toc}{\contentsline {paragraph}{Propositional Connectives}{82}{paragraph*.247}}
\newlabel{language/coq-library:propositional-connectives}{{4.3.1}{82}{Propositional Connectives}{paragraph*.247}{}}
\@writefile{toc}{\contentsline {paragraph}{Quantifiers}{82}{paragraph*.248}}
\newlabel{language/coq-library:quantifiers}{{4.3.1}{82}{Quantifiers}{paragraph*.248}{}}
\@writefile{toc}{\contentsline {paragraph}{Equality}{82}{paragraph*.249}}
\newlabel{language/coq-library:equality}{{4.3.1}{82}{Equality}{paragraph*.249}{}}
\newlabel{language/coq-library:coq-equality}{{4.3.1}{82}{Equality}{paragraph*.249}{}}
\gdef \LT@xi {\LT@entry 
    {1}{43.50002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{265.21004pt}}
\@writefile{toc}{\contentsline {paragraph}{Lemmas}{83}{paragraph*.250}}
\newlabel{language/coq-library:lemmas}{{4.3.1}{83}{Lemmas}{paragraph*.250}{}}
\newlabel{language/coq-library:index-4}{{4.3.1}{83}{Lemmas}{section*.251}{}}
\@writefile{toc}{\contentsline {subsubsection}{Datatypes}{83}{subsubsection*.252}}
\newlabel{language/coq-library:datatypes}{{4.3.1}{83}{Datatypes}{subsubsection*.252}{}}
\newlabel{language/coq-library:id1}{{4.3.1}{83}{Datatypes}{subsubsection*.252}{}}
\newlabel{language/coq-library:grammar-token-specif}{{11}{83}{Datatypes}{section*.253}{}}
\newlabel{language/coq-library:grammar-token-term}{{11}{83}{Datatypes}{section*.254}{}}
\@writefile{toc}{\contentsline {paragraph}{Programming}{83}{paragraph*.255}}
\newlabel{language/coq-library:programming}{{4.3.1}{83}{Programming}{paragraph*.255}{}}
\newlabel{language/coq-library:index-7}{{4.3.1}{83}{Programming}{section*.256}{}}
\newlabel{language/coq-library:index-8}{{4.3.1}{84}{Programming}{section*.257}{}}
\@writefile{toc}{\contentsline {subsubsection}{Specification}{84}{subsubsection*.258}}
\newlabel{language/coq-library:specification}{{4.3.1}{84}{Specification}{subsubsection*.258}{}}
\newlabel{language/coq-library:id2}{{4.3.1}{84}{Specification}{subsubsection*.258}{}}
\newlabel{language/coq-library:index-9}{{4.3.1}{84}{Specification}{section*.259}{}}
\newlabel{language/coq-library:index-10}{{4.3.1}{84}{Specification}{section*.260}{}}
\newlabel{language/coq-library:index-11}{{4.3.1}{85}{Specification}{section*.261}{}}
\newlabel{language/coq-library:index-12}{{4.3.1}{85}{Specification}{section*.262}{}}
\newlabel{language/coq-library:index-13}{{4.3.1}{85}{Specification}{section*.263}{}}
\newlabel{language/coq-library:index-14}{{4.3.1}{85}{Specification}{section*.264}{}}
\newlabel{language/coq-library:index-15}{{4.3.1}{85}{Specification}{section*.265}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic Arithmetics}{85}{subsubsection*.266}}
\newlabel{language/coq-library:basic-arithmetics}{{4.3.1}{85}{Basic Arithmetics}{subsubsection*.266}{}}
\newlabel{language/coq-library:index-17}{{4.3.1}{86}{Basic Arithmetics}{section*.267}{}}
\newlabel{language/coq-library:index-18}{{4.3.1}{87}{Basic Arithmetics}{section*.268}{}}
\@writefile{toc}{\contentsline {subsubsection}{Well-founded recursion}{87}{subsubsection*.269}}
\newlabel{language/coq-library:well-founded-recursion}{{4.3.1}{87}{Well-founded recursion}{subsubsection*.269}{}}
\newlabel{language/coq-library:index-19}{{4.3.1}{87}{Well-founded recursion}{section*.270}{}}
\newlabel{language/coq-library:index-20}{{4.3.1}{87}{Well-founded recursion}{section*.271}{}}
\@writefile{toc}{\contentsline {subsubsection}{Accessing the Type level}{88}{subsubsection*.272}}
\newlabel{language/coq-library:accessing-the-type-level}{{4.3.1}{88}{Accessing the Type level}{subsubsection*.272}{}}
\newlabel{language/coq-library:index-21}{{4.3.1}{88}{Accessing the Type level}{section*.273}{}}
\newlabel{language/coq-library:index-22}{{4.3.1}{88}{Accessing the Type level}{section*.274}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics}{88}{subsubsection*.275}}
\newlabel{language/coq-library:tactics}{{4.3.1}{88}{Tactics}{subsubsection*.275}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}The standard library}{88}{subsection.4.3.2}}
\newlabel{language/coq-library:the-standard-library}{{4.3.2}{88}{The standard library}{subsection.4.3.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Survey}{88}{subsubsection*.276}}
\newlabel{language/coq-library:survey}{{4.3.2}{88}{Survey}{subsubsection*.276}{}}
\@writefile{toc}{\contentsline {subsubsection}{Peano’s arithmetic (nat)}{89}{subsubsection*.277}}
\newlabel{language/coq-library:peanos-arithmetic-nat}{{4.3.2}{89}{Peano’s arithmetic (nat)}{subsubsection*.277}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations for integer arithmetics}{89}{subsubsection*.278}}
\newlabel{language/coq-library:notations-for-integer-arithmetics}{{4.3.2}{89}{Notations for integer arithmetics}{subsubsection*.278}{}}
\@writefile{toc}{\contentsline {subsubsection}{Real numbers library}{90}{subsubsection*.279}}
\newlabel{language/coq-library:real-numbers-library}{{4.3.2}{90}{Real numbers library}{subsubsection*.279}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations for real numbers}{90}{paragraph*.280}}
\newlabel{language/coq-library:notations-for-real-numbers}{{4.3.2}{90}{Notations for real numbers}{paragraph*.280}{}}
\@writefile{toc}{\contentsline {paragraph}{Some tactics for real numbers}{91}{paragraph*.281}}
\newlabel{language/coq-library:some-tactics-for-real-numbers}{{4.3.2}{91}{Some tactics for real numbers}{paragraph*.281}{}}
\newlabel{language/coq-library:coq:tacn.discrr}{{4.3.2}{91}{Some tactics for real numbers}{section*.282}{}}
\newlabel{language/coq-library:coq:tacn.split-rabs}{{4.3.2}{92}{Some tactics for real numbers}{section*.283}{}}
\newlabel{language/coq-library:coq:tacn.split-rmult}{{4.3.2}{92}{Some tactics for real numbers}{section*.284}{}}
\@writefile{toc}{\contentsline {subsubsection}{List library}{93}{subsubsection*.285}}
\newlabel{language/coq-library:list-library}{{4.3.2}{93}{List library}{subsubsection*.285}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Users’ contributions}{93}{subsection.4.3.3}}
\newlabel{language/coq-library:users-contributions}{{4.3.3}{93}{Users’ contributions}{subsection.4.3.3}{}}
\newlabel{language/coq-library:userscontributions}{{4.3.3}{93}{Users’ contributions}{subsection.4.3.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Calculus of Inductive Constructions}{93}{section.4.4}}
\newlabel{language/cic:calculus-of-inductive-constructions}{{4.4}{93}{Calculus of Inductive Constructions}{section.4.4}{}}
\newlabel{language/cic:calculusofinductiveconstructions}{{4.4}{93}{Calculus of Inductive Constructions}{section.4.4}{}}
\newlabel{language/cic::doc}{{4.4}{93}{Calculus of Inductive Constructions}{section.4.4}{}}
\citation{zebibliography:coq86}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}The terms}{94}{subsection.4.4.1}}
\newlabel{language/cic:the-terms}{{4.4.1}{94}{The terms}{subsection.4.4.1}{}}
\newlabel{language/cic:id1}{{4.4.1}{94}{The terms}{subsection.4.4.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sorts}{94}{subsubsection*.286}}
\newlabel{language/cic:sorts}{{4.4.1}{94}{Sorts}{subsubsection*.286}{}}
\newlabel{language/cic:id2}{{4.4.1}{94}{Sorts}{subsubsection*.286}{}}
\newlabel{language/cic:implementation-issues}{{4.4.1}{94}{Sorts}{section*.287}{}}
\citation{zebibliography:bar81}
\citation{zebibliography:cur58}
\citation{zebibliography:how80}
\citation{zebibliography:bru72}
\@writefile{toc}{\contentsline {subsubsection}{Terms}{95}{subsubsection*.288}}
\newlabel{language/cic:terms}{{4.4.1}{95}{Terms}{subsubsection*.288}{}}
\newlabel{language/cic:id4}{{4.4.1}{95}{Terms}{subsubsection*.288}{}}
\newlabel{language/cic:free-variables}{{4.4.1}{95}{Terms}{section*.289}{}}
\newlabel{language/cic:substitution}{{4.4.1}{95}{Terms}{section*.290}{}}
\newlabel{language/cic:the-logical-vs-programming-readings}{{4.4.1}{95}{Terms}{section*.291}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Typing rules}{95}{subsection.4.4.2}}
\newlabel{language/cic:typing-rules}{{4.4.2}{95}{Typing rules}{subsection.4.4.2}{}}
\newlabel{language/cic:id9}{{4.4.2}{95}{Typing rules}{subsection.4.4.2}{}}
\newlabel{language/cic:local-context}{{4.4.2}{95}{Typing rules}{section*.292}{}}
\newlabel{language/cic:global-environment}{{4.4.2}{96}{Typing rules}{section*.293}{}}
\newlabel{language/cic:typing-rules2}{{4.4.2}{96}{Typing rules}{section*.294}{}}
\newlabel{language/cic:inference-w-empty}{{4.4.2}{96}{Typing rules}{section*.295}{}}
\newlabel{language/cic:inference-w-local-assum}{{4.4.2}{96}{Typing rules}{section*.296}{}}
\newlabel{language/cic:inference-w-local-def}{{4.4.2}{96}{Typing rules}{section*.297}{}}
\newlabel{language/cic:inference-w-global-assum}{{4.4.2}{96}{Typing rules}{section*.298}{}}
\newlabel{language/cic:inference-w-global-def}{{4.4.2}{96}{Typing rules}{section*.299}{}}
\newlabel{language/cic:inference-ax-prop}{{4.4.2}{96}{Typing rules}{section*.300}{}}
\newlabel{language/cic:inference-ax-set}{{4.4.2}{97}{Typing rules}{section*.301}{}}
\newlabel{language/cic:inference-ax-type}{{4.4.2}{97}{Typing rules}{section*.302}{}}
\newlabel{language/cic:inference-var}{{4.4.2}{97}{Typing rules}{section*.303}{}}
\newlabel{language/cic:inference-const}{{4.4.2}{97}{Typing rules}{section*.304}{}}
\newlabel{language/cic:inference-prod-prop}{{4.4.2}{97}{Typing rules}{section*.305}{}}
\newlabel{language/cic:inference-prod-set}{{4.4.2}{97}{Typing rules}{section*.306}{}}
\newlabel{language/cic:inference-prod-type}{{4.4.2}{97}{Typing rules}{section*.307}{}}
\newlabel{language/cic:inference-lam}{{4.4.2}{97}{Typing rules}{section*.308}{}}
\newlabel{language/cic:inference-app}{{4.4.2}{97}{Typing rules}{section*.309}{}}
\newlabel{language/cic:inference-let}{{4.4.2}{97}{Typing rules}{section*.310}{}}
\citation{zebibliography:coq85}
\citation{zebibliography:moh93}
\citation{zebibliography:wer94}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}Conversion rules}{98}{subsection.4.4.3}}
\newlabel{language/cic:conversion-rules}{{4.4.3}{98}{Conversion rules}{subsection.4.4.3}{}}
\newlabel{language/cic:id10}{{4.4.3}{98}{Conversion rules}{subsection.4.4.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\(\mitbeta \)-reduction}{98}{subsubsection*.311}}
\newlabel{language/cic:reduction}{{4.4.3}{98}{\(\beta \)-reduction}{subsubsection*.311}{}}
\newlabel{language/cic:beta-reduction}{{4.4.3}{98}{\(\beta \)-reduction}{subsubsection*.311}{}}
\@writefile{toc}{\contentsline {subsubsection}{\(\mitiota \)-reduction}{98}{subsubsection*.312}}
\newlabel{language/cic:iota-reduction}{{4.4.3}{98}{\(\iota \)-reduction}{subsubsection*.312}{}}
\newlabel{language/cic:id12}{{4.4.3}{98}{\(\iota \)-reduction}{subsubsection*.312}{}}
\@writefile{toc}{\contentsline {subsubsection}{\(\mitdelta \)-reduction}{98}{subsubsection*.313}}
\newlabel{language/cic:delta-reduction}{{4.4.3}{98}{\(\delta \)-reduction}{subsubsection*.313}{}}
\newlabel{language/cic:id15}{{4.4.3}{98}{\(\delta \)-reduction}{subsubsection*.313}{}}
\newlabel{language/cic:inference-delta-local}{{4.4.3}{98}{\(\delta \)-reduction}{section*.314}{}}
\newlabel{language/cic:inference-delta-global}{{4.4.3}{98}{\(\delta \)-reduction}{section*.315}{}}
\@writefile{toc}{\contentsline {subsubsection}{\(\mitzeta \)-reduction}{99}{subsubsection*.316}}
\newlabel{language/cic:zeta-reduction}{{4.4.3}{99}{\(\zeta \)-reduction}{subsubsection*.316}{}}
\newlabel{language/cic:id16}{{4.4.3}{99}{\(\zeta \)-reduction}{subsubsection*.316}{}}
\newlabel{language/cic:inference-zeta}{{4.4.3}{99}{\(\zeta \)-reduction}{section*.317}{}}
\@writefile{toc}{\contentsline {subsubsection}{\(\miteta \)-expansion}{99}{subsubsection*.318}}
\newlabel{language/cic:expansion}{{4.4.3}{99}{\(\eta \)-expansion}{subsubsection*.318}{}}
\newlabel{language/cic:eta-expansion}{{4.4.3}{99}{\(\eta \)-expansion}{subsubsection*.318}{}}
\@writefile{toc}{\contentsline {subsubsection}{Convertibility}{99}{subsubsection*.319}}
\newlabel{language/cic:convertibility}{{4.4.3}{99}{Convertibility}{subsubsection*.319}{}}
\newlabel{language/cic:id17}{{4.4.3}{99}{Convertibility}{subsubsection*.319}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.4}Subtyping rules}{100}{subsection.4.4.4}}
\newlabel{language/cic:subtyping-rules}{{4.4.4}{100}{Subtyping rules}{subsection.4.4.4}{}}
\newlabel{language/cic:id18}{{4.4.4}{100}{Subtyping rules}{subsection.4.4.4}{}}
\newlabel{language/cic:inference-conv}{{4.4.4}{101}{Subtyping rules}{section*.320}{}}
\newlabel{language/cic:normal-form}{{4.4.4}{101}{Subtyping rules}{section*.321}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.5}Inductive Definitions}{101}{subsection.4.4.5}}
\newlabel{language/cic:inductive-definitions}{{4.4.5}{101}{Inductive Definitions}{subsection.4.4.5}{}}
\newlabel{language/cic:id19}{{4.4.5}{101}{Inductive Definitions}{subsection.4.4.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Types of inductive objects}{103}{subsubsection*.322}}
\newlabel{language/cic:types-of-inductive-objects}{{4.4.5}{103}{Types of inductive objects}{subsubsection*.322}{}}
\newlabel{language/cic:id20}{{4.4.5}{103}{Types of inductive objects}{subsubsection*.322}{}}
\newlabel{language/cic:inference-ind}{{4.4.5}{103}{Types of inductive objects}{section*.323}{}}
\newlabel{language/cic:inference-constr}{{4.4.5}{103}{Types of inductive objects}{section*.324}{}}
\@writefile{toc}{\contentsline {subsubsection}{Well-formed inductive definitions}{103}{subsubsection*.325}}
\newlabel{language/cic:well-formed-inductive-definitions}{{4.4.5}{103}{Well-formed inductive definitions}{subsubsection*.325}{}}
\newlabel{language/cic:id21}{{4.4.5}{103}{Well-formed inductive definitions}{subsubsection*.325}{}}
\@writefile{toc}{\contentsline {paragraph}{Arity of a given sort}{103}{paragraph*.326}}
\newlabel{language/cic:arity-of-a-given-sort}{{4.4.5}{103}{Arity of a given sort}{paragraph*.326}{}}
\@writefile{toc}{\contentsline {paragraph}{Arity}{104}{paragraph*.327}}
\newlabel{language/cic:arity}{{4.4.5}{104}{Arity}{paragraph*.327}{}}
\@writefile{toc}{\contentsline {paragraph}{Type constructor}{104}{paragraph*.328}}
\newlabel{language/cic:type-constructor}{{4.4.5}{104}{Type constructor}{paragraph*.328}{}}
\@writefile{toc}{\contentsline {paragraph}{Positivity Condition}{104}{paragraph*.329}}
\newlabel{language/cic:positivity-condition}{{4.4.5}{104}{Positivity Condition}{paragraph*.329}{}}
\newlabel{language/cic:positivity}{{4.4.5}{104}{Positivity Condition}{paragraph*.329}{}}
\@writefile{toc}{\contentsline {paragraph}{Strict positivity}{104}{paragraph*.330}}
\newlabel{language/cic:strict-positivity}{{4.4.5}{104}{Strict positivity}{paragraph*.330}{}}
\@writefile{toc}{\contentsline {paragraph}{Nested Positivity}{105}{paragraph*.331}}
\newlabel{language/cic:nested-positivity}{{4.4.5}{105}{Nested Positivity}{paragraph*.331}{}}
\@writefile{toc}{\contentsline {paragraph}{Correctness rules}{105}{paragraph*.332}}
\newlabel{language/cic:correctness-rules}{{4.4.5}{105}{Correctness rules}{paragraph*.332}{}}
\newlabel{language/cic:id22}{{4.4.5}{105}{Correctness rules}{paragraph*.332}{}}
\newlabel{language/cic:inference-w-ind}{{4.4.5}{105}{Correctness rules}{section*.333}{}}
\@writefile{toc}{\contentsline {paragraph}{Template polymorphism}{106}{paragraph*.334}}
\newlabel{language/cic:template-polymorphism}{{4.4.5}{106}{Template polymorphism}{paragraph*.334}{}}
\newlabel{language/cic:id23}{{4.4.5}{106}{Template polymorphism}{paragraph*.334}{}}
\newlabel{language/cic:inference-ind-family}{{4.4.5}{106}{Template polymorphism}{section*.335}{}}
\@writefile{toc}{\contentsline {subsubsection}{Destructors}{108}{subsubsection*.336}}
\newlabel{language/cic:destructors}{{4.4.5}{108}{Destructors}{subsubsection*.336}{}}
\newlabel{language/cic:id24}{{4.4.5}{108}{Destructors}{subsubsection*.336}{}}
\citation{zebibliography:coq92}
\@writefile{toc}{\contentsline {paragraph}{The match ... with ... end construction}{109}{paragraph*.337}}
\newlabel{language/cic:the-match-with-end-construction}{{4.4.5}{109}{The match ... with ... end construction}{paragraph*.337}{}}
\newlabel{language/cic:match-construction}{{4.4.5}{109}{The match ... with ... end construction}{paragraph*.337}{}}
\newlabel{language/cic:allowed-elimination-sorts}{{4.4.5}{110}{The match ... with ... end construction}{section*.338}{}}
\newlabel{language/cic:cic-notations}{{4.4.5}{110}{The match ... with ... end construction}{section*.339}{}}
\newlabel{language/cic:inference-prod}{{4.4.5}{110}{The match ... with ... end construction}{section*.340}{}}
\newlabel{language/cic:inference-set-type}{{4.4.5}{110}{The match ... with ... end construction}{section*.341}{}}
\newlabel{language/cic:inference-prop}{{4.4.5}{110}{The match ... with ... end construction}{section*.342}{}}
\newlabel{language/cic:empty-and-singleton-elimination}{{4.4.5}{111}{The match ... with ... end construction}{section*.343}{}}
\newlabel{language/cic:inference-prop-extended}{{4.4.5}{111}{The match ... with ... end construction}{section*.344}{}}
\newlabel{language/cic:type-of-branches}{{4.4.5}{112}{The match ... with ... end construction}{section*.345}{}}
\newlabel{language/cic:typing-rule}{{4.4.5}{112}{The match ... with ... end construction}{section*.346}{}}
\newlabel{language/cic:inference-match}{{4.4.5}{112}{The match ... with ... end construction}{section*.347}{}}
\newlabel{language/cic:inference-list-example}{{4.4.5}{113}{The match ... with ... end construction}{section*.348}{}}
\newlabel{language/cic:definition-of-reduction}{{4.4.5}{113}{The match ... with ... end construction}{section*.349}{}}
\@writefile{toc}{\contentsline {subsubsection}{Fixpoint definitions}{113}{subsubsection*.350}}
\newlabel{language/cic:fixpoint-definitions}{{4.4.5}{113}{Fixpoint definitions}{subsubsection*.350}{}}
\newlabel{language/cic:id26}{{4.4.5}{113}{Fixpoint definitions}{subsubsection*.350}{}}
\@writefile{toc}{\contentsline {paragraph}{Typing rule}{113}{paragraph*.351}}
\newlabel{language/cic:id27}{{4.4.5}{113}{Typing rule}{paragraph*.351}{}}
\newlabel{language/cic:inference-fix}{{4.4.5}{113}{Typing rule}{section*.352}{}}
\citation{zebibliography:gim94}
\@writefile{toc}{\contentsline {paragraph}{Reduction rule}{116}{paragraph*.353}}
\newlabel{language/cic:reduction-rule}{{4.4.5}{116}{Reduction rule}{paragraph*.353}{}}
\newlabel{language/cic:id29}{{4.4.5}{116}{Reduction rule}{paragraph*.353}{}}
\newlabel{language/cic:mutual-induction}{{4.4.5}{116}{Reduction rule}{section*.354}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.6}Admissible rules for global environments}{116}{subsection.4.4.6}}
\newlabel{language/cic:admissible-rules-for-global-environments}{{4.4.6}{116}{Admissible rules for global environments}{subsection.4.4.6}{}}
\newlabel{language/cic:id30}{{4.4.6}{116}{Admissible rules for global environments}{subsection.4.4.6}{}}
\newlabel{language/cic:abstraction}{{4.4.6}{116}{Admissible rules for global environments}{section*.355}{}}
\newlabel{language/cic:first-abstracting-property}{{4.4.6}{116}{Admissible rules for global environments}{section*.356}{}}
\newlabel{language/cic:second-abstracting-property}{{4.4.6}{116}{Admissible rules for global environments}{section*.357}{}}
\citation{zebibliography:gimenez95b}
\citation{zebibliography:gim98}
\citation{zebibliography:gimcas05}
\newlabel{language/cic:pruning-the-local-context}{{4.4.6}{117}{Admissible rules for global environments}{section*.358}{}}
\newlabel{language/cic:first-pruning-property}{{4.4.6}{117}{Admissible rules for global environments}{section*.359}{}}
\newlabel{language/cic:inference-first-pruning-property}{{4.4.6}{117}{Admissible rules for global environments}{section*.360}{}}
\newlabel{language/cic:second-pruning-property}{{4.4.6}{117}{Admissible rules for global environments}{section*.361}{}}
\newlabel{language/cic:inference-second-pruning-property}{{4.4.6}{117}{Admissible rules for global environments}{section*.362}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.7}Co-inductive types}{117}{subsection.4.4.7}}
\newlabel{language/cic:co-inductive-types}{{4.4.7}{117}{Co-inductive types}{subsection.4.4.7}{}}
\newlabel{language/cic:id31}{{4.4.7}{117}{Co-inductive types}{subsection.4.4.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.8}The Calculus of Inductive Constructions with impredicative Set}{117}{subsection.4.4.8}}
\newlabel{language/cic:the-calculus-of-inductive-constructions-with-impredicative-set}{{4.4.8}{117}{The Calculus of Inductive Constructions with impredicative Set}{subsection.4.4.8}{}}
\newlabel{language/cic:the-calculus-of-inductive-construction-with-impredicative-set}{{4.4.8}{117}{The Calculus of Inductive Constructions with impredicative Set}{subsection.4.4.8}{}}
\newlabel{language/cic:inference-prodimp}{{4.4.8}{117}{The Calculus of Inductive Constructions with impredicative Set}{section*.363}{}}
\newlabel{language/cic:inference-set1}{{4.4.8}{117}{The Calculus of Inductive Constructions with impredicative Set}{section*.364}{}}
\newlabel{language/cic:inference-set2}{{4.4.8}{118}{The Calculus of Inductive Constructions with impredicative Set}{section*.365}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.5}The Module System}{118}{section.4.5}}
\newlabel{language/module-system:the-module-system}{{4.5}{118}{The Module System}{section.4.5}{}}
\newlabel{language/module-system:themodulesystem}{{4.5}{118}{The Module System}{section.4.5}{}}
\newlabel{language/module-system::doc}{{4.5}{118}{The Module System}{section.4.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}Modules and module types}{118}{subsection.4.5.1}}
\newlabel{language/module-system:modules-and-module-types}{{4.5.1}{118}{Modules and module types}{subsection.4.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.2}Typing Modules}{118}{subsection.4.5.2}}
\newlabel{language/module-system:typing-modules}{{4.5.2}{118}{Typing Modules}{subsection.4.5.2}{}}
\newlabel{language/module-system:inference-wf-str}{{4.5.2}{119}{Typing Modules}{section*.366}{}}
\newlabel{language/module-system:inference-wf-fun}{{4.5.2}{119}{Typing Modules}{section*.367}{}}
\newlabel{language/module-system:inference-weval-app}{{4.5.2}{119}{Typing Modules}{section*.368}{}}
\newlabel{language/module-system:inference-weval-with-mod}{{4.5.2}{119}{Typing Modules}{section*.369}{}}
\newlabel{language/module-system:inference-weval-with-mod-rec}{{4.5.2}{119}{Typing Modules}{section*.370}{}}
\newlabel{language/module-system:inference-weval-with-def}{{4.5.2}{119}{Typing Modules}{section*.371}{}}
\newlabel{language/module-system:inference-weval-with-def-rec}{{4.5.2}{119}{Typing Modules}{section*.372}{}}
\newlabel{language/module-system:inference-weval-path-mod1}{{4.5.2}{120}{Typing Modules}{section*.373}{}}
\newlabel{language/module-system:inference-weval-path-mod2}{{4.5.2}{120}{Typing Modules}{section*.374}{}}
\newlabel{language/module-system:inference-weval-path-alias1}{{4.5.2}{120}{Typing Modules}{section*.375}{}}
\newlabel{language/module-system:inference-weval-path-alias2}{{4.5.2}{120}{Typing Modules}{section*.376}{}}
\newlabel{language/module-system:inference-weval-path-type1}{{4.5.2}{120}{Typing Modules}{section*.377}{}}
\newlabel{language/module-system:inference-weval-path-type2}{{4.5.2}{120}{Typing Modules}{section*.378}{}}
\newlabel{language/module-system:inference-mt-eval}{{4.5.2}{120}{Typing Modules}{section*.379}{}}
\newlabel{language/module-system:inference-mt-str}{{4.5.2}{120}{Typing Modules}{section*.380}{}}
\newlabel{language/module-system:inference-msub-str}{{4.5.2}{121}{Typing Modules}{section*.381}{}}
\newlabel{language/module-system:inference-msub-fun}{{4.5.2}{121}{Typing Modules}{section*.382}{}}
\newlabel{language/module-system:inference-assum-assum}{{4.5.2}{121}{Typing Modules}{section*.383}{}}
\newlabel{language/module-system:inference-def-assum}{{4.5.2}{121}{Typing Modules}{section*.384}{}}
\newlabel{language/module-system:inference-assum-def}{{4.5.2}{121}{Typing Modules}{section*.385}{}}
\newlabel{language/module-system:inference-def-def}{{4.5.2}{121}{Typing Modules}{section*.386}{}}
\newlabel{language/module-system:inference-ind-ind}{{4.5.2}{121}{Typing Modules}{section*.387}{}}
\newlabel{language/module-system:inference-indp-ind}{{4.5.2}{121}{Typing Modules}{section*.388}{}}
\newlabel{language/module-system:inference-indp-indp}{{4.5.2}{121}{Typing Modules}{section*.389}{}}
\newlabel{language/module-system:inference-mod-mod}{{4.5.2}{122}{Typing Modules}{section*.390}{}}
\newlabel{language/module-system:inference-alias-mod}{{4.5.2}{122}{Typing Modules}{section*.391}{}}
\newlabel{language/module-system:inference-mod-alias}{{4.5.2}{122}{Typing Modules}{section*.392}{}}
\newlabel{language/module-system:inference-alias-alias}{{4.5.2}{122}{Typing Modules}{section*.393}{}}
\newlabel{language/module-system:inference-modtype-modtype}{{4.5.2}{122}{Typing Modules}{section*.394}{}}
\newlabel{language/module-system:inference-wf-mod1}{{4.5.2}{122}{Typing Modules}{section*.395}{}}
\newlabel{language/module-system:inference-wf-mod2}{{4.5.2}{122}{Typing Modules}{section*.396}{}}
\newlabel{language/module-system:inference-wf-alias}{{4.5.2}{122}{Typing Modules}{section*.397}{}}
\newlabel{language/module-system:inference-wf-modtype}{{4.5.2}{122}{Typing Modules}{section*.398}{}}
\newlabel{language/module-system:inference-wf-ind}{{4.5.2}{122}{Typing Modules}{section*.399}{}}
\newlabel{language/module-system:inference-acc-type1}{{4.5.2}{123}{Typing Modules}{section*.400}{}}
\newlabel{language/module-system:inference-acc-type2}{{4.5.2}{123}{Typing Modules}{section*.401}{}}
\newlabel{language/module-system:inference-acc-delta}{{4.5.2}{123}{Typing Modules}{section*.402}{}}
\newlabel{language/module-system:inference-acc-ind1}{{4.5.2}{123}{Typing Modules}{section*.403}{}}
\newlabel{language/module-system:inference-acc-ind2}{{4.5.2}{123}{Typing Modules}{section*.404}{}}
\newlabel{language/module-system:inference-acc-indp1}{{4.5.2}{123}{Typing Modules}{section*.405}{}}
\newlabel{language/module-system:inference-acc-indp2}{{4.5.2}{123}{Typing Modules}{section*.406}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}The proof engine}{124}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:the-proof-engine}{{5}{124}{The proof engine}{chapter.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Vernacular commands}{124}{section.5.1}}
\newlabel{proof-engine/vernacular-commands:vernacular-commands}{{5.1}{124}{Vernacular commands}{section.5.1}{}}
\newlabel{proof-engine/vernacular-commands:vernacularcommands}{{5.1}{124}{Vernacular commands}{section.5.1}{}}
\newlabel{proof-engine/vernacular-commands::doc}{{5.1}{124}{Vernacular commands}{section.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Displaying}{124}{subsection.5.1.1}}
\newlabel{proof-engine/vernacular-commands:displaying}{{5.1.1}{124}{Displaying}{subsection.5.1.1}{}}
\newlabel{proof-engine/vernacular-commands:id1}{{5.1.1}{124}{Displaying}{subsection.5.1.1}{}}
\newlabel{proof-engine/vernacular-commands:print}{{5.1.1}{124}{Displaying}{section*.407}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print}{{5.1.1}{124}{Displaying}{section*.408}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.qualid-not-a-defined-object}{{5.1.1}{124}{Displaying}{section*.409}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.universe-instance-should-have-length-num}{{5.1.1}{124}{Displaying}{section*.410}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.this-object-does-not-support-universe-names}{{5.1.1}{124}{Displaying}{section*.411}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.print-term}{{5.1.1}{124}{Displaying}{section*.412}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.about}{{5.1.1}{124}{Displaying}{section*.413}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-all}{{5.1.1}{124}{Displaying}{section*.414}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.inspect}{{5.1.1}{124}{Displaying}{section*.415}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Flags, Options and Tables}{125}{subsection.5.1.2}}
\newlabel{proof-engine/vernacular-commands:flags-options-and-tables}{{5.1.2}{125}{Flags, Options and Tables}{subsection.5.1.2}{}}
\newlabel{proof-engine/vernacular-commands:flags-options-tables}{{5.1.2}{125}{Flags, Options and Tables}{subsection.5.1.2}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-flag}{{5.1.2}{125}{Flags, Options and Tables}{section*.416}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-option}{{5.1.2}{125}{Flags, Options and Tables}{section*.417}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-table}{{5.1.2}{125}{Flags, Options and Tables}{section*.418}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.set}{{5.1.2}{125}{Flags, Options and Tables}{section*.419}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.unset}{{5.1.2}{125}{Flags, Options and Tables}{section*.420}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.test}{{5.1.2}{125}{Flags, Options and Tables}{section*.421}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.set-option}{{5.1.2}{125}{Flags, Options and Tables}{section*.422}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.unset-option}{{5.1.2}{125}{Flags, Options and Tables}{section*.423}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-options}{{5.1.2}{125}{Flags, Options and Tables}{section*.424}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-table}{{5.1.2}{125}{Flags, Options and Tables}{section*.425}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.remove-table}{{5.1.2}{125}{Flags, Options and Tables}{section*.426}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.test-table-for}{{5.1.2}{125}{Flags, Options and Tables}{section*.427}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-table-table}{{5.1.2}{125}{Flags, Options and Tables}{section*.428}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-tables}{{5.1.2}{125}{Flags, Options and Tables}{section*.429}{}}
\@writefile{toc}{\contentsline {subsubsection}{Scope qualifiers for \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{125}{subsubsection*.430}}
\newlabel{proof-engine/vernacular-commands:scope-qualifiers-for-set-and-unset}{{5.1.2}{125}{Scope qualifiers for \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subsubsection*.430}{}}
\newlabel{proof-engine/vernacular-commands:set-unset-scope-qualifiers}{{5.1.2}{125}{Scope qualifiers for \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subsubsection*.430}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Requests to the environment}{126}{subsection.5.1.3}}
\newlabel{proof-engine/vernacular-commands:requests-to-the-environment}{{5.1.3}{126}{Requests to the environment}{subsection.5.1.3}{}}
\newlabel{proof-engine/vernacular-commands:id2}{{5.1.3}{126}{Requests to the environment}{subsection.5.1.3}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.check}{{5.1.3}{126}{Requests to the environment}{section*.431}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.eval}{{5.1.3}{126}{Requests to the environment}{section*.432}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.compute}{{5.1.3}{126}{Requests to the environment}{section*.433}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-assumptions}{{5.1.3}{126}{Requests to the environment}{section*.434}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.print-opaque-dependencies}{{5.1.3}{126}{Requests to the environment}{section*.435}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.print-transparent-dependencies}{{5.1.3}{126}{Requests to the environment}{section*.436}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.print-all-dependencies}{{5.1.3}{126}{Requests to the environment}{section*.437}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.search}{{5.1.3}{126}{Requests to the environment}{section*.438}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-reference-qualid-was-not-found-in-the-current-environment}{{5.1.3}{126}{Requests to the environment}{section*.439}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.searchabout}{{5.1.3}{127}{Requests to the environment}{section*.440}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchhead}{{5.1.3}{128}{Requests to the environment}{section*.441}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.module-section-qualid-not-found}{{5.1.3}{128}{Requests to the environment}{section*.442}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchpattern}{{5.1.3}{128}{Requests to the environment}{section*.443}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.searchrewrite}{{5.1.3}{130}{Requests to the environment}{section*.444}{}}
\newlabel{proof-engine/vernacular-commands:coq:table.search-blacklist-string}{{5.1.3}{130}{Requests to the environment}{section*.445}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate}{{5.1.3}{130}{Requests to the environment}{section*.446}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}Loading files}{131}{subsection.5.1.4}}
\newlabel{proof-engine/vernacular-commands:loading-files}{{5.1.4}{131}{Loading files}{subsection.5.1.4}{}}
\newlabel{proof-engine/vernacular-commands:id3}{{5.1.4}{131}{Loading files}{subsection.5.1.4}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.load}{{5.1.4}{131}{Loading files}{section*.447}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cant-find-file-ident-on-loadpath}{{5.1.4}{132}{Loading files}{section*.448}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.load-is-not-supported-inside-proofs}{{5.1.4}{132}{Loading files}{section*.449}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.files-processed-by-load-cannot-leave-open-proofs}{{5.1.4}{132}{Loading files}{section*.450}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}Compiled files}{132}{subsection.5.1.5}}
\newlabel{proof-engine/vernacular-commands:compiled-files}{{5.1.5}{132}{Compiled files}{subsection.5.1.5}{}}
\newlabel{proof-engine/vernacular-commands:id4}{{5.1.5}{132}{Compiled files}{subsection.5.1.5}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.require}{{5.1.5}{132}{Compiled files}{section*.451}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.require-import}{{5.1.5}{132}{Compiled files}{section*.452}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.require-export}{{5.1.5}{132}{Compiled files}{section*.453}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cannot-load-qualid-no-physical-path-bound-to-dirpath}{{5.1.5}{132}{Compiled files}{section*.454}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.cannot-find-library-foo-in-loadpath}{{5.1.5}{132}{Compiled files}{section*.455}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.compiled-library-ident-vo-makes-inconsistent-assumptions-over-library-qualid}{{5.1.5}{132}{Compiled files}{section*.456}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.bad-magic-number}{{5.1.5}{133}{Compiled files}{section*.457}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-file-ident-vo-contains-library-dirpath-and-not-library-dirpath}{{5.1.5}{133}{Compiled files}{section*.458}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.require-is-not-allowed-inside-a-module-or-a-module-type}{{5.1.5}{133}{Compiled files}{section*.459}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-libraries}{{5.1.5}{133}{Compiled files}{section*.460}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.declare-ml-module}{{5.1.5}{133}{Compiled files}{section*.461}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.file-not-found-on-loadpath-string}{{5.1.5}{133}{Compiled files}{section*.462}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.loading-of-ml-object-file-forbidden-in-a-native-coq}{{5.1.5}{133}{Compiled files}{section*.463}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-ml-modules}{{5.1.5}{133}{Compiled files}{section*.464}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Loadpath}{133}{subsection.5.1.6}}
\newlabel{proof-engine/vernacular-commands:loadpath}{{5.1.6}{133}{Loadpath}{subsection.5.1.6}{}}
\newlabel{proof-engine/vernacular-commands:id5}{{5.1.6}{133}{Loadpath}{subsection.5.1.6}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.pwd}{{5.1.6}{133}{Loadpath}{section*.465}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.cd}{{5.1.6}{133}{Loadpath}{section*.466}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-loadpath}{{5.1.6}{134}{Loadpath}{section*.467}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-rec-loadpath}{{5.1.6}{134}{Loadpath}{section*.468}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.remove-loadpath}{{5.1.6}{134}{Loadpath}{section*.469}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-loadpath}{{5.1.6}{134}{Loadpath}{section*.470}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-ml-path}{{5.1.6}{134}{Loadpath}{section*.471}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.add-rec-ml-path}{{5.1.6}{134}{Loadpath}{section*.472}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-ml-path}{{5.1.6}{134}{Loadpath}{section*.473}{}}
\newlabel{proof-engine/vernacular-commands:locate-file}{{5.1.6}{134}{Loadpath}{section*.474}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-file}{{5.1.6}{134}{Loadpath}{section*.475}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.locate-library}{{5.1.6}{134}{Loadpath}{section*.476}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}Backtracking}{134}{subsection.5.1.7}}
\newlabel{proof-engine/vernacular-commands:backtracking}{{5.1.7}{134}{Backtracking}{subsection.5.1.7}{}}
\newlabel{proof-engine/vernacular-commands:id6}{{5.1.7}{134}{Backtracking}{subsection.5.1.7}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.reset}{{5.1.7}{134}{Backtracking}{section*.477}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.ident-no-such-entry}{{5.1.7}{134}{Backtracking}{section*.478}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.back}{{5.1.7}{135}{Backtracking}{section*.479}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.invalid-backtrack}{{5.1.7}{135}{Backtracking}{section*.480}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.backto}{{5.1.7}{135}{Backtracking}{section*.481}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.backtrack}{{5.1.7}{135}{Backtracking}{section*.482}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.8}Quitting and debugging}{135}{subsection.5.1.8}}
\newlabel{proof-engine/vernacular-commands:quitting-and-debugging}{{5.1.8}{135}{Quitting and debugging}{subsection.5.1.8}{}}
\newlabel{proof-engine/vernacular-commands:id7}{{5.1.8}{135}{Quitting and debugging}{subsection.5.1.8}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.quit}{{5.1.8}{135}{Quitting and debugging}{section*.483}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.drop}{{5.1.8}{135}{Quitting and debugging}{section*.484}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.time}{{5.1.8}{136}{Quitting and debugging}{section*.485}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.redirect}{{5.1.8}{136}{Quitting and debugging}{section*.486}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.timeout}{{5.1.8}{136}{Quitting and debugging}{section*.487}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.default-timeout}{{5.1.8}{136}{Quitting and debugging}{section*.488}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.fail}{{5.1.8}{136}{Quitting and debugging}{section*.489}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-command-has-not-failed}{{5.1.8}{136}{Quitting and debugging}{section*.490}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.9}Controlling display}{136}{subsection.5.1.9}}
\newlabel{proof-engine/vernacular-commands:controlling-display}{{5.1.9}{136}{Controlling display}{subsection.5.1.9}{}}
\newlabel{proof-engine/vernacular-commands:id8}{{5.1.9}{136}{Controlling display}{subsection.5.1.9}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.silent}{{5.1.9}{136}{Controlling display}{section*.491}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.warnings}{{5.1.9}{136}{Controlling display}{section*.492}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.search-output-name-only}{{5.1.9}{136}{Controlling display}{section*.493}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.printing-width}{{5.1.9}{136}{Controlling display}{section*.494}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.printing-depth}{{5.1.9}{136}{Controlling display}{section*.495}{}}
\citation{zebibliography:leroy90}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-compact-contexts}{{5.1.9}{137}{Controlling display}{section*.496}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-unfocused}{{5.1.9}{137}{Controlling display}{section*.497}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.printing-dependent-evars-line}{{5.1.9}{137}{Controlling display}{section*.498}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.10}Controlling the reduction strategies and the conversion algorithm}{137}{subsection.5.1.10}}
\newlabel{proof-engine/vernacular-commands:controlling-the-reduction-strategies-and-the-conversion-algorithm}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{subsection.5.1.10}{}}
\newlabel{proof-engine/vernacular-commands:vernac-controlling-the-reduction-strategies}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{subsection.5.1.10}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.opaque}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{section*.499}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.global-opaque}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{section*.500}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.transparent}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{section*.501}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmdv.global-transparent}{{5.1.10}{137}{Controlling the reduction strategies and the conversion algorithm}{section*.502}{}}
\newlabel{proof-engine/vernacular-commands:vernac-strategy}{{5.1.10}{138}{Controlling the reduction strategies and the conversion algorithm}{section*.503}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.strategy}{{5.1.10}{138}{Controlling the reduction strategies and the conversion algorithm}{section*.504}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.print-strategy}{{5.1.10}{138}{Controlling the reduction strategies and the conversion algorithm}{section*.505}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.the-reference-is-not-unfoldable}{{5.1.10}{138}{Controlling the reduction strategies and the conversion algorithm}{section*.506}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.declare-reduction}{{5.1.10}{138}{Controlling the reduction strategies and the conversion algorithm}{section*.507}{}}
\citation{zebibliography:how80}
\citation{zebibliography:bar81}
\citation{zebibliography:gir89}
\citation{zebibliography:hue88}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.11}Controlling the locality of commands}{139}{subsection.5.1.11}}
\newlabel{proof-engine/vernacular-commands:controlling-the-locality-of-commands}{{5.1.11}{139}{Controlling the locality of commands}{subsection.5.1.11}{}}
\newlabel{proof-engine/vernacular-commands:controlling-locality-of-commands}{{5.1.11}{139}{Controlling the locality of commands}{subsection.5.1.11}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.local}{{5.1.11}{139}{Controlling the locality of commands}{section*.508}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.global}{{5.1.11}{139}{Controlling the locality of commands}{section*.509}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Proof handling}{139}{section.5.2}}
\newlabel{proof-engine/proof-handling:proof-handling}{{5.2}{139}{Proof handling}{section.5.2}{}}
\newlabel{proof-engine/proof-handling:proofhandling}{{5.2}{139}{Proof handling}{section.5.2}{}}
\newlabel{proof-engine/proof-handling::doc}{{5.2}{139}{Proof handling}{section.5.2}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof}{{5.2}{139}{Proof handling}{section*.510}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Switching on/off the proof editing mode}{140}{subsection.5.2.1}}
\newlabel{proof-engine/proof-handling:switching-on-off-the-proof-editing-mode}{{5.2.1}{140}{Switching on/off the proof editing mode}{subsection.5.2.1}{}}
\newlabel{proof-engine/proof-handling:proof-editing-mode}{{5.2.1}{140}{Switching on/off the proof editing mode}{subsection.5.2.1}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.goal}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.511}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.qed}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.512}{}}
\newlabel{proof-engine/proof-handling:coq:exn.attempt-to-save-an-incomplete-proof}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.513}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.defined}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.514}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.save}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.515}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.admitted}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.516}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.abort}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.517}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof-no-proof-editing-in-progress}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.518}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof-term}{{5.2.1}{140}{Switching on/off the proof editing mode}{section*.519}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof}{{5.2.1}{141}{Switching on/off the proof editing mode}{section*.520}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.proof-using}{{5.2.1}{141}{Switching on/off the proof editing mode}{section*.521}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof using options}{141}{subsubsection*.522}}
\newlabel{proof-engine/proof-handling:proof-using-options}{{5.2.1}{141}{Proof using options}{subsubsection*.522}{}}
\newlabel{proof-engine/proof-handling:coq:opt.default-proof-using}{{5.2.1}{141}{Proof using options}{section*.523}{}}
\newlabel{proof-engine/proof-handling:coq:flag.suggest-proof-using}{{5.2.1}{142}{Proof using options}{section*.524}{}}
\@writefile{toc}{\contentsline {subsubsection}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{142}{subsubsection*.525}}
\newlabel{proof-engine/proof-handling:name-a-set-of-section-hypotheses-for-proof-using}{{5.2.1}{142}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{subsubsection*.525}{}}
\newlabel{proof-engine/proof-handling:nameaset}{{5.2.1}{142}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{subsubsection*.525}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.collection}{{5.2.1}{142}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.526}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.existential}{{5.2.1}{142}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.527}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.grab-existential-variables}{{5.2.1}{142}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.528}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Navigation in the proof tree}{142}{subsection.5.2.2}}
\newlabel{proof-engine/proof-handling:navigation-in-the-proof-tree}{{5.2.2}{142}{Navigation in the proof tree}{subsection.5.2.2}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.undo}{{5.2.2}{142}{Navigation in the proof tree}{section*.529}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.restart}{{5.2.2}{142}{Navigation in the proof tree}{section*.530}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-focused-proof-to-restart}{{5.2.2}{142}{Navigation in the proof tree}{section*.531}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.focus}{{5.2.2}{143}{Navigation in the proof tree}{section*.532}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.unfocus}{{5.2.2}{143}{Navigation in the proof tree}{section*.533}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.unfocused}{{5.2.2}{143}{Navigation in the proof tree}{section*.534}{}}
\newlabel{proof-engine/proof-handling:curly-braces}{{5.2.2}{143}{Navigation in the proof tree}{section*.535}{}}
\newlabel{proof-engine/proof-handling:coq:exn.this-proof-is-focused-but-cannot-be-unfocused-this-way}{{5.2.2}{143}{Navigation in the proof tree}{section*.536}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal-focusing}{{5.2.2}{143}{Navigation in the proof tree}{section*.537}{}}
\newlabel{proof-engine/proof-handling:coq:exn.brackets-only-support-the-single-numbered-goal-selector}{{5.2.2}{143}{Navigation in the proof tree}{section*.538}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bullets}{143}{subsubsection*.539}}
\newlabel{proof-engine/proof-handling:bullets}{{5.2.2}{143}{Bullets}{subsubsection*.539}{}}
\newlabel{proof-engine/proof-handling:id5}{{5.2.2}{143}{Bullets}{subsubsection*.539}{}}
\newlabel{proof-engine/proof-handling:grammar-token-bullet}{{5.2.2}{143}{Bullets}{section*.540}{}}
\newlabel{proof-engine/proof-handling:coq:exn.wrong-bullet-bullet-current-bullet-bullet-is-not-finished}{{5.2.2}{147}{Bullets}{section*.541}{}}
\newlabel{proof-engine/proof-handling:coq:exn.wrong-bullet-bullet-bullet-bullet-is-mandatory-here}{{5.2.2}{147}{Bullets}{section*.542}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal-focus-next-goal-with-bullet-bullet}{{5.2.2}{147}{Bullets}{section*.543}{}}
\@writefile{toc}{\contentsline {subsubsection}{Set Bullet Behavior}{148}{subsubsection*.544}}
\newlabel{proof-engine/proof-handling:set-bullet-behavior}{{5.2.2}{148}{Set Bullet Behavior}{subsubsection*.544}{}}
\newlabel{proof-engine/proof-handling:coq:opt.bullet-behavior}{{5.2.2}{148}{Set Bullet Behavior}{section*.545}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Requesting information}{148}{subsection.5.2.3}}
\newlabel{proof-engine/proof-handling:requesting-information}{{5.2.3}{148}{Requesting information}{subsection.5.2.3}{}}
\newlabel{proof-engine/proof-handling:requestinginformation}{{5.2.3}{148}{Requesting information}{subsection.5.2.3}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.show}{{5.2.3}{148}{Requesting information}{section*.546}{}}
\newlabel{proof-engine/proof-handling:coq:exn.no-such-goal}{{5.2.3}{148}{Requesting information}{section*.547}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-script}{{5.2.3}{148}{Requesting information}{section*.548}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-proof}{{5.2.3}{148}{Requesting information}{section*.549}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-conjectures}{{5.2.3}{149}{Requesting information}{section*.550}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-intro}{{5.2.3}{149}{Requesting information}{section*.551}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-intros}{{5.2.3}{149}{Requesting information}{section*.552}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-existentials}{{5.2.3}{149}{Requesting information}{section*.553}{}}
\newlabel{proof-engine/proof-handling:coq:exn.unknown-inductive-type}{{5.2.3}{149}{Requesting information}{section*.554}{}}
\newlabel{proof-engine/proof-handling:coq:cmdv.show-universes}{{5.2.3}{149}{Requesting information}{section*.555}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.guarded}{{5.2.3}{149}{Requesting information}{section*.556}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}Controlling the effect of proof editing commands}{149}{subsection.5.2.4}}
\newlabel{proof-engine/proof-handling:controlling-the-effect-of-proof-editing-commands}{{5.2.4}{149}{Controlling the effect of proof editing commands}{subsection.5.2.4}{}}
\newlabel{proof-engine/proof-handling:coq:opt.hyps-limit}{{5.2.4}{149}{Controlling the effect of proof editing commands}{section*.557}{}}
\newlabel{proof-engine/proof-handling:coq:flag.automatic-introduction}{{5.2.4}{149}{Controlling the effect of proof editing commands}{section*.558}{}}
\gdef \LT@xii {\LT@entry 
    {1}{101.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{160.75002pt}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}Controlling memory usage}{150}{subsection.5.2.5}}
\newlabel{proof-engine/proof-handling:controlling-memory-usage}{{5.2.5}{150}{Controlling memory usage}{subsection.5.2.5}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.optimize-proof}{{5.2.5}{150}{Controlling memory usage}{section*.559}{}}
\newlabel{proof-engine/proof-handling:coq:cmd.optimize-heap}{{5.2.5}{150}{Controlling memory usage}{section*.560}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.3}Tactics}{150}{section.5.3}}
\newlabel{proof-engine/tactics:tactics}{{5.3}{150}{Tactics}{section.5.3}{}}
\newlabel{proof-engine/tactics:id1}{{5.3}{150}{Tactics}{section.5.3}{}}
\newlabel{proof-engine/tactics::doc}{{5.3}{150}{Tactics}{section.5.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Invocation of tactics}{150}{subsection.5.3.1}}
\newlabel{proof-engine/tactics:invocation-of-tactics}{{5.3.1}{150}{Invocation of tactics}{subsection.5.3.1}{}}
\newlabel{proof-engine/tactics:id2}{{5.3.1}{150}{Invocation of tactics}{subsection.5.3.1}{}}
\newlabel{proof-engine/tactics:tactic-invocation-grammar}{{5.3.1}{150}{Invocation of tactics}{section*.561}{}}
\gdef \LT@xiii {\LT@entry 
    {1}{80.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{180.92003pt}}
\gdef \LT@xiv {\LT@entry 
    {1}{101.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{437.25002pt}}
\newlabel{proof-engine/tactics:grammar-token-tactic_invocation}{{1}{151}{Invocation of tactics}{section*.562}{}}
\newlabel{proof-engine/tactics:coq:opt.default-goal-selector}{{5.3.1}{151}{Invocation of tactics}{section*.563}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bindings list}{151}{subsubsection*.564}}
\newlabel{proof-engine/tactics:bindings-list}{{5.3.1}{151}{Bindings list}{subsubsection*.564}{}}
\newlabel{proof-engine/tactics:bindingslist}{{5.3.1}{151}{Bindings list}{subsubsection*.564}{}}
\newlabel{proof-engine/tactics:bindings-list-grammar}{{5.3.1}{151}{Bindings list}{section*.565}{}}
\newlabel{proof-engine/tactics:grammar-token-bindings_list}{{2}{151}{Bindings list}{section*.566}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-binder}{{5.3.1}{151}{Bindings list}{section*.567}{}}
\newlabel{proof-engine/tactics:coq:exn.not-the-right-number-of-missing-arguments}{{5.3.1}{151}{Bindings list}{section*.568}{}}
\@writefile{toc}{\contentsline {subsubsection}{Occurrence sets and occurrence clauses}{151}{subsubsection*.569}}
\newlabel{proof-engine/tactics:occurrence-sets-and-occurrence-clauses}{{5.3.1}{151}{Occurrence sets and occurrence clauses}{subsubsection*.569}{}}
\newlabel{proof-engine/tactics:occurencessets}{{5.3.1}{151}{Occurrence sets and occurrence clauses}{subsubsection*.569}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrence_clause}{{3}{151}{Occurrence sets and occurrence clauses}{section*.570}{}}
\newlabel{proof-engine/tactics:grammar-token-goal_occurrences}{{3}{151}{Occurrence sets and occurrence clauses}{section*.571}{}}
\newlabel{proof-engine/tactics:grammar-token-at_occurrences}{{3}{151}{Occurrence sets and occurrence clauses}{section*.572}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrences}{{3}{151}{Occurrence sets and occurrence clauses}{section*.573}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Applying theorems}{152}{subsection.5.3.2}}
\newlabel{proof-engine/tactics:applying-theorems}{{5.3.2}{152}{Applying theorems}{subsection.5.3.2}{}}
\newlabel{proof-engine/tactics:applyingtheorems}{{5.3.2}{152}{Applying theorems}{subsection.5.3.2}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact}{{5.3.2}{152}{Applying theorems}{section*.574}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-exact-proof}{{5.3.2}{152}{Applying theorems}{section*.575}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexact}{{5.3.2}{152}{Applying theorems}{section*.576}{}}
\newlabel{proof-engine/tactics:coq:tacn.assumption}{{5.3.2}{152}{Applying theorems}{section*.577}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-assumption}{{5.3.2}{152}{Applying theorems}{section*.578}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassumption}{{5.3.2}{152}{Applying theorems}{section*.579}{}}
\newlabel{proof-engine/tactics:coq:tacn.refine}{{5.3.2}{152}{Applying theorems}{section*.580}{}}
\newlabel{proof-engine/tactics:coq:exn.invalid-argument}{{5.3.2}{153}{Applying theorems}{section*.581}{}}
\newlabel{proof-engine/tactics:coq:exn.refine-passed-ill-formed-term}{{5.3.2}{153}{Applying theorems}{section*.582}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-infer-a-term-for-this-placeholder-refine}{{5.3.2}{153}{Applying theorems}{section*.583}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-refine}{{5.3.2}{153}{Applying theorems}{section*.584}{}}
\newlabel{proof-engine/tactics:coq:tacv.notypeclasses-refine}{{5.3.2}{153}{Applying theorems}{section*.585}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-notypeclasses-refine}{{5.3.2}{153}{Applying theorems}{section*.586}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply}{{5.3.2}{153}{Applying theorems}{section*.587}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-unify-term-with-term}{{5.3.2}{154}{Applying theorems}{section*.588}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-find-an-instance-for-the-variables-ident-ident}{{5.3.2}{154}{Applying theorems}{section*.589}{}}
\newlabel{proof-engine/tactics:coq:tacv.eapply}{{5.3.2}{154}{Applying theorems}{section*.590}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-apply}{{5.3.2}{155}{Applying theorems}{section*.591}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-eapply}{{5.3.2}{155}{Applying theorems}{section*.592}{}}
\newlabel{proof-engine/tactics:coq:tacv.lapply}{{5.3.2}{155}{Applying theorems}{section*.593}{}}
\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}{{5.3.2}{155}{Applying theorems}{section*.594}{}}
\newlabel{proof-engine/tactics:coq:flag.universal-lemma-under-conjunction}{{5.3.2}{157}{Applying theorems}{section*.595}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply-in}{{5.3.2}{157}{Applying theorems}{section*.596}{}}
\newlabel{proof-engine/tactics:coq:exn.statement-without-assumptions}{{5.3.2}{157}{Applying theorems}{section*.597}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-apply}{{5.3.2}{157}{Applying theorems}{section*.598}{}}
\newlabel{proof-engine/tactics:coq:tacv.apply-in-as}{{5.3.2}{157}{Applying theorems}{section*.599}{}}
\newlabel{proof-engine/tactics:coq:tacn.constructor}{{5.3.2}{158}{Applying theorems}{section*.600}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-product}{{5.3.2}{158}{Applying theorems}{section*.601}{}}
\newlabel{proof-engine/tactics:coq:exn.not-enough-constructors}{{5.3.2}{158}{Applying theorems}{section*.602}{}}
\newlabel{proof-engine/tactics:coq:tacv.split}{{5.3.2}{158}{Applying theorems}{section*.603}{}}
\newlabel{proof-engine/tactics:coq:tacv.exists}{{5.3.2}{158}{Applying theorems}{section*.604}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-goal-with-1-constructor}{{5.3.2}{158}{Applying theorems}{section*.605}{}}
\newlabel{proof-engine/tactics:coq:tacv.left}{{5.3.2}{158}{Applying theorems}{section*.606}{}}
\newlabel{proof-engine/tactics:coq:tacv.right}{{5.3.2}{158}{Applying theorems}{section*.607}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-inductive-goal-with-2-constructors}{{5.3.2}{158}{Applying theorems}{section*.608}{}}
\newlabel{proof-engine/tactics:coq:tacv.econstructor}{{5.3.2}{158}{Applying theorems}{section*.609}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexists}{{5.3.2}{158}{Applying theorems}{section*.610}{}}
\newlabel{proof-engine/tactics:coq:tacv.esplit}{{5.3.2}{158}{Applying theorems}{section*.611}{}}
\newlabel{proof-engine/tactics:coq:tacv.eleft}{{5.3.2}{158}{Applying theorems}{section*.612}{}}
\newlabel{proof-engine/tactics:coq:tacv.eright}{{5.3.2}{158}{Applying theorems}{section*.613}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Managing the local context}{159}{subsection.5.3.3}}
\newlabel{proof-engine/tactics:managing-the-local-context}{{5.3.3}{159}{Managing the local context}{subsection.5.3.3}{}}
\newlabel{proof-engine/tactics:managingthelocalcontext}{{5.3.3}{159}{Managing the local context}{subsection.5.3.3}{}}
\newlabel{proof-engine/tactics:coq:tacn.intro}{{5.3.3}{159}{Managing the local context}{section*.614}{}}
\newlabel{proof-engine/tactics:coq:exn.no-product-even-after-head-reduction}{{5.3.3}{159}{Managing the local context}{section*.615}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-already-used}{{5.3.3}{159}{Managing the local context}{section*.616}{}}
\newlabel{proof-engine/tactics:coq:tacv.intros}{{5.3.3}{159}{Managing the local context}{section*.617}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis-in-current-goal}{{5.3.3}{159}{Managing the local context}{section*.618}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis-ident}{{5.3.3}{160}{Managing the local context}{section*.619}{}}
\newlabel{proof-engine/tactics:coq:tacn.intros}{{5.3.3}{160}{Managing the local context}{section*.620}{}}
\newlabel{proof-engine/tactics:coq:flag.bracketing-last-introduction-pattern}{{5.3.3}{162}{Managing the local context}{section*.621}{}}
\newlabel{proof-engine/tactics:coq:tacn.clear}{{5.3.3}{162}{Managing the local context}{section*.622}{}}
\newlabel{proof-engine/tactics:coq:exn.no-such-hypothesis}{{5.3.3}{162}{Managing the local context}{section*.623}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-the-conclusion}{{5.3.3}{162}{Managing the local context}{section*.624}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-the-hypothesis-ident}{{5.3.3}{162}{Managing the local context}{section*.625}{}}
\newlabel{proof-engine/tactics:coq:tacv.clearbody}{{5.3.3}{163}{Managing the local context}{section*.626}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-not-a-local-definition}{{5.3.3}{163}{Managing the local context}{section*.627}{}}
\newlabel{proof-engine/tactics:coq:tacn.revert}{{5.3.3}{163}{Managing the local context}{section*.628}{}}
\newlabel{proof-engine/tactics:coq:tacv.revert-dependent}{{5.3.3}{163}{Managing the local context}{section*.629}{}}
\newlabel{proof-engine/tactics:coq:tacn.move-after}{{5.3.3}{163}{Managing the local context}{section*.630}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-before}{{5.3.3}{163}{Managing the local context}{section*.631}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-at-top}{{5.3.3}{163}{Managing the local context}{section*.632}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-at-bottom}{{5.3.3}{163}{Managing the local context}{section*.633}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-move-ident-after-ident-it-occurs-in-the-type-of-ident}{{5.3.3}{163}{Managing the local context}{section*.634}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-move-ident-after-ident-it-depends-on-ident}{{5.3.3}{163}{Managing the local context}{section*.635}{}}
\newlabel{proof-engine/tactics:coq:tacn.rename}{{5.3.3}{165}{Managing the local context}{section*.636}{}}
\newlabel{proof-engine/tactics:coq:tacn.set}{{5.3.3}{165}{Managing the local context}{section*.637}{}}
\newlabel{proof-engine/tactics:coq:exn.the-variable-ident-is-already-defined}{{5.3.3}{165}{Managing the local context}{section*.638}{}}
\newlabel{proof-engine/tactics:coq:tacv.eset}{{5.3.3}{166}{Managing the local context}{section*.639}{}}
\newlabel{proof-engine/tactics:coq:tacv.}{{5.3.3}{166}{Managing the local context}{section*.640}{}}
\newlabel{proof-engine/tactics:coq:tacn.remember}{{5.3.3}{166}{Managing the local context}{section*.641}{}}
\newlabel{proof-engine/tactics:coq:tacv.eremember}{{5.3.3}{166}{Managing the local context}{section*.642}{}}
\newlabel{proof-engine/tactics:coq:tacn.pose}{{5.3.3}{166}{Managing the local context}{section*.643}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose}{{5.3.3}{166}{Managing the local context}{section*.644}{}}
\newlabel{proof-engine/tactics:coq:tacn.decompose}{{5.3.3}{166}{Managing the local context}{section*.645}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}Controlling the proof flow}{167}{subsection.5.3.4}}
\newlabel{proof-engine/tactics:controlling-the-proof-flow}{{5.3.4}{167}{Controlling the proof flow}{subsection.5.3.4}{}}
\newlabel{proof-engine/tactics:controllingtheproofflow}{{5.3.4}{167}{Controlling the proof flow}{subsection.5.3.4}{}}
\newlabel{proof-engine/tactics:coq:tacn.assert}{{5.3.4}{167}{Controlling the proof flow}{section*.646}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-proposition-or-a-type}{{5.3.4}{167}{Controlling the proof flow}{section*.647}{}}
\newlabel{proof-engine/tactics:coq:exn.proof-is-not-complete-assert}{{5.3.4}{168}{Controlling the proof flow}{section*.648}{}}
\newlabel{proof-engine/tactics:coq:exn.variable-ident-is-already-declared}{{5.3.4}{168}{Controlling the proof flow}{section*.649}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassert}{{5.3.4}{168}{Controlling the proof flow}{section*.650}{}}
\newlabel{proof-engine/tactics:coq:tacv.pose-proof}{{5.3.4}{168}{Controlling the proof flow}{section*.651}{}}
\newlabel{proof-engine/tactics:coq:tacv.enough}{{5.3.4}{168}{Controlling the proof flow}{section*.652}{}}
\newlabel{proof-engine/tactics:coq:tacv.eenough}{{5.3.4}{168}{Controlling the proof flow}{section*.653}{}}
\newlabel{proof-engine/tactics:coq:tacv.cut}{{5.3.4}{169}{Controlling the proof flow}{section*.654}{}}
\newlabel{proof-engine/tactics:coq:tacv.specialize}{{5.3.4}{169}{Controlling the proof flow}{section*.655}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-hypothesis-ident}{{5.3.4}{169}{Controlling the proof flow}{section*.656}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-used-in-conclusion}{{5.3.4}{169}{Controlling the proof flow}{section*.657}{}}
\newlabel{proof-engine/tactics:coq:tacn.generalize}{{5.3.4}{169}{Controlling the proof flow}{section*.658}{}}
\newlabel{proof-engine/tactics:coq:tacn.evar}{{5.3.4}{170}{Controlling the proof flow}{section*.659}{}}
\newlabel{proof-engine/tactics:coq:tacn.instantiate}{{5.3.4}{170}{Controlling the proof flow}{section*.660}{}}
\newlabel{proof-engine/tactics:coq:tacn.admit}{{5.3.4}{170}{Controlling the proof flow}{section*.661}{}}
\newlabel{proof-engine/tactics:coq:tacn.absurd}{{5.3.4}{170}{Controlling the proof flow}{section*.662}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradiction}{{5.3.4}{171}{Controlling the proof flow}{section*.663}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradict}{{5.3.4}{171}{Controlling the proof flow}{section*.664}{}}
\newlabel{proof-engine/tactics:coq:tacn.exfalso}{{5.3.4}{171}{Controlling the proof flow}{section*.665}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.5}Case analysis and induction}{171}{subsection.5.3.5}}
\newlabel{proof-engine/tactics:case-analysis-and-induction}{{5.3.5}{171}{Case analysis and induction}{subsection.5.3.5}{}}
\newlabel{proof-engine/tactics:caseanalysisandinduction}{{5.3.5}{171}{Case analysis and induction}{subsection.5.3.5}{}}
\newlabel{proof-engine/tactics:coq:tacn.destruct}{{5.3.5}{171}{Case analysis and induction}{section*.666}{}}
\newlabel{proof-engine/tactics:coq:tacv.destruct-eqn}{{5.3.5}{172}{Case analysis and induction}{section*.667}{}}
\newlabel{proof-engine/tactics:coq:tacv.edestruct}{{5.3.5}{172}{Case analysis and induction}{section*.668}{}}
\newlabel{proof-engine/tactics:coq:tacn.case}{{5.3.5}{172}{Case analysis and induction}{section*.669}{}}
\newlabel{proof-engine/tactics:coq:tacv.ecase}{{5.3.5}{172}{Case analysis and induction}{section*.670}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-destruct}{{5.3.5}{173}{Case analysis and induction}{section*.671}{}}
\newlabel{proof-engine/tactics:coq:tacn.induction}{{5.3.5}{173}{Case analysis and induction}{section*.672}{}}
\newlabel{proof-engine/tactics:coq:tacv.einduction}{{5.3.5}{174}{Case analysis and induction}{section*.673}{}}
\newlabel{proof-engine/tactics:coq:tacv.induction-using}{{5.3.5}{174}{Case analysis and induction}{section*.674}{}}
\newlabel{proof-engine/tactics:coq:tacv.elim}{{5.3.5}{175}{Case analysis and induction}{section*.675}{}}
\newlabel{proof-engine/tactics:coq:tacv.elim-with}{{5.3.5}{175}{Case analysis and induction}{section*.676}{}}
\newlabel{proof-engine/tactics:coq:tacv.eelim}{{5.3.5}{175}{Case analysis and induction}{section*.677}{}}
\citation{zebibliography:dblp-conf-types-mcbride00}
\citation{zebibliography:dblp-conf-types-cornest95}
\newlabel{proof-engine/tactics:coq:tacv.elimtype}{{5.3.5}{176}{Case analysis and induction}{section*.678}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-induction}{{5.3.5}{176}{Case analysis and induction}{section*.679}{}}
\newlabel{proof-engine/tactics:coq:tacn.double-induction}{{5.3.5}{176}{Case analysis and induction}{section*.680}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-induction}{{5.3.5}{176}{Case analysis and induction}{section*.681}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-destruction}{{5.3.5}{177}{Case analysis and induction}{section*.682}{}}
\newlabel{proof-engine/tactics:coq:tacn.function-induction}{{5.3.5}{178}{Case analysis and induction}{section*.683}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-find-induction-information-on-qualid}{{5.3.5}{179}{Case analysis and induction}{section*.684}{}}
\newlabel{proof-engine/tactics:coq:exn.not-the-right-number-of-induction-arguments}{{5.3.5}{179}{Case analysis and induction}{section*.685}{}}
\newlabel{proof-engine/tactics:coq:tacn.discriminate}{{5.3.5}{179}{Case analysis and induction}{section*.686}{}}
\newlabel{proof-engine/tactics:coq:exn.no-primitive-equality-found}{{5.3.5}{179}{Case analysis and induction}{section*.687}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-discriminable-equality}{{5.3.5}{179}{Case analysis and induction}{section*.688}{}}
\newlabel{proof-engine/tactics:coq:tacv.ediscriminate}{{5.3.5}{179}{Case analysis and induction}{section*.689}{}}
\newlabel{proof-engine/tactics:coq:exn.no-discriminable-equalities}{{5.3.5}{180}{Case analysis and induction}{section*.690}{}}
\newlabel{proof-engine/tactics:coq:tacn.injection}{{5.3.5}{180}{Case analysis and induction}{section*.691}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-projectable-equality-but-a-discriminable-one}{{5.3.5}{181}{Case analysis and induction}{section*.692}{}}
\newlabel{proof-engine/tactics:coq:exn.nothing-to-do-it-is-an-equality-between-convertible-terms}{{5.3.5}{181}{Case analysis and induction}{section*.693}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-primitive-equality}{{5.3.5}{181}{Case analysis and induction}{section*.694}{}}
\newlabel{proof-engine/tactics:coq:exn.nothing-to-inject}{{5.3.5}{181}{Case analysis and induction}{section*.695}{}}
\newlabel{proof-engine/tactics:coq:tacv.einjection}{{5.3.5}{181}{Case analysis and induction}{section*.696}{}}
\newlabel{proof-engine/tactics:coq:exn.goal-does-not-satisfy-the-expected-preconditions}{{5.3.5}{181}{Case analysis and induction}{section*.697}{}}
\newlabel{proof-engine/tactics:coq:flag.structural-injection}{{5.3.5}{181}{Case analysis and induction}{section*.698}{}}
\newlabel{proof-engine/tactics:coq:flag.keep-proof-equalities}{{5.3.5}{182}{Case analysis and induction}{section*.699}{}}
\newlabel{proof-engine/tactics:coq:tacn.inversion}{{5.3.5}{182}{Case analysis and induction}{section*.700}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion}{{5.3.5}{183}{Case analysis and induction}{section*.701}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion-with}{{5.3.5}{184}{Case analysis and induction}{section*.702}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-inversion}{{5.3.5}{184}{Case analysis and induction}{section*.703}{}}
\newlabel{proof-engine/tactics:coq:tacn.fix}{{5.3.5}{188}{Case analysis and induction}{section*.704}{}}
\newlabel{proof-engine/tactics:coq:tacn.cofix}{{5.3.5}{189}{Case analysis and induction}{section*.705}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.6}Rewriting expressions}{189}{subsection.5.3.6}}
\newlabel{proof-engine/tactics:rewriting-expressions}{{5.3.6}{189}{Rewriting expressions}{subsection.5.3.6}{}}
\newlabel{proof-engine/tactics:rewritingexpressions}{{5.3.6}{189}{Rewriting expressions}{subsection.5.3.6}{}}
\newlabel{proof-engine/tactics:coq:tacn.rewrite}{{5.3.6}{189}{Rewriting expressions}{section*.706}{}}
\newlabel{proof-engine/tactics:coq:exn.the-term-provided-does-not-end-with-an-equation}{{5.3.6}{189}{Rewriting expressions}{section*.707}{}}
\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}{{5.3.6}{189}{Rewriting expressions}{section*.708}{}}
\newlabel{proof-engine/tactics:coq:tacv.erewrite}{{5.3.6}{190}{Rewriting expressions}{section*.709}{}}
\newlabel{proof-engine/tactics:coq:tacn.replace}{{5.3.6}{190}{Rewriting expressions}{section*.710}{}}
\newlabel{proof-engine/tactics:coq:exn.terms-do-not-have-convertible-types}{{5.3.6}{190}{Rewriting expressions}{section*.711}{}}
\newlabel{proof-engine/tactics:coq:tacv.cutrewrite}{{5.3.6}{191}{Rewriting expressions}{section*.712}{}}
\newlabel{proof-engine/tactics:coq:tacn.subst}{{5.3.6}{191}{Rewriting expressions}{section*.713}{}}
\newlabel{proof-engine/tactics:coq:flag.regular-subst-tactic}{{5.3.6}{191}{Rewriting expressions}{section*.714}{}}
\newlabel{proof-engine/tactics:coq:tacn.stepl}{{5.3.6}{191}{Rewriting expressions}{section*.715}{}}
\newlabel{proof-engine/tactics:coq:cmd.declare-left-step}{{5.3.6}{192}{Rewriting expressions}{section*.716}{}}
\newlabel{proof-engine/tactics:coq:tacv.stepr}{{5.3.6}{192}{Rewriting expressions}{section*.717}{}}
\newlabel{proof-engine/tactics:coq:cmd.declare-right-step}{{5.3.6}{192}{Rewriting expressions}{section*.718}{}}
\newlabel{proof-engine/tactics:coq:tacn.change}{{5.3.6}{192}{Rewriting expressions}{section*.719}{}}
\newlabel{proof-engine/tactics:coq:exn.not-convertible}{{5.3.6}{192}{Rewriting expressions}{section*.720}{}}
\newlabel{proof-engine/tactics:coq:exn.too-few-occurrences}{{5.3.6}{192}{Rewriting expressions}{section*.721}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.7}Performing computations}{192}{subsection.5.3.7}}
\newlabel{proof-engine/tactics:performing-computations}{{5.3.7}{192}{Performing computations}{subsection.5.3.7}{}}
\newlabel{proof-engine/tactics:performingcomputations}{{5.3.7}{192}{Performing computations}{subsection.5.3.7}{}}
\newlabel{proof-engine/tactics:coq:tacn.cbv}{{5.3.7}{193}{Performing computations}{section*.722}{}}
\newlabel{proof-engine/tactics:coq:tacn.lazy}{{5.3.7}{193}{Performing computations}{section*.723}{}}
\newlabel{proof-engine/tactics:coq:tacn.compute}{{5.3.7}{193}{Performing computations}{section*.724}{}}
\citation{zebibliography:compiledstrongreduction}
\citation{zebibliography:fullreduction}
\newlabel{proof-engine/tactics:coq:tacv.vm-compute}{{5.3.7}{194}{Performing computations}{section*.725}{}}
\newlabel{proof-engine/tactics:coq:tacv.native-compute}{{5.3.7}{194}{Performing computations}{section*.726}{}}
\newlabel{proof-engine/tactics:coq:flag.nativecompute-profiling}{{5.3.7}{194}{Performing computations}{section*.727}{}}
\newlabel{proof-engine/tactics:coq:opt.nativecompute-profile-filename}{{5.3.7}{194}{Performing computations}{section*.728}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-cbv}{{5.3.7}{194}{Performing computations}{section*.729}{}}
\newlabel{proof-engine/tactics:coq:tacn.red}{{5.3.7}{194}{Performing computations}{section*.730}{}}
\newlabel{proof-engine/tactics:coq:exn.not-reducible}{{5.3.7}{194}{Performing computations}{section*.731}{}}
\newlabel{proof-engine/tactics:coq:exn.no-head-constant-to-reduce}{{5.3.7}{194}{Performing computations}{section*.732}{}}
\newlabel{proof-engine/tactics:coq:tacn.hnf}{{5.3.7}{194}{Performing computations}{section*.733}{}}
\newlabel{proof-engine/tactics:coq:tacn.cbn}{{5.3.7}{195}{Performing computations}{section*.734}{}}
\newlabel{proof-engine/tactics:coq:tacn.simpl}{{5.3.7}{195}{Performing computations}{section*.735}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-rakam}{{5.3.7}{197}{Performing computations}{section*.736}{}}
\newlabel{proof-engine/tactics:coq:tacn.unfold}{{5.3.7}{197}{Performing computations}{section*.737}{}}
\newlabel{proof-engine/tactics:coq:exn.qualid-does-not-denote-an-evaluable-constant}{{5.3.7}{197}{Performing computations}{section*.738}{}}
\newlabel{proof-engine/tactics:coq:exn.bad-occurrence-number-of-qualid}{{5.3.7}{197}{Performing computations}{section*.739}{}}
\newlabel{proof-engine/tactics:coq:exn.qualid-does-not-occur}{{5.3.7}{197}{Performing computations}{section*.740}{}}
\newlabel{proof-engine/tactics:coq:tacn.fold}{{5.3.7}{197}{Performing computations}{section*.741}{}}
\newlabel{proof-engine/tactics:coq:tacn.pattern}{{5.3.7}{198}{Performing computations}{section*.742}{}}
\@writefile{toc}{\contentsline {subsubsection}{Conversion tactics applied to hypotheses}{198}{subsubsection*.743}}
\newlabel{proof-engine/tactics:conversion-tactics-applied-to-hypotheses}{{5.3.7}{198}{Conversion tactics applied to hypotheses}{subsubsection*.743}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.8}Automation}{199}{subsection.5.3.8}}
\newlabel{proof-engine/tactics:automation}{{5.3.8}{199}{Automation}{subsection.5.3.8}{}}
\newlabel{proof-engine/tactics:id10}{{5.3.8}{199}{Automation}{subsection.5.3.8}{}}
\newlabel{proof-engine/tactics:coq:tacn.auto}{{5.3.8}{199}{Automation}{section*.744}{}}
\newlabel{proof-engine/tactics:coq:tacv.debug-auto}{{5.3.8}{199}{Automation}{section*.745}{}}
\newlabel{proof-engine/tactics:coq:tacv.trivial}{{5.3.8}{199}{Automation}{section*.746}{}}
\newlabel{proof-engine/tactics:coq:tacv.debug-trivial}{{5.3.8}{199}{Automation}{section*.747}{}}
\newlabel{proof-engine/tactics:coq:tacv.info-trivial}{{5.3.8}{199}{Automation}{section*.748}{}}
\newlabel{proof-engine/tactics:coq:flag.info-auto}{{5.3.8}{199}{Automation}{section*.749}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-auto}{{5.3.8}{200}{Automation}{section*.750}{}}
\newlabel{proof-engine/tactics:coq:flag.info-trivial}{{5.3.8}{200}{Automation}{section*.751}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-trivial}{{5.3.8}{200}{Automation}{section*.752}{}}
\newlabel{proof-engine/tactics:coq:tacn.eauto}{{5.3.8}{200}{Automation}{section*.753}{}}
\newlabel{proof-engine/tactics:coq:flag.info-eauto}{{5.3.8}{200}{Automation}{section*.754}{}}
\newlabel{proof-engine/tactics:coq:flag.debug-eauto}{{5.3.8}{200}{Automation}{section*.755}{}}
\newlabel{proof-engine/tactics:coq:tacn.autounfold}{{5.3.8}{200}{Automation}{section*.756}{}}
\newlabel{proof-engine/tactics:coq:tacn.autorewrite}{{5.3.8}{200}{Automation}{section*.757}{}}
\newlabel{proof-engine/tactics:coq:tacn.easy}{{5.3.8}{201}{Automation}{section*.758}{}}
\newlabel{proof-engine/tactics:coq:tacv.now}{{5.3.8}{201}{Automation}{section*.759}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.9}Controlling automation}{201}{subsection.5.3.9}}
\newlabel{proof-engine/tactics:controlling-automation}{{5.3.9}{201}{Controlling automation}{subsection.5.3.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{The hints databases for auto and eauto}{201}{subsubsection*.760}}
\newlabel{proof-engine/tactics:the-hints-databases-for-auto-and-eauto}{{5.3.9}{201}{The hints databases for auto and eauto}{subsubsection*.760}{}}
\newlabel{proof-engine/tactics:thehintsdatabasesforautoandeauto}{{5.3.9}{201}{The hints databases for auto and eauto}{subsubsection*.760}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-hint}{{5.3.9}{201}{The hints databases for auto and eauto}{section*.761}{}}
\@writefile{toc}{\contentsline {paragraph}{Creating Hint databases}{202}{paragraph*.762}}
\newlabel{proof-engine/tactics:creating-hint-databases}{{5.3.9}{202}{Creating Hint databases}{paragraph*.762}{}}
\newlabel{proof-engine/tactics:coq:cmd.create-hintdb}{{5.3.9}{202}{Creating Hint databases}{section*.763}{}}
\newlabel{proof-engine/tactics:coq:cmd.hint}{{5.3.9}{202}{Creating Hint databases}{section*.764}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-resolve}{{5.3.9}{202}{Creating Hint databases}{section*.765}{}}
\newlabel{proof-engine/tactics:coq:exn.term-cannot-be-used-as-a-hint}{{5.3.9}{202}{Creating Hint databases}{section*.766}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-immediate}{{5.3.9}{203}{Creating Hint databases}{section*.767}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-constructors}{{5.3.9}{203}{Creating Hint databases}{section*.768}{}}
\newlabel{proof-engine/tactics:coq:exn.ident-is-not-an-inductive-type}{{5.3.9}{203}{Creating Hint databases}{section*.769}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-unfold}{{5.3.9}{203}{Creating Hint databases}{section*.770}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-transparent-opaque}{{5.3.9}{203}{Creating Hint databases}{section*.771}{}}
\newlabel{proof-engine/tactics:coq:cmdv.hint-extern}{{5.3.9}{203}{Creating Hint databases}{section*.772}{}}
\gdef \LT@xv {\LT@entry 
    {1}{17.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{190.50002pt}}
\newlabel{proof-engine/tactics:grammar-token-e}{{4}{204}{Creating Hint databases}{section*.773}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint databases defined in the Coq standard library}{205}{subsubsection*.774}}
\newlabel{proof-engine/tactics:hint-databases-defined-in-the-coq-standard-library}{{5.3.9}{205}{Hint databases defined in the Coq standard library}{subsubsection*.774}{}}
\newlabel{proof-engine/tactics:removehints}{{5.3.9}{205}{Hint databases defined in the Coq standard library}{section*.775}{}}
\newlabel{proof-engine/tactics:coq:cmd.remove-hints}{{5.3.9}{205}{Hint databases defined in the Coq standard library}{section*.776}{}}
\newlabel{proof-engine/tactics:printhint}{{5.3.9}{205}{Hint databases defined in the Coq standard library}{section*.777}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-hintdb}{{5.3.9}{206}{Hint databases defined in the Coq standard library}{section*.778}{}}
\newlabel{proof-engine/tactics:hintrewrite}{{5.3.9}{206}{Hint databases defined in the Coq standard library}{section*.779}{}}
\newlabel{proof-engine/tactics:coq:cmd.hint-rewrite}{{5.3.9}{206}{Hint databases defined in the Coq standard library}{section*.780}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-rewrite-hintdb}{{5.3.9}{206}{Hint databases defined in the Coq standard library}{section*.781}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint locality}{206}{subsubsection*.782}}
\newlabel{proof-engine/tactics:hint-locality}{{5.3.9}{206}{Hint locality}{subsubsection*.782}{}}
\newlabel{proof-engine/tactics:coq:opt.loose-hint-behavior}{{5.3.9}{207}{Hint locality}{section*.783}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setting implicit automation tactics}{207}{subsubsection*.784}}
\newlabel{proof-engine/tactics:setting-implicit-automation-tactics}{{5.3.9}{207}{Setting implicit automation tactics}{subsubsection*.784}{}}
\newlabel{proof-engine/tactics:tactics-implicit-automation}{{5.3.9}{207}{Setting implicit automation tactics}{subsubsection*.784}{}}
\newlabel{proof-engine/tactics:coq:cmd.proof-with}{{5.3.9}{207}{Setting implicit automation tactics}{section*.785}{}}
\newlabel{proof-engine/tactics:coq:cmd.declare-implicit-tactic}{{5.3.9}{207}{Setting implicit automation tactics}{section*.786}{}}
\citation{zebibliography:dyc92}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.10}Decision procedures}{208}{subsection.5.3.10}}
\newlabel{proof-engine/tactics:decision-procedures}{{5.3.10}{208}{Decision procedures}{subsection.5.3.10}{}}
\newlabel{proof-engine/tactics:decisionprocedures}{{5.3.10}{208}{Decision procedures}{subsection.5.3.10}{}}
\newlabel{proof-engine/tactics:coq:tacn.tauto}{{5.3.10}{208}{Decision procedures}{section*.787}{}}
\citation{zebibliography:mun94}
\newlabel{proof-engine/tactics:coq:tacv.dtauto}{{5.3.10}{209}{Decision procedures}{section*.788}{}}
\newlabel{proof-engine/tactics:coq:tacn.intuition}{{5.3.10}{209}{Decision procedures}{section*.789}{}}
\newlabel{proof-engine/tactics:coq:tacv.dintuition}{{5.3.10}{209}{Decision procedures}{section*.790}{}}
\newlabel{proof-engine/tactics:coq:flag.intuition-negation-unfolding}{{5.3.10}{209}{Decision procedures}{section*.791}{}}
\newlabel{proof-engine/tactics:coq:tacn.rtauto}{{5.3.10}{210}{Decision procedures}{section*.792}{}}
\newlabel{proof-engine/tactics:coq:tacn.firstorder}{{5.3.10}{210}{Decision procedures}{section*.793}{}}
\newlabel{proof-engine/tactics:coq:opt.firstorder-solver}{{5.3.10}{210}{Decision procedures}{section*.794}{}}
\newlabel{proof-engine/tactics:coq:cmd.print-firstorder-solver}{{5.3.10}{210}{Decision procedures}{section*.795}{}}
\newlabel{proof-engine/tactics:coq:opt.firstorder-depth}{{5.3.10}{210}{Decision procedures}{section*.796}{}}
\newlabel{proof-engine/tactics:coq:tacn.congruence}{{5.3.10}{210}{Decision procedures}{section*.797}{}}
\newlabel{proof-engine/tactics:coq:tacv.congruence-with}{{5.3.10}{212}{Decision procedures}{section*.798}{}}
\newlabel{proof-engine/tactics:coq:exn.i-dont-know-how-to-handle-dependent-equality}{{5.3.10}{212}{Decision procedures}{section*.799}{}}
\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}{{5.3.10}{212}{Decision procedures}{section*.800}{}}
\newlabel{proof-engine/tactics:coq:flag.congruence-verbose}{{5.3.10}{212}{Decision procedures}{section*.801}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.11}Checking properties of terms}{212}{subsection.5.3.11}}
\newlabel{proof-engine/tactics:checking-properties-of-terms}{{5.3.11}{212}{Checking properties of terms}{subsection.5.3.11}{}}
\newlabel{proof-engine/tactics:coq:tacn.constr-eq}{{5.3.11}{212}{Checking properties of terms}{section*.802}{}}
\newlabel{proof-engine/tactics:coq:exn.not-equal}{{5.3.11}{212}{Checking properties of terms}{section*.803}{}}
\newlabel{proof-engine/tactics:coq:tacn.unify}{{5.3.11}{212}{Checking properties of terms}{section*.804}{}}
\newlabel{proof-engine/tactics:coq:tacn.is-evar}{{5.3.11}{212}{Checking properties of terms}{section*.805}{}}
\newlabel{proof-engine/tactics:coq:exn.not-an-evar}{{5.3.11}{212}{Checking properties of terms}{section*.806}{}}
\newlabel{proof-engine/tactics:coq:tacn.has-evar}{{5.3.11}{212}{Checking properties of terms}{section*.807}{}}
\newlabel{proof-engine/tactics:coq:exn.no-evars}{{5.3.11}{212}{Checking properties of terms}{section*.808}{}}
\newlabel{proof-engine/tactics:coq:tacn.is-var}{{5.3.11}{212}{Checking properties of terms}{section*.809}{}}
\newlabel{proof-engine/tactics:coq:exn.not-a-variable-or-hypothesis}{{5.3.11}{213}{Checking properties of terms}{section*.810}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.12}Equality}{213}{subsection.5.3.12}}
\newlabel{proof-engine/tactics:equality}{{5.3.12}{213}{Equality}{subsection.5.3.12}{}}
\newlabel{proof-engine/tactics:id14}{{5.3.12}{213}{Equality}{subsection.5.3.12}{}}
\newlabel{proof-engine/tactics:coq:tacn.f-equal}{{5.3.12}{213}{Equality}{section*.811}{}}
\newlabel{proof-engine/tactics:coq:tacn.reflexivity}{{5.3.12}{213}{Equality}{section*.812}{}}
\newlabel{proof-engine/tactics:coq:exn.the-conclusion-is-not-a-substitutive-equation}{{5.3.12}{213}{Equality}{section*.813}{}}
\newlabel{proof-engine/tactics:coq:exn.unable-to-unify-with}{{5.3.12}{213}{Equality}{section*.814}{}}
\newlabel{proof-engine/tactics:coq:tacn.symmetry}{{5.3.12}{213}{Equality}{section*.815}{}}
\newlabel{proof-engine/tactics:coq:tacn.transitivity}{{5.3.12}{213}{Equality}{section*.816}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.13}Equality and inductive sets}{213}{subsection.5.3.13}}
\newlabel{proof-engine/tactics:equality-and-inductive-sets}{{5.3.13}{213}{Equality and inductive sets}{subsection.5.3.13}{}}
\newlabel{proof-engine/tactics:coq:tacn.decide-equality}{{5.3.13}{213}{Equality and inductive sets}{section*.817}{}}
\newlabel{proof-engine/tactics:coq:tacn.compare}{{5.3.13}{213}{Equality and inductive sets}{section*.818}{}}
\newlabel{proof-engine/tactics:coq:tacn.simplify-eq}{{5.3.13}{213}{Equality and inductive sets}{section*.819}{}}
\newlabel{proof-engine/tactics:coq:tacv.esimplify-eq}{{5.3.13}{214}{Equality and inductive sets}{section*.820}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-rewrite}{{5.3.13}{214}{Equality and inductive sets}{section*.821}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-rewrite}{{5.3.13}{214}{Equality and inductive sets}{section*.822}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.14}Inversion}{214}{subsection.5.3.14}}
\newlabel{proof-engine/tactics:inversion}{{5.3.14}{214}{Inversion}{subsection.5.3.14}{}}
\newlabel{proof-engine/tactics:coq:tacn.functional-inversion}{{5.3.14}{214}{Inversion}{section*.823}{}}
\newlabel{proof-engine/tactics:coq:exn.hypothesis-ident-must-contain-at-least-one-function}{{5.3.14}{214}{Inversion}{section*.824}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-find-inversion-information-for-hypothesis-ident}{{5.3.14}{214}{Inversion}{section*.825}{}}
\newlabel{proof-engine/tactics:coq:tacn.quote}{{5.3.14}{214}{Inversion}{section*.826}{}}
\newlabel{proof-engine/tactics:coq:exn.quote-not-a-simple-fixpoint}{{5.3.14}{214}{Inversion}{section*.827}{}}
\gdef \LT@xvi {\LT@entry 
    {1}{17.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{130.30002pt}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.15}Classical tactics}{215}{subsection.5.3.15}}
\newlabel{proof-engine/tactics:classical-tactics}{{5.3.15}{215}{Classical tactics}{subsection.5.3.15}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical-left}{{5.3.15}{215}{Classical tactics}{section*.828}{}}
\newlabel{proof-engine/tactics:coq:tacv.classical-right}{{5.3.15}{215}{Classical tactics}{section*.829}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.16}Automating}{215}{subsection.5.3.16}}
\newlabel{proof-engine/tactics:automating}{{5.3.16}{215}{Automating}{subsection.5.3.16}{}}
\newlabel{proof-engine/tactics:tactics-automating}{{5.3.16}{215}{Automating}{subsection.5.3.16}{}}
\newlabel{proof-engine/tactics:coq:tacn.btauto}{{5.3.16}{215}{Automating}{section*.830}{}}
\newlabel{proof-engine/tactics:btauto-grammar}{{5.3.16}{215}{Automating}{section*.831}{}}
\newlabel{proof-engine/tactics:grammar-token-t}{{5}{215}{Automating}{section*.832}{}}
\newlabel{proof-engine/tactics:coq:exn.cannot-recognize-a-boolean-equality}{{5.3.16}{215}{Automating}{section*.833}{}}
\newlabel{proof-engine/tactics:coq:tacn.omega}{{5.3.16}{215}{Automating}{section*.834}{}}
\newlabel{proof-engine/tactics:coq:tacn.ring}{{5.3.16}{215}{Automating}{section*.835}{}}
\newlabel{proof-engine/tactics:coq:tacn.ring-simplify}{{5.3.16}{215}{Automating}{section*.836}{}}
\newlabel{proof-engine/tactics:coq:tacn.field}{{5.3.16}{216}{Automating}{section*.837}{}}
\newlabel{proof-engine/tactics:coq:tacn.field-simplify}{{5.3.16}{216}{Automating}{section*.838}{}}
\newlabel{proof-engine/tactics:coq:tacn.field-simplify-eq}{{5.3.16}{216}{Automating}{section*.839}{}}
\citation{zebibliography:fourier}
\newlabel{proof-engine/tactics:coq:tacn.fourier}{{5.3.16}{217}{Automating}{section*.840}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.17}Non-logical tactics}{217}{subsection.5.3.17}}
\newlabel{proof-engine/tactics:non-logical-tactics}{{5.3.17}{217}{Non-logical tactics}{subsection.5.3.17}{}}
\newlabel{proof-engine/tactics:coq:tacn.cycle}{{5.3.17}{217}{Non-logical tactics}{section*.841}{}}
\newlabel{proof-engine/tactics:coq:tacn.swap}{{5.3.17}{218}{Non-logical tactics}{section*.842}{}}
\newlabel{proof-engine/tactics:coq:tacn.revgoals}{{5.3.17}{219}{Non-logical tactics}{section*.843}{}}
\newlabel{proof-engine/tactics:coq:tacn.shelve}{{5.3.17}{220}{Non-logical tactics}{section*.844}{}}
\newlabel{proof-engine/tactics:coq:tacv.shelve-unifiable}{{5.3.17}{220}{Non-logical tactics}{section*.845}{}}
\citation{zebibliography:del00}
\newlabel{proof-engine/tactics:coq:cmd.unshelve}{{5.3.17}{221}{Non-logical tactics}{section*.846}{}}
\newlabel{proof-engine/tactics:coq:tacn.give-up}{{5.3.17}{221}{Non-logical tactics}{section*.847}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.18}Simple tactic macros}{221}{subsection.5.3.18}}
\newlabel{proof-engine/tactics:simple-tactic-macros}{{5.3.18}{221}{Simple tactic macros}{subsection.5.3.18}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.4}The tactic language}{221}{section.5.4}}
\newlabel{proof-engine/ltac:the-tactic-language}{{5.4}{221}{The tactic language}{section.5.4}{}}
\newlabel{proof-engine/ltac:ltac}{{5.4}{221}{The tactic language}{section.5.4}{}}
\newlabel{proof-engine/ltac::doc}{{5.4}{221}{The tactic language}{section.5.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Syntax}{222}{subsection.5.4.1}}
\newlabel{proof-engine/ltac:syntax}{{5.4.1}{222}{Syntax}{subsection.5.4.1}{}}
\newlabel{proof-engine/ltac:ltac-syntax}{{5.4.1}{222}{Syntax}{subsection.5.4.1}{}}
\newlabel{proof-engine/ltac:grammar-token-expr}{{6}{222}{Syntax}{section*.848}{}}
\newlabel{proof-engine/ltac:grammar-token-tacexpr3}{{6}{222}{Syntax}{section*.849}{}}
\gdef \LT@xvii {\LT@entry 
    {4}{101.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {2}{374.33pt}}
\newlabel{proof-engine/ltac:grammar-token-tacexpr2}{{6}{223}{Syntax}{section*.850}{}}
\newlabel{proof-engine/ltac:grammar-token-tacexpr1}{{6}{223}{Syntax}{section*.851}{}}
\newlabel{proof-engine/ltac:grammar-token-atom}{{6}{223}{Syntax}{section*.852}{}}
\newlabel{proof-engine/ltac:grammar-token-component}{{6}{223}{Syntax}{section*.853}{}}
\newlabel{proof-engine/ltac:grammar-token-message_token}{{6}{223}{Syntax}{section*.854}{}}
\newlabel{proof-engine/ltac:grammar-token-tacarg}{{6}{223}{Syntax}{section*.855}{}}
\newlabel{proof-engine/ltac:grammar-token-let_clause}{{6}{223}{Syntax}{section*.856}{}}
\newlabel{proof-engine/ltac:grammar-token-context_rule}{{6}{223}{Syntax}{section*.857}{}}
\newlabel{proof-engine/ltac:grammar-token-context_hyp}{{6}{223}{Syntax}{section*.858}{}}
\newlabel{proof-engine/ltac:grammar-token-match_rule}{{6}{223}{Syntax}{section*.859}{}}
\gdef \LT@xviii {\LT@entry 
    {1}{54.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{252.50003pt}}
\newlabel{proof-engine/ltac:grammar-token-test}{{6}{224}{Syntax}{section*.860}{}}
\newlabel{proof-engine/ltac:grammar-token-selector}{{6}{224}{Syntax}{section*.861}{}}
\newlabel{proof-engine/ltac:grammar-token-toplevel_selector}{{6}{224}{Syntax}{section*.862}{}}
\newlabel{proof-engine/ltac:grammar-token-top}{{7}{224}{Syntax}{section*.863}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_def}{{7}{224}{Syntax}{section*.864}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}Semantics}{224}{subsection.5.4.2}}
\newlabel{proof-engine/ltac:semantics}{{5.4.2}{224}{Semantics}{subsection.5.4.2}{}}
\newlabel{proof-engine/ltac:ltac-semantics}{{5.4.2}{224}{Semantics}{subsection.5.4.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sequence}{224}{subsubsection*.865}}
\newlabel{proof-engine/ltac:sequence}{{5.4.2}{224}{Sequence}{subsubsection*.865}{}}
\newlabel{proof-engine/ltac:coq:tacn.ltac-seq}{{5.4.2}{224}{Sequence}{section*.866}{}}
\@writefile{toc}{\contentsline {subsubsection}{Local application of tactics}{224}{subsubsection*.867}}
\newlabel{proof-engine/ltac:local-application-of-tactics}{{5.4.2}{224}{Local application of tactics}{subsubsection*.867}{}}
\newlabel{proof-engine/ltac:coq:tacn.dispatch}{{5.4.2}{224}{Local application of tactics}{section*.868}{}}
\@writefile{toc}{\contentsline {subsubsection}{Goal selectors}{225}{subsubsection*.869}}
\newlabel{proof-engine/ltac:goal-selectors}{{5.4.2}{225}{Goal selectors}{subsubsection*.869}{}}
\newlabel{proof-engine/ltac:id2}{{5.4.2}{225}{Goal selectors}{subsubsection*.869}{}}
\newlabel{proof-engine/ltac:coq:tacn.goal-selector}{{5.4.2}{225}{Goal selectors}{section*.870}{}}
\newlabel{proof-engine/ltac:coq:tacv.only}{{5.4.2}{225}{Goal selectors}{section*.871}{}}
\newlabel{proof-engine/ltac:coq:tacv.all}{{5.4.2}{225}{Goal selectors}{section*.872}{}}
\newlabel{proof-engine/ltac:coq:tacv.par}{{5.4.2}{225}{Goal selectors}{section*.873}{}}
\newlabel{proof-engine/ltac:coq:exn.no-such-goal-goal-selector}{{5.4.2}{225}{Goal selectors}{section*.874}{}}
\@writefile{toc}{\contentsline {subsubsection}{For loop}{226}{subsubsection*.875}}
\newlabel{proof-engine/ltac:for-loop}{{5.4.2}{226}{For loop}{subsubsection*.875}{}}
\newlabel{proof-engine/ltac:coq:tacn.do}{{5.4.2}{226}{For loop}{section*.876}{}}
\@writefile{toc}{\contentsline {subsubsection}{Repeat loop}{226}{subsubsection*.877}}
\newlabel{proof-engine/ltac:repeat-loop}{{5.4.2}{226}{Repeat loop}{subsubsection*.877}{}}
\newlabel{proof-engine/ltac:coq:tacn.repeat}{{5.4.2}{226}{Repeat loop}{section*.878}{}}
\@writefile{toc}{\contentsline {subsubsection}{Error catching}{226}{subsubsection*.879}}
\newlabel{proof-engine/ltac:error-catching}{{5.4.2}{226}{Error catching}{subsubsection*.879}{}}
\newlabel{proof-engine/ltac:coq:tacn.try}{{5.4.2}{226}{Error catching}{section*.880}{}}
\@writefile{toc}{\contentsline {subsubsection}{Detecting progress}{226}{subsubsection*.881}}
\newlabel{proof-engine/ltac:detecting-progress}{{5.4.2}{226}{Detecting progress}{subsubsection*.881}{}}
\newlabel{proof-engine/ltac:coq:tacn.progress}{{5.4.2}{226}{Detecting progress}{section*.882}{}}
\newlabel{proof-engine/ltac:coq:exn.failed-to-progress}{{5.4.2}{226}{Detecting progress}{section*.883}{}}
\@writefile{toc}{\contentsline {subsubsection}{Backtracking branching}{226}{subsubsection*.884}}
\newlabel{proof-engine/ltac:backtracking-branching}{{5.4.2}{226}{Backtracking branching}{subsubsection*.884}{}}
\newlabel{proof-engine/ltac:coq:tacn.backtracking-branching}{{5.4.2}{226}{Backtracking branching}{section*.885}{}}
\@writefile{toc}{\contentsline {subsubsection}{First tactic to work}{227}{subsubsection*.886}}
\newlabel{proof-engine/ltac:first-tactic-to-work}{{5.4.2}{227}{First tactic to work}{subsubsection*.886}{}}
\newlabel{proof-engine/ltac:coq:tacn.first}{{5.4.2}{227}{First tactic to work}{section*.887}{}}
\newlabel{proof-engine/ltac:coq:exn.no-applicable-tactic}{{5.4.2}{227}{First tactic to work}{section*.888}{}}
\@writefile{toc}{\contentsline {subsubsection}{Left-biased branching}{227}{subsubsection*.889}}
\newlabel{proof-engine/ltac:left-biased-branching}{{5.4.2}{227}{Left-biased branching}{subsubsection*.889}{}}
\newlabel{proof-engine/ltac:coq:tacn.left-biased-branching}{{5.4.2}{227}{Left-biased branching}{section*.890}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generalized biased branching}{227}{subsubsection*.891}}
\newlabel{proof-engine/ltac:generalized-biased-branching}{{5.4.2}{227}{Generalized biased branching}{subsubsection*.891}{}}
\newlabel{proof-engine/ltac:coq:tacn.tryif}{{5.4.2}{227}{Generalized biased branching}{section*.892}{}}
\@writefile{toc}{\contentsline {subsubsection}{Soft cut}{227}{subsubsection*.893}}
\newlabel{proof-engine/ltac:soft-cut}{{5.4.2}{227}{Soft cut}{subsubsection*.893}{}}
\newlabel{proof-engine/ltac:coq:tacn.once}{{5.4.2}{227}{Soft cut}{section*.894}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking the successes}{228}{subsubsection*.895}}
\newlabel{proof-engine/ltac:checking-the-successes}{{5.4.2}{228}{Checking the successes}{subsubsection*.895}{}}
\newlabel{proof-engine/ltac:coq:tacn.exactly-once}{{5.4.2}{228}{Checking the successes}{section*.896}{}}
\newlabel{proof-engine/ltac:coq:exn.this-tactic-has-more-than-one-success}{{5.4.2}{228}{Checking the successes}{section*.897}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking the failure}{228}{subsubsection*.898}}
\newlabel{proof-engine/ltac:checking-the-failure}{{5.4.2}{228}{Checking the failure}{subsubsection*.898}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert-fails}{{5.4.2}{228}{Checking the failure}{section*.899}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking the success}{228}{subsubsection*.900}}
\newlabel{proof-engine/ltac:checking-the-success}{{5.4.2}{228}{Checking the success}{subsubsection*.900}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert-succeeds}{{5.4.2}{228}{Checking the success}{section*.901}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving}{228}{subsubsection*.902}}
\newlabel{proof-engine/ltac:solving}{{5.4.2}{228}{Solving}{subsubsection*.902}{}}
\newlabel{proof-engine/ltac:coq:tacn.solve}{{5.4.2}{228}{Solving}{section*.903}{}}
\newlabel{proof-engine/ltac:coq:exn.cannot-solve-the-goal}{{5.4.2}{228}{Solving}{section*.904}{}}
\@writefile{toc}{\contentsline {subsubsection}{Identity}{228}{subsubsection*.905}}
\newlabel{proof-engine/ltac:identity}{{5.4.2}{228}{Identity}{subsubsection*.905}{}}
\newlabel{proof-engine/ltac:coq:tacn.idtac}{{5.4.2}{228}{Identity}{section*.906}{}}
\@writefile{toc}{\contentsline {subsubsection}{Failing}{229}{subsubsection*.907}}
\newlabel{proof-engine/ltac:failing}{{5.4.2}{229}{Failing}{subsubsection*.907}{}}
\newlabel{proof-engine/ltac:coq:tacn.fail}{{5.4.2}{229}{Failing}{section*.908}{}}
\newlabel{proof-engine/ltac:coq:tacv.gfail}{{5.4.2}{229}{Failing}{section*.909}{}}
\newlabel{proof-engine/ltac:coq:exn.tactic-failure-message-level-num}{{5.4.2}{229}{Failing}{section*.910}{}}
\newlabel{proof-engine/ltac:coq:exn.no-such-goal-fail}{{5.4.2}{229}{Failing}{section*.911}{}}
\@writefile{toc}{\contentsline {subsubsection}{Timeout}{232}{subsubsection*.912}}
\newlabel{proof-engine/ltac:timeout}{{5.4.2}{232}{Timeout}{subsubsection*.912}{}}
\newlabel{proof-engine/ltac:coq:tacn.timeout}{{5.4.2}{232}{Timeout}{section*.913}{}}
\@writefile{toc}{\contentsline {subsubsection}{Timing a tactic}{232}{subsubsection*.914}}
\newlabel{proof-engine/ltac:timing-a-tactic}{{5.4.2}{232}{Timing a tactic}{subsubsection*.914}{}}
\newlabel{proof-engine/ltac:coq:tacn.time}{{5.4.2}{232}{Timing a tactic}{section*.915}{}}
\@writefile{toc}{\contentsline {subsubsection}{Timing a tactic that evaluates to a term}{232}{subsubsection*.916}}
\newlabel{proof-engine/ltac:timing-a-tactic-that-evaluates-to-a-term}{{5.4.2}{232}{Timing a tactic that evaluates to a term}{subsubsection*.916}{}}
\newlabel{proof-engine/ltac:coq:tacn.time-constr}{{5.4.2}{232}{Timing a tactic that evaluates to a term}{section*.917}{}}
\newlabel{proof-engine/ltac:coq:tacn.restart-timer}{{5.4.2}{232}{Timing a tactic that evaluates to a term}{section*.918}{}}
\newlabel{proof-engine/ltac:coq:tacn.finish-timing}{{5.4.2}{232}{Timing a tactic that evaluates to a term}{section*.919}{}}
\@writefile{toc}{\contentsline {subsubsection}{Local definitions}{233}{subsubsection*.920}}
\newlabel{proof-engine/ltac:local-definitions}{{5.4.2}{233}{Local definitions}{subsubsection*.920}{}}
\newlabel{proof-engine/ltac:coq:tacn.let}{{5.4.2}{233}{Local definitions}{section*.921}{}}
\@writefile{toc}{\contentsline {subsubsection}{Application}{233}{subsubsection*.922}}
\newlabel{proof-engine/ltac:application}{{5.4.2}{233}{Application}{subsubsection*.922}{}}
\@writefile{toc}{\contentsline {subsubsection}{Function construction}{234}{subsubsection*.923}}
\newlabel{proof-engine/ltac:function-construction}{{5.4.2}{234}{Function construction}{subsubsection*.923}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern matching on terms}{234}{subsubsection*.924}}
\newlabel{proof-engine/ltac:pattern-matching-on-terms}{{5.4.2}{234}{Pattern matching on terms}{subsubsection*.924}{}}
\newlabel{proof-engine/ltac:coq:exn.no-matching-clauses-for-match}{{5.4.2}{234}{Pattern matching on terms}{section*.925}{}}
\newlabel{proof-engine/ltac:coq:exn.argument-of-match-does-not-evaluate-to-a-term}{{5.4.2}{234}{Pattern matching on terms}{section*.926}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern matching on goals}{235}{subsubsection*.927}}
\newlabel{proof-engine/ltac:pattern-matching-on-goals}{{5.4.2}{235}{Pattern matching on goals}{subsubsection*.927}{}}
\newlabel{proof-engine/ltac:ltac-match-goal}{{5.4.2}{235}{Pattern matching on goals}{subsubsection*.927}{}}
\newlabel{proof-engine/ltac:coq:tacn.match-goal}{{5.4.2}{235}{Pattern matching on goals}{section*.928}{}}
\newlabel{proof-engine/ltac:coq:exn.no-matching-clauses-for-match-goal}{{5.4.2}{236}{Pattern matching on goals}{section*.929}{}}
\@writefile{toc}{\contentsline {subsubsection}{Filling a term context}{236}{subsubsection*.930}}
\newlabel{proof-engine/ltac:filling-a-term-context}{{5.4.2}{236}{Filling a term context}{subsubsection*.930}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-context-variable}{{5.4.2}{236}{Filling a term context}{section*.931}{}}
\newlabel{proof-engine/ltac:coq:exn.unbound-context-identifier-ident}{{5.4.2}{236}{Filling a term context}{section*.932}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generating fresh hypothesis names}{236}{subsubsection*.933}}
\newlabel{proof-engine/ltac:generating-fresh-hypothesis-names}{{5.4.2}{236}{Generating fresh hypothesis names}{subsubsection*.933}{}}
\@writefile{toc}{\contentsline {subsubsection}{Computing in a constr}{237}{subsubsection*.934}}
\newlabel{proof-engine/ltac:computing-in-a-constr}{{5.4.2}{237}{Computing in a constr}{subsubsection*.934}{}}
\@writefile{toc}{\contentsline {subsubsection}{Recovering the type of a term}{237}{subsubsection*.935}}
\newlabel{proof-engine/ltac:recovering-the-type-of-a-term}{{5.4.2}{237}{Recovering the type of a term}{subsubsection*.935}{}}
\@writefile{toc}{\contentsline {subsubsection}{Manipulating untyped terms}{237}{subsubsection*.936}}
\newlabel{proof-engine/ltac:manipulating-untyped-terms}{{5.4.2}{237}{Manipulating untyped terms}{subsubsection*.936}{}}
\@writefile{toc}{\contentsline {subsubsection}{Counting the goals}{237}{subsubsection*.937}}
\newlabel{proof-engine/ltac:counting-the-goals}{{5.4.2}{237}{Counting the goals}{subsubsection*.937}{}}
\@writefile{toc}{\contentsline {subsubsection}{Testing boolean expressions}{238}{subsubsection*.938}}
\newlabel{proof-engine/ltac:testing-boolean-expressions}{{5.4.2}{238}{Testing boolean expressions}{subsubsection*.938}{}}
\newlabel{proof-engine/ltac:coq:tacn.guard}{{5.4.2}{238}{Testing boolean expressions}{section*.939}{}}
\newlabel{proof-engine/ltac:coq:exn.condition-not-satisfied}{{5.4.2}{238}{Testing boolean expressions}{section*.940}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proving a subgoal as a separate lemma}{238}{subsubsection*.941}}
\newlabel{proof-engine/ltac:proving-a-subgoal-as-a-separate-lemma}{{5.4.2}{238}{Proving a subgoal as a separate lemma}{subsubsection*.941}{}}
\newlabel{proof-engine/ltac:coq:tacn.abstract}{{5.4.2}{238}{Proving a subgoal as a separate lemma}{section*.942}{}}
\newlabel{proof-engine/ltac:coq:tacv.transparent-abstract}{{5.4.2}{238}{Proving a subgoal as a separate lemma}{section*.943}{}}
\newlabel{proof-engine/ltac:coq:exn.proof-is-not-complete-abstract}{{5.4.2}{239}{Proving a subgoal as a separate lemma}{section*.944}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}Tactic toplevel definitions}{239}{subsection.5.4.3}}
\newlabel{proof-engine/ltac:tactic-toplevel-definitions}{{5.4.3}{239}{Tactic toplevel definitions}{subsection.5.4.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Defining \sphinxtitleref {L}$_{\text  {tac}}$ functions}{239}{subsubsection*.945}}
\newlabel{proof-engine/ltac:defining-ltac-functions}{{5.4.3}{239}{Defining \sphinxtitleref {L}$_{\text {tac}}$ functions}{subsubsection*.945}{}}
\newlabel{proof-engine/ltac:coq:cmd.ltac}{{5.4.3}{239}{Defining \sphinxtitleref {L}$_{\text {tac}}$ functions}{section*.946}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing \sphinxtitleref {L}$_{\text  {tac}}$ tactics}{239}{subsubsection*.947}}
\newlabel{proof-engine/ltac:printing-ltac-tactics}{{5.4.3}{239}{Printing \sphinxtitleref {L}$_{\text {tac}}$ tactics}{subsubsection*.947}{}}
\newlabel{proof-engine/ltac:coq:cmd.print-ltac}{{5.4.3}{239}{Printing \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.948}{}}
\newlabel{proof-engine/ltac:coq:cmd.print-ltac-signatures}{{5.4.3}{239}{Printing \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.949}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}Debugging \sphinxtitleref {L}$_{\text  {tac}}$ tactics}{239}{subsection.5.4.4}}
\newlabel{proof-engine/ltac:debugging-ltac-tactics}{{5.4.4}{239}{Debugging \sphinxtitleref {L}$_{\text {tac}}$ tactics}{subsection.5.4.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Info trace}{239}{subsubsection*.950}}
\newlabel{proof-engine/ltac:info-trace}{{5.4.4}{239}{Info trace}{subsubsection*.950}{}}
\newlabel{proof-engine/ltac:coq:cmd.info}{{5.4.4}{239}{Info trace}{section*.951}{}}
\newlabel{proof-engine/ltac:coq:opt.info-level}{{5.4.4}{240}{Info trace}{section*.952}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive debugger}{240}{subsubsection*.953}}
\newlabel{proof-engine/ltac:interactive-debugger}{{5.4.4}{240}{Interactive debugger}{subsubsection*.953}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-debug}{{5.4.4}{240}{Interactive debugger}{section*.954}{}}
\newlabel{proof-engine/ltac:coq:exn.debug-mode-not-available-in-the-ide}{{5.4.4}{240}{Interactive debugger}{section*.955}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-batch-debug}{{5.4.4}{240}{Interactive debugger}{section*.956}{}}
\@writefile{toc}{\contentsline {subsubsection}{Profiling \sphinxtitleref {L}$_{\text  {tac}}$ tactics}{241}{subsubsection*.957}}
\newlabel{proof-engine/ltac:profiling-ltac-tactics}{{5.4.4}{241}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{subsubsection*.957}{}}
\newlabel{proof-engine/ltac:coq:flag.ltac-profiling}{{5.4.4}{241}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.958}{}}
\newlabel{proof-engine/ltac:coq:cmd.show-ltac-profile}{{5.4.4}{241}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.959}{}}
\newlabel{proof-engine/ltac:coq:cmd.reset-ltac-profile}{{5.4.4}{241}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.960}{}}
\newlabel{proof-engine/ltac:coq:tacn.start-ltac-profiling}{{5.4.4}{242}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.961}{}}
\newlabel{proof-engine/ltac:coq:tacn.stop-ltac-profiling}{{5.4.4}{242}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.962}{}}
\newlabel{proof-engine/ltac:coq:tacn.reset-ltac-profile}{{5.4.4}{242}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.963}{}}
\newlabel{proof-engine/ltac:coq:tacn.show-ltac-profile}{{5.4.4}{242}{Profiling \sphinxtitleref {L}$_{\text {tac}}$ tactics}{section*.964}{}}
\@writefile{toc}{\contentsline {subsubsection}{Run-time optimization tactic}{243}{subsubsection*.965}}
\newlabel{proof-engine/ltac:run-time-optimization-tactic}{{5.4.4}{243}{Run-time optimization tactic}{subsubsection*.965}{}}
\newlabel{proof-engine/ltac:coq:tacn.optimize-heap}{{5.4.4}{243}{Run-time optimization tactic}{section*.966}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.5}Detailed examples of tactics}{243}{section.5.5}}
\newlabel{proof-engine/detailed-tactic-examples:detailed-examples-of-tactics}{{5.5}{243}{Detailed examples of tactics}{section.5.5}{}}
\newlabel{proof-engine/detailed-tactic-examples:detailedexamplesoftactics}{{5.5}{243}{Detailed examples of tactics}{section.5.5}{}}
\newlabel{proof-engine/detailed-tactic-examples::doc}{{5.5}{243}{Detailed examples of tactics}{section.5.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.1}dependent induction}{243}{subsection.5.5.1}}
\newlabel{proof-engine/detailed-tactic-examples:dependent-induction}{{5.5.1}{243}{dependent induction}{subsection.5.5.1}{}}
\newlabel{proof-engine/detailed-tactic-examples:id1}{{5.5.1}{243}{dependent induction}{subsection.5.5.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{A larger example}{246}{subsubsection*.967}}
\newlabel{proof-engine/detailed-tactic-examples:a-larger-example}{{5.5.1}{246}{A larger example}{subsubsection*.967}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.2}autorewrite}{249}{subsection.5.5.2}}
\newlabel{proof-engine/detailed-tactic-examples:autorewrite}{{5.5.2}{249}{autorewrite}{subsection.5.5.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.3}quote}{250}{subsection.5.5.3}}
\newlabel{proof-engine/detailed-tactic-examples:quote}{{5.5.3}{250}{quote}{subsection.5.5.3}{}}
\newlabel{proof-engine/detailed-tactic-examples:id2}{{5.5.3}{250}{quote}{subsection.5.5.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introducing variables map}{251}{subsubsection*.968}}
\newlabel{proof-engine/detailed-tactic-examples:introducing-variables-map}{{5.5.3}{251}{Introducing variables map}{subsubsection*.968}{}}
\@writefile{toc}{\contentsline {subsubsection}{Combining variables and constants}{253}{subsubsection*.969}}
\newlabel{proof-engine/detailed-tactic-examples:combining-variables-and-constants}{{5.5.3}{253}{Combining variables and constants}{subsubsection*.969}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.4}Using the tactic language}{254}{subsection.5.5.4}}
\newlabel{proof-engine/detailed-tactic-examples:using-the-tactic-language}{{5.5.4}{254}{Using the tactic language}{subsection.5.5.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{About the cardinality of the set of natural numbers}{254}{subsubsection*.970}}
\newlabel{proof-engine/detailed-tactic-examples:about-the-cardinality-of-the-set-of-natural-numbers}{{5.5.4}{254}{About the cardinality of the set of natural numbers}{subsubsection*.970}{}}
\@writefile{toc}{\contentsline {subsubsection}{Permutations of lists}{254}{subsubsection*.971}}
\newlabel{proof-engine/detailed-tactic-examples:permutations-of-lists}{{5.5.4}{254}{Permutations of lists}{subsubsection*.971}{}}
\citation{zebibliography:dyc92}
\@writefile{toc}{\contentsline {subsubsection}{Deciding intuitionistic propositional logic}{256}{subsubsection*.972}}
\newlabel{proof-engine/detailed-tactic-examples:deciding-intuitionistic-propositional-logic}{{5.5.4}{256}{Deciding intuitionistic propositional logic}{subsubsection*.972}{}}
\citation{zebibliography:rc95}
\@writefile{toc}{\contentsline {subsubsection}{Deciding type isomorphisms}{257}{subsubsection*.973}}
\newlabel{proof-engine/detailed-tactic-examples:deciding-type-isomorphisms}{{5.5.4}{257}{Deciding type isomorphisms}{subsubsection*.973}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.6}The SSReflect proof language}{259}{section.5.6}}
\newlabel{proof-engine/ssreflect-proof-language:the-ssr-proof-language}{{5.6}{259}{The SSReflect proof language}{section.5.6}{}}
\newlabel{proof-engine/ssreflect-proof-language:thessreflectprooflanguage}{{5.6}{259}{The SSReflect proof language}{section.5.6}{}}
\newlabel{proof-engine/ssreflect-proof-language::doc}{{5.6}{259}{The SSReflect proof language}{section.5.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.1}Introduction}{260}{subsection.5.6.1}}
\newlabel{proof-engine/ssreflect-proof-language:introduction}{{5.6.1}{260}{Introduction}{subsection.5.6.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Acknowledgments}{260}{subsubsection*.974}}
\newlabel{proof-engine/ssreflect-proof-language:acknowledgments}{{5.6.1}{260}{Acknowledgments}{subsubsection*.974}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.2}Usage}{260}{subsection.5.6.2}}
\newlabel{proof-engine/ssreflect-proof-language:usage}{{5.6.2}{260}{Usage}{subsection.5.6.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Getting started}{261}{subsubsection*.975}}
\newlabel{proof-engine/ssreflect-proof-language:getting-started}{{5.6.2}{261}{Getting started}{subsubsection*.975}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compatibility issues}{261}{subsubsection*.976}}
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues}{{5.6.2}{261}{Compatibility issues}{subsubsection*.976}{}}
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues-ssr}{{5.6.2}{261}{Compatibility issues}{subsubsection*.976}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.3}Gallina extensions}{262}{subsection.5.6.3}}
\newlabel{proof-engine/ssreflect-proof-language:gallina-extensions}{{5.6.3}{262}{Gallina extensions}{subsection.5.6.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern assignment}{262}{subsubsection*.977}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-assignment}{{5.6.3}{262}{Pattern assignment}{subsubsection*.977}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern conditional}{263}{subsubsection*.978}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional}{{5.6.3}{263}{Pattern conditional}{subsubsection*.978}{}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional-ssr}{{5.6.3}{263}{Pattern conditional}{subsubsection*.978}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parametric polymorphism}{264}{subsubsection*.979}}
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism}{{5.6.3}{264}{Parametric polymorphism}{subsubsection*.979}{}}
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism-ssr}{{5.6.3}{264}{Parametric polymorphism}{subsubsection*.979}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.prenex-implicits}{{5.6.3}{265}{Parametric polymorphism}{section*.980}{}}
\@writefile{toc}{\contentsline {subsubsection}{Anonymous arguments}{265}{subsubsection*.981}}
\newlabel{proof-engine/ssreflect-proof-language:anonymous-arguments}{{5.6.3}{265}{Anonymous arguments}{subsubsection*.981}{}}
\@writefile{toc}{\contentsline {subsubsection}{Wildcards}{265}{subsubsection*.982}}
\newlabel{proof-engine/ssreflect-proof-language:wildcards}{{5.6.3}{265}{Wildcards}{subsubsection*.982}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definitions}{266}{subsubsection*.983}}
\newlabel{proof-engine/ssreflect-proof-language:definitions}{{5.6.3}{266}{Definitions}{subsubsection*.983}{}}
\newlabel{proof-engine/ssreflect-proof-language:definitions-ssr}{{5.6.3}{266}{Definitions}{subsubsection*.983}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.pose-ssreflect}{{5.6.3}{266}{Definitions}{section*.984}{}}
\@writefile{toc}{\contentsline {subsubsection}{Abbreviations}{267}{subsubsection*.985}}
\newlabel{proof-engine/ssreflect-proof-language:abbreviations}{{5.6.3}{267}{Abbreviations}{subsubsection*.985}{}}
\newlabel{proof-engine/ssreflect-proof-language:abbreviations-ssr}{{5.6.3}{267}{Abbreviations}{subsubsection*.985}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.set-ssreflect}{{5.6.3}{267}{Abbreviations}{section*.986}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ_switch}{{5.6.3}{267}{Abbreviations}{section*.987}{}}
\@writefile{toc}{\contentsline {paragraph}{Matching}{268}{paragraph*.988}}
\newlabel{proof-engine/ssreflect-proof-language:matching}{{5.6.3}{268}{Matching}{paragraph*.988}{}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence selection}{270}{paragraph*.989}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection}{{5.6.3}{270}{Occurrence selection}{paragraph*.989}{}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-ssr}{{5.6.3}{270}{Occurrence selection}{paragraph*.989}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic localization}{272}{subsubsection*.990}}
\newlabel{proof-engine/ssreflect-proof-language:basic-localization}{{5.6.3}{272}{Basic localization}{subsubsection*.990}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-localization-ssr}{{5.6.3}{272}{Basic localization}{subsubsection*.990}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.4}Basic tactics}{274}{subsection.5.6.4}}
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics}{{5.6.4}{274}{Basic tactics}{subsection.5.6.4}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics-ssr}{{5.6.4}{274}{Basic tactics}{subsection.5.6.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bookkeeping}{274}{subsubsection*.991}}
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping}{{5.6.4}{274}{Bookkeeping}{subsubsection*.991}{}}
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping-ssr}{{5.6.4}{274}{Bookkeeping}{subsubsection*.991}{}}
\@writefile{toc}{\contentsline {subsubsection}{The defective tactics}{277}{subsubsection*.992}}
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics}{{5.6.4}{277}{The defective tactics}{subsubsection*.992}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics-ssr}{{5.6.4}{277}{The defective tactics}{subsubsection*.992}{}}
\@writefile{toc}{\contentsline {paragraph}{The move tactic.}{277}{paragraph*.993}}
\newlabel{proof-engine/ssreflect-proof-language:the-move-tactic}{{5.6.4}{277}{The move tactic}{paragraph*.993}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.move}{{5.6.4}{277}{The move tactic}{section*.994}{}}
\@writefile{toc}{\contentsline {paragraph}{The case tactic}{277}{paragraph*.995}}
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic}{{5.6.4}{277}{The case tactic}{paragraph*.995}{}}
\@writefile{toc}{\contentsline {paragraph}{The elim tactic}{278}{paragraph*.996}}
\newlabel{proof-engine/ssreflect-proof-language:the-elim-tactic}{{5.6.4}{278}{The elim tactic}{paragraph*.996}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.elim-ssreflect}{{5.6.4}{278}{The elim tactic}{section*.997}{}}
\@writefile{toc}{\contentsline {paragraph}{The apply tactic}{278}{paragraph*.998}}
\newlabel{proof-engine/ssreflect-proof-language:the-apply-tactic}{{5.6.4}{278}{The apply tactic}{paragraph*.998}{}}
\newlabel{proof-engine/ssreflect-proof-language:apply-ssr}{{5.6.4}{278}{The apply tactic}{paragraph*.998}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.apply-ssreflect}{{5.6.4}{278}{The apply tactic}{section*.999}{}}
\@writefile{toc}{\contentsline {subsubsection}{Discharge}{280}{subsubsection*.1000}}
\newlabel{proof-engine/ssreflect-proof-language:discharge}{{5.6.4}{280}{Discharge}{subsubsection*.1000}{}}
\newlabel{proof-engine/ssreflect-proof-language:discharge-ssr}{{5.6.4}{280}{Discharge}{subsubsection*.1000}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.ssreflect}{{5.6.4}{280}{Discharge}{section*.1001}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_item}{{5.6.4}{280}{Discharge}{section*.1002}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear_switch}{{5.6.4}{280}{Discharge}{section*.1003}{}}
\@writefile{toc}{\contentsline {paragraph}{Clear rules}{281}{paragraph*.1004}}
\newlabel{proof-engine/ssreflect-proof-language:clear-rules}{{5.6.4}{281}{Clear rules}{paragraph*.1004}{}}
\@writefile{toc}{\contentsline {paragraph}{Matching for apply and exact}{281}{paragraph*.1005}}
\newlabel{proof-engine/ssreflect-proof-language:matching-for-apply-and-exact}{{5.6.4}{281}{Matching for apply and exact}{paragraph*.1005}{}}
\@writefile{toc}{\contentsline {paragraph}{The abstract tactic}{282}{paragraph*.1006}}
\newlabel{proof-engine/ssreflect-proof-language:the-abstract-tactic}{{5.6.4}{282}{The abstract tactic}{paragraph*.1006}{}}
\newlabel{proof-engine/ssreflect-proof-language:abstract-ssr}{{5.6.4}{282}{The abstract tactic}{paragraph*.1006}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.abstract-ssreflect}{{5.6.4}{282}{The abstract tactic}{section*.1007}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction in the context}{282}{subsubsection*.1008}}
\newlabel{proof-engine/ssreflect-proof-language:introduction-in-the-context}{{5.6.4}{282}{Introduction in the context}{subsubsection*.1008}{}}
\newlabel{proof-engine/ssreflect-proof-language:introduction-ssr}{{5.6.4}{282}{Introduction in the context}{subsubsection*.1008}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.}{{5.6.4}{282}{Introduction in the context}{section*.1009}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_item}{{5.6.4}{283}{Introduction in the context}{section*.1010}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s_item}{{5.6.4}{283}{Introduction in the context}{section*.1011}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_pattern}{{5.6.4}{283}{Introduction in the context}{section*.1012}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of equations}{285}{subsubsection*.1013}}
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations}{{5.6.4}{285}{Generation of equations}{subsubsection*.1013}{}}
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations-ssr}{{5.6.4}{285}{Generation of equations}{subsubsection*.1013}{}}
\@writefile{toc}{\contentsline {subsubsection}{Type families}{286}{subsubsection*.1014}}
\newlabel{proof-engine/ssreflect-proof-language:type-families}{{5.6.4}{286}{Type families}{subsubsection*.1014}{}}
\newlabel{proof-engine/ssreflect-proof-language:type-families-ssr}{{5.6.4}{286}{Type families}{subsubsection*.1014}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.case-ssreflect}{{5.6.4}{286}{Type families}{section*.1015}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.5}Control flow}{289}{subsection.5.6.5}}
\newlabel{proof-engine/ssreflect-proof-language:control-flow}{{5.6.5}{289}{Control flow}{subsection.5.6.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Indentation and bullets}{289}{subsubsection*.1016}}
\newlabel{proof-engine/ssreflect-proof-language:indentation-and-bullets}{{5.6.5}{289}{Indentation and bullets}{subsubsection*.1016}{}}
\newlabel{proof-engine/ssreflect-proof-language:indentation-ssr}{{5.6.5}{289}{Indentation and bullets}{subsubsection*.1016}{}}
\@writefile{toc}{\contentsline {subsubsection}{Terminators}{290}{subsubsection*.1017}}
\newlabel{proof-engine/ssreflect-proof-language:terminators}{{5.6.5}{290}{Terminators}{subsubsection*.1017}{}}
\newlabel{proof-engine/ssreflect-proof-language:terminators-ssr}{{5.6.5}{290}{Terminators}{subsubsection*.1017}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.by}{{5.6.5}{290}{Terminators}{section*.1018}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.done}{{5.6.5}{290}{Terminators}{section*.1019}{}}
\@writefile{toc}{\contentsline {subsubsection}{Selectors}{291}{subsubsection*.1020}}
\newlabel{proof-engine/ssreflect-proof-language:selectors}{{5.6.5}{291}{Selectors}{subsubsection*.1020}{}}
\newlabel{proof-engine/ssreflect-proof-language:selectors-ssr}{{5.6.5}{291}{Selectors}{subsubsection*.1020}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.last}{{5.6.5}{291}{Selectors}{section*.1021}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.first-ssreflect}{{5.6.5}{292}{Selectors}{section*.1022}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.last-first}{{5.6.5}{292}{Selectors}{section*.1023}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.first-last}{{5.6.5}{292}{Selectors}{section*.1024}{}}
\@writefile{toc}{\contentsline {subsubsection}{Iteration}{293}{subsubsection*.1025}}
\newlabel{proof-engine/ssreflect-proof-language:iteration}{{5.6.5}{293}{Iteration}{subsubsection*.1025}{}}
\newlabel{proof-engine/ssreflect-proof-language:iteration-ssr}{{5.6.5}{293}{Iteration}{subsubsection*.1025}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.do-ssreflect}{{5.6.5}{293}{Iteration}{section*.1026}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{5.6.5}{293}{Iteration}{section*.1027}{}}
\@writefile{toc}{\contentsline {subsubsection}{Localization}{294}{subsubsection*.1028}}
\newlabel{proof-engine/ssreflect-proof-language:localization}{{5.6.5}{294}{Localization}{subsubsection*.1028}{}}
\newlabel{proof-engine/ssreflect-proof-language:localization-ssr}{{5.6.5}{294}{Localization}{subsubsection*.1028}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.in}{{5.6.5}{294}{Localization}{section*.1029}{}}
\@writefile{toc}{\contentsline {subsubsection}{Structure}{295}{subsubsection*.1030}}
\newlabel{proof-engine/ssreflect-proof-language:structure}{{5.6.5}{295}{Structure}{subsubsection*.1030}{}}
\newlabel{proof-engine/ssreflect-proof-language:structure-ssr}{{5.6.5}{295}{Structure}{subsubsection*.1030}{}}
\@writefile{toc}{\contentsline {paragraph}{The have tactic.}{295}{paragraph*.1031}}
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic}{{5.6.5}{295}{The have tactic}{paragraph*.1031}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.have}{{5.6.5}{295}{The have tactic}{section*.1032}{}}
\@writefile{toc}{\contentsline {paragraph}{Generating let in context entries with have}{300}{paragraph*.1033}}
\newlabel{proof-engine/ssreflect-proof-language:generating-let-in-context-entries-with-have}{{5.6.5}{300}{Generating let in context entries with have}{paragraph*.1033}{}}
\newlabel{proof-engine/ssreflect-proof-language:generating-let-ssr}{{5.6.5}{300}{Generating let in context entries with have}{paragraph*.1033}{}}
\@writefile{toc}{\contentsline {paragraph}{The have tactic and typeclass resolution}{302}{paragraph*.1034}}
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic-and-typeclass-resolution}{{5.6.5}{302}{The have tactic and typeclass resolution}{paragraph*.1034}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.ssrhave-notcresolution}{{5.6.5}{302}{The have tactic and typeclass resolution}{section*.1035}{}}
\@writefile{toc}{\contentsline {paragraph}{Variants: the suff and wlog tactics}{302}{paragraph*.1036}}
\newlabel{proof-engine/ssreflect-proof-language:variants-the-suff-and-wlog-tactics}{{5.6.5}{302}{Variants: the suff and wlog tactics}{paragraph*.1036}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.wlog}{{5.6.5}{303}{Variants: the suff and wlog tactics}{section*.1037}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.without-loss}{{5.6.5}{303}{Variants: the suff and wlog tactics}{section*.1038}{}}
\@writefile{toc}{\contentsline {subparagraph}{Advanced generalization}{305}{subparagraph*.1039}}
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization}{{5.6.5}{305}{Advanced generalization}{subparagraph*.1039}{}}
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization-ssr}{{5.6.5}{305}{Advanced generalization}{subparagraph*.1039}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.6}Rewriting}{307}{subsection.5.6.6}}
\newlabel{proof-engine/ssreflect-proof-language:rewriting}{{5.6.6}{307}{Rewriting}{subsection.5.6.6}{}}
\newlabel{proof-engine/ssreflect-proof-language:rewriting-ssr}{{5.6.6}{307}{Rewriting}{subsection.5.6.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{An extended rewrite tactic}{307}{subsubsection*.1040}}
\newlabel{proof-engine/ssreflect-proof-language:an-extended-rewrite-tactic}{{5.6.6}{307}{An extended rewrite tactic}{subsubsection*.1040}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.rewrite-ssreflect}{{5.6.6}{307}{An extended rewrite tactic}{section*.1041}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-rstep}{{5.6.6}{307}{An extended rewrite tactic}{section*.1042}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_prefix}{{5.6.6}{307}{An extended rewrite tactic}{section*.1043}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_pattern}{{5.6.6}{307}{An extended rewrite tactic}{section*.1044}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_item}{{5.6.6}{307}{An extended rewrite tactic}{section*.1045}{}}
\@writefile{toc}{\contentsline {subsubsection}{Remarks and examples}{309}{subsubsection*.1046}}
\newlabel{proof-engine/ssreflect-proof-language:remarks-and-examples}{{5.6.6}{309}{Remarks and examples}{subsubsection*.1046}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewrite redex selection}{309}{paragraph*.1047}}
\newlabel{proof-engine/ssreflect-proof-language:rewrite-redex-selection}{{5.6.6}{309}{Rewrite redex selection}{paragraph*.1047}{}}
\@writefile{toc}{\contentsline {paragraph}{Chained rewrite steps}{309}{paragraph*.1048}}
\newlabel{proof-engine/ssreflect-proof-language:chained-rewrite-steps}{{5.6.6}{309}{Chained rewrite steps}{paragraph*.1048}{}}
\@writefile{toc}{\contentsline {paragraph}{Explicit redex switches are matched first}{310}{paragraph*.1049}}
\newlabel{proof-engine/ssreflect-proof-language:explicit-redex-switches-are-matched-first}{{5.6.6}{310}{Explicit redex switches are matched first}{paragraph*.1049}{}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence switches and redex switches}{311}{paragraph*.1050}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-switches-and-redex-switches}{{5.6.6}{311}{Occurrence switches and redex switches}{paragraph*.1050}{}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence selection and repetition}{312}{paragraph*.1051}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-and-repetition}{{5.6.6}{312}{Occurrence selection and repetition}{paragraph*.1051}{}}
\@writefile{toc}{\contentsline {paragraph}{Multi-rule rewriting}{313}{paragraph*.1052}}
\newlabel{proof-engine/ssreflect-proof-language:multi-rule-rewriting}{{5.6.6}{313}{Multi-rule rewriting}{paragraph*.1052}{}}
\@writefile{toc}{\contentsline {paragraph}{Wildcards vs abstractions}{316}{paragraph*.1053}}
\newlabel{proof-engine/ssreflect-proof-language:wildcards-vs-abstractions}{{5.6.6}{316}{Wildcards vs abstractions}{paragraph*.1053}{}}
\@writefile{toc}{\contentsline {paragraph}{When SSReflect rewrite fails on standard Coq licit rewrite}{317}{paragraph*.1054}}
\newlabel{proof-engine/ssreflect-proof-language:when-ssr-rewrite-fails-on-standard-coq-licit-rewrite}{{5.6.6}{317}{When SSReflect rewrite fails on standard Coq licit rewrite}{paragraph*.1054}{}}
\@writefile{toc}{\contentsline {paragraph}{Existential metavariables and rewriting}{318}{paragraph*.1055}}
\newlabel{proof-engine/ssreflect-proof-language:existential-metavariables-and-rewriting}{{5.6.6}{318}{Existential metavariables and rewriting}{paragraph*.1055}{}}
\@writefile{toc}{\contentsline {subsubsection}{Locking, unlocking}{320}{subsubsection*.1056}}
\newlabel{proof-engine/ssreflect-proof-language:locking-unlocking}{{5.6.6}{320}{Locking, unlocking}{subsubsection*.1056}{}}
\newlabel{proof-engine/ssreflect-proof-language:locking-ssr}{{5.6.6}{320}{Locking, unlocking}{subsubsection*.1056}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.unlock}{{5.6.6}{321}{Locking, unlocking}{section*.1057}{}}
\@writefile{toc}{\contentsline {subsubsection}{Congruence}{322}{subsubsection*.1058}}
\newlabel{proof-engine/ssreflect-proof-language:congruence}{{5.6.6}{322}{Congruence}{subsubsection*.1058}{}}
\newlabel{proof-engine/ssreflect-proof-language:congruence-ssr}{{5.6.6}{322}{Congruence}{subsubsection*.1058}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.congr}{{5.6.6}{322}{Congruence}{section*.1059}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.7}Contextual patterns}{325}{subsection.5.6.7}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns}{{5.6.7}{325}{Contextual patterns}{subsection.5.6.7}{}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-ssr}{{5.6.7}{325}{Contextual patterns}{subsection.5.6.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax}{325}{subsubsection*.1060}}
\newlabel{proof-engine/ssreflect-proof-language:syntax}{{5.6.7}{325}{Syntax}{subsubsection*.1060}{}}
\@writefile{toc}{\contentsline {subsubsection}{Matching contextual patterns}{326}{subsubsection*.1061}}
\newlabel{proof-engine/ssreflect-proof-language:matching-contextual-patterns}{{5.6.7}{326}{Matching contextual patterns}{subsubsection*.1061}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples}{326}{subsubsection*.1062}}
\newlabel{proof-engine/ssreflect-proof-language:examples}{{5.6.7}{326}{Examples}{subsubsection*.1062}{}}
\@writefile{toc}{\contentsline {paragraph}{Contextual pattern in set and the : tactical}{326}{paragraph*.1063}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-pattern-in-set-and-the-tactical}{{5.6.7}{326}{Contextual pattern in set and the : tactical}{paragraph*.1063}{}}
\@writefile{toc}{\contentsline {paragraph}{Contextual patterns in rewrite}{327}{paragraph*.1064}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-in-rewrite}{{5.6.7}{327}{Contextual patterns in rewrite}{paragraph*.1064}{}}
\@writefile{toc}{\contentsline {subsubsection}{Patterns for recurrent contexts}{329}{subsubsection*.1065}}
\newlabel{proof-engine/ssreflect-proof-language:patterns-for-recurrent-contexts}{{5.6.7}{329}{Patterns for recurrent contexts}{subsubsection*.1065}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.8}Views and reflection}{329}{subsection.5.6.8}}
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection}{{5.6.8}{329}{Views and reflection}{subsection.5.6.8}{}}
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection-ssr}{{5.6.8}{329}{Views and reflection}{subsection.5.6.8}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interpreting eliminations}{329}{subsubsection*.1066}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-eliminations}{{5.6.8}{329}{Interpreting eliminations}{subsubsection*.1066}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interpreting assumptions}{333}{subsubsection*.1067}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions}{{5.6.8}{333}{Interpreting assumptions}{subsubsection*.1067}{}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions-ssr}{{5.6.8}{333}{Interpreting assumptions}{subsubsection*.1067}{}}
\@writefile{toc}{\contentsline {paragraph}{Specializing assumptions}{336}{paragraph*.1068}}
\newlabel{proof-engine/ssreflect-proof-language:specializing-assumptions}{{5.6.8}{336}{Specializing assumptions}{paragraph*.1068}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interpreting goals}{337}{subsubsection*.1069}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-goals}{{5.6.8}{337}{Interpreting goals}{subsubsection*.1069}{}}
\@writefile{toc}{\contentsline {subsubsection}{Boolean reflection}{338}{subsubsection*.1070}}
\newlabel{proof-engine/ssreflect-proof-language:boolean-reflection}{{5.6.8}{338}{Boolean reflection}{subsubsection*.1070}{}}
\@writefile{toc}{\contentsline {subsubsection}{The reflect predicate}{339}{subsubsection*.1071}}
\newlabel{proof-engine/ssreflect-proof-language:the-reflect-predicate}{{5.6.8}{339}{The reflect predicate}{subsubsection*.1071}{}}
\@writefile{toc}{\contentsline {subsubsection}{General mechanism for interpreting goals and assumptions}{341}{subsubsection*.1072}}
\newlabel{proof-engine/ssreflect-proof-language:general-mechanism-for-interpreting-goals-and-assumptions}{{5.6.8}{341}{General mechanism for interpreting goals and assumptions}{subsubsection*.1072}{}}
\@writefile{toc}{\contentsline {paragraph}{Specializing assumptions}{341}{paragraph*.1073}}
\newlabel{proof-engine/ssreflect-proof-language:id10}{{5.6.8}{341}{Specializing assumptions}{paragraph*.1073}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting assumptions}{341}{paragraph*.1074}}
\newlabel{proof-engine/ssreflect-proof-language:id11}{{5.6.8}{341}{Interpreting assumptions}{paragraph*.1074}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interpreting equivalences}{343}{subsubsection*.1075}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-equivalences}{{5.6.8}{343}{Interpreting equivalences}{subsubsection*.1075}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaring new Hint Views}{344}{subsubsection*.1076}}
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hint-views}{{5.6.8}{344}{Declaring new Hint Views}{subsubsection*.1076}{}}
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hints-ssr}{{5.6.8}{344}{Declaring new Hint Views}{subsubsection*.1076}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for-move}{{5.6.8}{344}{Declaring new Hint Views}{section*.1077}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for-apply}{{5.6.8}{344}{Declaring new Hint Views}{section*.1078}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple views}{345}{subsubsection*.1079}}
\newlabel{proof-engine/ssreflect-proof-language:multiple-views}{{5.6.8}{345}{Multiple views}{subsubsection*.1079}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.9}SSReflect searching tool}{346}{subsection.5.6.9}}
\newlabel{proof-engine/ssreflect-proof-language:ssr-searching-tool}{{5.6.9}{346}{SSReflect searching tool}{subsection.5.6.9}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.search-ssreflect}{{5.6.9}{346}{SSReflect searching tool}{section*.1080}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.10}Synopsis and Index}{347}{subsection.5.6.10}}
\newlabel{proof-engine/ssreflect-proof-language:synopsis-and-index}{{5.6.10}{347}{Synopsis and Index}{subsection.5.6.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parameters}{347}{subsubsection*.1081}}
\newlabel{proof-engine/ssreflect-proof-language:parameters}{{5.6.10}{347}{Parameters}{subsubsection*.1081}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_tactic}{{5.6.10}{347}{Parameters}{section*.1082}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-key}{{5.6.10}{347}{Parameters}{section*.1083}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-modname}{{5.6.10}{347}{Parameters}{section*.1084}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-natural}{{5.6.10}{347}{Parameters}{section*.1085}{}}
\@writefile{toc}{\contentsline {subsubsection}{Items and switches}{347}{subsubsection*.1086}}
\newlabel{proof-engine/ssreflect-proof-language:items-and-switches}{{5.6.10}{347}{Items and switches}{subsubsection*.1086}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-ssr_binder}{{5.6.10}{347}{Items and switches}{section*.1087}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-c_pattern}{{5.6.10}{348}{Items and switches}{section*.1088}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-gen_item}{{5.6.10}{348}{Items and switches}{section*.1089}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-int_mult}{{5.6.10}{348}{Items and switches}{section*.1090}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult_mark}{{5.6.10}{348}{Items and switches}{section*.1091}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_step}{{5.6.10}{348}{Items and switches}{section*.1092}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics}{349}{subsubsection*.1093}}
\newlabel{proof-engine/ssreflect-proof-language:tactics}{{5.6.10}{349}{Tactics}{subsubsection*.1093}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.generally-have}{{5.6.10}{349}{Tactics}{section*.1094}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suff}{{5.6.10}{349}{Tactics}{section*.1095}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.suffices}{{5.6.10}{349}{Tactics}{section*.1096}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tacticals}{350}{subsubsection*.1097}}
\newlabel{proof-engine/ssreflect-proof-language:tacticals}{{5.6.10}{350}{Tacticals}{subsubsection*.1097}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands}{351}{subsubsection*.1098}}
\newlabel{proof-engine/ssreflect-proof-language:commands}{{5.6.10}{351}{Commands}{subsubsection*.1098}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.hint-view-for}{{5.6.10}{351}{Commands}{section*.1099}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}User extensions}{352}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:user-extensions}{{6}{352}{User extensions}{chapter.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Syntax extensions and interpretation scopes}{352}{section.6.1}}
\newlabel{user-extensions/syntax-extensions:syntax-extensions-and-interpretation-scopes}{{6.1}{352}{Syntax extensions and interpretation scopes}{section.6.1}{}}
\newlabel{user-extensions/syntax-extensions:syntaxextensionsandinterpretationscopes}{{6.1}{352}{Syntax extensions and interpretation scopes}{section.6.1}{}}
\newlabel{user-extensions/syntax-extensions::doc}{{6.1}{352}{Syntax extensions and interpretation scopes}{section.6.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Notations}{352}{subsection.6.1.1}}
\newlabel{user-extensions/syntax-extensions:notations}{{6.1.1}{352}{Notations}{subsection.6.1.1}{}}
\newlabel{user-extensions/syntax-extensions:id1}{{6.1.1}{352}{Notations}{subsection.6.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic notations}{352}{subsubsection*.1100}}
\newlabel{user-extensions/syntax-extensions:basic-notations}{{6.1.1}{352}{Basic notations}{subsubsection*.1100}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.notation}{{6.1.1}{352}{Basic notations}{section*.1101}{}}
\@writefile{toc}{\contentsline {subsubsection}{Precedences and associativity}{353}{subsubsection*.1102}}
\newlabel{user-extensions/syntax-extensions:precedences-and-associativity}{{6.1.1}{353}{Precedences and associativity}{subsubsection*.1102}{}}
\@writefile{toc}{\contentsline {subsubsection}{Complex notations}{353}{subsubsection*.1103}}
\newlabel{user-extensions/syntax-extensions:complex-notations}{{6.1.1}{353}{Complex notations}{subsubsection*.1103}{}}
\@writefile{toc}{\contentsline {subsubsection}{Simple factorization rules}{354}{subsubsection*.1104}}
\newlabel{user-extensions/syntax-extensions:simple-factorization-rules}{{6.1.1}{354}{Simple factorization rules}{subsubsection*.1104}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-grammar-constr}{{6.1.1}{354}{Simple factorization rules}{section*.1105}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-grammar-pattern}{{6.1.1}{354}{Simple factorization rules}{section*.1106}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying symbolic notations}{355}{subsubsection*.1107}}
\newlabel{user-extensions/syntax-extensions:displaying-symbolic-notations}{{6.1.1}{355}{Displaying symbolic notations}{subsubsection*.1107}{}}
\@writefile{toc}{\contentsline {subsubsection}{The Infix command}{356}{subsubsection*.1108}}
\newlabel{user-extensions/syntax-extensions:the-infix-command}{{6.1.1}{356}{The Infix command}{subsubsection*.1108}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.infix}{{6.1.1}{356}{The Infix command}{section*.1109}{}}
\@writefile{toc}{\contentsline {subsubsection}{Reserving notations}{356}{subsubsection*.1110}}
\newlabel{user-extensions/syntax-extensions:reserving-notations}{{6.1.1}{356}{Reserving notations}{subsubsection*.1110}{}}
\newlabel{user-extensions/syntax-extensions:reservingnotations}{{6.1.1}{356}{Reserving notations}{subsubsection*.1110}{}}
\@writefile{toc}{\contentsline {subsubsection}{Simultaneous definition of terms and notations}{357}{subsubsection*.1111}}
\newlabel{user-extensions/syntax-extensions:simultaneous-definition-of-terms-and-notations}{{6.1.1}{357}{Simultaneous definition of terms and notations}{subsubsection*.1111}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying information about notations}{357}{subsubsection*.1112}}
\newlabel{user-extensions/syntax-extensions:displaying-information-about-notations}{{6.1.1}{357}{Displaying information about notations}{subsubsection*.1112}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.printing-notations}{{6.1.1}{357}{Displaying information about notations}{section*.1113}{}}
\@writefile{toc}{\contentsline {subsubsection}{Locating notations}{357}{subsubsection*.1114}}
\newlabel{user-extensions/syntax-extensions:locating-notations}{{6.1.1}{357}{Locating notations}{subsubsection*.1114}{}}
\newlabel{user-extensions/syntax-extensions:id4}{{6.1.1}{357}{Locating notations}{subsubsection*.1114}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations and binders}{358}{subsubsection*.1115}}
\newlabel{user-extensions/syntax-extensions:notations-and-binders}{{6.1.1}{358}{Notations and binders}{subsubsection*.1115}{}}
\@writefile{toc}{\contentsline {paragraph}{Binders bound in the notation and parsed as identifiers}{358}{paragraph*.1116}}
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-identifiers}{{6.1.1}{358}{Binders bound in the notation and parsed as identifiers}{paragraph*.1116}{}}
\@writefile{toc}{\contentsline {paragraph}{Binders bound in the notation and parsed as patterns}{358}{paragraph*.1117}}
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-patterns}{{6.1.1}{358}{Binders bound in the notation and parsed as patterns}{paragraph*.1117}{}}
\@writefile{toc}{\contentsline {paragraph}{Binders bound in the notation and parsed as terms}{359}{paragraph*.1118}}
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-terms}{{6.1.1}{359}{Binders bound in the notation and parsed as terms}{paragraph*.1118}{}}
\@writefile{toc}{\contentsline {paragraph}{Binders not bound in the notation}{359}{paragraph*.1119}}
\newlabel{user-extensions/syntax-extensions:binders-not-bound-in-the-notation}{{6.1.1}{359}{Binders not bound in the notation}{paragraph*.1119}{}}
\newlabel{user-extensions/syntax-extensions:notationswithbinders}{{6.1.1}{359}{Binders not bound in the notation}{paragraph*.1119}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations with recursive patterns}{360}{subsubsection*.1120}}
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns}{{6.1.1}{360}{Notations with recursive patterns}{subsubsection*.1120}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotations}{{6.1.1}{360}{Notations with recursive patterns}{subsubsection*.1120}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations with recursive patterns involving binders}{360}{subsubsection*.1121}}
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns-involving-binders}{{6.1.1}{360}{Notations with recursive patterns involving binders}{subsubsection*.1121}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotationswithbinders}{{6.1.1}{360}{Notations with recursive patterns involving binders}{subsubsection*.1121}{}}
\@writefile{toc}{\contentsline {subsubsection}{Predefined entries}{361}{subsubsection*.1122}}
\newlabel{user-extensions/syntax-extensions:predefined-entries}{{6.1.1}{361}{Predefined entries}{subsubsection*.1122}{}}
\@writefile{toc}{\contentsline {subsubsection}{Summary}{361}{subsubsection*.1123}}
\newlabel{user-extensions/syntax-extensions:summary}{{6.1.1}{361}{Summary}{subsubsection*.1123}{}}
\gdef \LT@xix {\LT@entry 
    {1}{80.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{436.17001pt}}
\@writefile{toc}{\contentsline {paragraph}{Syntax of notations}{362}{paragraph*.1124}}
\newlabel{user-extensions/syntax-extensions:syntax-of-notations}{{6.1.1}{362}{Syntax of notations}{paragraph*.1124}{}}
\newlabel{user-extensions/syntax-extensions:notationsyntax}{{6.1.1}{362}{Syntax of notations}{paragraph*.1124}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope}{{6.1.1}{362}{Syntax of notations}{section*.1125}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-notation}{{1}{362}{Syntax of notations}{section*.1126}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl_notation}{{1}{362}{Syntax of notations}{section*.1127}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-modifiers}{{1}{362}{Syntax of notations}{section*.1128}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-binderinterp}{{1}{362}{Syntax of notations}{section*.1129}{}}
\@writefile{toc}{\contentsline {paragraph}{Persistence of notations}{363}{paragraph*.1130}}
\newlabel{user-extensions/syntax-extensions:persistence-of-notations}{{6.1.1}{363}{Persistence of notations}{paragraph*.1130}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.local-notation}{{6.1.1}{363}{Persistence of notations}{section*.1131}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Interpretation scopes}{363}{subsection.6.1.2}}
\newlabel{user-extensions/syntax-extensions:interpretation-scopes}{{6.1.2}{363}{Interpretation scopes}{subsection.6.1.2}{}}
\newlabel{user-extensions/syntax-extensions:scopes}{{6.1.2}{363}{Interpretation scopes}{subsection.6.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Global interpretation rules for notations}{363}{subsubsection*.1132}}
\newlabel{user-extensions/syntax-extensions:global-interpretation-rules-for-notations}{{6.1.2}{363}{Global interpretation rules for notations}{subsubsection*.1132}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.open-scope}{{6.1.2}{363}{Global interpretation rules for notations}{section*.1133}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.close-scope}{{6.1.2}{363}{Global interpretation rules for notations}{section*.1134}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.local-open-scope}{{6.1.2}{363}{Global interpretation rules for notations}{section*.1135}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.local-close-scope}{{6.1.2}{363}{Global interpretation rules for notations}{section*.1136}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.global-open-scope}{{6.1.2}{363}{Global interpretation rules for notations}{section*.1137}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.global-close-scope}{{6.1.2}{364}{Global interpretation rules for notations}{section*.1138}{}}
\@writefile{toc}{\contentsline {subsubsection}{Local interpretation rules for notations}{364}{subsubsection*.1139}}
\newlabel{user-extensions/syntax-extensions:local-interpretation-rules-for-notations}{{6.1.2}{364}{Local interpretation rules for notations}{subsubsection*.1139}{}}
\newlabel{user-extensions/syntax-extensions:localinterpretationrulesfornotations}{{6.1.2}{364}{Local interpretation rules for notations}{subsubsection*.1139}{}}
\@writefile{toc}{\contentsline {paragraph}{Local opening of an interpretation scope}{364}{paragraph*.1140}}
\newlabel{user-extensions/syntax-extensions:local-opening-of-an-interpretation-scope}{{6.1.2}{364}{Local opening of an interpretation scope}{paragraph*.1140}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.delimit-scope}{{6.1.2}{364}{Local opening of an interpretation scope}{section*.1141}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.undelimit-scope}{{6.1.2}{364}{Local opening of an interpretation scope}{section*.1142}{}}
\@writefile{toc}{\contentsline {paragraph}{Binding arguments of a constant to an interpretation scope}{364}{paragraph*.1143}}
\newlabel{user-extensions/syntax-extensions:binding-arguments-of-a-constant-to-an-interpretation-scope}{{6.1.2}{364}{Binding arguments of a constant to an interpretation scope}{paragraph*.1143}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.arguments-scopes}{{6.1.2}{364}{Binding arguments of a constant to an interpretation scope}{section*.1144}{}}
\@writefile{toc}{\contentsline {paragraph}{Binding types of arguments to an interpretation scope}{365}{paragraph*.1145}}
\newlabel{user-extensions/syntax-extensions:binding-types-of-arguments-to-an-interpretation-scope}{{6.1.2}{365}{Binding types of arguments to an interpretation scope}{paragraph*.1145}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.bind-scope}{{6.1.2}{365}{Binding types of arguments to an interpretation scope}{section*.1146}{}}
\@writefile{toc}{\contentsline {subsubsection}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} interpretation scope}{366}{subsubsection*.1147}}
\newlabel{user-extensions/syntax-extensions:the-type-scope-interpretation-scope}{{6.1.2}{366}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} interpretation scope}{subsubsection*.1147}{}}
\@writefile{toc}{\contentsline {subsubsection}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} interpretation scope}{366}{subsubsection*.1148}}
\newlabel{user-extensions/syntax-extensions:the-function-scope-interpretation-scope}{{6.1.2}{366}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} interpretation scope}{subsubsection*.1148}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interpretation scopes used in the standard library of Coq}{366}{subsubsection*.1149}}
\newlabel{user-extensions/syntax-extensions:interpretation-scopes-used-in-the-standard-library-of-coq}{{6.1.2}{366}{Interpretation scopes used in the standard library of Coq}{subsubsection*.1149}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying information about scopes}{367}{subsubsection*.1150}}
\newlabel{user-extensions/syntax-extensions:displaying-information-about-scopes}{{6.1.2}{367}{Displaying information about scopes}{subsubsection*.1150}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-visibility}{{6.1.2}{367}{Displaying information about scopes}{section*.1151}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-scopes}{{6.1.2}{367}{Displaying information about scopes}{section*.1152}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmdv.print-scope}{{6.1.2}{368}{Displaying information about scopes}{section*.1153}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Abbreviations}{368}{subsection.6.1.3}}
\newlabel{user-extensions/syntax-extensions:abbreviations}{{6.1.3}{368}{Abbreviations}{subsection.6.1.3}{}}
\newlabel{user-extensions/syntax-extensions:id5}{{6.1.3}{368}{Abbreviations}{subsection.6.1.3}{}}
\gdef \LT@xx {\LT@entry 
    {1}{117.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{362.75003pt}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Tactic Notations}{369}{subsection.6.1.4}}
\newlabel{user-extensions/syntax-extensions:tactic-notations}{{6.1.4}{369}{Tactic Notations}{subsection.6.1.4}{}}
\newlabel{user-extensions/syntax-extensions:tacticnotation}{{6.1.4}{369}{Tactic Notations}{subsection.6.1.4}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-tacn}{{2}{369}{Tactic Notations}{section*.1154}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-prod_item}{{2}{369}{Tactic Notations}{section*.1155}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-tactic_level}{{2}{369}{Tactic Notations}{section*.1156}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-tactic_argument_type}{{2}{369}{Tactic Notations}{section*.1157}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.tactic-notation}{{6.1.4}{369}{Tactic Notations}{section*.1158}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.print-grammar-tactic}{{6.1.4}{369}{Tactic Notations}{section*.1159}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Proof schemes}{370}{section.6.2}}
\newlabel{user-extensions/proof-schemes:proof-schemes}{{6.2}{370}{Proof schemes}{section.6.2}{}}
\newlabel{user-extensions/proof-schemes:proofschemes}{{6.2}{370}{Proof schemes}{section.6.2}{}}
\newlabel{user-extensions/proof-schemes::doc}{{6.2}{370}{Proof schemes}{section.6.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{370}{subsection.6.2.1}}
\newlabel{user-extensions/proof-schemes:generation-of-induction-principles-with-scheme}{{6.2.1}{370}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsection.6.2.1}{}}
\newlabel{user-extensions/proof-schemes:proofschemes-induction-principles}{{6.2.1}{370}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsection.6.2.1}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.scheme}{{6.2.1}{370}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1160}{}}
\newlabel{user-extensions/proof-schemes:coq:cmdv.scheme-equality}{{6.2.1}{370}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1161}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic declaration of schemes}{372}{subsubsection*.1162}}
\newlabel{user-extensions/proof-schemes:automatic-declaration-of-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{subsubsection*.1162}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.elimination-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1163}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.nonrecursive-elimination-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1164}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.case-analysis-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1165}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.boolean-equality-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1166}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.decidable-equality-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1167}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.rewriting-schemes}{{6.2.1}{372}{Automatic declaration of schemes}{section*.1168}{}}
\@writefile{toc}{\contentsline {subsubsection}{Combined Scheme}{372}{subsubsection*.1169}}
\newlabel{user-extensions/proof-schemes:combined-scheme}{{6.2.1}{372}{Combined Scheme}{subsubsection*.1169}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.combined-scheme}{{6.2.1}{372}{Combined Scheme}{section*.1170}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{373}{subsection.6.2.2}}
\newlabel{user-extensions/proof-schemes:generation-of-induction-principles-with-functional-scheme}{{6.2.2}{373}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsection.6.2.2}{}}
\newlabel{user-extensions/proof-schemes:functional-scheme}{{6.2.2}{373}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsection.6.2.2}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.functional-scheme}{{6.2.2}{373}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1171}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{378}{subsection.6.2.3}}
\newlabel{user-extensions/proof-schemes:generation-of-inversion-principles-with-derive-inversion}{{6.2.3}{378}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsection.6.2.3}{}}
\newlabel{user-extensions/proof-schemes:derive-inversion}{{6.2.3}{378}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsection.6.2.3}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.derive-inversion}{{6.2.3}{378}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1172}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Practical tools}{380}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:practical-tools}{{7}{380}{Practical tools}{chapter.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}The Coq commands}{380}{section.7.1}}
\newlabel{practical-tools/coq-commands:the-coq-commands}{{7.1}{380}{The Coq commands}{section.7.1}{}}
\newlabel{practical-tools/coq-commands:thecoqcommands}{{7.1}{380}{The Coq commands}{section.7.1}{}}
\newlabel{practical-tools/coq-commands::doc}{{7.1}{380}{The Coq commands}{section.7.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Interactive use (coqtop)}{380}{subsection.7.1.1}}
\newlabel{practical-tools/coq-commands:interactive-use-coqtop}{{7.1.1}{380}{Interactive use (coqtop)}{subsection.7.1.1}{}}
\newlabel{practical-tools/coq-commands:interactive-use}{{7.1.1}{380}{Interactive use (coqtop)}{subsection.7.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Batch compilation (coqc)}{380}{subsection.7.1.2}}
\newlabel{practical-tools/coq-commands:batch-compilation-coqc}{{7.1.2}{380}{Batch compilation (coqc)}{subsection.7.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Customization at launch time}{380}{subsection.7.1.3}}
\newlabel{practical-tools/coq-commands:customization-at-launch-time}{{7.1.3}{380}{Customization at launch time}{subsection.7.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{By resource file}{381}{subsubsection*.1173}}
\newlabel{practical-tools/coq-commands:by-resource-file}{{7.1.3}{381}{By resource file}{subsubsection*.1173}{}}
\@writefile{toc}{\contentsline {subsubsection}{By environment variables}{381}{subsubsection*.1174}}
\newlabel{practical-tools/coq-commands:by-environment-variables}{{7.1.3}{381}{By environment variables}{subsubsection*.1174}{}}
\newlabel{practical-tools/coq-commands:customization-by-environment-variables}{{7.1.3}{381}{By environment variables}{subsubsection*.1174}{}}
\@writefile{toc}{\contentsline {subsubsection}{By command line options}{381}{subsubsection*.1175}}
\newlabel{practical-tools/coq-commands:by-command-line-options}{{7.1.3}{381}{By command line options}{subsubsection*.1175}{}}
\newlabel{practical-tools/coq-commands:command-line-options}{{7.1.3}{381}{By command line options}{subsubsection*.1175}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.4}Compiled libraries checker (coqchk)}{383}{subsection.7.1.4}}
\newlabel{practical-tools/coq-commands:compiled-libraries-checker-coqchk}{{7.1.4}{383}{Compiled libraries checker (coqchk)}{subsection.7.1.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Utilities}{384}{section.7.2}}
\newlabel{practical-tools/utilities:utilities}{{7.2}{384}{Utilities}{section.7.2}{}}
\newlabel{practical-tools/utilities:id1}{{7.2}{384}{Utilities}{section.7.2}{}}
\newlabel{practical-tools/utilities::doc}{{7.2}{384}{Utilities}{section.7.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Using Coq as a library}{384}{subsection.7.2.1}}
\newlabel{practical-tools/utilities:using-coq-as-a-library}{{7.2.1}{384}{Using Coq as a library}{subsection.7.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}Building a Coq project with coq\_makefile}{385}{subsection.7.2.2}}
\newlabel{practical-tools/utilities:building-a-coq-project-with-coq-makefile}{{7.2.2}{385}{Building a Coq project with coq\_makefile}{subsection.7.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{CoqMakefile.local}{386}{subsubsection*.1176}}
\newlabel{practical-tools/utilities:coqmakefile-local}{{7.2.2}{386}{CoqMakefile.local}{subsubsection*.1176}{}}
\newlabel{practical-tools/utilities:coqmakefilelocal}{{7.2.2}{386}{CoqMakefile.local}{subsubsection*.1176}{}}
\@writefile{toc}{\contentsline {subsubsection}{Timing targets and performance testing}{386}{subsubsection*.1177}}
\newlabel{practical-tools/utilities:timing-targets-and-performance-testing}{{7.2.2}{386}{Timing targets and performance testing}{subsubsection*.1177}{}}
\@writefile{toc}{\contentsline {subsubsection}{Reusing/extending the generated Makefile}{389}{subsubsection*.1178}}
\newlabel{practical-tools/utilities:reusing-extending-the-generated-makefile}{{7.2.2}{389}{Reusing/extending the generated Makefile}{subsubsection*.1178}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {-j}}}{390}{subsubsection*.1179}}
\newlabel{practical-tools/utilities:building-a-subset-of-the-targets-with-j}{{7.2.2}{390}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {-j}}}{subsubsection*.1179}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Module dependencies}{390}{subsection.7.2.3}}
\newlabel{practical-tools/utilities:module-dependencies}{{7.2.3}{390}{Module dependencies}{subsection.7.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}Documenting Coq files with coqdoc}{391}{subsection.7.2.4}}
\newlabel{practical-tools/utilities:documenting-coq-files-with-coqdoc}{{7.2.4}{391}{Documenting Coq files with coqdoc}{subsection.7.2.4}{}}
\newlabel{practical-tools/utilities:coqdoc}{{7.2.4}{391}{Documenting Coq files with coqdoc}{subsection.7.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Principles}{391}{subsubsection*.1180}}
\newlabel{practical-tools/utilities:principles}{{7.2.4}{391}{Principles}{subsubsection*.1180}{}}
\@writefile{toc}{\contentsline {paragraph}{Coq material inside documentation.}{391}{paragraph*.1181}}
\newlabel{practical-tools/utilities:coq-material-inside-documentation}{{7.2.4}{391}{Coq material inside documentation}{paragraph*.1181}{}}
\@writefile{toc}{\contentsline {paragraph}{Pretty-printing.}{391}{paragraph*.1182}}
\newlabel{practical-tools/utilities:pretty-printing}{{7.2.4}{391}{Pretty-printing}{paragraph*.1182}{}}
\@writefile{toc}{\contentsline {paragraph}{Sections}{392}{paragraph*.1183}}
\newlabel{practical-tools/utilities:sections}{{7.2.4}{392}{Sections}{paragraph*.1183}{}}
\@writefile{toc}{\contentsline {paragraph}{Lists.}{392}{paragraph*.1184}}
\newlabel{practical-tools/utilities:lists}{{7.2.4}{392}{Lists}{paragraph*.1184}{}}
\@writefile{toc}{\contentsline {paragraph}{Rules.}{393}{paragraph*.1185}}
\newlabel{practical-tools/utilities:rules}{{7.2.4}{393}{Rules}{paragraph*.1185}{}}
\@writefile{toc}{\contentsline {paragraph}{Emphasis.}{393}{paragraph*.1186}}
\newlabel{practical-tools/utilities:emphasis}{{7.2.4}{393}{Emphasis}{paragraph*.1186}{}}
\@writefile{toc}{\contentsline {paragraph}{Escaping to LaTeX and HTML.}{393}{paragraph*.1187}}
\newlabel{practical-tools/utilities:escaping-to-latex-and-html}{{7.2.4}{393}{Escaping to LaTeX and HTML}{paragraph*.1187}{}}
\@writefile{toc}{\contentsline {paragraph}{Verbatim}{393}{paragraph*.1188}}
\newlabel{practical-tools/utilities:verbatim}{{7.2.4}{393}{Verbatim}{paragraph*.1188}{}}
\@writefile{toc}{\contentsline {paragraph}{Hyperlinks}{393}{paragraph*.1189}}
\newlabel{practical-tools/utilities:hyperlinks}{{7.2.4}{393}{Hyperlinks}{paragraph*.1189}{}}
\@writefile{toc}{\contentsline {paragraph}{Hiding / Showing parts of the source.}{394}{paragraph*.1190}}
\newlabel{practical-tools/utilities:hiding-showing-parts-of-the-source}{{7.2.4}{394}{Hiding / Showing parts of the source}{paragraph*.1190}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{394}{subsubsection*.1191}}
\newlabel{practical-tools/utilities:usage}{{7.2.4}{394}{Usage}{subsubsection*.1191}{}}
\@writefile{toc}{\contentsline {paragraph}{Command line options}{394}{paragraph*.1192}}
\newlabel{practical-tools/utilities:command-line-options}{{7.2.4}{394}{Command line options}{paragraph*.1192}{}}
\@writefile{toc}{\contentsline {subsubsection}{The coqdoc LaTeX style file}{397}{subsubsection*.1193}}
\newlabel{practical-tools/utilities:the-coqdoc-latex-style-file}{{7.2.4}{397}{The coqdoc LaTeX style file}{subsubsection*.1193}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}Embedded Coq phrases inside LaTeX documents}{397}{subsection.7.2.5}}
\newlabel{practical-tools/utilities:embedded-coq-phrases-inside-latex-documents}{{7.2.5}{397}{Embedded Coq phrases inside LaTeX documents}{subsection.7.2.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.6}Coq and GNU Emacs}{397}{subsection.7.2.6}}
\newlabel{practical-tools/utilities:coq-and-gnu-emacs}{{7.2.6}{397}{Coq and GNU Emacs}{subsection.7.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{The Coq Emacs mode}{397}{subsubsection*.1194}}
\newlabel{practical-tools/utilities:the-coq-emacs-mode}{{7.2.6}{397}{The Coq Emacs mode}{subsubsection*.1194}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof-General}{398}{subsubsection*.1195}}
\newlabel{practical-tools/utilities:proof-general}{{7.2.6}{398}{Proof-General}{subsubsection*.1195}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.7}Module specification}{398}{subsection.7.2.7}}
\newlabel{practical-tools/utilities:module-specification}{{7.2.7}{398}{Module specification}{subsection.7.2.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.8}Man pages}{398}{subsection.7.2.8}}
\newlabel{practical-tools/utilities:man-pages}{{7.2.8}{398}{Man pages}{subsection.7.2.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Coq Integrated Development Environment}{398}{section.7.3}}
\newlabel{practical-tools/coqide:coq-integrated-development-environment}{{7.3}{398}{Coq Integrated Development Environment}{section.7.3}{}}
\newlabel{practical-tools/coqide:coqintegrateddevelopmentenvironment}{{7.3}{398}{Coq Integrated Development Environment}{section.7.3}{}}
\newlabel{practical-tools/coqide::doc}{{7.3}{398}{Coq Integrated Development Environment}{section.7.3}{}}
\newlabel{practical-tools/coqide:coqide-mainscreen}{{7.3}{398}{Coq Integrated Development Environment}{section*.1196}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Managing files and buffers, basic editing}{399}{subsection.7.3.1}}
\newlabel{practical-tools/coqide:managing-files-and-buffers-basic-editing}{{7.3.1}{399}{Managing files and buffers, basic editing}{subsection.7.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}Interactive navigation into Coq scripts}{399}{subsection.7.3.2}}
\newlabel{practical-tools/coqide:interactive-navigation-into-coq-scripts}{{7.3.2}{399}{Interactive navigation into Coq scripts}{subsection.7.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}Trying tactics automatically}{400}{subsection.7.3.3}}
\newlabel{practical-tools/coqide:trying-tactics-automatically}{{7.3.3}{400}{Trying tactics automatically}{subsection.7.3.3}{}}
\newlabel{practical-tools/coqide:try-tactics-automatically}{{7.3.3}{400}{Trying tactics automatically}{subsection.7.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.4}Proof folding}{400}{subsection.7.3.4}}
\newlabel{practical-tools/coqide:proof-folding}{{7.3.4}{400}{Proof folding}{subsection.7.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.5}Vernacular commands, templates}{401}{subsection.7.3.5}}
\newlabel{practical-tools/coqide:vernacular-commands-templates}{{7.3.5}{401}{Vernacular commands, templates}{subsection.7.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.6}Queries}{401}{subsection.7.3.6}}
\newlabel{practical-tools/coqide:queries}{{7.3.6}{401}{Queries}{subsection.7.3.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.7}Compilation}{401}{subsection.7.3.7}}
\newlabel{practical-tools/coqide:compilation}{{7.3.7}{401}{Compilation}{subsection.7.3.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.8}Customizations}{402}{subsection.7.3.8}}
\newlabel{practical-tools/coqide:customizations}{{7.3.8}{402}{Customizations}{subsection.7.3.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.9}Using Unicode symbols}{402}{subsection.7.3.9}}
\newlabel{practical-tools/coqide:using-unicode-symbols}{{7.3.9}{402}{Using Unicode symbols}{subsection.7.3.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying Unicode symbols}{402}{subsubsection*.1197}}
\newlabel{practical-tools/coqide:displaying-unicode-symbols}{{7.3.9}{402}{Displaying Unicode symbols}{subsubsection*.1197}{}}
\@writefile{toc}{\contentsline {subsubsection}{Defining an input method for non-ASCII symbols}{403}{subsubsection*.1198}}
\newlabel{practical-tools/coqide:defining-an-input-method-for-non-ascii-symbols}{{7.3.9}{403}{Defining an input method for non-ASCII symbols}{subsubsection*.1198}{}}
\@writefile{toc}{\contentsline {subsubsection}{Character encoding for saved files}{403}{subsubsection*.1199}}
\newlabel{practical-tools/coqide:character-encoding-for-saved-files}{{7.3.9}{403}{Character encoding for saved files}{subsubsection*.1199}{}}
\newlabel{practical-tools/coqide:character-encoding-saved-files}{{7.3.9}{403}{Character encoding for saved files}{subsubsection*.1199}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}Addendum}{404}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:addendum}{{8}{404}{Addendum}{chapter.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Extended pattern matching}{404}{section.8.1}}
\newlabel{addendum/extended-pattern-matching:extended-pattern-matching}{{8.1}{404}{Extended pattern matching}{section.8.1}{}}
\newlabel{addendum/extended-pattern-matching:extendedpatternmatching}{{8.1}{404}{Extended pattern matching}{section.8.1}{}}
\newlabel{addendum/extended-pattern-matching::doc}{{8.1}{404}{Extended pattern matching}{section.8.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Patterns}{404}{subsection.8.1.1}}
\newlabel{addendum/extended-pattern-matching:patterns}{{8.1.1}{404}{Patterns}{subsection.8.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.2}Multiple patterns}{405}{subsection.8.1.2}}
\newlabel{addendum/extended-pattern-matching:multiple-patterns}{{8.1.2}{405}{Multiple patterns}{subsection.8.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.3}Aliasing subpatterns}{405}{subsection.8.1.3}}
\newlabel{addendum/extended-pattern-matching:aliasing-subpatterns}{{8.1.3}{405}{Aliasing subpatterns}{subsection.8.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.4}Nested patterns}{405}{subsection.8.1.4}}
\newlabel{addendum/extended-pattern-matching:nested-patterns}{{8.1.4}{405}{Nested patterns}{subsection.8.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.5}Disjunctive patterns}{407}{subsection.8.1.5}}
\newlabel{addendum/extended-pattern-matching:disjunctive-patterns}{{8.1.5}{407}{Disjunctive patterns}{subsection.8.1.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.6}About patterns of parametric types}{407}{subsection.8.1.6}}
\newlabel{addendum/extended-pattern-matching:about-patterns-of-parametric-types}{{8.1.6}{407}{About patterns of parametric types}{subsection.8.1.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parameters in patterns}{407}{subsubsection*.1200}}
\newlabel{addendum/extended-pattern-matching:parameters-in-patterns}{{8.1.6}{407}{Parameters in patterns}{subsubsection*.1200}{}}
\newlabel{addendum/extended-pattern-matching:coq:flag.asymmetric-patterns}{{8.1.6}{408}{Parameters in patterns}{section*.1201}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.7}Implicit arguments in patterns}{408}{subsection.8.1.7}}
\newlabel{addendum/extended-pattern-matching:implicit-arguments-in-patterns}{{8.1.7}{408}{Implicit arguments in patterns}{subsection.8.1.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.8}Matching objects of dependent types}{409}{subsection.8.1.8}}
\newlabel{addendum/extended-pattern-matching:matching-objects-of-dependent-types}{{8.1.8}{409}{Matching objects of dependent types}{subsection.8.1.8}{}}
\newlabel{addendum/extended-pattern-matching:matching-dependent}{{8.1.8}{409}{Matching objects of dependent types}{subsection.8.1.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.9}Understanding dependencies in patterns}{409}{subsection.8.1.9}}
\newlabel{addendum/extended-pattern-matching:understanding-dependencies-in-patterns}{{8.1.9}{409}{Understanding dependencies in patterns}{subsection.8.1.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.10}When the elimination predicate must be provided}{409}{subsection.8.1.10}}
\newlabel{addendum/extended-pattern-matching:when-the-elimination-predicate-must-be-provided}{{8.1.10}{409}{When the elimination predicate must be provided}{subsection.8.1.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Dependent pattern matching}{410}{subsubsection*.1202}}
\newlabel{addendum/extended-pattern-matching:dependent-pattern-matching}{{8.1.10}{410}{Dependent pattern matching}{subsubsection*.1202}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple dependent pattern matching}{410}{subsubsection*.1203}}
\newlabel{addendum/extended-pattern-matching:multiple-dependent-pattern-matching}{{8.1.10}{410}{Multiple dependent pattern matching}{subsubsection*.1203}{}}
\@writefile{toc}{\contentsline {subsubsection}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{410}{subsubsection*.1204}}
\newlabel{addendum/extended-pattern-matching:patterns-in-in}{{8.1.10}{410}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{subsubsection*.1204}{}}
\newlabel{addendum/extended-pattern-matching:match-in-patterns}{{8.1.10}{410}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{subsubsection*.1204}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.11}Using pattern matching to write proofs}{411}{subsection.8.1.11}}
\newlabel{addendum/extended-pattern-matching:using-pattern-matching-to-write-proofs}{{8.1.11}{411}{Using pattern matching to write proofs}{subsection.8.1.11}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.12}Pattern-matching on inductive objects involving local definitions}{412}{subsection.8.1.12}}
\newlabel{addendum/extended-pattern-matching:pattern-matching-on-inductive-objects-involving-local-definitions}{{8.1.12}{412}{Pattern-matching on inductive objects involving local definitions}{subsection.8.1.12}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.13}Pattern-matching and coercions}{412}{subsection.8.1.13}}
\newlabel{addendum/extended-pattern-matching:pattern-matching-and-coercions}{{8.1.13}{412}{Pattern-matching and coercions}{subsection.8.1.13}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.14}When does the expansion strategy fail?}{413}{subsection.8.1.14}}
\newlabel{addendum/extended-pattern-matching:when-does-the-expansion-strategy-fail}{{8.1.14}{413}{When does the expansion strategy fail?}{subsection.8.1.14}{}}
\newlabel{addendum/extended-pattern-matching:coq:exn.the-constructor-ident-expects-num-arguments}{{8.1.14}{413}{When does the expansion strategy fail?}{section*.1205}{}}
\newlabel{addendum/extended-pattern-matching:coq:exn.non-exhaustive-pattern-matching}{{8.1.14}{413}{When does the expansion strategy fail?}{section*.1206}{}}
\newlabel{addendum/extended-pattern-matching:coq:exn.the-elimination-predicate-term-should-be-of-arity-num-for-non-dependent-case-or-num-for-dependent-case}{{8.1.14}{413}{When does the expansion strategy fail?}{section*.1207}{}}
\newlabel{addendum/extended-pattern-matching:coq:exn.unable-to-infer-a-match-predicate}{{8.1.14}{413}{When does the expansion strategy fail?}{section*.1208}{}}
\newlabel{addendum/extended-pattern-matching:coq:exn.either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies}{{8.1.14}{413}{When does the expansion strategy fail?}{section*.1209}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.2}Implicit Coercions}{413}{section.8.2}}
\newlabel{addendum/implicit-coercions:implicit-coercions}{{8.2}{413}{Implicit Coercions}{section.8.2}{}}
\newlabel{addendum/implicit-coercions:implicitcoercions}{{8.2}{413}{Implicit Coercions}{section.8.2}{}}
\newlabel{addendum/implicit-coercions::doc}{{8.2}{413}{Implicit Coercions}{section.8.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.1}General Presentation}{413}{subsection.8.2.1}}
\newlabel{addendum/implicit-coercions:general-presentation}{{8.2.1}{413}{General Presentation}{subsection.8.2.1}{}}
\gdef \LT@xxi {\LT@entry 
    {1}{38.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{75.00002pt}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.2}Classes}{414}{subsection.8.2.2}}
\newlabel{addendum/implicit-coercions:classes}{{8.2.2}{414}{Classes}{subsection.8.2.2}{}}
\newlabel{addendum/implicit-coercions:grammar-token-class}{{1}{414}{Classes}{section*.1210}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.3}Coercions}{414}{subsection.8.2.3}}
\newlabel{addendum/implicit-coercions:coercions}{{8.2.3}{414}{Coercions}{subsection.8.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.4}Identity Coercions}{414}{subsection.8.2.4}}
\newlabel{addendum/implicit-coercions:identity-coercions}{{8.2.4}{414}{Identity Coercions}{subsection.8.2.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.5}Inheritance Graph}{415}{subsection.8.2.5}}
\newlabel{addendum/implicit-coercions:inheritance-graph}{{8.2.5}{415}{Inheritance Graph}{subsection.8.2.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.6}Declaring Coercions}{415}{subsection.8.2.6}}
\newlabel{addendum/implicit-coercions:declaring-coercions}{{8.2.6}{415}{Declaring Coercions}{subsection.8.2.6}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.coercion}{{8.2.6}{415}{Declaring Coercions}{section*.1211}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-not-declared}{{8.2.6}{415}{Declaring Coercions}{section*.1212}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-is-already-a-coercion}{{8.2.6}{415}{Declaring Coercions}{section*.1213}{}}
\newlabel{addendum/implicit-coercions:coq:exn.funclass-cannot-be-a-source-class}{{8.2.6}{415}{Declaring Coercions}{section*.1214}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-is-not-a-function}{{8.2.6}{415}{Declaring Coercions}{section*.1215}{}}
\newlabel{addendum/implicit-coercions:coq:exn.cannot-find-the-source-class-of-qualid}{{8.2.6}{415}{Declaring Coercions}{section*.1216}{}}
\newlabel{addendum/implicit-coercions:coq:exn.cannot-recognize-class-as-a-source-class-of-qualid}{{8.2.6}{415}{Declaring Coercions}{section*.1217}{}}
\newlabel{addendum/implicit-coercions:coq:exn.qualid-does-not-respect-the-uniform-inheritance-condition}{{8.2.6}{415}{Declaring Coercions}{section*.1218}{}}
\newlabel{addendum/implicit-coercions:coq:exn.found-target-class-instead-of}{{8.2.6}{415}{Declaring Coercions}{section*.1219}{}}
\newlabel{addendum/implicit-coercions:coq:warn.ambiguous-path}{{8.2.6}{415}{Declaring Coercions}{section*.1220}{}}
\gdef \LT@xxii {\LT@entry 
    {1}{80.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{214.83002pt}}
\gdef \LT@xxiii {\LT@entry 
    {1}{69.75002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{353.08002pt}}
\newlabel{addendum/implicit-coercions:grammar-token-assumption}{{2}{416}{Declaring Coercions}{section*.1221}{}}
\newlabel{addendum/implicit-coercions:grammar-token-assums}{{2}{416}{Declaring Coercions}{section*.1222}{}}
\newlabel{addendum/implicit-coercions:grammar-token-simple_assums}{{2}{416}{Declaring Coercions}{section*.1223}{}}
\newlabel{addendum/implicit-coercions:grammar-token-inductive}{{3}{416}{Declaring Coercions}{section*.1224}{}}
\newlabel{addendum/implicit-coercions:grammar-token-ind_body}{{3}{416}{Declaring Coercions}{section*.1225}{}}
\newlabel{addendum/implicit-coercions:grammar-token-constructor}{{3}{416}{Declaring Coercions}{section*.1226}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.identity-coercion}{{8.2.6}{416}{Declaring Coercions}{section*.1227}{}}
\newlabel{addendum/implicit-coercions:coq:exn.class-must-be-a-transparent-constant}{{8.2.6}{416}{Declaring Coercions}{section*.1228}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.7}Displaying Available Coercions}{416}{subsection.8.2.7}}
\newlabel{addendum/implicit-coercions:displaying-available-coercions}{{8.2.7}{416}{Displaying Available Coercions}{subsection.8.2.7}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-classes}{{8.2.7}{416}{Displaying Available Coercions}{section*.1229}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-coercions}{{8.2.7}{416}{Displaying Available Coercions}{section*.1230}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-graph}{{8.2.7}{416}{Displaying Available Coercions}{section*.1231}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.print-coercion-paths}{{8.2.7}{417}{Displaying Available Coercions}{section*.1232}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.8}Activating the Printing of Coercions}{417}{subsection.8.2.8}}
\newlabel{addendum/implicit-coercions:activating-the-printing-of-coercions}{{8.2.8}{417}{Activating the Printing of Coercions}{subsection.8.2.8}{}}
\newlabel{addendum/implicit-coercions:coq:flag.printing-coercions}{{8.2.8}{417}{Activating the Printing of Coercions}{section*.1233}{}}
\newlabel{addendum/implicit-coercions:coq:table.printing-coercion}{{8.2.8}{417}{Activating the Printing of Coercions}{section*.1234}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.9}Classes as Records}{417}{subsection.8.2.9}}
\newlabel{addendum/implicit-coercions:classes-as-records}{{8.2.9}{417}{Classes as Records}{subsection.8.2.9}{}}
\newlabel{addendum/implicit-coercions:coercions-classes-as-records}{{8.2.9}{417}{Classes as Records}{subsection.8.2.9}{}}
\newlabel{addendum/implicit-coercions:coq:cmdv.structure}{{8.2.9}{417}{Classes as Records}{section*.1235}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.10}Coercions and Sections}{417}{subsection.8.2.10}}
\newlabel{addendum/implicit-coercions:coercions-and-sections}{{8.2.10}{417}{Coercions and Sections}{subsection.8.2.10}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.11}Coercions and Modules}{417}{subsection.8.2.11}}
\newlabel{addendum/implicit-coercions:coercions-and-modules}{{8.2.11}{417}{Coercions and Modules}{subsection.8.2.11}{}}
\newlabel{addendum/implicit-coercions:coq:flag.automatic-coercions-import}{{8.2.11}{417}{Coercions and Modules}{section*.1236}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.12}Examples}{418}{subsection.8.2.12}}
\newlabel{addendum/implicit-coercions:examples}{{8.2.12}{418}{Examples}{subsection.8.2.12}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercion at function application}{418}{subsubsection*.1237}}
\newlabel{addendum/implicit-coercions:coercion-at-function-application}{{8.2.12}{418}{Coercion at function application}{subsubsection*.1237}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercion to a type}{420}{subsubsection*.1238}}
\newlabel{addendum/implicit-coercions:coercion-to-a-type}{{8.2.12}{420}{Coercion to a type}{subsubsection*.1238}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercion to a function}{421}{subsubsection*.1239}}
\newlabel{addendum/implicit-coercions:coercion-to-a-function}{{8.2.12}{421}{Coercion to a function}{subsubsection*.1239}{}}
\citation{zebibliography:cswcu}
\citation{zebibliography:cslessadhoc}
\@writefile{toc}{\contentsline {section}{\numberline {8.3}Canonical Structures}{422}{section.8.3}}
\newlabel{addendum/canonical-structures:canonical-structures}{{8.3}{422}{Canonical Structures}{section.8.3}{}}
\newlabel{addendum/canonical-structures:canonicalstructures}{{8.3}{422}{Canonical Structures}{section.8.3}{}}
\newlabel{addendum/canonical-structures::doc}{{8.3}{422}{Canonical Structures}{section.8.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.1}Notation overloading}{422}{subsection.8.3.1}}
\newlabel{addendum/canonical-structures:notation-overloading}{{8.3.1}{422}{Notation overloading}{subsection.8.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Derived Canonical Structures}{424}{subsubsection*.1240}}
\newlabel{addendum/canonical-structures:derived-canonical-structures}{{8.3.1}{424}{Derived Canonical Structures}{subsubsection*.1240}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.2}Hierarchy of structures}{425}{subsection.8.3.2}}
\newlabel{addendum/canonical-structures:hierarchy-of-structures}{{8.3.2}{425}{Hierarchy of structures}{subsection.8.3.2}{}}
\citation{zebibliography:cswcu}
\@writefile{toc}{\contentsline {subsubsection}{Compact declaration of Canonical Structures}{431}{subsubsection*.1241}}
\newlabel{addendum/canonical-structures:compact-declaration-of-canonical-structures}{{8.3.2}{431}{Compact declaration of Canonical Structures}{subsubsection*.1241}{}}
\citation{zebibliography:cswcu}
\citation{zebibliography:sozeau08}
\@writefile{toc}{\contentsline {section}{\numberline {8.4}Type Classes}{432}{section.8.4}}
\newlabel{addendum/type-classes:type-classes}{{8.4}{432}{Type Classes}{section.8.4}{}}
\newlabel{addendum/type-classes:typeclasses}{{8.4}{432}{Type Classes}{section.8.4}{}}
\newlabel{addendum/type-classes::doc}{{8.4}{432}{Type Classes}{section.8.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.1}Class and Instance declarations}{432}{subsection.8.4.1}}
\newlabel{addendum/type-classes:class-and-instance-declarations}{{8.4.1}{432}{Class and Instance declarations}{subsection.8.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.2}Binding classes}{433}{subsection.8.4.2}}
\newlabel{addendum/type-classes:binding-classes}{{8.4.2}{433}{Binding classes}{subsection.8.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.3}Parameterized Instances}{434}{subsection.8.4.3}}
\newlabel{addendum/type-classes:parameterized-instances}{{8.4.3}{434}{Parameterized Instances}{subsection.8.4.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.4}Sections and contexts}{434}{subsection.8.4.4}}
\newlabel{addendum/type-classes:sections-and-contexts}{{8.4.4}{434}{Sections and contexts}{subsection.8.4.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.5}Building hierarchies}{435}{subsection.8.4.5}}
\newlabel{addendum/type-classes:building-hierarchies}{{8.4.5}{435}{Building hierarchies}{subsection.8.4.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Superclasses}{435}{subsubsection*.1242}}
\newlabel{addendum/type-classes:superclasses}{{8.4.5}{435}{Superclasses}{subsubsection*.1242}{}}
\newlabel{addendum/type-classes:id2}{{8.4.5}{435}{Superclasses}{subsubsection*.1242}{}}
\@writefile{toc}{\contentsline {subsubsection}{Substructures}{436}{subsubsection*.1243}}
\newlabel{addendum/type-classes:substructures}{{8.4.5}{436}{Substructures}{subsubsection*.1243}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4.6}Summary of the commands}{436}{subsection.8.4.6}}
\newlabel{addendum/type-classes:summary-of-the-commands}{{8.4.6}{436}{Summary of the commands}{subsection.8.4.6}{}}
\newlabel{addendum/type-classes:coq:cmd.class}{{8.4.6}{436}{Summary of the commands}{section*.1244}{}}
\newlabel{addendum/type-classes:singleton-class}{{8.4.6}{437}{Summary of the commands}{section*.1245}{}}
\newlabel{addendum/type-classes:coq:cmd.existing-class}{{8.4.6}{437}{Summary of the commands}{section*.1246}{}}
\newlabel{addendum/type-classes:coq:cmd.instance}{{8.4.6}{437}{Summary of the commands}{section*.1247}{}}
\newlabel{addendum/type-classes:coq:cmdv.program-instance}{{8.4.6}{437}{Summary of the commands}{section*.1248}{}}
\newlabel{addendum/type-classes:coq:cmdv.declare-instance}{{8.4.6}{437}{Summary of the commands}{section*.1249}{}}
\newlabel{addendum/type-classes:coq:cmd.existing-instance}{{8.4.6}{437}{Summary of the commands}{section*.1250}{}}
\newlabel{addendum/type-classes:coq:cmd.context}{{8.4.6}{437}{Summary of the commands}{section*.1251}{}}
\newlabel{addendum/type-classes:coq:tacn.typeclasses-eauto}{{8.4.6}{437}{Summary of the commands}{section*.1252}{}}
\newlabel{addendum/type-classes:coq:tacn.autoapply}{{8.4.6}{438}{Summary of the commands}{section*.1253}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typeclasses Transparent, Typclasses Opaque}{438}{subsubsection*.1254}}
\newlabel{addendum/type-classes:typeclasses-transparent-typclasses-opaque}{{8.4.6}{438}{Typeclasses Transparent, Typclasses Opaque}{subsubsection*.1254}{}}
\newlabel{addendum/type-classes:typeclassestransparent}{{8.4.6}{438}{Typeclasses Transparent, Typclasses Opaque}{subsubsection*.1254}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-transparent}{{8.4.6}{438}{Typeclasses Transparent, Typclasses Opaque}{section*.1255}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-opaque}{{8.4.6}{438}{Typeclasses Transparent, Typclasses Opaque}{section*.1256}{}}
\@writefile{toc}{\contentsline {subsubsection}{Options}{439}{subsubsection*.1257}}
\newlabel{addendum/type-classes:options}{{8.4.6}{439}{Options}{subsubsection*.1257}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-dependency-order}{{8.4.6}{439}{Options}{section*.1258}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-filtered-unification}{{8.4.6}{439}{Options}{section*.1259}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-limit-intros}{{8.4.6}{439}{Options}{section*.1260}{}}
\newlabel{addendum/type-classes:coq:flag.typeclass-resolution-for-conversion}{{8.4.6}{439}{Options}{section*.1261}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-strict-resolution}{{8.4.6}{439}{Options}{section*.1262}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-unique-solutions}{{8.4.6}{439}{Options}{section*.1263}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-unique-instances}{{8.4.6}{439}{Options}{section*.1264}{}}
\newlabel{addendum/type-classes:coq:flag.typeclasses-debug}{{8.4.6}{439}{Options}{section*.1265}{}}
\newlabel{addendum/type-classes:coq:opt.typeclasses-debug-verbosity}{{8.4.6}{440}{Options}{section*.1266}{}}
\newlabel{addendum/type-classes:coq:flag.refine-instance-mode}{{8.4.6}{440}{Options}{section*.1267}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typeclasses eauto \sphinxtitleref {:=}}{440}{subsubsection*.1268}}
\newlabel{addendum/type-classes:typeclasses-eauto}{{8.4.6}{440}{Typeclasses eauto \sphinxtitleref {:=}}{subsubsection*.1268}{}}
\newlabel{addendum/type-classes:coq:cmd.typeclasses-eauto}{{8.4.6}{440}{Typeclasses eauto \sphinxtitleref {:=}}{section*.1269}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.5}Omega: a solver for quantifier-free problems in Presburger Arithmetic}{440}{section.8.5}}
\newlabel{addendum/omega:omega-a-solver-for-quantifier-free-problems-in-presburger-arithmetic}{{8.5}{440}{Omega: a solver for quantifier-free problems in Presburger Arithmetic}{section.8.5}{}}
\newlabel{addendum/omega:omega}{{8.5}{440}{Omega: a solver for quantifier-free problems in Presburger Arithmetic}{section.8.5}{}}
\newlabel{addendum/omega::doc}{{8.5}{440}{Omega: a solver for quantifier-free problems in Presburger Arithmetic}{section.8.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.1}Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{440}{subsection.8.5.1}}
\newlabel{addendum/omega:description-of-omega}{{8.5.1}{440}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsection.8.5.1}{}}
\newlabel{addendum/omega:coq:tacv.romega}{{8.5.1}{440}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1270}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.2}Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{440}{subsection.8.5.2}}
\newlabel{addendum/omega:arithmetical-goals-recognized-by-omega}{{8.5.2}{440}{Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsection.8.5.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.3}Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{441}{subsection.8.5.3}}
\newlabel{addendum/omega:messages-from-omega}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsection.8.5.3}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-this-system}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1271}{}}
\newlabel{addendum/omega:coq:exn.omega-not-a-quantifier-free-goal}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1272}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-predicate-or-connective-ident}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1273}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-atomic-proposition}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1274}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-proposition-variables}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1275}{}}
\newlabel{addendum/omega:coq:exn.omega-unrecognized-proposition}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1276}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-non-linear-products}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1277}{}}
\newlabel{addendum/omega:coq:exn.omega-can-t-solve-a-goal-with-equality-on-type}{{8.5.3}{441}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1278}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.4}Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{441}{subsection.8.5.4}}
\newlabel{addendum/omega:using-omega}{{8.5.4}{441}{Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsection.8.5.4}{}}
\citation{zebibliography:theomegapaper}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.5}Options}{442}{subsection.8.5.5}}
\newlabel{addendum/omega:options}{{8.5.5}{442}{Options}{subsection.8.5.5}{}}
\newlabel{addendum/omega:coq:flag.stable-omega}{{8.5.5}{442}{Options}{section*.1279}{}}
\newlabel{addendum/omega:coq:flag.omega-uselocaldefs}{{8.5.5}{442}{Options}{section*.1280}{}}
\newlabel{addendum/omega:coq:flag.omega-system}{{8.5.5}{442}{Options}{section*.1281}{}}
\newlabel{addendum/omega:coq:flag.omega-action}{{8.5.5}{442}{Options}{section*.1282}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.6}Technical data}{442}{subsection.8.5.6}}
\newlabel{addendum/omega:technical-data}{{8.5.6}{442}{Technical data}{subsection.8.5.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{Overview of the tactic}{442}{subsubsection*.1283}}
\newlabel{addendum/omega:overview-of-the-tactic}{{8.5.6}{442}{Overview of the tactic}{subsubsection*.1283}{}}
\@writefile{toc}{\contentsline {subsubsection}{Overview of the OMEGA decision procedure}{443}{subsubsection*.1284}}
\newlabel{addendum/omega:overview-of-the-omega-decision-procedure}{{8.5.6}{443}{Overview of the OMEGA decision procedure}{subsubsection*.1284}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5.7}Bugs}{443}{subsection.8.5.7}}
\newlabel{addendum/omega:bugs}{{8.5.7}{443}{Bugs}{subsection.8.5.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.6}Micromega: tactics for solving arithmetic goals over ordered rings}{443}{section.8.6}}
\newlabel{addendum/micromega:micromega-tactics-for-solving-arithmetic-goals-over-ordered-rings}{{8.6}{443}{Micromega: tactics for solving arithmetic goals over ordered rings}{section.8.6}{}}
\newlabel{addendum/micromega::doc}{{8.6}{443}{Micromega: tactics for solving arithmetic goals over ordered rings}{section.8.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.1}Short description of the tactics}{443}{subsection.8.6.1}}
\newlabel{addendum/micromega:short-description-of-the-tactics}{{8.6.1}{443}{Short description of the tactics}{subsection.8.6.1}{}}
\gdef \LT@xxiv {\LT@entry 
    {1}{17.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{302.88005pt}}
\newlabel{addendum/micromega:grammar-token-F}{{4}{444}{Short description of the tactics}{section*.1285}{}}
\newlabel{addendum/micromega:grammar-token-A}{{4}{444}{Short description of the tactics}{section*.1286}{}}
\newlabel{addendum/micromega:grammar-token-p}{{4}{444}{Short description of the tactics}{section*.1287}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.2}\sphinxstyleemphasis {Positivstellensatz} refutations}{444}{subsection.8.6.2}}
\newlabel{addendum/micromega:positivstellensatz-refutations}{{8.6.2}{444}{\sphinxstyleemphasis {Positivstellensatz} refutations}{subsection.8.6.2}{}}
\newlabel{addendum/micromega:psatz-thm}{{8.6.2}{444}{\sphinxstyleemphasis {Positivstellensatz} refutations}{section*.1288}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.3}\sphinxtitleref {lra}: a decision procedure for linear real and rational arithmetic}{444}{subsection.8.6.3}}
\newlabel{addendum/micromega:lra-a-decision-procedure-for-linear-real-and-rational-arithmetic}{{8.6.3}{444}{\sphinxtitleref {lra}: a decision procedure for linear real and rational arithmetic}{subsection.8.6.3}{}}
\newlabel{addendum/micromega:coq:tacn.lra}{{8.6.3}{444}{\sphinxtitleref {lra}: a decision procedure for linear real and rational arithmetic}{section*.1289}{}}
\citation{zebibliography:theomegapaper}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.4}\sphinxtitleref {lia}: a tactic for linear integer arithmetic}{445}{subsection.8.6.4}}
\newlabel{addendum/micromega:lia-a-tactic-for-linear-integer-arithmetic}{{8.6.4}{445}{\sphinxtitleref {lia}: a tactic for linear integer arithmetic}{subsection.8.6.4}{}}
\newlabel{addendum/micromega:coq:tacn.lia}{{8.6.4}{445}{\sphinxtitleref {lia}: a tactic for linear integer arithmetic}{section*.1290}{}}
\@writefile{toc}{\contentsline {subsubsection}{High level view of \sphinxtitleref {lia}}{445}{subsubsection*.1291}}
\newlabel{addendum/micromega:high-level-view-of-lia}{{8.6.4}{445}{High level view of \sphinxtitleref {lia}}{subsubsection*.1291}{}}
\@writefile{toc}{\contentsline {subsubsection}{Cutting plane proofs}{445}{subsubsection*.1292}}
\newlabel{addendum/micromega:cutting-plane-proofs}{{8.6.4}{445}{Cutting plane proofs}{subsubsection*.1292}{}}
\newlabel{addendum/micromega:ceil-thm}{{8.6.4}{445}{Cutting plane proofs}{section*.1293}{}}
\@writefile{toc}{\contentsline {subsubsection}{Case split}{445}{subsubsection*.1294}}
\newlabel{addendum/micromega:case-split}{{8.6.4}{445}{Case split}{subsubsection*.1294}{}}
\newlabel{addendum/micromega:casesplit-thm}{{8.6.4}{445}{Case split}{section*.1295}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.5}\sphinxtitleref {nra}: a proof procedure for non-linear arithmetic}{446}{subsection.8.6.5}}
\newlabel{addendum/micromega:nra-a-proof-procedure-for-non-linear-arithmetic}{{8.6.5}{446}{\sphinxtitleref {nra}: a proof procedure for non-linear arithmetic}{subsection.8.6.5}{}}
\newlabel{addendum/micromega:coq:tacn.nra}{{8.6.5}{446}{\sphinxtitleref {nra}: a proof procedure for non-linear arithmetic}{section*.1296}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.6}\sphinxtitleref {nia}: a proof procedure for non-linear integer arithmetic}{446}{subsection.8.6.6}}
\newlabel{addendum/micromega:nia-a-proof-procedure-for-non-linear-integer-arithmetic}{{8.6.6}{446}{\sphinxtitleref {nia}: a proof procedure for non-linear integer arithmetic}{subsection.8.6.6}{}}
\newlabel{addendum/micromega:coq:tacn.nia}{{8.6.6}{446}{\sphinxtitleref {nia}: a proof procedure for non-linear integer arithmetic}{section*.1297}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6.7}\sphinxtitleref {psatz}: a proof procedure for non-linear arithmetic}{446}{subsection.8.6.7}}
\newlabel{addendum/micromega:psatz-a-proof-procedure-for-non-linear-arithmetic}{{8.6.7}{446}{\sphinxtitleref {psatz}: a proof procedure for non-linear arithmetic}{subsection.8.6.7}{}}
\newlabel{addendum/micromega:coq:tacn.psatz}{{8.6.7}{446}{\sphinxtitleref {psatz}: a proof procedure for non-linear arithmetic}{section*.1298}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.7}Extraction of programs in OCaml and Haskell}{447}{section.8.7}}
\newlabel{addendum/extraction:extraction-of-programs-in-ocaml-and-haskell}{{8.7}{447}{Extraction of programs in OCaml and Haskell}{section.8.7}{}}
\newlabel{addendum/extraction:extraction}{{8.7}{447}{Extraction of programs in OCaml and Haskell}{section.8.7}{}}
\newlabel{addendum/extraction::doc}{{8.7}{447}{Extraction of programs in OCaml and Haskell}{section.8.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.7.1}Generating ML Code}{447}{subsection.8.7.1}}
\newlabel{addendum/extraction:generating-ml-code}{{8.7.1}{447}{Generating ML Code}{subsection.8.7.1}{}}
\newlabel{addendum/extraction:coq:cmd.extraction}{{8.7.1}{447}{Generating ML Code}{section*.1299}{}}
\newlabel{addendum/extraction:coq:cmd.recursive-extraction}{{8.7.1}{447}{Generating ML Code}{section*.1300}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-library}{{8.7.1}{448}{Generating ML Code}{section*.1301}{}}
\newlabel{addendum/extraction:coq:cmd.recursive-extraction-library}{{8.7.1}{448}{Generating ML Code}{section*.1302}{}}
\newlabel{addendum/extraction:coq:cmd.separate-extraction}{{8.7.1}{448}{Generating ML Code}{section*.1303}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-testcompile}{{8.7.1}{448}{Generating ML Code}{section*.1304}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.7.2}Extraction Options}{448}{subsection.8.7.2}}
\newlabel{addendum/extraction:extraction-options}{{8.7.2}{448}{Extraction Options}{subsection.8.7.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setting the target language}{448}{subsubsection*.1305}}
\newlabel{addendum/extraction:setting-the-target-language}{{8.7.2}{448}{Setting the target language}{subsubsection*.1305}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-language-ocaml}{{8.7.2}{448}{Setting the target language}{section*.1306}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-language-haskell}{{8.7.2}{448}{Setting the target language}{section*.1307}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-language-scheme}{{8.7.2}{448}{Setting the target language}{section*.1308}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inlining and optimizations}{448}{subsubsection*.1309}}
\newlabel{addendum/extraction:inlining-and-optimizations}{{8.7.2}{448}{Inlining and optimizations}{subsubsection*.1309}{}}
\newlabel{addendum/extraction:coq:flag.extraction-optimize}{{8.7.2}{449}{Inlining and optimizations}{section*.1310}{}}
\newlabel{addendum/extraction:coq:flag.extraction-conservative-types}{{8.7.2}{449}{Inlining and optimizations}{section*.1311}{}}
\newlabel{addendum/extraction:coq:flag.extraction-keepsingleton}{{8.7.2}{449}{Inlining and optimizations}{section*.1312}{}}
\newlabel{addendum/extraction:coq:flag.extraction-autoinline}{{8.7.2}{449}{Inlining and optimizations}{section*.1313}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-inline}{{8.7.2}{449}{Inlining and optimizations}{section*.1314}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-noinline}{{8.7.2}{449}{Inlining and optimizations}{section*.1315}{}}
\newlabel{addendum/extraction:coq:cmd.print-extraction-inline}{{8.7.2}{449}{Inlining and optimizations}{section*.1316}{}}
\newlabel{addendum/extraction:coq:cmd.reset-extraction-inline}{{8.7.2}{449}{Inlining and optimizations}{section*.1317}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extra elimination of useless arguments}{449}{subsubsection*.1318}}
\newlabel{addendum/extraction:extra-elimination-of-useless-arguments}{{8.7.2}{449}{Extra elimination of useless arguments}{subsubsection*.1318}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-implicit}{{8.7.2}{449}{Extra elimination of useless arguments}{section*.1319}{}}
\newlabel{addendum/extraction:coq:flag.extraction-safeimplicits}{{8.7.2}{450}{Extra elimination of useless arguments}{section*.1320}{}}
\@writefile{toc}{\contentsline {subsubsection}{Realizing axioms}{450}{subsubsection*.1321}}
\newlabel{addendum/extraction:realizing-axioms}{{8.7.2}{450}{Realizing axioms}{subsubsection*.1321}{}}
\newlabel{addendum/extraction:coq:cmd.extract-constant}{{8.7.2}{450}{Realizing axioms}{section*.1322}{}}
\newlabel{addendum/extraction:coq:cmd.extract-inlined-constant}{{8.7.2}{450}{Realizing axioms}{section*.1323}{}}
\@writefile{toc}{\contentsline {subsubsection}{Realizing inductive types}{451}{subsubsection*.1324}}
\newlabel{addendum/extraction:realizing-inductive-types}{{8.7.2}{451}{Realizing inductive types}{subsubsection*.1324}{}}
\newlabel{addendum/extraction:coq:cmd.extract-inductive}{{8.7.2}{451}{Realizing inductive types}{section*.1325}{}}
\@writefile{toc}{\contentsline {subsubsection}{Avoiding conflicts with existing filenames}{452}{subsubsection*.1326}}
\newlabel{addendum/extraction:avoiding-conflicts-with-existing-filenames}{{8.7.2}{452}{Avoiding conflicts with existing filenames}{subsubsection*.1326}{}}
\newlabel{addendum/extraction:coq:cmd.extraction-blacklist}{{8.7.2}{452}{Avoiding conflicts with existing filenames}{section*.1327}{}}
\newlabel{addendum/extraction:coq:cmd.print-extraction-blacklist}{{8.7.2}{452}{Avoiding conflicts with existing filenames}{section*.1328}{}}
\newlabel{addendum/extraction:coq:cmd.reset-extraction-blacklist}{{8.7.2}{452}{Avoiding conflicts with existing filenames}{section*.1329}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.7.3}Differences between Coq and ML type systems}{452}{subsection.8.7.3}}
\newlabel{addendum/extraction:differences-between-coq-and-ml-type-systems}{{8.7.3}{452}{Differences between Coq and ML type systems}{subsection.8.7.3}{}}
\citation{zebibliography:let02}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.7.4}Some examples}{453}{subsection.8.7.4}}
\newlabel{addendum/extraction:some-examples}{{8.7.4}{453}{Some examples}{subsection.8.7.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{A detailed example: Euclidean division}{453}{subsubsection*.1330}}
\newlabel{addendum/extraction:a-detailed-example-euclidean-division}{{8.7.4}{453}{A detailed example: Euclidean division}{subsubsection*.1330}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extraction's horror museum}{455}{subsubsection*.1331}}
\newlabel{addendum/extraction:extraction-s-horror-museum}{{8.7.4}{455}{Extraction's horror museum}{subsubsection*.1331}{}}
\@writefile{toc}{\contentsline {subsubsection}{Users' Contributions}{455}{subsubsection*.1332}}
\newlabel{addendum/extraction:users-contributions}{{8.7.4}{455}{Users' Contributions}{subsubsection*.1332}{}}
\citation{zebibliography:let02}
\citation{zebibliography:sozeau06}
\citation{zebibliography:rushby98}
\citation{zebibliography:parent95b}
\@writefile{toc}{\contentsline {section}{\numberline {8.8}Program}{456}{section.8.8}}
\newlabel{addendum/program:program}{{8.8}{456}{Program}{section.8.8}{}}
\newlabel{addendum/program:programs}{{8.8}{456}{Program}{section.8.8}{}}
\newlabel{addendum/program::doc}{{8.8}{456}{Program}{section.8.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.8.1}Elaborating programs}{456}{subsection.8.8.1}}
\newlabel{addendum/program:elaborating-programs}{{8.8.1}{456}{Elaborating programs}{subsection.8.8.1}{}}
\newlabel{addendum/program:id4}{{8.8.1}{456}{Elaborating programs}{subsection.8.8.1}{}}
\newlabel{addendum/program:coq:flag.program-cases}{{8.8.1}{457}{Elaborating programs}{section*.1333}{}}
\newlabel{addendum/program:coq:flag.program-generalized-coercion}{{8.8.1}{457}{Elaborating programs}{section*.1334}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntactic control over equalities}{457}{subsubsection*.1335}}
\newlabel{addendum/program:syntactic-control-over-equalities}{{8.8.1}{457}{Syntactic control over equalities}{subsubsection*.1335}{}}
\newlabel{addendum/program:syntactic-control}{{8.8.1}{457}{Syntactic control over equalities}{subsubsection*.1335}{}}
\gdef \LT@xxv {\LT@entry 
    {1}{38.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{202.84004pt}}
\@writefile{toc}{\contentsline {subsubsection}{Program Definition}{458}{subsubsection*.1336}}
\newlabel{addendum/program:program-definition}{{8.8.1}{458}{Program Definition}{subsubsection*.1336}{}}
\newlabel{addendum/program:id5}{{8.8.1}{458}{Program Definition}{subsubsection*.1336}{}}
\newlabel{addendum/program:coq:cmd.program-definition}{{8.8.1}{458}{Program Definition}{section*.1337}{}}
\newlabel{addendum/program:coq:exn.ident-already-exists-program-definition}{{8.8.1}{458}{Program Definition}{section*.1338}{}}
\newlabel{addendum/program:coq:exn.in-environment-the-term-term-does-not-have-type-type-actually-it-has-type}{{8.8.1}{458}{Program Definition}{section*.1339}{}}
\@writefile{toc}{\contentsline {subsubsection}{Program Fixpoint}{458}{subsubsection*.1340}}
\newlabel{addendum/program:program-fixpoint}{{8.8.1}{458}{Program Fixpoint}{subsubsection*.1340}{}}
\newlabel{addendum/program:id6}{{8.8.1}{458}{Program Fixpoint}{subsubsection*.1340}{}}
\newlabel{addendum/program:coq:cmd.program-fixpoint}{{8.8.1}{458}{Program Fixpoint}{section*.1341}{}}
\newlabel{addendum/program:grammar-token-order}{{5}{458}{Program Fixpoint}{section*.1342}{}}
\@writefile{toc}{\contentsline {subsubsection}{Program Lemma}{459}{subsubsection*.1343}}
\newlabel{addendum/program:program-lemma}{{8.8.1}{459}{Program Lemma}{subsubsection*.1343}{}}
\newlabel{addendum/program:id7}{{8.8.1}{459}{Program Lemma}{subsubsection*.1343}{}}
\newlabel{addendum/program:coq:cmd.program-lemma}{{8.8.1}{459}{Program Lemma}{section*.1344}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.8.2}Solving obligations}{459}{subsection.8.8.2}}
\newlabel{addendum/program:solving-obligations}{{8.8.2}{459}{Solving obligations}{subsection.8.8.2}{}}
\newlabel{addendum/program:id8}{{8.8.2}{459}{Solving obligations}{subsection.8.8.2}{}}
\newlabel{addendum/program:coq:cmd.obligation-tactic}{{8.8.2}{459}{Solving obligations}{section*.1345}{}}
\newlabel{addendum/program:coq:cmd.show-obligation-tactic}{{8.8.2}{459}{Solving obligations}{section*.1346}{}}
\newlabel{addendum/program:coq:cmd.obligations}{{8.8.2}{459}{Solving obligations}{section*.1347}{}}
\newlabel{addendum/program:coq:cmd.obligation-num}{{8.8.2}{460}{Solving obligations}{section*.1348}{}}
\newlabel{addendum/program:coq:cmd.next-obligation}{{8.8.2}{460}{Solving obligations}{section*.1349}{}}
\newlabel{addendum/program:coq:cmd.solve-obligations}{{8.8.2}{460}{Solving obligations}{section*.1350}{}}
\newlabel{addendum/program:coq:cmd.solve-all-obligations}{{8.8.2}{460}{Solving obligations}{section*.1351}{}}
\newlabel{addendum/program:coq:cmd.admit-obligations}{{8.8.2}{460}{Solving obligations}{section*.1352}{}}
\newlabel{addendum/program:coq:cmd.preterm}{{8.8.2}{460}{Solving obligations}{section*.1353}{}}
\newlabel{addendum/program:coq:flag.transparent-obligations}{{8.8.2}{460}{Solving obligations}{section*.1354}{}}
\newlabel{addendum/program:coq:flag.hide-obligations}{{8.8.2}{460}{Solving obligations}{section*.1355}{}}
\newlabel{addendum/program:coq:flag.shrink-obligations}{{8.8.2}{460}{Solving obligations}{section*.1356}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.8.3}Frequently Asked Questions}{460}{subsection.8.8.3}}
\newlabel{addendum/program:frequently-asked-questions}{{8.8.3}{460}{Frequently Asked Questions}{subsection.8.8.3}{}}
\newlabel{addendum/program:program-faq}{{8.8.3}{460}{Frequently Asked Questions}{subsection.8.8.3}{}}
\newlabel{addendum/program:coq:exn.ill-formed-recursive-definition}{{8.8.3}{460}{Frequently Asked Questions}{section*.1357}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.9}The ring and field tactic families}{461}{section.8.9}}
\newlabel{addendum/ring:the-ring-and-field-tactic-families}{{8.9}{461}{The ring and field tactic families}{section.8.9}{}}
\newlabel{addendum/ring:theringandfieldtacticfamilies}{{8.9}{461}{The ring and field tactic families}{section.8.9}{}}
\newlabel{addendum/ring::doc}{{8.9}{461}{The ring and field tactic families}{section.8.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.1}What does this tactic do?}{461}{subsection.8.9.1}}
\newlabel{addendum/ring:what-does-this-tactic-do}{{8.9.1}{461}{What does this tactic do?}{subsection.8.9.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.2}The variables map}{461}{subsection.8.9.2}}
\newlabel{addendum/ring:the-variables-map}{{8.9.2}{461}{The variables map}{subsection.8.9.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.3}Is it automatic?}{462}{subsection.8.9.3}}
\newlabel{addendum/ring:is-it-automatic}{{8.9.3}{462}{Is it automatic?}{subsection.8.9.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.4}Concrete usage in Coq}{462}{subsection.8.9.4}}
\newlabel{addendum/ring:concrete-usage-in-coq}{{8.9.4}{462}{Concrete usage in Coq}{subsection.8.9.4}{}}
\newlabel{addendum/ring:coq:exn.not-a-valid-ring-equation}{{8.9.4}{463}{Concrete usage in Coq}{section*.1358}{}}
\newlabel{addendum/ring:coq:exn.arguments-of-ring-simplify-do-not-have-all-the-same-type}{{8.9.4}{463}{Concrete usage in Coq}{section*.1359}{}}
\newlabel{addendum/ring:coq:exn.cannot-find-a-declared-ring-structure-over-term}{{8.9.4}{463}{Concrete usage in Coq}{section*.1360}{}}
\newlabel{addendum/ring:coq:exn.cannot-find-a-declared-ring-structure-for-equality-term}{{8.9.4}{464}{Concrete usage in Coq}{section*.1361}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.5}Adding a ring structure}{464}{subsection.8.9.5}}
\newlabel{addendum/ring:adding-a-ring-structure}{{8.9.5}{464}{Adding a ring structure}{subsection.8.9.5}{}}
\gdef \LT@xxvi {\LT@entry 
    {1}{54.00002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{233.42003pt}}
\newlabel{addendum/ring:coq:cmd.add-ring}{{8.9.5}{465}{Adding a ring structure}{section*.1362}{}}
\newlabel{addendum/ring:grammar-token-ring_mod}{{6}{465}{Adding a ring structure}{section*.1363}{}}
\newlabel{addendum/ring:coq:exn.bad-ring-structure}{{8.9.5}{466}{Adding a ring structure}{section*.1364}{}}
\newlabel{addendum/ring:coq:exn.bad-lemma-for-decidability-of-equality}{{8.9.5}{466}{Adding a ring structure}{section*.1365}{}}
\newlabel{addendum/ring:coq:exn.ring-operation-should-be-declared-as-a-morphism}{{8.9.5}{466}{Adding a ring structure}{section*.1366}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.6}How does it work?}{467}{subsection.8.9.6}}
\newlabel{addendum/ring:how-does-it-work}{{8.9.6}{467}{How does it work?}{subsection.8.9.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.7}Dealing with fields}{468}{subsection.8.9.7}}
\newlabel{addendum/ring:dealing-with-fields}{{8.9.7}{468}{Dealing with fields}{subsection.8.9.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.8}Adding a new field structure}{469}{subsection.8.9.8}}
\newlabel{addendum/ring:adding-a-new-field-structure}{{8.9.8}{469}{Adding a new field structure}{subsection.8.9.8}{}}
\gdef \LT@xxvii {\LT@entry 
    {1}{59.25002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{164.99002pt}}
\newlabel{addendum/ring:coq:cmd.add-field}{{8.9.8}{470}{Adding a new field structure}{section*.1367}{}}
\newlabel{addendum/ring:grammar-token-field_mod}{{7}{470}{Adding a new field structure}{section*.1368}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.9}History of ring}{470}{subsection.8.9.9}}
\newlabel{addendum/ring:history-of-ring}{{8.9.9}{470}{History of ring}{subsection.8.9.9}{}}
\citation{zebibliography:bou97}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.9.10}Discussion}{471}{subsection.8.9.10}}
\newlabel{addendum/ring:discussion}{{8.9.10}{471}{Discussion}{subsection.8.9.10}{}}
\newlabel{addendum/ring:discussion-reflection}{{8.9.10}{471}{Discussion}{subsection.8.9.10}{}}
\citation{zebibliography:sugar}
\@writefile{toc}{\contentsline {section}{\numberline {8.10}Nsatz: tactics for proving equalities in integral domains}{472}{section.8.10}}
\newlabel{addendum/nsatz:nsatz-tactics-for-proving-equalities-in-integral-domains}{{8.10}{472}{Nsatz: tactics for proving equalities in integral domains}{section.8.10}{}}
\newlabel{addendum/nsatz:nsatz-chapter}{{8.10}{472}{Nsatz: tactics for proving equalities in integral domains}{section.8.10}{}}
\newlabel{addendum/nsatz::doc}{{8.10}{472}{Nsatz: tactics for proving equalities in integral domains}{section.8.10}{}}
\newlabel{addendum/nsatz:coq:tacn.nsatz}{{8.10}{472}{Nsatz: tactics for proving equalities in integral domains}{section*.1369}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.10.1}More about \sphinxtitleref {nsatz}}{472}{subsection.8.10.1}}
\newlabel{addendum/nsatz:more-about-nsatz}{{8.10.1}{472}{More about \sphinxtitleref {nsatz}}{subsection.8.10.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.11}Generalized rewriting}{473}{section.8.11}}
\newlabel{addendum/generalized-rewriting:generalized-rewriting}{{8.11}{473}{Generalized rewriting}{section.8.11}{}}
\newlabel{addendum/generalized-rewriting:generalizedrewriting}{{8.11}{473}{Generalized rewriting}{section.8.11}{}}
\newlabel{addendum/generalized-rewriting::doc}{{8.11}{473}{Generalized rewriting}{section.8.11}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.11.1}Introduction to generalized rewriting}{474}{subsection.8.11.1}}
\newlabel{addendum/generalized-rewriting:introduction-to-generalized-rewriting}{{8.11.1}{474}{Introduction to generalized rewriting}{subsection.8.11.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Relations and morphisms}{474}{subsubsection*.1370}}
\newlabel{addendum/generalized-rewriting:relations-and-morphisms}{{8.11.1}{474}{Relations and morphisms}{subsubsection*.1370}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding new relations and morphisms}{475}{subsubsection*.1371}}
\newlabel{addendum/generalized-rewriting:adding-new-relations-and-morphisms}{{8.11.1}{475}{Adding new relations and morphisms}{subsubsection*.1371}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-parametric-relation}{{8.11.1}{475}{Adding new relations and morphisms}{section*.1372}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-relation}{{8.11.1}{475}{Adding new relations and morphisms}{section*.1373}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-parametric-morphism}{{8.11.1}{476}{Adding new relations and morphisms}{section*.1374}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting and non reflexive relations}{477}{subsubsection*.1375}}
\newlabel{addendum/generalized-rewriting:rewriting-and-non-reflexive-relations}{{8.11.1}{477}{Rewriting and non reflexive relations}{subsubsection*.1375}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting and non symmetric relations}{478}{subsubsection*.1376}}
\newlabel{addendum/generalized-rewriting:rewriting-and-non-symmetric-relations}{{8.11.1}{478}{Rewriting and non symmetric relations}{subsubsection*.1376}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting in ambiguous setoid contexts}{479}{subsubsection*.1377}}
\newlabel{addendum/generalized-rewriting:rewriting-in-ambiguous-setoid-contexts}{{8.11.1}{479}{Rewriting in ambiguous setoid contexts}{subsubsection*.1377}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.11.2}Commands and tactics}{479}{subsection.8.11.2}}
\newlabel{addendum/generalized-rewriting:commands-and-tactics}{{8.11.2}{479}{Commands and tactics}{subsection.8.11.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{First class setoids and morphisms}{479}{subsubsection*.1378}}
\newlabel{addendum/generalized-rewriting:first-class-setoids-and-morphisms}{{8.11.2}{479}{First class setoids and morphisms}{subsubsection*.1378}{}}
\newlabel{addendum/generalized-rewriting:id2}{{8.11.2}{479}{First class setoids and morphisms}{subsubsection*.1378}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics enabled on user provided relations}{480}{subsubsection*.1379}}
\newlabel{addendum/generalized-rewriting:tactics-enabled-on-user-provided-relations}{{8.11.2}{480}{Tactics enabled on user provided relations}{subsubsection*.1379}{}}
\newlabel{addendum/generalized-rewriting:id3}{{8.11.2}{480}{Tactics enabled on user provided relations}{subsubsection*.1379}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-reflexivity}{{8.11.2}{480}{Tactics enabled on user provided relations}{section*.1380}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-symmetry}{{8.11.2}{480}{Tactics enabled on user provided relations}{section*.1381}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-transitivity}{{8.11.2}{480}{Tactics enabled on user provided relations}{section*.1382}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-rewrite}{{8.11.2}{480}{Tactics enabled on user provided relations}{section*.1383}{}}
\newlabel{addendum/generalized-rewriting:coq:tacv.setoid-replace}{{8.11.2}{480}{Tactics enabled on user provided relations}{section*.1384}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing relations and morphisms}{481}{subsubsection*.1385}}
\newlabel{addendum/generalized-rewriting:printing-relations-and-morphisms}{{8.11.2}{481}{Printing relations and morphisms}{subsubsection*.1385}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.print-instances}{{8.11.2}{481}{Printing relations and morphisms}{section*.1386}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deprecated syntax and backward incompatibilities}{481}{subsubsection*.1387}}
\newlabel{addendum/generalized-rewriting:deprecated-syntax-and-backward-incompatibilities}{{8.11.2}{481}{Deprecated syntax and backward incompatibilities}{subsubsection*.1387}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-setoid}{{8.11.2}{481}{Deprecated syntax and backward incompatibilities}{section*.1388}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.add-morphism}{{8.11.2}{481}{Deprecated syntax and backward incompatibilities}{section*.1389}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.11.3}Extensions}{481}{subsection.8.11.3}}
\newlabel{addendum/generalized-rewriting:extensions}{{8.11.3}{481}{Extensions}{subsection.8.11.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting under binders}{481}{subsubsection*.1390}}
\newlabel{addendum/generalized-rewriting:rewriting-under-binders}{{8.11.3}{481}{Rewriting under binders}{subsubsection*.1390}{}}
\@writefile{toc}{\contentsline {subsubsection}{Subrelations}{482}{subsubsection*.1391}}
\newlabel{addendum/generalized-rewriting:subrelations}{{8.11.3}{482}{Subrelations}{subsubsection*.1391}{}}
\citation{zebibliography:luttik97specificationof}
\gdef \LT@xxviii {\LT@entry 
    {1}{48.75002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{143.29001pt}}
\@writefile{toc}{\contentsline {subsubsection}{Constant unfolding}{483}{subsubsection*.1392}}
\newlabel{addendum/generalized-rewriting:constant-unfolding}{{8.11.3}{483}{Constant unfolding}{subsubsection*.1392}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.11.4}Strategies for rewriting}{483}{subsection.8.11.4}}
\newlabel{addendum/generalized-rewriting:strategies-for-rewriting}{{8.11.4}{483}{Strategies for rewriting}{subsection.8.11.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definitions}{483}{subsubsection*.1393}}
\newlabel{addendum/generalized-rewriting:definitions}{{8.11.4}{483}{Definitions}{subsubsection*.1393}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-s, t, u}{{8}{483}{Definitions}{section*.1394}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-strategy}{{9}{483}{Definitions}{section*.1395}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-lemma}{{9}{483}{Definitions}{section*.1396}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-lemma_right_to_left}{{9}{483}{Definitions}{section*.1397}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-failure}{{9}{483}{Definitions}{section*.1398}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-identity}{{9}{483}{Definitions}{section*.1399}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-reflexivity}{{9}{483}{Definitions}{section*.1400}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-progress}{{9}{483}{Definitions}{section*.1401}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-failure_catch}{{9}{483}{Definitions}{section*.1402}{}}
\gdef \LT@xxix {\LT@entry 
    {1}{127.50002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{83.58002pt}}
\gdef \LT@xxx {\LT@entry 
    {1}{69.75002pt}\LT@entry 
    {1}{25.34pt}\LT@entry 
    {1}{293.58002pt}}
\newlabel{addendum/generalized-rewriting:grammar-token-composition}{{9}{484}{Definitions}{section*.1403}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-left_biased_choice}{{9}{484}{Definitions}{section*.1404}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-iteration_one_or_more}{{9}{484}{Definitions}{section*.1405}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-iteration_zero_or_more}{{9}{484}{Definitions}{section*.1406}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-one_subterm}{{9}{484}{Definitions}{section*.1407}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-all_subterms}{{9}{484}{Definitions}{section*.1408}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-innermost_first}{{9}{484}{Definitions}{section*.1409}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-outermost_first}{{9}{484}{Definitions}{section*.1410}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-bottom_up}{{9}{484}{Definitions}{section*.1411}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-top_down}{{9}{484}{Definitions}{section*.1412}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-apply_hint}{{9}{484}{Definitions}{section*.1413}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-any_of_the_terms}{{9}{484}{Definitions}{section*.1414}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-apply_reduction}{{9}{484}{Definitions}{section*.1415}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-fold_expression}{{9}{484}{Definitions}{section*.1416}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-try _s_}{{10}{484}{Definitions}{section*.1417}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-any _s_}{{10}{484}{Definitions}{section*.1418}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-repeat _s_}{{10}{484}{Definitions}{section*.1419}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-bottomup s}{{10}{484}{Definitions}{section*.1420}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-topdown s}{{10}{484}{Definitions}{section*.1421}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-innermost s}{{10}{484}{Definitions}{section*.1422}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-outermost s}{{10}{484}{Definitions}{section*.1423}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{484}{subsubsection*.1424}}
\newlabel{addendum/generalized-rewriting:usage}{{8.11.4}{484}{Usage}{subsubsection*.1424}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.rewrite-strat}{{8.11.4}{484}{Usage}{section*.1425}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.nothing-to-rewrite}{{8.11.4}{484}{Usage}{section*.1426}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.no-progress-made}{{8.11.4}{484}{Usage}{section*.1427}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.unable-to-satisfy-the-rewriting-constraints}{{8.11.4}{485}{Usage}{section*.1428}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.12}Asynchronous and Parallel Proof Processing}{485}{section.8.12}}
\newlabel{addendum/parallel-proof-processing:asynchronous-and-parallel-proof-processing}{{8.12}{485}{Asynchronous and Parallel Proof Processing}{section.8.12}{}}
\newlabel{addendum/parallel-proof-processing:asynchronousandparallelproofprocessing}{{8.12}{485}{Asynchronous and Parallel Proof Processing}{section.8.12}{}}
\newlabel{addendum/parallel-proof-processing::doc}{{8.12}{485}{Asynchronous and Parallel Proof Processing}{section.8.12}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.12.1}Proof annotations}{485}{subsection.8.12.1}}
\newlabel{addendum/parallel-proof-processing:proof-annotations}{{8.12.1}{485}{Proof annotations}{subsection.8.12.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic suggestion of proof annotations}{485}{subsubsection*.1429}}
\newlabel{addendum/parallel-proof-processing:automatic-suggestion-of-proof-annotations}{{8.12.1}{485}{Automatic suggestion of proof annotations}{subsubsection*.1429}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.12.2}Proof blocks and error resilience}{486}{subsection.8.12.2}}
\newlabel{addendum/parallel-proof-processing:proof-blocks-and-error-resilience}{{8.12.2}{486}{Proof blocks and error resilience}{subsection.8.12.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Caveats}{486}{subsubsection*.1430}}
\newlabel{addendum/parallel-proof-processing:caveats}{{8.12.2}{486}{Caveats}{subsubsection*.1430}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.12.3}Interactive mode}{486}{subsection.8.12.3}}
\newlabel{addendum/parallel-proof-processing:interactive-mode}{{8.12.3}{486}{Interactive mode}{subsection.8.12.3}{}}
\newlabel{addendum/parallel-proof-processing:id1}{{8.12.3}{486}{Interactive mode}{subsection.8.12.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Caveats}{487}{subsubsection*.1431}}
\newlabel{addendum/parallel-proof-processing:id2}{{8.12.3}{487}{Caveats}{subsubsection*.1431}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.12.4}Batch mode}{487}{subsection.8.12.4}}
\newlabel{addendum/parallel-proof-processing:batch-mode}{{8.12.4}{487}{Batch mode}{subsection.8.12.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.12.5}Limiting the number of parallel workers}{488}{subsection.8.12.5}}
\newlabel{addendum/parallel-proof-processing:limiting-the-number-of-parallel-workers}{{8.12.5}{488}{Limiting the number of parallel workers}{subsection.8.12.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.13}Miscellaneous extensions}{488}{section.8.13}}
\newlabel{addendum/miscellaneous-extensions:miscellaneous-extensions}{{8.13}{488}{Miscellaneous extensions}{section.8.13}{}}
\newlabel{addendum/miscellaneous-extensions:miscellaneousextensions}{{8.13}{488}{Miscellaneous extensions}{section.8.13}{}}
\newlabel{addendum/miscellaneous-extensions::doc}{{8.13}{488}{Miscellaneous extensions}{section.8.13}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.13.1}Program derivation}{488}{subsection.8.13.1}}
\newlabel{addendum/miscellaneous-extensions:program-derivation}{{8.13.1}{488}{Program derivation}{subsection.8.13.1}{}}
\newlabel{addendum/miscellaneous-extensions:coq:cmd.derive}{{8.13.1}{488}{Program derivation}{section*.1432}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.14}Polymorphic Universes}{489}{section.8.14}}
\newlabel{addendum/universe-polymorphism:polymorphic-universes}{{8.14}{489}{Polymorphic Universes}{section.8.14}{}}
\newlabel{addendum/universe-polymorphism:polymorphicuniverses}{{8.14}{489}{Polymorphic Universes}{section.8.14}{}}
\newlabel{addendum/universe-polymorphism::doc}{{8.14}{489}{Polymorphic Universes}{section.8.14}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.1}General Presentation}{490}{subsection.8.14.1}}
\newlabel{addendum/universe-polymorphism:general-presentation}{{8.14.1}{490}{General Presentation}{subsection.8.14.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.2}Polymorphic, Monomorphic}{491}{subsection.8.14.2}}
\newlabel{addendum/universe-polymorphism:polymorphic-monomorphic}{{8.14.2}{491}{Polymorphic, Monomorphic}{subsection.8.14.2}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.polymorphic}{{8.14.2}{491}{Polymorphic, Monomorphic}{section*.1433}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.universe-polymorphism}{{8.14.2}{491}{Polymorphic, Monomorphic}{section*.1434}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.monomorphic}{{8.14.2}{492}{Polymorphic, Monomorphic}{section*.1435}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.3}Cumulative, NonCumulative}{492}{subsection.8.14.3}}
\newlabel{addendum/universe-polymorphism:cumulative-noncumulative}{{8.14.3}{492}{Cumulative, NonCumulative}{subsection.8.14.3}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.cumulative}{{8.14.3}{492}{Cumulative, NonCumulative}{section*.1436}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.noncumulative}{{8.14.3}{492}{Cumulative, NonCumulative}{section*.1437}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.polymorphic-inductive-cumulativity}{{8.14.3}{492}{Cumulative, NonCumulative}{section*.1438}{}}
\@writefile{toc}{\contentsline {subsubsection}{An example of a proof using cumulativity}{493}{subsubsection*.1439}}
\newlabel{addendum/universe-polymorphism:an-example-of-a-proof-using-cumulativity}{{8.14.3}{493}{An example of a proof using cumulativity}{subsubsection*.1439}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.4}Cumulativity Weak Constraints}{494}{subsection.8.14.4}}
\newlabel{addendum/universe-polymorphism:cumulativity-weak-constraints}{{8.14.4}{494}{Cumulativity Weak Constraints}{subsection.8.14.4}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.cumulativity-weak-constraints}{{8.14.4}{494}{Cumulativity Weak Constraints}{section*.1440}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.5}Global and local universes}{494}{subsection.8.14.5}}
\newlabel{addendum/universe-polymorphism:global-and-local-universes}{{8.14.5}{494}{Global and local universes}{subsection.8.14.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.6}Conversion and unification}{494}{subsection.8.14.6}}
\newlabel{addendum/universe-polymorphism:conversion-and-unification}{{8.14.6}{494}{Conversion and unification}{subsection.8.14.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.7}Minimization}{494}{subsection.8.14.7}}
\newlabel{addendum/universe-polymorphism:minimization}{{8.14.7}{494}{Minimization}{subsection.8.14.7}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.universe-minimization-toset}{{8.14.7}{495}{Minimization}{section*.1441}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.14.8}Explicit Universes}{495}{subsection.8.14.8}}
\newlabel{addendum/universe-polymorphism:explicit-universes}{{8.14.8}{495}{Explicit Universes}{subsection.8.14.8}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.universe}{{8.14.8}{495}{Explicit Universes}{section*.1442}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.constraint}{{8.14.8}{495}{Explicit Universes}{section*.1443}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.undeclared-universe-ident}{{8.14.8}{495}{Explicit Universes}{section*.1444}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.universe-inconsistency}{{8.14.8}{495}{Explicit Universes}{section*.1445}{}}
\@writefile{toc}{\contentsline {subsubsection}{Polymorphic definitions}{495}{subsubsection*.1446}}
\newlabel{addendum/universe-polymorphism:polymorphic-definitions}{{8.14.8}{495}{Polymorphic definitions}{subsubsection*.1446}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.strict-universe-declaration}{{8.14.8}{496}{Polymorphic definitions}{section*.1447}{}}
\newlabel{zebibliography:bibliography}{{8.14.8}{497}{Polymorphic definitions}{section*.1448}{}}
\bibcite{zebibliography:asp00}{Asp00}
\bibcite{zebibliography:bar81}{Bar81}
\bibcite{zebibliography:fullreduction}{BDenesGregoire11}
\bibcite{zebibliography:bou97}{Bou97}
\bibcite{zebibliography:coq85}{Coq85}
\bibcite{zebibliography:coq86}{Coq86}
\bibcite{zebibliography:coq92}{Coq92}
\bibcite{zebibliography:dblp-conf-types-cornest95}{CT95}
\bibcite{zebibliography:cur58}{CFC58}
\bibcite{zebibliography:bru72}{dB72}
\bibcite{zebibliography:del00}{Del00}
\bibcite{zebibliography:rc95}{dC95}
\bibcite{zebibliography:dyc92}{Dyc92}
\bibcite{zebibliography:fourier}{Fou90}
\@writefile{toc}{\contentsline {chapter}{Bibliography}{498}{chapter*.1449}}
\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:hue88}{Hue89}
\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:mun94}{Mun94}
\bibcite{zebibliography:parent95b}{Par95}
\bibcite{zebibliography:moh93}{PM93}
\bibcite{zebibliography:pit16}{PCC16}
\bibcite{zebibliography:theomegapaper}{Pug92}
\bibcite{zebibliography:rushby98}{ROS98}
\bibcite{zebibliography:sozeau06}{Soz07}
\bibcite{zebibliography:sozeau08}{SO08}
\bibcite{zebibliography:wer94}{Wer94}
\@writefile{toc}{\contentsline {chapter}{Command Index}{501}{section*.1450}}
\@writefile{toc}{\contentsline {chapter}{Tactic Index}{505}{section*.1451}}
\@writefile{toc}{\contentsline {chapter}{Flags, options and Tables Index}{508}{section*.1452}}
\@writefile{toc}{\contentsline {chapter}{Errors and Warnings Index}{510}{section*.1453}}
\@writefile{toc}{\contentsline {chapter}{Index}{514}{section*.1454}}
