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