\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/D>>}
\providecommand \oddpage@label [2]{}
\selectlanguage *{english}
\@writefile{toc}{\selectlanguage *{english}}
\@writefile{lof}{\selectlanguage *{english}}
\@writefile{lot}{\selectlanguage *{english}}
\HyPL@Entry{1<</S/r>>}
\HyPL@Entry{2<</S/D>>}
\newlabel{index::doc}{{}{1}{}{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:introduction}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Specification language}{3}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:specification-language}{{2}{3}{Specification language}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Core language}{3}{section.2.1}\protected@file@percent }
\newlabel{language/core/index:core-language}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:id1}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index::doc}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:term-de Bruijn-criterion}{{2.1}{3}{Core language}{section*.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Basic notions and conventions}{3}{subsection.2.1.1}\protected@file@percent }
\newlabel{language/core/basic:basic-notions-and-conventions}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\newlabel{language/core/basic::doc}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax and lexical conventions}{3}{subsubsection*.4}\protected@file@percent }
\newlabel{language/core/basic:syntax-and-lexical-conventions}{{2.1.1}{3}{Syntax and lexical conventions}{subsubsection*.4}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax conventions}{3}{paragraph*.5}\protected@file@percent }
\newlabel{language/core/basic:syntax-conventions}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\newlabel{language/core/basic:id1}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\@writefile{toc}{\contentsline {paragraph}{Lexical conventions}{4}{paragraph*.6}\protected@file@percent }
\newlabel{language/core/basic:lexical-conventions}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:id2}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:grammar-token-ident}{{2.1.1}{4}{Lexical conventions}{section*.7}{}}
\newlabel{language/core/basic:grammar-token-first_letter}{{2.1.1}{4}{Lexical conventions}{section*.8}{}}
\newlabel{language/core/basic:grammar-token-subsequent_letter}{{2.1.1}{4}{Lexical conventions}{section*.9}{}}
\newlabel{language/core/basic:grammar-token-unicode_letter}{{2.1.1}{4}{Lexical conventions}{section*.10}{}}
\newlabel{language/core/basic:grammar-token-unicode_id_part}{{2.1.1}{4}{Lexical conventions}{section*.11}{}}
\newlabel{language/core/basic:grammar-token-number}{{2.1.1}{4}{Lexical conventions}{section*.12}{}}
\newlabel{language/core/basic:grammar-token-integer}{{2.1.1}{4}{Lexical conventions}{section*.13}{}}
\newlabel{language/core/basic:grammar-token-natural}{{2.1.1}{4}{Lexical conventions}{section*.14}{}}
\newlabel{language/core/basic:grammar-token-bigint}{{2.1.1}{4}{Lexical conventions}{section*.15}{}}
\newlabel{language/core/basic:grammar-token-bignat}{{2.1.1}{5}{Lexical conventions}{section*.16}{}}
\newlabel{language/core/basic:grammar-token-decnat}{{2.1.1}{5}{Lexical conventions}{section*.17}{}}
\newlabel{language/core/basic:grammar-token-digit}{{2.1.1}{5}{Lexical conventions}{section*.18}{}}
\newlabel{language/core/basic:grammar-token-hexnat}{{2.1.1}{5}{Lexical conventions}{section*.19}{}}
\newlabel{language/core/basic:grammar-token-hexdigit}{{2.1.1}{5}{Lexical conventions}{section*.20}{}}
\newlabel{language/core/basic:grammar-token-string}{{2.1.1}{5}{Lexical conventions}{section*.21}{}}
\@writefile{toc}{\contentsline {subsubsection}{Essential vocabulary}{5}{subsubsection*.22}\protected@file@percent }
\newlabel{language/core/basic:essential-vocabulary}{{2.1.1}{5}{Essential vocabulary}{subsubsection*.22}{}}
\newlabel{language/core/basic:term-term}{{2.1.1}{5}{term\index {term@\spxentry {term}|spxpagem}\phantomsection }{section*.23}{}}
\newlabel{language/core/basic:grammar-token-term}{{2.1.1}{6}{Essential vocabulary}{section*.24}{}}
\newlabel{language/core/basic:grammar-token-term100}{{2.1.1}{6}{Essential vocabulary}{section*.25}{}}
\newlabel{language/core/basic:grammar-token-term10}{{2.1.1}{6}{Essential vocabulary}{section*.26}{}}
\newlabel{language/core/basic:grammar-token-one_term}{{2.1.1}{6}{Essential vocabulary}{section*.27}{}}
\newlabel{language/core/basic:grammar-token-term1}{{2.1.1}{6}{Essential vocabulary}{section*.28}{}}
\newlabel{language/core/basic:grammar-token-term0}{{2.1.1}{6}{Essential vocabulary}{section*.29}{}}
\newlabel{language/core/basic:grammar-token-qualid_annotated}{{2.1.1}{6}{Essential vocabulary}{section*.30}{}}
\newlabel{language/core/basic:term-type}{{2.1.1}{6}{type\index {type@\spxentry {type}|spxpagem}\phantomsection }{section*.31}{}}
\newlabel{language/core/basic:term-well-typed}{{2.1.1}{6}{Essential vocabulary}{section*.32}{}}
\newlabel{language/core/basic:grammar-token-type}{{2.1.1}{6}{Essential vocabulary}{section*.33}{}}
\newlabel{language/core/basic:term-inhabited}{{2.1.1}{6}{Essential vocabulary}{section*.34}{}}
\newlabel{language/core/basic:term-witness}{{2.1.1}{6}{Essential vocabulary}{section*.35}{}}
\newlabel{language/core/basic:term-sentence}{{2.1.1}{6}{sentence\index {sentence@\spxentry {sentence}|spxpagem}\phantomsection }{section*.36}{}}
\newlabel{language/core/basic:grammar-token-document}{{2.1.1}{6}{Essential vocabulary}{section*.37}{}}
\newlabel{language/core/basic:grammar-token-sentence}{{2.1.1}{6}{Essential vocabulary}{section*.38}{}}
\newlabel{language/core/basic:term-command}{{2.1.1}{6}{command\index {command@\spxentry {command}|spxpagem}\phantomsection }{section*.39}{}}
\newlabel{language/core/basic:grammar-token-command}{{2.1.1}{6}{Essential vocabulary}{section*.40}{}}
\newlabel{language/core/basic:coq:cmd.Comments}{{2.1.1}{6}{Essential vocabulary}{section*.41}{}}
\newlabel{language/core/basic:term-tactic}{{2.1.1}{6}{tactic\index {tactic@\spxentry {tactic}|spxpagem}\phantomsection }{section*.42}{}}
\newlabel{language/core/basic:grammar-token-tactic}{{2.1.1}{6}{Essential vocabulary}{section*.43}{}}
\@writefile{toc}{\contentsline {subsubsection}{Settings}{7}{subsubsection*.44}\protected@file@percent }
\newlabel{language/core/basic:settings}{{2.1.1}{7}{Settings}{subsubsection*.44}{}}
\@writefile{toc}{\contentsline {paragraph}{Attributes}{7}{paragraph*.45}\protected@file@percent }
\newlabel{language/core/basic:attributes}{{2.1.1}{7}{Attributes}{paragraph*.45}{}}
\newlabel{language/core/basic:id3}{{2.1.1}{7}{Attributes}{paragraph*.45}{}}
\newlabel{language/core/basic:term-attribute}{{2.1.1}{7}{Attributes}{section*.46}{}}
\newlabel{language/core/basic:grammar-token-attributes}{{2.1.1}{7}{Attributes}{section*.47}{}}
\newlabel{language/core/basic:grammar-token-attribute}{{2.1.1}{7}{Attributes}{section*.48}{}}
\newlabel{language/core/basic:grammar-token-attr_value}{{2.1.1}{7}{Attributes}{section*.49}{}}
\newlabel{language/core/basic:grammar-token-legacy_attr}{{2.1.1}{7}{Attributes}{section*.50}{}}
\newlabel{language/core/basic:term-boolean-attribute}{{2.1.1}{7}{Attributes}{section*.51}{}}
\newlabel{language/core/basic:coq:warn.This-command-does-not-support-this-attribute}{{2.1.1}{7}{Attributes}{section*.52}{}}
\@writefile{toc}{\contentsline {paragraph}{Flags, Options and Tables}{8}{paragraph*.53}\protected@file@percent }
\newlabel{language/core/basic:flags-options-and-tables}{{2.1.1}{8}{Flags, Options and Tables}{paragraph*.53}{}}
\newlabel{language/core/basic:flags-options-tables}{{2.1.1}{8}{Flags, Options and Tables}{paragraph*.53}{}}
\newlabel{language/core/basic:term-flag}{{2.1.1}{8}{Flags, Options and Tables}{section*.54}{}}
\newlabel{language/core/basic:term-option}{{2.1.1}{8}{Flags, Options and Tables}{section*.55}{}}
\newlabel{language/core/basic:term-table}{{2.1.1}{8}{Flags, Options and Tables}{section*.56}{}}
\newlabel{language/core/basic:grammar-token-setting_name}{{2.1.1}{8}{Flags, Options and Tables}{section*.57}{}}
\newlabel{language/core/basic:coq:cmd.Set}{{2.1.1}{8}{Flags, Options and Tables}{section*.58}{}}
\newlabel{language/core/basic:coq:warn.There-is-no-flag-or-option-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{8}{Flags, Options and Tables}{section*.59}{}}
\newlabel{language/core/basic:coq:cmd.Unset}{{2.1.1}{8}{Flags, Options and Tables}{section*.60}{}}
\newlabel{language/core/basic:coq:cmd.Add}{{2.1.1}{8}{Flags, Options and Tables}{section*.61}{}}
\newlabel{language/core/basic:coq:cmd.Remove}{{2.1.1}{8}{Flags, Options and Tables}{section*.62}{}}
\newlabel{language/core/basic:coq:cmd.Test}{{2.1.1}{8}{Flags, Options and Tables}{section*.63}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-flag,-option-or-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{8}{Flags, Options and Tables}{section*.64}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-qualid-valued-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{8}{Flags, Options and Tables}{section*.65}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-string-valued-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{8}{Flags, Options and Tables}{section*.66}{}}
\newlabel{language/core/basic:coq:cmd.Print-Options}{{2.1.1}{8}{Flags, Options and Tables}{section*.67}{}}
\citation{zebibliography:id21}
\citation{zebibliography:id11}
\newlabel{language/core/basic:coq:cmd.Print-Table}{{2.1.1}{9}{Flags, Options and Tables}{section*.68}{}}
\newlabel{language/core/basic:coq:cmd.Print-Tables}{{2.1.1}{9}{Flags, Options and Tables}{section*.69}{}}
\@writefile{toc}{\contentsline {subparagraph}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{9}{subparagraph*.70}\protected@file@percent }
\newlabel{language/core/basic:locality-attributes-supported-by-set-and-unset}{{2.1.1}{9}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.70}{}}
\newlabel{language/core/basic:set-unset-scope-qualifiers}{{2.1.1}{9}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.70}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Sorts}{9}{subsection.2.1.2}\protected@file@percent }
\newlabel{language/core/sorts:sorts}{{2.1.2}{9}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:index-0}{{2.1.2}{9}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:id1}{{2.1.2}{9}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts::doc}{{2.1.2}{9}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:grammar-token-sort}{{2.1.2}{9}{Sorts}{section*.71}{}}
\newlabel{language/core/sorts:grammar-token-universe}{{2.1.2}{9}{Sorts}{section*.72}{}}
\newlabel{language/core/sorts:grammar-token-universe_expr}{{2.1.2}{9}{Sorts}{section*.73}{}}
\newlabel{language/core/sorts:term-sort}{{2.1.2}{9}{Sorts}{section*.74}{}}
\newlabel{language/core/sorts:term-proposition}{{2.1.2}{9}{Sorts}{section*.75}{}}
\newlabel{language/core/sorts:term-strict-proposition}{{2.1.2}{9}{Sorts}{section*.76}{}}
\newlabel{language/core/sorts:implementation-issues}{{2.1.2}{10}{Sorts}{section*.77}{}}
\newlabel{language/core/sorts:term-algebraic-universe}{{2.1.2}{10}{Sorts}{section*.78}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Functions and assumptions}{10}{subsection.2.1.3}\protected@file@percent }
\newlabel{language/core/assumptions:functions-and-assumptions}{{2.1.3}{10}{Functions and assumptions}{subsection.2.1.3}{}}
\newlabel{language/core/assumptions::doc}{{2.1.3}{10}{Functions and assumptions}{subsection.2.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binders}{10}{subsubsection*.79}\protected@file@percent }
\newlabel{language/core/assumptions:binders}{{2.1.3}{10}{Binders}{subsubsection*.79}{}}
\newlabel{language/core/assumptions:id1}{{2.1.3}{10}{Binders}{subsubsection*.79}{}}
\newlabel{language/core/assumptions:grammar-token-open_binders}{{2.1.3}{10}{Binders}{section*.80}{}}
\newlabel{language/core/assumptions:grammar-token-name}{{2.1.3}{10}{Binders}{section*.81}{}}
\newlabel{language/core/assumptions:grammar-token-binder}{{2.1.3}{10}{Binders}{section*.82}{}}
\@writefile{toc}{\contentsline {subsubsection}{Functions (fun) and function types (forall)}{10}{subsubsection*.83}\protected@file@percent }
\newlabel{language/core/assumptions:functions-fun-and-function-types-forall}{{2.1.3}{10}{Functions (fun) and function types (forall)}{subsubsection*.83}{}}
\newlabel{language/core/assumptions:index-1}{{2.1.3}{10}{Functions (fun) and function types (forall)}{subsubsection*.83}{}}
\newlabel{language/core/assumptions:grammar-token-term_forall_or_fun}{{2.1.3}{10}{Functions (fun) and function types (forall)}{section*.84}{}}
\@writefile{toc}{\contentsline {subsubsection}{Function application}{11}{subsubsection*.85}\protected@file@percent }
\newlabel{language/core/assumptions:function-application}{{2.1.3}{11}{Function application}{subsubsection*.85}{}}
\newlabel{language/core/assumptions:grammar-token-term_application}{{2.1.3}{11}{Function application}{section*.86}{}}
\newlabel{language/core/assumptions:grammar-token-arg}{{2.1.3}{11}{Function application}{section*.87}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assumptions}{11}{subsubsection*.88}\protected@file@percent }
\newlabel{language/core/assumptions:assumptions}{{2.1.3}{11}{Assumptions}{subsubsection*.88}{}}
\newlabel{language/core/assumptions:gallina-assumptions}{{2.1.3}{11}{Assumptions}{subsubsection*.88}{}}
\newlabel{language/core/assumptions:axiom}{{2.1.3}{11}{Assumptions}{section*.89}{}}
\newlabel{language/core/assumptions:coq:cmd.Axiom}{{2.1.3}{11}{Assumptions}{section*.90}{}}
\newlabel{language/core/assumptions:coq:cmd.Axioms}{{2.1.3}{11}{Assumptions}{section*.91}{}}
\newlabel{language/core/assumptions:coq:cmd.Conjecture}{{2.1.3}{11}{Assumptions}{section*.92}{}}
\newlabel{language/core/assumptions:coq:cmd.Conjectures}{{2.1.3}{11}{Assumptions}{section*.93}{}}
\newlabel{language/core/assumptions:coq:cmd.Hypothesis}{{2.1.3}{11}{Assumptions}{section*.94}{}}
\newlabel{language/core/assumptions:coq:cmd.Hypotheses}{{2.1.3}{11}{Assumptions}{section*.95}{}}
\newlabel{language/core/assumptions:coq:cmd.Parameter}{{2.1.3}{11}{Assumptions}{section*.96}{}}
\newlabel{language/core/assumptions:coq:cmd.Parameters}{{2.1.3}{11}{Assumptions}{section*.97}{}}
\newlabel{language/core/assumptions:coq:cmd.Variable}{{2.1.3}{11}{Assumptions}{section*.98}{}}
\newlabel{language/core/assumptions:coq:cmd.Variables}{{2.1.3}{11}{Assumptions}{section*.99}{}}
\newlabel{language/core/assumptions:grammar-token-assumption_token}{{2.1.3}{11}{Assumptions}{section*.100}{}}
\newlabel{language/core/assumptions:grammar-token-assumpt}{{2.1.3}{11}{Assumptions}{section*.101}{}}
\newlabel{language/core/assumptions:grammar-token-ident_decl}{{2.1.3}{11}{Assumptions}{section*.102}{}}
\newlabel{language/core/assumptions:grammar-token-of_type}{{2.1.3}{11}{Assumptions}{section*.103}{}}
\newlabel{language/core/assumptions:coq:exn._u2018ident_u2019-already-exists.-(Axiom)}{{2.1.3}{11}{Assumptions}{section*.104}{}}
\newlabel{language/core/assumptions:coq:warn._u2018ident_u2019-is-declared-as-a-local-axiom}{{2.1.3}{11}{Assumptions}{section*.105}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Definitions}{12}{subsection.2.1.4}\protected@file@percent }
\newlabel{language/core/definitions:definitions}{{2.1.4}{12}{Definitions}{subsection.2.1.4}{}}
\newlabel{language/core/definitions::doc}{{2.1.4}{12}{Definitions}{subsection.2.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Let\sphinxhyphen {}in definitions}{12}{subsubsection*.106}\protected@file@percent }
\newlabel{language/core/definitions:let-in-definitions}{{2.1.4}{12}{Let\sphinxhyphen {}in definitions}{subsubsection*.106}{}}
\newlabel{language/core/definitions:let-in}{{2.1.4}{12}{Let\sphinxhyphen {}in definitions}{subsubsection*.106}{}}
\newlabel{language/core/definitions:index-0}{{2.1.4}{12}{Let\sphinxhyphen {}in definitions}{subsubsection*.106}{}}
\newlabel{language/core/definitions:grammar-token-term_let}{{2.1.4}{12}{Let\sphinxhyphen {}in definitions}{section*.107}{}}
\@writefile{toc}{\contentsline {subsubsection}{Type cast}{12}{subsubsection*.108}\protected@file@percent }
\newlabel{language/core/definitions:type-cast}{{2.1.4}{12}{Type cast}{subsubsection*.108}{}}
\newlabel{language/core/definitions:index-1}{{2.1.4}{12}{Type cast}{subsubsection*.108}{}}
\newlabel{language/core/definitions:grammar-token-term_cast}{{2.1.4}{12}{Type cast}{section*.109}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions}{12}{subsubsection*.110}\protected@file@percent }
\newlabel{language/core/definitions:top-level-definitions}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{subsubsection*.110}{}}
\newlabel{language/core/definitions:gallina-definitions}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{subsubsection*.110}{}}
\newlabel{language/core/definitions:coq:cmd.Definition}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{section*.111}{}}
\newlabel{language/core/definitions:coq:cmd.Example}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{section*.112}{}}
\newlabel{language/core/definitions:grammar-token-def_body}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{section*.113}{}}
\newlabel{language/core/definitions:grammar-token-reduce}{{2.1.4}{12}{Top\sphinxhyphen {}level definitions}{section*.114}{}}
\newlabel{language/core/definitions:coq:exn._u2018ident_u2019-already-exists.-(Definition)}{{2.1.4}{13}{Top\sphinxhyphen {}level definitions}{section*.115}{}}
\newlabel{language/core/definitions:coq:exn.The-term-_u2018term_u2019-has-type-_u2018type_u2019-while-it-is-expected-to-have-type-_u2018type_u2019'}{{2.1.4}{13}{Top\sphinxhyphen {}level definitions}{section*.116}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assertions and proofs}{13}{subsubsection*.117}\protected@file@percent }
\newlabel{language/core/definitions:assertions-and-proofs}{{2.1.4}{13}{Assertions and proofs}{subsubsection*.117}{}}
\newlabel{language/core/definitions:assertions}{{2.1.4}{13}{Assertions and proofs}{subsubsection*.117}{}}
\newlabel{language/core/definitions:coq:cmd.Theorem}{{2.1.4}{13}{Assertions and proofs}{section*.118}{}}
\newlabel{language/core/definitions:coq:cmd.Lemma}{{2.1.4}{13}{Assertions and proofs}{section*.119}{}}
\newlabel{language/core/definitions:coq:cmd.Fact}{{2.1.4}{13}{Assertions and proofs}{section*.120}{}}
\newlabel{language/core/definitions:coq:cmd.Remark}{{2.1.4}{13}{Assertions and proofs}{section*.121}{}}
\newlabel{language/core/definitions:coq:cmd.Corollary}{{2.1.4}{13}{Assertions and proofs}{section*.122}{}}
\newlabel{language/core/definitions:coq:cmd.Proposition}{{2.1.4}{13}{Assertions and proofs}{section*.123}{}}
\newlabel{language/core/definitions:coq:cmd.Property}{{2.1.4}{13}{Assertions and proofs}{section*.124}{}}
\newlabel{language/core/definitions:grammar-token-thm_token}{{2.1.4}{13}{Assertions and proofs}{section*.125}{}}
\newlabel{language/core/definitions:coq:exn.The-term-_u2018term_u2019-has-type-_u2018type_u2019-which-should-be-Set,-Prop-or-Type}{{2.1.4}{13}{Assertions and proofs}{section*.126}{}}
\newlabel{language/core/definitions:coq:exn._u2018ident_u2019-already-exists.-(Theorem)}{{2.1.4}{13}{Assertions and proofs}{section*.127}{}}
\newlabel{language/core/definitions:coq:exn.Nested-proofs-are-discouraged-and-not-allowed-by-default.-This-error-probably-means-that-you-forgot-to-close-the-last-"Proof."-with-"Qed."-or-"Defined.".-If-you-really-intended-to-use-nested-proofs,-you-can-do-so-by-turning-the-"Nested-Proofs-Allowed"-flag-on}{{2.1.4}{13}{Assertions and proofs}{section*.128}{}}
\citation{zebibliography:id10}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.5}Conversion rules}{14}{subsection.2.1.5}\protected@file@percent }
\newlabel{language/core/conversion:conversion-rules}{{2.1.5}{14}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion:id1}{{2.1.5}{14}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion::doc}{{2.1.5}{14}{Conversion rules}{subsection.2.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{α\sphinxhyphen {}conversion}{14}{subsubsection*.129}\protected@file@percent }
\newlabel{language/core/conversion:conversion}{{2.1.5}{14}{α\sphinxhyphen {}conversion}{subsubsection*.129}{}}
\newlabel{language/core/conversion:term-alpha-convertible}{{2.1.5}{14}{α\sphinxhyphen {}conversion}{section*.130}{}}
\@writefile{toc}{\contentsline {subsubsection}{β\sphinxhyphen {}reduction}{14}{subsubsection*.131}\protected@file@percent }
\newlabel{language/core/conversion:reduction}{{2.1.5}{14}{β\sphinxhyphen {}reduction}{subsubsection*.131}{}}
\newlabel{language/core/conversion:beta-reduction}{{2.1.5}{14}{β\sphinxhyphen {}reduction}{subsubsection*.131}{}}
\citation{zebibliography:id37}
\citation{zebibliography:id52}
\@writefile{toc}{\contentsline {subsubsection}{ι\sphinxhyphen {}reduction}{15}{subsubsection*.132}\protected@file@percent }
\newlabel{language/core/conversion:iota-reduction}{{2.1.5}{15}{ι\sphinxhyphen {}reduction}{subsubsection*.132}{}}
\newlabel{language/core/conversion:id3}{{2.1.5}{15}{ι\sphinxhyphen {}reduction}{subsubsection*.132}{}}
\@writefile{toc}{\contentsline {subsubsection}{δ\sphinxhyphen {}reduction}{15}{subsubsection*.133}\protected@file@percent }
\newlabel{language/core/conversion:delta-reduction}{{2.1.5}{15}{δ\sphinxhyphen {}reduction}{subsubsection*.133}{}}
\newlabel{language/core/conversion:id5}{{2.1.5}{15}{δ\sphinxhyphen {}reduction}{subsubsection*.133}{}}
\newlabel{language/core/conversion:inference-Delta-Local}{{2.1.5}{15}{δ\sphinxhyphen {}reduction}{section*.134}{}}
\newlabel{language/core/conversion:inference-Delta-Global}{{2.1.5}{15}{δ\sphinxhyphen {}reduction}{section*.135}{}}
\@writefile{toc}{\contentsline {subsubsection}{ζ\sphinxhyphen {}reduction}{15}{subsubsection*.136}\protected@file@percent }
\newlabel{language/core/conversion:zeta-reduction}{{2.1.5}{15}{ζ\sphinxhyphen {}reduction}{subsubsection*.136}{}}
\newlabel{language/core/conversion:id6}{{2.1.5}{15}{ζ\sphinxhyphen {}reduction}{subsubsection*.136}{}}
\newlabel{language/core/conversion:inference-Zeta}{{2.1.5}{15}{ζ\sphinxhyphen {}reduction}{section*.137}{}}
\@writefile{toc}{\contentsline {subsubsection}{η\sphinxhyphen {}expansion}{15}{subsubsection*.138}\protected@file@percent }
\newlabel{language/core/conversion:expansion}{{2.1.5}{15}{η\sphinxhyphen {}expansion}{subsubsection*.138}{}}
\newlabel{language/core/conversion:eta-expansion}{{2.1.5}{15}{η\sphinxhyphen {}expansion}{subsubsection*.138}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof Irrelevance}{16}{subsubsection*.139}\protected@file@percent }
\newlabel{language/core/conversion:proof-irrelevance}{{2.1.5}{16}{Proof Irrelevance}{subsubsection*.139}{}}
\newlabel{language/core/conversion:id7}{{2.1.5}{16}{Proof Irrelevance}{subsubsection*.139}{}}
\@writefile{toc}{\contentsline {subsubsection}{Convertibility}{16}{subsubsection*.140}\protected@file@percent }
\newlabel{language/core/conversion:convertibility}{{2.1.5}{16}{Convertibility}{subsubsection*.140}{}}
\newlabel{language/core/conversion:id8}{{2.1.5}{16}{Convertibility}{subsubsection*.140}{}}
\newlabel{language/core/conversion:term-convertible}{{2.1.5}{16}{Convertibility}{section*.141}{}}
\citation{zebibliography:id3}
\citation{zebibliography:id15}
\citation{zebibliography:id27}
\citation{zebibliography:id5}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.6}Typing rules}{17}{subsection.2.1.6}\protected@file@percent }
\newlabel{language/cic:typing-rules}{{2.1.6}{17}{Typing rules}{subsection.2.1.6}{}}
\newlabel{language/cic::doc}{{2.1.6}{17}{Typing rules}{subsection.2.1.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{The terms}{17}{subsubsection*.142}\protected@file@percent }
\newlabel{language/cic:the-terms}{{2.1.6}{17}{The terms}{subsubsection*.142}{}}
\newlabel{language/cic:id1}{{2.1.6}{17}{The terms}{subsubsection*.142}{}}
\newlabel{language/cic:free-variables}{{2.1.6}{17}{The terms}{section*.143}{}}
\newlabel{language/cic:substitution}{{2.1.6}{17}{The terms}{section*.144}{}}
\newlabel{language/cic:the-logical-vs-programming-readings}{{2.1.6}{17}{The terms}{section*.145}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing rules}{18}{subsubsection*.146}\protected@file@percent }
\newlabel{language/cic:id4}{{2.1.6}{18}{Typing rules}{subsubsection*.146}{}}
\newlabel{language/cic:id5}{{2.1.6}{18}{Typing rules}{subsubsection*.146}{}}
\newlabel{language/cic:local-context}{{2.1.6}{18}{Typing rules}{section*.147}{}}
\newlabel{language/cic:global-environment}{{2.1.6}{18}{Typing rules}{section*.148}{}}
\newlabel{language/cic:typing-rules2}{{2.1.6}{18}{Typing rules}{section*.149}{}}
\newlabel{language/cic:inference-W-Empty}{{2.1.6}{18}{Typing rules}{section*.150}{}}
\newlabel{language/cic:inference-W-Local-Assum}{{2.1.6}{18}{Typing rules}{section*.151}{}}
\newlabel{language/cic:inference-W-Local-Def}{{2.1.6}{18}{Typing rules}{section*.152}{}}
\newlabel{language/cic:inference-W-Global-Assum}{{2.1.6}{18}{Typing rules}{section*.153}{}}
\newlabel{language/cic:inference-W-Global-Def}{{2.1.6}{18}{Typing rules}{section*.154}{}}
\newlabel{language/cic:inference-Ax-SProp}{{2.1.6}{19}{Typing rules}{section*.155}{}}
\newlabel{language/cic:inference-Ax-Prop}{{2.1.6}{19}{Typing rules}{section*.156}{}}
\newlabel{language/cic:inference-Ax-Set}{{2.1.6}{19}{Typing rules}{section*.157}{}}
\newlabel{language/cic:inference-Ax-Type}{{2.1.6}{19}{Typing rules}{section*.158}{}}
\newlabel{language/cic:inference-Var}{{2.1.6}{19}{Typing rules}{section*.159}{}}
\newlabel{language/cic:inference-Const}{{2.1.6}{19}{Typing rules}{section*.160}{}}
\newlabel{language/cic:inference-Prod-SProp}{{2.1.6}{19}{Typing rules}{section*.161}{}}
\newlabel{language/cic:inference-Prod-Prop}{{2.1.6}{19}{Typing rules}{section*.162}{}}
\newlabel{language/cic:inference-Prod-Set}{{2.1.6}{19}{Typing rules}{section*.163}{}}
\newlabel{language/cic:inference-Prod-Type}{{2.1.6}{19}{Typing rules}{section*.164}{}}
\newlabel{language/cic:inference-Lam}{{2.1.6}{19}{Typing rules}{section*.165}{}}
\newlabel{language/cic:inference-App}{{2.1.6}{20}{Typing rules}{section*.166}{}}
\newlabel{language/cic:inference-Let}{{2.1.6}{20}{Typing rules}{section*.167}{}}
\@writefile{toc}{\contentsline {subsubsection}{Subtyping rules}{20}{subsubsection*.168}\protected@file@percent }
\newlabel{language/cic:subtyping-rules}{{2.1.6}{20}{Subtyping rules}{subsubsection*.168}{}}
\newlabel{language/cic:id6}{{2.1.6}{20}{Subtyping rules}{subsubsection*.168}{}}
\newlabel{language/cic:inference-Conv}{{2.1.6}{21}{Subtyping rules}{section*.169}{}}
\newlabel{language/cic:normal-form}{{2.1.6}{21}{Subtyping rules}{section*.170}{}}
\@writefile{toc}{\contentsline {subsubsection}{Admissible rules for global environments}{21}{subsubsection*.171}\protected@file@percent }
\newlabel{language/cic:admissible-rules-for-global-environments}{{2.1.6}{21}{Admissible rules for global environments}{subsubsection*.171}{}}
\newlabel{language/cic:id7}{{2.1.6}{21}{Admissible rules for global environments}{subsubsection*.171}{}}
\newlabel{language/cic:abstraction}{{2.1.6}{21}{Admissible rules for global environments}{section*.172}{}}
\newlabel{language/cic:first-abstracting-property}{{2.1.6}{21}{Admissible rules for global environments}{section*.173}{}}
\newlabel{language/cic:second-abstracting-property}{{2.1.6}{22}{Admissible rules for global environments}{section*.174}{}}
\newlabel{language/cic:pruning-the-local-context}{{2.1.6}{22}{Admissible rules for global environments}{section*.175}{}}
\newlabel{language/cic:first-pruning-property}{{2.1.6}{22}{Admissible rules for global environments}{section*.176}{}}
\newlabel{language/cic:inference-First-pruning-property:}{{2.1.6}{22}{Admissible rules for global environments}{section*.177}{}}
\newlabel{language/cic:second-pruning-property}{{2.1.6}{22}{Admissible rules for global environments}{section*.178}{}}
\newlabel{language/cic:inference-Second-pruning-property:}{{2.1.6}{22}{Admissible rules for global environments}{section*.179}{}}
\@writefile{toc}{\contentsline {subsubsection}{The Calculus of Inductive Constructions with impredicative Set}{22}{subsubsection*.180}\protected@file@percent }
\newlabel{language/cic:the-calculus-of-inductive-constructions-with-impredicative-set}{{2.1.6}{22}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.180}{}}
\newlabel{language/cic:the-calculus-of-inductive-construction-with-impredicative-set}{{2.1.6}{22}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.180}{}}
\newlabel{language/cic:inference-ProdImp}{{2.1.6}{22}{The Calculus of Inductive Constructions with impredicative Set}{section*.181}{}}
\newlabel{language/cic:inference-Set1}{{2.1.6}{23}{The Calculus of Inductive Constructions with impredicative Set}{section*.182}{}}
\newlabel{language/cic:inference-Set2}{{2.1.6}{23}{The Calculus of Inductive Constructions with impredicative Set}{section*.183}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.7}Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{23}{subsection.2.1.7}\protected@file@percent }
\newlabel{language/core/variants:variants-and-the-match-construct}{{2.1.7}{23}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\newlabel{language/core/variants::doc}{{2.1.7}{23}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants}{23}{subsubsection*.184}\protected@file@percent }
\newlabel{language/core/variants:variants}{{2.1.7}{23}{Variants}{subsubsection*.184}{}}
\newlabel{language/core/variants:coq:cmd.Variant}{{2.1.7}{23}{Variants}{section*.185}{}}
\newlabel{language/core/variants:grammar-token-variant_definition}{{2.1.7}{23}{Variants}{section*.186}{}}
\newlabel{language/core/variants:coq:exn.The-_u2018natural_u2019-th-argument-of-_u2018ident_u2019-must-be-_u2018ident_u2019-in-_u2018type_u2019}{{2.1.7}{23}{Variants}{section*.187}{}}
\@writefile{toc}{\contentsline {paragraph}{Private (matching) inductive types}{23}{paragraph*.188}\protected@file@percent }
\newlabel{language/core/variants:private-matching-inductive-types}{{2.1.7}{23}{Private (matching) inductive types}{paragraph*.188}{}}
\newlabel{language/core/variants:coq:attr.private(matching)}{{2.1.7}{23}{Private (matching) inductive types}{section*.189}{}}
\newlabel{language/core/variants:coq:attr.Private}{{2.1.7}{23}{Private (matching) inductive types}{section*.190}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definition by cases: match}{24}{subsubsection*.191}\protected@file@percent }
\newlabel{language/core/variants:definition-by-cases-match}{{2.1.7}{24}{Definition by cases: match}{subsubsection*.191}{}}
\newlabel{language/core/variants:match-term}{{2.1.7}{24}{Definition by cases: match}{subsubsection*.191}{}}
\newlabel{language/core/variants:index-0}{{2.1.7}{24}{Definition by cases: match}{subsubsection*.191}{}}
\newlabel{language/core/variants:grammar-token-term_match}{{2.1.7}{24}{Definition by cases: match}{section*.192}{}}
\newlabel{language/core/variants:grammar-token-case_item}{{2.1.7}{24}{Definition by cases: match}{section*.193}{}}
\newlabel{language/core/variants:grammar-token-eqn}{{2.1.7}{24}{Definition by cases: match}{section*.194}{}}
\newlabel{language/core/variants:grammar-token-pattern}{{2.1.7}{24}{Definition by cases: match}{section*.195}{}}
\newlabel{language/core/variants:grammar-token-pattern10}{{2.1.7}{24}{Definition by cases: match}{section*.196}{}}
\newlabel{language/core/variants:grammar-token-pattern1}{{2.1.7}{24}{Definition by cases: match}{section*.197}{}}
\newlabel{language/core/variants:grammar-token-pattern0}{{2.1.7}{24}{Definition by cases: match}{section*.198}{}}
\newlabel{language/core/variants:coq:exn.Casts-are-not-supported-in-this-pattern}{{2.1.7}{24}{Definition by cases: match}{section*.199}{}}
\newlabel{0.1.1}{{1}{24}{Definition by cases: match}{section*.200}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.8}Record types}{26}{subsection.2.1.8}\protected@file@percent }
\newlabel{language/core/records:record-types}{{2.1.8}{26}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:id1}{{2.1.8}{26}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records::doc}{{2.1.8}{26}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:record-grammar}{{2.1.8}{26}{Record types}{section*.201}{}}
\newlabel{language/core/records:coq:cmd.Record}{{2.1.8}{26}{Record types}{section*.202}{}}
\newlabel{language/core/records:coq:cmd.Structure}{{2.1.8}{26}{Record types}{section*.203}{}}
\newlabel{language/core/records:grammar-token-record_definition}{{2.1.8}{26}{Record types}{section*.204}{}}
\newlabel{language/core/records:grammar-token-record_field}{{2.1.8}{26}{Record types}{section*.205}{}}
\newlabel{language/core/records:grammar-token-field_body}{{2.1.8}{26}{Record types}{section*.206}{}}
\newlabel{language/core/records:grammar-token-term_record}{{2.1.8}{26}{Record types}{section*.207}{}}
\newlabel{language/core/records:grammar-token-field_def}{{2.1.8}{26}{Record types}{section*.208}{}}
\newlabel{language/core/records:coq:flag.Printing-Records}{{2.1.8}{27}{Record types}{section*.209}{}}
\newlabel{language/core/records:coq:table.Printing-Record}{{2.1.8}{27}{Record types}{section*.210}{}}
\newlabel{language/core/records:coq:table.Printing-Constructor}{{2.1.8}{27}{Record types}{section*.211}{}}
\newlabel{language/core/records:coq:flag.Printing-Projections}{{2.1.8}{28}{Record types}{section*.212}{}}
\newlabel{language/core/records:record-projections-grammar}{{2.1.8}{28}{Record types}{section*.213}{}}
\newlabel{language/core/records:grammar-token-term_projection}{{2.1.8}{28}{Record types}{section*.214}{}}
\newlabel{language/core/records:coq:warn._u2018ident_u2019-cannot-be-defined}{{2.1.8}{28}{Record types}{section*.215}{}}
\newlabel{language/core/records:coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive}{{2.1.8}{29}{Record types}{section*.216}{}}
\newlabel{language/core/records:coq:exn.Cannot-handle-mutually-(co)inductive-records}{{2.1.8}{29}{Record types}{section*.217}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Projections}{29}{subsubsection*.218}\protected@file@percent }
\newlabel{language/core/records:primitive-projections}{{2.1.8}{29}{Primitive Projections}{subsubsection*.218}{}}
\newlabel{language/core/records:id2}{{2.1.8}{29}{Primitive Projections}{subsubsection*.218}{}}
\newlabel{language/core/records:coq:flag.Primitive-Projections}{{2.1.8}{29}{Primitive Projections}{section*.219}{}}
\newlabel{language/core/records:coq:flag.Printing-Primitive-Projection-Parameters}{{2.1.8}{29}{Primitive Projections}{section*.220}{}}
\@writefile{toc}{\contentsline {paragraph}{Primitive Record Types}{29}{paragraph*.221}\protected@file@percent }
\newlabel{language/core/records:primitive-record-types}{{2.1.8}{29}{Primitive Record Types}{paragraph*.221}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{30}{paragraph*.222}\protected@file@percent }
\newlabel{language/core/records:reduction}{{2.1.8}{30}{Reduction}{paragraph*.222}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{30}{paragraph*.223}\protected@file@percent }
\newlabel{language/core/records:compatibility-projections-and-match}{{2.1.8}{30}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{paragraph*.223}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.9}Inductive types and recursive functions}{30}{subsection.2.1.9}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types-and-recursive-functions}{{2.1.9}{30}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\newlabel{language/core/inductive::doc}{{2.1.9}{30}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inductive types}{30}{subsubsection*.224}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types}{{2.1.9}{30}{Inductive types}{subsubsection*.224}{}}
\newlabel{language/core/inductive:gallina-inductive-definitions}{{2.1.9}{30}{Inductive types}{subsubsection*.224}{}}
\newlabel{language/core/inductive:coq:cmd.Inductive}{{2.1.9}{30}{Inductive types}{section*.225}{}}
\newlabel{language/core/inductive:grammar-token-inductive_definition}{{2.1.9}{30}{Inductive types}{section*.226}{}}
\newlabel{language/core/inductive:grammar-token-constructors_or_record}{{2.1.9}{30}{Inductive types}{section*.227}{}}
\newlabel{language/core/inductive:grammar-token-constructor}{{2.1.9}{30}{Inductive types}{section*.228}{}}
\newlabel{language/core/inductive:coq:exn.Non-strictly-positive-occurrence-of-_u2018ident_u2019-in-_u2018type_u2019}{{2.1.9}{31}{Inductive types}{section*.229}{}}
\newlabel{language/core/inductive:coq:exn.The-conclusion-of-_u2018type_u2019-is-not-valid;-it-must-be-built-from-_u2018ident_u2019}{{2.1.9}{31}{Inductive types}{section*.230}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple inductive types}{31}{paragraph*.231}\protected@file@percent }
\newlabel{language/core/inductive:simple-inductive-types}{{2.1.9}{31}{Simple inductive types}{paragraph*.231}{}}
\newlabel{language/core/inductive:id1}{{2.1.9}{31}{Simple inductive types}{paragraph*.231}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple annotated inductive types}{32}{paragraph*.232}\protected@file@percent }
\newlabel{language/core/inductive:simple-annotated-inductive-types}{{2.1.9}{32}{Simple annotated inductive types}{paragraph*.232}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameterized inductive types}{32}{paragraph*.233}\protected@file@percent }
\newlabel{language/core/inductive:parameterized-inductive-types}{{2.1.9}{32}{Parameterized inductive types}{paragraph*.233}{}}
\newlabel{language/core/inductive:parametrized-inductive-types}{{2.1.9}{32}{Parameterized inductive types}{paragraph*.233}{}}
\newlabel{language/core/inductive:coq:flag.Uniform-Inductive-Parameters}{{2.1.9}{34}{Parameterized inductive types}{section*.234}{}}
\@writefile{toc}{\contentsline {paragraph}{Mutually defined inductive types}{35}{paragraph*.235}\protected@file@percent }
\newlabel{language/core/inductive:mutually-defined-inductive-types}{{2.1.9}{35}{Mutually defined inductive types}{paragraph*.235}{}}
\newlabel{language/core/inductive:mutually-inductive-types}{{2.1.9}{35}{Mutually defined inductive types}{paragraph*.235}{}}
\@writefile{toc}{\contentsline {subsubsection}{Recursive functions: fix}{36}{subsubsection*.236}\protected@file@percent }
\newlabel{language/core/inductive:recursive-functions-fix}{{2.1.9}{36}{Recursive functions: fix}{subsubsection*.236}{}}
\newlabel{language/core/inductive:index-0}{{2.1.9}{36}{Recursive functions: fix}{subsubsection*.236}{}}
\newlabel{language/core/inductive:grammar-token-term_fix}{{2.1.9}{36}{Recursive functions: fix}{section*.237}{}}
\newlabel{language/core/inductive:grammar-token-fix_decl}{{2.1.9}{36}{Recursive functions: fix}{section*.238}{}}
\newlabel{language/core/inductive:grammar-token-fixannot}{{2.1.9}{36}{Recursive functions: fix}{section*.239}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level recursive functions}{36}{subsubsection*.240}\protected@file@percent }
\newlabel{language/core/inductive:top-level-recursive-functions}{{2.1.9}{36}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.240}{}}
\newlabel{language/core/inductive:fixpoint}{{2.1.9}{36}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.240}{}}
\newlabel{language/core/inductive:coq:cmd.Fixpoint}{{2.1.9}{36}{Top\sphinxhyphen {}level recursive functions}{section*.241}{}}
\newlabel{language/core/inductive:grammar-token-fix_definition}{{2.1.9}{36}{Top\sphinxhyphen {}level recursive functions}{section*.242}{}}
\newlabel{language/core/inductive:example-mutual-fixpoints}{{2.1.9}{38}{Top\sphinxhyphen {}level recursive functions}{section*.243}{}}
\@writefile{toc}{\contentsline {subsubsection}{Theory of inductive definitions}{39}{subsubsection*.244}\protected@file@percent }
\newlabel{language/core/inductive:theory-of-inductive-definitions}{{2.1.9}{39}{Theory of inductive definitions}{subsubsection*.244}{}}
\newlabel{language/core/inductive:inductive-definitions}{{2.1.9}{39}{Theory of inductive definitions}{subsubsection*.244}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of inductive objects}{40}{paragraph*.245}\protected@file@percent }
\newlabel{language/core/inductive:types-of-inductive-objects}{{2.1.9}{40}{Types of inductive objects}{paragraph*.245}{}}
\newlabel{language/core/inductive:id2}{{2.1.9}{40}{Types of inductive objects}{paragraph*.245}{}}
\newlabel{language/core/inductive:inference-Ind}{{2.1.9}{40}{Types of inductive objects}{section*.246}{}}
\newlabel{language/core/inductive:inference-Constr}{{2.1.9}{40}{Types of inductive objects}{section*.247}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}formed inductive definitions}{40}{paragraph*.248}\protected@file@percent }
\newlabel{language/core/inductive:well-formed-inductive-definitions}{{2.1.9}{40}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.248}{}}
\newlabel{language/core/inductive:id3}{{2.1.9}{40}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.248}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity of a given sort}{40}{subparagraph*.249}\protected@file@percent }
\newlabel{language/core/inductive:arity-of-a-given-sort}{{2.1.9}{40}{Arity of a given sort}{subparagraph*.249}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity}{41}{subparagraph*.250}\protected@file@percent }
\newlabel{language/core/inductive:arity}{{2.1.9}{41}{Arity}{subparagraph*.250}{}}
\@writefile{toc}{\contentsline {subparagraph}{Type of constructor}{41}{subparagraph*.251}\protected@file@percent }
\newlabel{language/core/inductive:type-of-constructor}{{2.1.9}{41}{Type of constructor}{subparagraph*.251}{}}
\@writefile{toc}{\contentsline {subparagraph}{Positivity Condition}{41}{subparagraph*.252}\protected@file@percent }
\newlabel{language/core/inductive:positivity-condition}{{2.1.9}{41}{Positivity Condition}{subparagraph*.252}{}}
\newlabel{language/core/inductive:positivity}{{2.1.9}{41}{Positivity Condition}{subparagraph*.252}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict positivity}{41}{subparagraph*.253}\protected@file@percent }
\newlabel{language/core/inductive:strict-positivity}{{2.1.9}{41}{Strict positivity}{subparagraph*.253}{}}
\@writefile{toc}{\contentsline {subparagraph}{Nested Positivity}{42}{subparagraph*.254}\protected@file@percent }
\newlabel{language/core/inductive:nested-positivity}{{2.1.9}{42}{Nested Positivity}{subparagraph*.254}{}}
\@writefile{toc}{\contentsline {subparagraph}{Correctness rules}{42}{subparagraph*.255}\protected@file@percent }
\newlabel{language/core/inductive:correctness-rules}{{2.1.9}{42}{Correctness rules}{subparagraph*.255}{}}
\newlabel{language/core/inductive:id4}{{2.1.9}{42}{Correctness rules}{subparagraph*.255}{}}
\newlabel{language/core/inductive:inference-W-Ind}{{2.1.9}{42}{Correctness rules}{section*.256}{}}
\citation{zebibliography:id14}
\@writefile{toc}{\contentsline {subparagraph}{Template polymorphism}{45}{subparagraph*.257}\protected@file@percent }
\newlabel{language/core/inductive:template-polymorphism}{{2.1.9}{45}{Template polymorphism}{subparagraph*.257}{}}
\newlabel{language/core/inductive:id6}{{2.1.9}{45}{Template polymorphism}{subparagraph*.257}{}}
\newlabel{language/core/inductive:inference-Ind-Family}{{2.1.9}{45}{Template polymorphism}{section*.258}{}}
\newlabel{language/core/inductive:coq:flag.Auto-Template-Polymorphism}{{2.1.9}{46}{Template polymorphism}{section*.259}{}}
\newlabel{language/core/inductive:coq:warn.Automatically-declaring-_u2018ident_u2019-as-template-polymorphic}{{2.1.9}{46}{Template polymorphism}{section*.260}{}}
\newlabel{language/core/inductive:coq:attr.universes(template)}{{2.1.9}{46}{Template polymorphism}{section*.261}{}}
\newlabel{language/core/inductive:coq:exn.template-and-polymorphism-not-compatible}{{2.1.9}{46}{Template polymorphism}{section*.262}{}}
\newlabel{language/core/inductive:coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe}{{2.1.9}{46}{Template polymorphism}{section*.263}{}}
\newlabel{language/core/inductive:coq:attr.universes(notemplate)}{{2.1.9}{46}{Template polymorphism}{section*.264}{}}
\citation{zebibliography:id12}
\@writefile{toc}{\contentsline {paragraph}{Destructors}{48}{paragraph*.265}\protected@file@percent }
\newlabel{language/core/inductive:destructors}{{2.1.9}{48}{Destructors}{paragraph*.265}{}}
\newlabel{language/core/inductive:id7}{{2.1.9}{48}{Destructors}{paragraph*.265}{}}
\@writefile{toc}{\contentsline {subparagraph}{The match ... with ... end construction}{49}{subparagraph*.266}\protected@file@percent }
\newlabel{language/core/inductive:the-match-with-end-construction}{{2.1.9}{49}{The match ... with ... end construction}{subparagraph*.266}{}}
\newlabel{language/core/inductive:match-construction}{{2.1.9}{49}{The match ... with ... end construction}{subparagraph*.266}{}}
\newlabel{language/core/inductive:allowed-elimination-sorts}{{2.1.9}{49}{The match ... with ... end construction}{section*.267}{}}
\newlabel{language/core/inductive:cic-notations}{{2.1.9}{49}{The match ... with ... end construction}{section*.268}{}}
\newlabel{language/core/inductive:inference-Prod}{{2.1.9}{49}{The match ... with ... end construction}{section*.269}{}}
\newlabel{language/core/inductive:inference-Set-_-Type}{{2.1.9}{49}{The match ... with ... end construction}{section*.270}{}}
\newlabel{language/core/inductive:inference-Prop}{{2.1.9}{49}{The match ... with ... end construction}{section*.271}{}}
\newlabel{language/core/inductive:empty-and-singleton-elimination}{{2.1.9}{50}{The match ... with ... end construction}{section*.272}{}}
\newlabel{language/core/inductive:inference-Prop-extended}{{2.1.9}{50}{The match ... with ... end construction}{section*.273}{}}
\newlabel{language/core/inductive:eliminaton-for-sprop}{{2.1.9}{51}{The match ... with ... end construction}{section*.274}{}}
\newlabel{language/core/inductive:type-of-branches}{{2.1.9}{51}{The match ... with ... end construction}{section*.275}{}}
\newlabel{language/core/inductive:typing-rule}{{2.1.9}{52}{The match ... with ... end construction}{section*.276}{}}
\newlabel{language/core/inductive:inference-match}{{2.1.9}{52}{The match ... with ... end construction}{section*.277}{}}
\newlabel{language/core/inductive:inference-list-example}{{2.1.9}{52}{The match ... with ... end construction}{section*.278}{}}
\newlabel{language/core/inductive:definition-of-reduction}{{2.1.9}{52}{The match ... with ... end construction}{section*.279}{}}
\citation{zebibliography:id22}
\@writefile{toc}{\contentsline {paragraph}{Fixpoint definitions}{53}{paragraph*.280}\protected@file@percent }
\newlabel{language/core/inductive:fixpoint-definitions}{{2.1.9}{53}{Fixpoint definitions}{paragraph*.280}{}}
\newlabel{language/core/inductive:id9}{{2.1.9}{53}{Fixpoint definitions}{paragraph*.280}{}}
\@writefile{toc}{\contentsline {subparagraph}{Typing rule}{53}{subparagraph*.281}\protected@file@percent }
\newlabel{language/core/inductive:id10}{{2.1.9}{53}{Typing rule}{subparagraph*.281}{}}
\newlabel{language/core/inductive:inference-Fix}{{2.1.9}{53}{Typing rule}{section*.282}{}}
\citation{zebibliography:id25}
\citation{zebibliography:id23}
\citation{zebibliography:id24}
\@writefile{toc}{\contentsline {subparagraph}{Reduction rule}{55}{subparagraph*.283}\protected@file@percent }
\newlabel{language/core/inductive:reduction-rule}{{2.1.9}{55}{Reduction rule}{subparagraph*.283}{}}
\newlabel{language/core/inductive:id12}{{2.1.9}{55}{Reduction rule}{subparagraph*.283}{}}
\newlabel{language/core/inductive:mutual-induction}{{2.1.9}{55}{Reduction rule}{section*.284}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.10}Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{55}{subsection.2.1.10}\protected@file@percent }
\newlabel{language/core/coinductive:co-inductive-types-and-co-recursive-functions}{{2.1.10}{55}{Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{subsection.2.1.10}{}}
\newlabel{language/core/coinductive::doc}{{2.1.10}{55}{Co\sphinxhyphen {}inductive types and co\sphinxhyphen {}recursive functions}{subsection.2.1.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Co\sphinxhyphen {}inductive types}{55}{subsubsection*.285}\protected@file@percent }
\newlabel{language/core/coinductive:co-inductive-types}{{2.1.10}{55}{Co\sphinxhyphen {}inductive types}{subsubsection*.285}{}}
\newlabel{language/core/coinductive:coinductive-types}{{2.1.10}{55}{Co\sphinxhyphen {}inductive types}{subsubsection*.285}{}}
\newlabel{language/core/coinductive:coq:cmd.CoInductive}{{2.1.10}{55}{Co\sphinxhyphen {}inductive types}{section*.286}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveat}{56}{paragraph*.287}\protected@file@percent }
\newlabel{language/core/coinductive:caveat}{{2.1.10}{56}{Caveat}{paragraph*.287}{}}
\@writefile{toc}{\contentsline {subsubsection}{Co\sphinxhyphen {}recursive functions: cofix}{57}{subsubsection*.288}\protected@file@percent }
\newlabel{language/core/coinductive:co-recursive-functions-cofix}{{2.1.10}{57}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.288}{}}
\newlabel{language/core/coinductive:index-0}{{2.1.10}{57}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.288}{}}
\newlabel{language/core/coinductive:grammar-token-term_cofix}{{2.1.10}{57}{Co\sphinxhyphen {}recursive functions: cofix}{section*.289}{}}
\newlabel{language/core/coinductive:grammar-token-cofix_body}{{2.1.10}{57}{Co\sphinxhyphen {}recursive functions: cofix}{section*.290}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{57}{subsubsection*.291}\protected@file@percent }
\newlabel{language/core/coinductive:top-level-definitions-of-co-recursive-functions}{{2.1.10}{57}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{subsubsection*.291}{}}
\newlabel{language/core/coinductive:cofixpoint}{{2.1.10}{57}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{subsubsection*.291}{}}
\newlabel{language/core/coinductive:coq:cmd.CoFixpoint}{{2.1.10}{57}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{section*.292}{}}
\newlabel{language/core/coinductive:grammar-token-cofix_definition}{{2.1.10}{57}{Top\sphinxhyphen {}level definitions of co\sphinxhyphen {}recursive functions}{section*.293}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.11}Section mechanism}{58}{subsection.2.1.11}\protected@file@percent }
\newlabel{language/core/sections:section-mechanism}{{2.1.11}{58}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:id1}{{2.1.11}{58}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections::doc}{{2.1.11}{58}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:coq:cmd.Section}{{2.1.11}{58}{Section mechanism}{section*.294}{}}
\newlabel{language/core/sections:coq:cmd.End}{{2.1.11}{58}{Section mechanism}{section*.295}{}}
\newlabel{language/core/sections:coq:exn.There-is-nothing-to-end}{{2.1.11}{59}{Section mechanism}{section*.296}{}}
\newlabel{language/core/sections:coq:exn.Last-block-to-end-has-name-_u2018ident_u2019}{{2.1.11}{59}{Section mechanism}{section*.297}{}}
\newlabel{language/core/sections:coq:cmd.Let}{{2.1.11}{59}{Section mechanism}{section*.298}{}}
\newlabel{language/core/sections:coq:cmd.Let-Fixpoint}{{2.1.11}{59}{Section mechanism}{section*.299}{}}
\newlabel{language/core/sections:coq:cmd.Let-CoFixpoint}{{2.1.11}{59}{Section mechanism}{section*.300}{}}
\newlabel{language/core/sections:coq:cmd.Context}{{2.1.11}{59}{Section mechanism}{section*.301}{}}
\newlabel{language/core/sections:section-local-declarations}{{2.1.11}{59}{Section mechanism}{section*.302}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.12}The Module System}{60}{subsection.2.1.12}\protected@file@percent }
\newlabel{language/core/modules:the-module-system}{{2.1.12}{60}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules:themodulesystem}{{2.1.12}{60}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules::doc}{{2.1.12}{60}{The Module System}{subsection.2.1.12}{}}
\@writefile{toc}{\contentsline {subsubsection}{Modules and module types}{60}{subsubsection*.303}\protected@file@percent }
\newlabel{language/core/modules:modules-and-module-types}{{2.1.12}{60}{Modules and module types}{subsubsection*.303}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using modules}{61}{subsubsection*.304}\protected@file@percent }
\newlabel{language/core/modules:using-modules}{{2.1.12}{61}{Using modules}{subsubsection*.304}{}}
\newlabel{language/core/modules:coq:cmd.Module}{{2.1.12}{61}{Using modules}{section*.305}{}}
\newlabel{language/core/modules:grammar-token-module_binder}{{2.1.12}{61}{Using modules}{section*.306}{}}
\newlabel{language/core/modules:grammar-token-module_type_inl}{{2.1.12}{61}{Using modules}{section*.307}{}}
\newlabel{language/core/modules:grammar-token-functor_app_annot}{{2.1.12}{61}{Using modules}{section*.308}{}}
\newlabel{language/core/modules:grammar-token-module_type}{{2.1.12}{61}{Using modules}{section*.309}{}}
\newlabel{language/core/modules:grammar-token-with_declaration}{{2.1.12}{61}{Using modules}{section*.310}{}}
\newlabel{language/core/modules:grammar-token-module_expr_atom}{{2.1.12}{61}{Using modules}{section*.311}{}}
\newlabel{language/core/modules:grammar-token-of_module_type}{{2.1.12}{61}{Using modules}{section*.312}{}}
\newlabel{language/core/modules:grammar-token-module_expr_inl}{{2.1.12}{61}{Using modules}{section*.313}{}}
\newlabel{language/core/modules:coq:cmd.Module-Type}{{2.1.12}{61}{Using modules}{section*.314}{}}
\newlabel{language/core/modules:terminating-module}{{2.1.12}{61}{Using modules}{section*.315}{}}
\newlabel{language/core/modules:coq:exn.No-such-label-_u2018ident_u2019}{{2.1.12}{61}{Using modules}{section*.316}{}}
\newlabel{language/core/modules:coq:exn.Signature-components-for-label-_u2018ident_u2019-do-not-match}{{2.1.12}{61}{Using modules}{section*.317}{}}
\newlabel{language/core/modules:coq:exn.The-field-_u2018ident_u2019-is-missing-in-_u2018qualid_u2019}{{2.1.12}{62}{Using modules}{section*.318}{}}
\newlabel{language/core/modules:coq:cmd.Include}{{2.1.12}{62}{Using modules}{section*.319}{}}
\newlabel{language/core/modules:coq:cmd.Include-Type}{{2.1.12}{62}{Using modules}{section*.320}{}}
\newlabel{language/core/modules:coq:cmd.Declare-Module}{{2.1.12}{62}{Using modules}{section*.321}{}}
\newlabel{language/core/modules:coq:cmd.Import}{{2.1.12}{62}{Using modules}{section*.322}{}}
\newlabel{language/core/modules:grammar-token-filtered_import}{{2.1.12}{62}{Using modules}{section*.323}{}}
\newlabel{language/core/modules:coq:cmd.Export}{{2.1.12}{64}{Using modules}{section*.324}{}}
\newlabel{language/core/modules:coq:exn._u2018qualid_u2019-is-not-a-module}{{2.1.12}{64}{Using modules}{section*.325}{}}
\newlabel{language/core/modules:coq:warn.Trying-to-mask-the-absolute-name-_u2018qualid_u2019!}{{2.1.12}{64}{Using modules}{section*.326}{}}
\newlabel{language/core/modules:coq:cmd.Print-Module}{{2.1.12}{64}{Using modules}{section*.327}{}}
\newlabel{language/core/modules:coq:cmd.Print-Module-Type}{{2.1.12}{64}{Using modules}{section*.328}{}}
\newlabel{language/core/modules:coq:flag.Short-Module-Printing}{{2.1.12}{64}{Using modules}{section*.329}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{64}{paragraph*.330}\protected@file@percent }
\newlabel{language/core/modules:examples}{{2.1.12}{64}{Examples}{paragraph*.330}{}}
\newlabel{language/core/modules:module-examples}{{2.1.12}{64}{Examples}{paragraph*.330}{}}
\newlabel{language/core/modules:example-def-simple-module-type}{{2.1.12}{65}{Examples}{section*.331}{}}
\newlabel{language/core/modules:example-filter-module}{{2.1.12}{65}{Examples}{section*.332}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing Modules}{67}{subsubsection*.333}\protected@file@percent }
\newlabel{language/core/modules:typing-modules}{{2.1.12}{67}{Typing Modules}{subsubsection*.333}{}}
\newlabel{language/core/modules:inference-WF-STR}{{2.1.12}{67}{Typing Modules}{section*.334}{}}
\newlabel{language/core/modules:inference-WF-FUN}{{2.1.12}{67}{Typing Modules}{section*.335}{}}
\newlabel{language/core/modules:inference-WEVAL-APP}{{2.1.12}{67}{Typing Modules}{section*.336}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-MOD}{{2.1.12}{67}{Typing Modules}{section*.337}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-MOD-REC}{{2.1.12}{67}{Typing Modules}{section*.338}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-DEF}{{2.1.12}{67}{Typing Modules}{section*.339}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-DEF-REC}{{2.1.12}{68}{Typing Modules}{section*.340}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-MOD1}{{2.1.12}{68}{Typing Modules}{section*.341}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-MOD2}{{2.1.12}{68}{Typing Modules}{section*.342}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-ALIAS1}{{2.1.12}{68}{Typing Modules}{section*.343}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-ALIAS2}{{2.1.12}{68}{Typing Modules}{section*.344}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-TYPE1}{{2.1.12}{68}{Typing Modules}{section*.345}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-TYPE2}{{2.1.12}{68}{Typing Modules}{section*.346}{}}
\newlabel{language/core/modules:inference-MT-EVAL}{{2.1.12}{68}{Typing Modules}{section*.347}{}}
\newlabel{language/core/modules:inference-MT-STR}{{2.1.12}{68}{Typing Modules}{section*.348}{}}
\newlabel{language/core/modules:inference-MSUB-STR}{{2.1.12}{69}{Typing Modules}{section*.349}{}}
\newlabel{language/core/modules:inference-MSUB-FUN}{{2.1.12}{69}{Typing Modules}{section*.350}{}}
\newlabel{language/core/modules:inference-ASSUM-ASSUM}{{2.1.12}{69}{Typing Modules}{section*.351}{}}
\newlabel{language/core/modules:inference-DEF-ASSUM}{{2.1.12}{69}{Typing Modules}{section*.352}{}}
\newlabel{language/core/modules:inference-ASSUM-DEF}{{2.1.12}{69}{Typing Modules}{section*.353}{}}
\newlabel{language/core/modules:inference-DEF-DEF}{{2.1.12}{69}{Typing Modules}{section*.354}{}}
\newlabel{language/core/modules:inference-IND-IND}{{2.1.12}{69}{Typing Modules}{section*.355}{}}
\newlabel{language/core/modules:inference-INDP-IND}{{2.1.12}{70}{Typing Modules}{section*.356}{}}
\newlabel{language/core/modules:inference-INDP-INDP}{{2.1.12}{70}{Typing Modules}{section*.357}{}}
\newlabel{language/core/modules:inference-MOD-MOD}{{2.1.12}{70}{Typing Modules}{section*.358}{}}
\newlabel{language/core/modules:inference-ALIAS-MOD}{{2.1.12}{70}{Typing Modules}{section*.359}{}}
\newlabel{language/core/modules:inference-MOD-ALIAS}{{2.1.12}{70}{Typing Modules}{section*.360}{}}
\newlabel{language/core/modules:inference-ALIAS-ALIAS}{{2.1.12}{70}{Typing Modules}{section*.361}{}}
\newlabel{language/core/modules:inference-MODTYPE-MODTYPE}{{2.1.12}{70}{Typing Modules}{section*.362}{}}
\newlabel{language/core/modules:inference-WF-MOD1}{{2.1.12}{70}{Typing Modules}{section*.363}{}}
\newlabel{language/core/modules:inference-WF-MOD2}{{2.1.12}{70}{Typing Modules}{section*.364}{}}
\newlabel{language/core/modules:inference-WF-ALIAS}{{2.1.12}{70}{Typing Modules}{section*.365}{}}
\newlabel{language/core/modules:inference-WF-MODTYPE}{{2.1.12}{70}{Typing Modules}{section*.366}{}}
\newlabel{language/core/modules:inference-WF-IND}{{2.1.12}{71}{Typing Modules}{section*.367}{}}
\newlabel{language/core/modules:inference-ACC-TYPE1}{{2.1.12}{71}{Typing Modules}{section*.368}{}}
\newlabel{language/core/modules:inference-ACC-TYPE2}{{2.1.12}{71}{Typing Modules}{section*.369}{}}
\newlabel{language/core/modules:inference-ACC-DELTA}{{2.1.12}{71}{Typing Modules}{section*.370}{}}
\newlabel{language/core/modules:inference-ACC-IND1}{{2.1.12}{71}{Typing Modules}{section*.371}{}}
\newlabel{language/core/modules:inference-ACC-IND2}{{2.1.12}{71}{Typing Modules}{section*.372}{}}
\newlabel{language/core/modules:inference-ACC-INDP1}{{2.1.12}{71}{Typing Modules}{section*.373}{}}
\newlabel{language/core/modules:inference-ACC-INDP2}{{2.1.12}{71}{Typing Modules}{section*.374}{}}
\@writefile{toc}{\contentsline {subsubsection}{Libraries and qualified names}{71}{subsubsection*.375}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-qualified-names}{{2.1.12}{71}{Libraries and qualified names}{subsubsection*.375}{}}
\@writefile{toc}{\contentsline {paragraph}{Names of libraries}{71}{paragraph*.376}\protected@file@percent }
\newlabel{language/core/modules:names-of-libraries}{{2.1.12}{71}{Names of libraries}{paragraph*.376}{}}
\newlabel{language/core/modules:id1}{{2.1.12}{71}{Names of libraries}{paragraph*.376}{}}
\@writefile{toc}{\contentsline {paragraph}{Qualified identifiers}{72}{paragraph*.377}\protected@file@percent }
\newlabel{language/core/modules:qualified-identifiers}{{2.1.12}{72}{Qualified identifiers}{paragraph*.377}{}}
\newlabel{language/core/modules:qualified-names}{{2.1.12}{72}{Qualified identifiers}{paragraph*.377}{}}
\newlabel{language/core/modules:grammar-token-qualid}{{2.1.12}{72}{Qualified identifiers}{section*.378}{}}
\newlabel{language/core/modules:grammar-token-field_ident}{{2.1.12}{72}{Qualified identifiers}{section*.379}{}}
\@writefile{toc}{\contentsline {paragraph}{Libraries and filesystem}{73}{paragraph*.380}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-filesystem}{{2.1.12}{73}{Libraries and filesystem}{paragraph*.380}{}}
\newlabel{language/core/modules:id2}{{2.1.12}{73}{Libraries and filesystem}{paragraph*.380}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the scope of commands with locality attributes}{74}{subsubsection*.381}\protected@file@percent }
\newlabel{language/core/modules:controlling-the-scope-of-commands-with-locality-attributes}{{2.1.12}{74}{Controlling the scope of commands with locality attributes}{subsubsection*.381}{}}
\newlabel{language/core/modules:controlling-locality-of-commands}{{2.1.12}{74}{Controlling the scope of commands with locality attributes}{subsubsection*.381}{}}
\newlabel{language/core/modules:coq:attr.local}{{2.1.12}{74}{Controlling the scope of commands with locality attributes}{section*.382}{}}
\newlabel{language/core/modules:coq:attr.export}{{2.1.12}{74}{Controlling the scope of commands with locality attributes}{section*.383}{}}
\newlabel{language/core/modules:coq:attr.global}{{2.1.12}{74}{Controlling the scope of commands with locality attributes}{section*.384}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.13}Primitive objects}{75}{subsection.2.1.13}\protected@file@percent }
\newlabel{language/core/primitive:primitive-objects}{{2.1.13}{75}{Primitive objects}{subsection.2.1.13}{}}
\newlabel{language/core/primitive::doc}{{2.1.13}{75}{Primitive objects}{subsection.2.1.13}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Integers}{75}{subsubsection*.385}\protected@file@percent }
\newlabel{language/core/primitive:primitive-integers}{{2.1.13}{75}{Primitive Integers}{subsubsection*.385}{}}
\newlabel{language/core/primitive:id1}{{2.1.13}{75}{Primitive Integers}{subsubsection*.385}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Floats}{75}{subsubsection*.386}\protected@file@percent }
\newlabel{language/core/primitive:primitive-floats}{{2.1.13}{75}{Primitive Floats}{subsubsection*.386}{}}
\newlabel{language/core/primitive:id2}{{2.1.13}{75}{Primitive Floats}{subsubsection*.386}{}}
\citation{zebibliography:id57}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Arrays}{76}{subsubsection*.387}\protected@file@percent }
\newlabel{language/core/primitive:primitive-arrays}{{2.1.13}{76}{Primitive Arrays}{subsubsection*.387}{}}
\newlabel{language/core/primitive:id3}{{2.1.13}{76}{Primitive Arrays}{subsubsection*.387}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.14}Polymorphic Universes}{77}{subsection.2.1.14}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-universes}{{2.1.14}{77}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism:polymorphicuniverses}{{2.1.14}{77}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism::doc}{{2.1.14}{77}{Polymorphic Universes}{subsection.2.1.14}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{77}{subsubsection*.388}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:general-presentation}{{2.1.14}{77}{General Presentation}{subsubsection*.388}{}}
\@writefile{toc}{\contentsline {subsubsection}{Polymorphic, Monomorphic}{79}{subsubsection*.389}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-monomorphic}{{2.1.14}{79}{Polymorphic, Monomorphic}{subsubsection*.389}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(polymorphic)}{{2.1.14}{79}{Polymorphic, Monomorphic}{section*.390}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Polymorphic}{{2.1.14}{79}{Polymorphic, Monomorphic}{section*.391}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Monomorphic}{{2.1.14}{79}{Polymorphic, Monomorphic}{section*.392}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(monomorphic)}{{2.1.14}{79}{Polymorphic, Monomorphic}{section*.393}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Universe-Polymorphism}{{2.1.14}{79}{Polymorphic, Monomorphic}{section*.394}{}}
\@writefile{toc}{\contentsline {subsubsection}{Cumulative, NonCumulative}{79}{subsubsection*.395}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulative-noncumulative}{{2.1.14}{79}{Cumulative, NonCumulative}{subsubsection*.395}{}}
\newlabel{addendum/universe-polymorphism:cumulative}{{2.1.14}{79}{Cumulative, NonCumulative}{subsubsection*.395}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(cumulative)}{{2.1.14}{79}{Cumulative, NonCumulative}{section*.396}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Cumulative}{{2.1.14}{79}{Cumulative, NonCumulative}{section*.397}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.NonCumulative}{{2.1.14}{79}{Cumulative, NonCumulative}{section*.398}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context}{{2.1.14}{79}{Cumulative, NonCumulative}{section*.399}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(noncumulative)}{{2.1.14}{80}{Cumulative, NonCumulative}{section*.400}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Polymorphic-Inductive-Cumulativity}{{2.1.14}{80}{Cumulative, NonCumulative}{section*.401}{}}
\@writefile{toc}{\contentsline {paragraph}{Specifying cumulativity}{81}{paragraph*.402}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:specifying-cumulativity}{{2.1.14}{81}{Specifying cumulativity}{paragraph*.402}{}}
\@writefile{toc}{\contentsline {paragraph}{An example of a proof using cumulativity}{81}{paragraph*.403}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:an-example-of-a-proof-using-cumulativity}{{2.1.14}{81}{An example of a proof using cumulativity}{paragraph*.403}{}}
\@writefile{toc}{\contentsline {paragraph}{Cumulativity Weak Constraints}{82}{paragraph*.404}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulativity-weak-constraints}{{2.1.14}{82}{Cumulativity Weak Constraints}{paragraph*.404}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Cumulativity-Weak-Constraints}{{2.1.14}{82}{Cumulativity Weak Constraints}{section*.405}{}}
\@writefile{toc}{\contentsline {subsubsection}{Global and local universes}{82}{subsubsection*.406}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:global-and-local-universes}{{2.1.14}{82}{Global and local universes}{subsubsection*.406}{}}
\@writefile{toc}{\contentsline {subsubsection}{Conversion and unification}{82}{subsubsection*.407}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:conversion-and-unification}{{2.1.14}{82}{Conversion and unification}{subsubsection*.407}{}}
\@writefile{toc}{\contentsline {subsubsection}{Minimization}{82}{subsubsection*.408}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:minimization}{{2.1.14}{82}{Minimization}{subsubsection*.408}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Universe-Minimization-ToSet}{{2.1.14}{82}{Minimization}{section*.409}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit Universes}{83}{subsubsection*.410}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:explicit-universes}{{2.1.14}{83}{Explicit Universes}{subsubsection*.410}{}}
\newlabel{addendum/universe-polymorphism:id1}{{2.1.14}{83}{Explicit Universes}{subsubsection*.410}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe_name}{{2.1.14}{83}{Explicit Universes}{section*.411}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_annot}{{2.1.14}{83}{Explicit Universes}{section*.412}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe_level}{{2.1.14}{83}{Explicit Universes}{section*.413}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_decl}{{2.1.14}{83}{Explicit Universes}{section*.414}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-cumul_univ_decl}{{2.1.14}{83}{Explicit Universes}{section*.415}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_constraint}{{2.1.14}{83}{Explicit Universes}{section*.416}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Universe}{{2.1.14}{83}{Explicit Universes}{section*.417}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead}{{2.1.14}{83}{Explicit Universes}{section*.418}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Constraint}{{2.1.14}{83}{Explicit Universes}{section*.419}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Undeclared-universe-_u2018ident_u2019}{{2.1.14}{83}{Explicit Universes}{section*.420}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Universe-inconsistency}{{2.1.14}{83}{Explicit Universes}{section*.421}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead}{{2.1.14}{83}{Explicit Universes}{section*.422}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing universes}{83}{subsubsection*.423}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:printing-universes}{{2.1.14}{83}{Printing universes}{subsubsection*.423}{}}
\newlabel{addendum/universe-polymorphism:id2}{{2.1.14}{83}{Printing universes}{subsubsection*.423}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Printing-Universes}{{2.1.14}{83}{Printing universes}{section*.424}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Print-Universes}{{2.1.14}{83}{Printing universes}{section*.425}{}}
\@writefile{toc}{\contentsline {paragraph}{Polymorphic definitions}{84}{paragraph*.426}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-definitions}{{2.1.14}{84}{Polymorphic definitions}{paragraph*.426}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Strict-Universe-Declaration}{{2.1.14}{85}{Polymorphic definitions}{section*.427}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Private-Polymorphic-Universes}{{2.1.14}{85}{Polymorphic definitions}{section*.428}{}}
\citation{zebibliography:id21}
\@writefile{toc}{\contentsline {subsubsection}{Universe polymorphism and sections}{87}{subsubsection*.429}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:universe-polymorphism-and-sections}{{2.1.14}{87}{Universe polymorphism and sections}{subsubsection*.429}{}}
\newlabel{addendum/universe-polymorphism:universe-polymorphism-in-sections}{{2.1.14}{87}{Universe polymorphism and sections}{subsubsection*.429}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.15}SProp (proof irrelevant propositions)}{87}{subsection.2.1.15}\protected@file@percent }
\newlabel{addendum/sprop:sprop-proof-irrelevant-propositions}{{2.1.15}{87}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:sprop}{{2.1.15}{87}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop::doc}{{2.1.15}{87}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:coq:flag.Allow-StrictProp}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{section*.430}{}}
\newlabel{addendum/sprop:coq:exn.SProp-is-disallowed-because-the-"Allow-StrictProp"-flag-is-off}{{2.1.15}{88}{SProp (proof irrelevant propositions)}{section*.431}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic constructs}{88}{subsubsection*.432}\protected@file@percent }
\newlabel{addendum/sprop:basic-constructs}{{2.1.15}{88}{Basic constructs}{subsubsection*.432}{}}
\@writefile{toc}{\contentsline {subsubsection}{Encodings for strict propositions}{90}{subsubsection*.433}\protected@file@percent }
\newlabel{addendum/sprop:encodings-for-strict-propositions}{{2.1.15}{90}{Encodings for strict propositions}{subsubsection*.433}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definitional UIP}{90}{subsubsection*.434}\protected@file@percent }
\newlabel{addendum/sprop:definitional-uip}{{2.1.15}{90}{Definitional UIP}{subsubsection*.434}{}}
\newlabel{addendum/sprop:coq:flag.Definitional-UIP}{{2.1.15}{90}{Definitional UIP}{section*.435}{}}
\citation{zebibliography:id56}
\@writefile{toc}{\contentsline {paragraph}{Non Termination with UIP}{91}{paragraph*.436}\protected@file@percent }
\newlabel{addendum/sprop:non-termination-with-uip}{{2.1.15}{91}{Non Termination with UIP}{paragraph*.436}{}}
\@writefile{toc}{\contentsline {subsubsection}{Issues with non\sphinxhyphen {}cumulativity}{91}{subsubsection*.437}\protected@file@percent }
\newlabel{addendum/sprop:issues-with-non-cumulativity}{{2.1.15}{91}{Issues with non\sphinxhyphen {}cumulativity}{subsubsection*.437}{}}
\newlabel{addendum/sprop:coq:flag.Elaboration-StrictProp-Cumulativity}{{2.1.15}{92}{Issues with non\sphinxhyphen {}cumulativity}{section*.438}{}}
\newlabel{addendum/sprop:coq:warn.Bad-relevance}{{2.1.15}{92}{Issues with non\sphinxhyphen {}cumulativity}{section*.439}{}}
\newlabel{addendum/sprop:coq:flag.Cumulative-StrictProp}{{2.1.15}{92}{Issues with non\sphinxhyphen {}cumulativity}{section*.440}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Language extensions}{93}{section.2.2}\protected@file@percent }
\newlabel{language/extensions/index:language-extensions}{{2.2}{93}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index:extensions}{{2.2}{93}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index::doc}{{2.2}{93}{Language extensions}{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Existential variables}{93}{subsection.2.2.1}\protected@file@percent }
\newlabel{language/extensions/evars:existential-variables}{{2.2.1}{93}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:id1}{{2.2.1}{93}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars::doc}{{2.2.1}{93}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:term-existential-variable}{{2.2.1}{93}{Existential variables}{section*.441}{}}
\newlabel{language/extensions/evars:grammar-token-term_evar}{{2.2.1}{93}{Existential variables}{section*.442}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inferable subterms}{94}{subsubsection*.443}\protected@file@percent }
\newlabel{language/extensions/evars:inferable-subterms}{{2.2.1}{94}{Inferable subterms}{subsubsection*.443}{}}
\newlabel{language/extensions/evars:index-0}{{2.2.1}{94}{Inferable subterms}{subsubsection*.443}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{94}{subsubsection*.444}\protected@file@percent }
\newlabel{language/extensions/evars:explicit-displaying-of-existential-instances-for-pretty-printing}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.444}{}}
\newlabel{language/extensions/evars:explicit-display-existentials}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.444}{}}
\newlabel{language/extensions/evars:coq:flag.Printing-Existential-Instances}{{2.2.1}{94}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{section*.445}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving existential variables using tactics}{94}{subsubsection*.446}\protected@file@percent }
\newlabel{language/extensions/evars:solving-existential-variables-using-tactics}{{2.2.1}{94}{Solving existential variables using tactics}{subsubsection*.446}{}}
\newlabel{language/extensions/evars:tactics-in-terms}{{2.2.1}{94}{Solving existential variables using tactics}{subsubsection*.446}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Implicit arguments}{95}{subsection.2.2.2}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments}{{2.2.2}{95}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments:implicitarguments}{{2.2.2}{95}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments::doc}{{2.2.2}{95}{Implicit arguments}{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{The different kinds of implicit arguments}{95}{subsubsection*.447}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:the-different-kinds-of-implicit-arguments}{{2.2.2}{95}{The different kinds of implicit arguments}{subsubsection*.447}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable from the knowledge of other arguments of a function}{95}{paragraph*.448}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function}{{2.2.2}{95}{Implicit arguments inferable from the knowledge of other arguments of a function}{paragraph*.448}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable by resolution}{96}{paragraph*.449}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-by-resolution}{{2.2.2}{96}{Implicit arguments inferable by resolution}{paragraph*.449}{}}
\@writefile{toc}{\contentsline {subsubsection}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{96}{subsubsection*.450}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:maximal-and-non-maximal-insertion-of-implicit-arguments}{{2.2.2}{96}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{subsubsection*.450}{}}
\@writefile{toc}{\contentsline {paragraph}{Trailing Implicit Arguments}{96}{paragraph*.451}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:trailing-implicit-arguments}{{2.2.2}{96}{Trailing Implicit Arguments}{paragraph*.451}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Argument-_u2018name_u2019-is-a-trailing-implicit,-so-it-can't-be-declared-non-maximal.-Please-use-_-_-instead-of-_-_}{{2.2.2}{96}{Trailing Implicit Arguments}{section*.452}{}}
\@writefile{toc}{\contentsline {subsubsection}{Casual use of implicit arguments}{97}{subsubsection*.453}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:casual-use-of-implicit-arguments}{{2.2.2}{97}{Casual use of implicit arguments}{subsubsection*.453}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)}{{2.2.2}{97}{Casual use of implicit arguments}{section*.454}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of implicit arguments}{97}{subsubsection*.455}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:declaration-of-implicit-arguments}{{2.2.2}{97}{Declaration of implicit arguments}{subsubsection*.455}{}}
\newlabel{language/extensions/implicit-arguments:declare-implicit-args}{{2.2.2}{97}{Declaration of implicit arguments}{subsubsection*.455}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit Argument Binders}{97}{paragraph*.456}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-argument-binders}{{2.2.2}{97}{Implicit Argument Binders}{paragraph*.456}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-implicit_binders}{{2.2.2}{97}{Implicit Argument Binders}{section*.457}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position}{{2.2.2}{98}{Implicit Argument Binders}{section*.458}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position}{{2.2.2}{98}{Implicit Argument Binders}{section*.459}{}}
\@writefile{toc}{\contentsline {paragraph}{Mode for automatic declaration of implicit arguments}{99}{paragraph*.460}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:mode-for-automatic-declaration-of-implicit-arguments}{{2.2.2}{99}{Mode for automatic declaration of implicit arguments}{paragraph*.460}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Implicit-Arguments}{{2.2.2}{99}{Mode for automatic declaration of implicit arguments}{section*.461}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling strict implicit arguments}{99}{paragraph*.462}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-arguments}{{2.2.2}{99}{Controlling strict implicit arguments}{paragraph*.462}{}}
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-args}{{2.2.2}{99}{Controlling strict implicit arguments}{paragraph*.462}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Strict-Implicit}{{2.2.2}{99}{Controlling strict implicit arguments}{section*.463}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Strongly-Strict-Implicit}{{2.2.2}{99}{Controlling strict implicit arguments}{section*.464}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling contextual implicit arguments}{99}{paragraph*.465}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-arguments}{{2.2.2}{99}{Controlling contextual implicit arguments}{paragraph*.465}{}}
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-args}{{2.2.2}{99}{Controlling contextual implicit arguments}{paragraph*.465}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Contextual-Implicit}{{2.2.2}{99}{Controlling contextual implicit arguments}{section*.466}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{99}{paragraph*.467}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-reversible-pattern-implicit-arguments}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.467}{}}
\newlabel{language/extensions/implicit-arguments:controlling-rev-pattern-implicit-args}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.467}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Reversible-Pattern-Implicit}{{2.2.2}{99}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{section*.468}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling the insertion of implicit arguments not followed by explicit arguments}{100}{paragraph*.469}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments}{{2.2.2}{100}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.469}{}}
\newlabel{language/extensions/implicit-arguments:controlling-insertion-implicit-args}{{2.2.2}{100}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.469}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Maximal-Implicit-Insertion}{{2.2.2}{100}{Controlling the insertion of implicit arguments not followed by explicit arguments}{section*.470}{}}
\@writefile{toc}{\contentsline {paragraph}{Combining manual declaration and automatic declaration}{100}{paragraph*.471}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:combining-manual-declaration-and-automatic-declaration}{{2.2.2}{100}{Combining manual declaration and automatic declaration}{paragraph*.471}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit applications}{100}{subsubsection*.472}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:explicit-applications}{{2.2.2}{100}{Explicit applications}{subsubsection*.472}{}}
\newlabel{language/extensions/implicit-arguments:id1}{{2.2.2}{100}{Explicit applications}{subsubsection*.472}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments}{101}{subsubsection*.473}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments}{{2.2.2}{101}{Displaying implicit arguments}{subsubsection*.473}{}}
\newlabel{language/extensions/implicit-arguments:displaying-implicit-args}{{2.2.2}{101}{Displaying implicit arguments}{subsubsection*.473}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Print-Implicit}{{2.2.2}{101}{Displaying implicit arguments}{section*.474}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{101}{subsubsection*.475}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments-when-pretty-printing}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{subsubsection*.475}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Implicit}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.476}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Implicit-Defensive}{{2.2.2}{101}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.477}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interaction with subtyping}{102}{subsubsection*.478}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:interaction-with-subtyping}{{2.2.2}{102}{Interaction with subtyping}{subsubsection*.478}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deactivation of implicit arguments for parsing}{102}{subsubsection*.479}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:deactivation-of-implicit-arguments-for-parsing}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{subsubsection*.479}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term_explicit}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{section*.480}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Parsing-Explicit}{{2.2.2}{102}{Deactivation of implicit arguments for parsing}{section*.481}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit types of variables}{103}{subsubsection*.482}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-types-of-variables}{{2.2.2}{103}{Implicit types of variables}{subsubsection*.482}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Implicit-Type}{{2.2.2}{103}{Implicit types of variables}{section*.483}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Implicit-Types}{{2.2.2}{103}{Implicit types of variables}{section*.484}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-reserv_list}{{2.2.2}{103}{Implicit types of variables}{section*.485}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-simple_reserv}{{2.2.2}{103}{Implicit types of variables}{section*.486}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Use-Implicit-Types}{{2.2.2}{103}{Implicit types of variables}{section*.487}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit generalization}{104}{subsubsection*.488}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-generalization}{{2.2.2}{104}{Implicit generalization}{subsubsection*.488}{}}
\newlabel{language/extensions/implicit-arguments:id2}{{2.2.2}{104}{Implicit generalization}{subsubsection*.488}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-generalizing_binder}{{2.2.2}{104}{Implicit generalization}{section*.489}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-typeclass_constraint}{{2.2.2}{104}{Implicit generalization}{section*.490}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term_generalizing}{{2.2.2}{104}{Implicit generalization}{section*.491}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Generalizable}{{2.2.2}{105}{Implicit generalization}{section*.492}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Extended pattern matching}{105}{subsection.2.2.3}\protected@file@percent }
\newlabel{language/extensions/match:extended-pattern-matching}{{2.2.3}{105}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match:extendedpatternmatching}{{2.2.3}{105}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match::doc}{{2.2.3}{105}{Extended pattern matching}{subsection.2.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{106}{subsubsection*.493}\protected@file@percent }
\newlabel{language/extensions/match:variants-and-extensions-of-match}{{2.2.3}{106}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{subsubsection*.493}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple and nested pattern matching}{106}{paragraph*.494}\protected@file@percent }
\newlabel{language/extensions/match:multiple-and-nested-pattern-matching}{{2.2.3}{106}{Multiple and nested pattern matching}{paragraph*.494}{}}
\newlabel{language/extensions/match:mult-match}{{2.2.3}{106}{Multiple and nested pattern matching}{paragraph*.494}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{106}{paragraph*.495}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-boolean-values-the-if-expression}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.495}{}}
\newlabel{language/extensions/match:if-then-else}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.495}{}}
\newlabel{language/extensions/match:grammar-token-term_if}{{2.2.3}{106}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{section*.496}{}}
\@writefile{toc}{\contentsline {paragraph}{Irrefutable patterns: the destructuring let variants}{107}{paragraph*.497}\protected@file@percent }
\newlabel{language/extensions/match:irrefutable-patterns-the-destructuring-let-variants}{{2.2.3}{107}{Irrefutable patterns: the destructuring let variants}{paragraph*.497}{}}
\newlabel{language/extensions/match:irrefutable-patterns}{{2.2.3}{107}{Irrefutable patterns: the destructuring let variants}{paragraph*.497}{}}
\newlabel{language/extensions/match:grammar-token-destructuring_let}{{2.2.3}{107}{Irrefutable patterns: the destructuring let variants}{section*.498}{}}
\@writefile{toc}{\contentsline {subparagraph}{First destructuring let syntax}{107}{subparagraph*.499}\protected@file@percent }
\newlabel{language/extensions/match:first-destructuring-let-syntax}{{2.2.3}{107}{First destructuring let syntax}{subparagraph*.499}{}}
\@writefile{toc}{\contentsline {subparagraph}{Second destructuring let syntax}{107}{subparagraph*.500}\protected@file@percent }
\newlabel{language/extensions/match:second-destructuring-let-syntax}{{2.2.3}{107}{Second destructuring let syntax}{subparagraph*.500}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling pretty\sphinxhyphen {}printing of match expressions}{108}{paragraph*.501}\protected@file@percent }
\newlabel{language/extensions/match:controlling-pretty-printing-of-match-expressions}{{2.2.3}{108}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.501}{}}
\newlabel{language/extensions/match:controlling-match-pp}{{2.2.3}{108}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.501}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing nested patterns}{108}{subparagraph*.502}\protected@file@percent }
\newlabel{language/extensions/match:printing-nested-patterns}{{2.2.3}{108}{Printing nested patterns}{subparagraph*.502}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Matching}{{2.2.3}{108}{Printing nested patterns}{section*.503}{}}
\@writefile{toc}{\contentsline {subparagraph}{Factorization of clauses with same right\sphinxhyphen {}hand side}{108}{subparagraph*.504}\protected@file@percent }
\newlabel{language/extensions/match:factorization-of-clauses-with-same-right-hand-side}{{2.2.3}{108}{Factorization of clauses with same right\sphinxhyphen {}hand side}{subparagraph*.504}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Factorizable-Match-Patterns}{{2.2.3}{108}{Factorization of clauses with same right\sphinxhyphen {}hand side}{section*.505}{}}
\@writefile{toc}{\contentsline {subparagraph}{Use of a default clause}{108}{subparagraph*.506}\protected@file@percent }
\newlabel{language/extensions/match:use-of-a-default-clause}{{2.2.3}{108}{Use of a default clause}{subparagraph*.506}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Allow-Match-Default-Clause}{{2.2.3}{108}{Use of a default clause}{section*.507}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of wildcard patterns}{109}{subparagraph*.508}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-wildcard-patterns}{{2.2.3}{109}{Printing of wildcard patterns}{subparagraph*.508}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Wildcard}{{2.2.3}{109}{Printing of wildcard patterns}{section*.509}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of the elimination predicate}{109}{subparagraph*.510}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-the-elimination-predicate}{{2.2.3}{109}{Printing of the elimination predicate}{subparagraph*.510}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Synth}{{2.2.3}{109}{Printing of the elimination predicate}{section*.511}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on irrefutable patterns}{109}{subparagraph*.512}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-irrefutable-patterns}{{2.2.3}{109}{Printing matching on irrefutable patterns}{subparagraph*.512}{}}
\newlabel{language/extensions/match:coq:table.Printing-Let}{{2.2.3}{109}{Printing matching on irrefutable patterns}{section*.513}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on booleans}{109}{subparagraph*.514}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-booleans}{{2.2.3}{109}{Printing matching on booleans}{subparagraph*.514}{}}
\newlabel{language/extensions/match:coq:table.Printing-If}{{2.2.3}{109}{Printing matching on booleans}{section*.515}{}}
\@writefile{toc}{\contentsline {paragraph}{Conventions about unused pattern\sphinxhyphen {}matching variables}{110}{paragraph*.516}\protected@file@percent }
\newlabel{language/extensions/match:conventions-about-unused-pattern-matching-variables}{{2.2.3}{110}{Conventions about unused pattern\sphinxhyphen {}matching variables}{paragraph*.516}{}}
\newlabel{language/extensions/match:coq:warn.Unused-variable-_u2018ident_u2019-catches-more-than-one-case}{{2.2.3}{110}{Conventions about unused pattern\sphinxhyphen {}matching variables}{section*.517}{}}
\@writefile{toc}{\contentsline {subsubsection}{Patterns}{110}{subsubsection*.518}\protected@file@percent }
\newlabel{language/extensions/match:patterns}{{2.2.3}{110}{Patterns}{subsubsection*.518}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple patterns}{111}{subsubsection*.519}\protected@file@percent }
\newlabel{language/extensions/match:multiple-patterns}{{2.2.3}{111}{Multiple patterns}{subsubsection*.519}{}}
\newlabel{language/extensions/match:id1}{{2.2.3}{111}{Multiple patterns}{subsubsection*.519}{}}
\@writefile{toc}{\contentsline {subsubsection}{Aliasing subpatterns}{112}{subsubsection*.520}\protected@file@percent }
\newlabel{language/extensions/match:aliasing-subpatterns}{{2.2.3}{112}{Aliasing subpatterns}{subsubsection*.520}{}}
\@writefile{toc}{\contentsline {subsubsection}{Nested patterns}{112}{subsubsection*.521}\protected@file@percent }
\newlabel{language/extensions/match:nested-patterns}{{2.2.3}{112}{Nested patterns}{subsubsection*.521}{}}
\newlabel{language/extensions/match:id2}{{2.2.3}{112}{Nested patterns}{subsubsection*.521}{}}
\@writefile{toc}{\contentsline {subsubsection}{Disjunctive patterns}{113}{subsubsection*.522}\protected@file@percent }
\newlabel{language/extensions/match:disjunctive-patterns}{{2.2.3}{113}{Disjunctive patterns}{subsubsection*.522}{}}
\@writefile{toc}{\contentsline {subsubsection}{About patterns of parametric types}{114}{subsubsection*.523}\protected@file@percent }
\newlabel{language/extensions/match:about-patterns-of-parametric-types}{{2.2.3}{114}{About patterns of parametric types}{subsubsection*.523}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters in patterns}{114}{paragraph*.524}\protected@file@percent }
\newlabel{language/extensions/match:parameters-in-patterns}{{2.2.3}{114}{Parameters in patterns}{paragraph*.524}{}}
\newlabel{language/extensions/match:coq:flag.Asymmetric-Patterns}{{2.2.3}{114}{Parameters in patterns}{section*.525}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit arguments in patterns}{115}{subsubsection*.526}\protected@file@percent }
\newlabel{language/extensions/match:implicit-arguments-in-patterns}{{2.2.3}{115}{Implicit arguments in patterns}{subsubsection*.526}{}}
\@writefile{toc}{\contentsline {subsubsection}{Matching objects of dependent types}{115}{subsubsection*.527}\protected@file@percent }
\newlabel{language/extensions/match:matching-objects-of-dependent-types}{{2.2.3}{115}{Matching objects of dependent types}{subsubsection*.527}{}}
\newlabel{language/extensions/match:matching-dependent}{{2.2.3}{115}{Matching objects of dependent types}{subsubsection*.527}{}}
\@writefile{toc}{\contentsline {subsubsection}{Understanding dependencies in patterns}{115}{subsubsection*.528}\protected@file@percent }
\newlabel{language/extensions/match:understanding-dependencies-in-patterns}{{2.2.3}{115}{Understanding dependencies in patterns}{subsubsection*.528}{}}
\@writefile{toc}{\contentsline {subsubsection}{When the elimination predicate must be provided}{116}{subsubsection*.529}\protected@file@percent }
\newlabel{language/extensions/match:when-the-elimination-predicate-must-be-provided}{{2.2.3}{116}{When the elimination predicate must be provided}{subsubsection*.529}{}}
\@writefile{toc}{\contentsline {paragraph}{Dependent pattern matching}{116}{paragraph*.530}\protected@file@percent }
\newlabel{language/extensions/match:dependent-pattern-matching}{{2.2.3}{116}{Dependent pattern matching}{paragraph*.530}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple dependent pattern matching}{116}{paragraph*.531}\protected@file@percent }
\newlabel{language/extensions/match:multiple-dependent-pattern-matching}{{2.2.3}{116}{Multiple dependent pattern matching}{paragraph*.531}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{117}{paragraph*.532}\protected@file@percent }
\newlabel{language/extensions/match:patterns-in-in}{{2.2.3}{117}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.532}{}}
\newlabel{language/extensions/match:match-in-patterns}{{2.2.3}{117}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.532}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using pattern matching to write proofs}{117}{subsubsection*.533}\protected@file@percent }
\newlabel{language/extensions/match:using-pattern-matching-to-write-proofs}{{2.2.3}{117}{Using pattern matching to write proofs}{subsubsection*.533}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{118}{subsubsection*.534}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-inductive-objects-involving-local-definitions}{{2.2.3}{118}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{subsubsection*.534}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching and coercions}{118}{subsubsection*.535}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-and-coercions}{{2.2.3}{118}{Pattern\sphinxhyphen {}matching and coercions}{subsubsection*.535}{}}
\@writefile{toc}{\contentsline {subsubsection}{When does the expansion strategy fail?}{119}{subsubsection*.536}\protected@file@percent }
\newlabel{language/extensions/match:when-does-the-expansion-strategy-fail}{{2.2.3}{119}{When does the expansion strategy fail?}{subsubsection*.536}{}}
\newlabel{language/extensions/match:coq:exn.The-constructor-_u2018ident_u2019-expects-_u2018natural_u2019-arguments}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.537}{}}
\newlabel{language/extensions/match:coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.538}{}}
\newlabel{language/extensions/match:coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.539}{}}
\newlabel{language/extensions/match:coq:exn.Non-exhaustive-pattern-matching}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.540}{}}
\newlabel{language/extensions/match:coq:exn.The-elimination-predicate-term-should-be-of-arity-_u2018natural_u2019-(for-non-dependent-case)-or-_u2018natural_u2019-(for-dependent-case)}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.541}{}}
\newlabel{language/extensions/match:coq:exn.Unable-to-infer-a-match-predicate}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.542}{}}
\newlabel{language/extensions/match:coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies}{{2.2.3}{119}{When does the expansion strategy fail?}{section*.543}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Syntax extensions and notation scopes}{119}{subsection.2.2.4}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax-extensions-and-notation-scopes}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions:id1}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions::doc}{{2.2.4}{119}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{120}{subsubsection*.544}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations}{{2.2.4}{120}{Notations}{subsubsection*.544}{}}
\newlabel{user-extensions/syntax-extensions:id2}{{2.2.4}{120}{Notations}{subsubsection*.544}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic notations}{120}{paragraph*.545}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:basic-notations}{{2.2.4}{120}{Basic notations}{paragraph*.545}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Notation}{{2.2.4}{120}{Basic notations}{section*.546}{}}
\@writefile{toc}{\contentsline {paragraph}{Precedences and associativity}{120}{paragraph*.547}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:precedences-and-associativity}{{2.2.4}{120}{Precedences and associativity}{paragraph*.547}{}}
\@writefile{toc}{\contentsline {paragraph}{Complex notations}{121}{paragraph*.548}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:complex-notations}{{2.2.4}{121}{Complex notations}{paragraph*.548}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple factorization rules}{122}{paragraph*.549}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simple-factorization-rules}{{2.2.4}{122}{Simple factorization rules}{paragraph*.549}{}}
\@writefile{toc}{\contentsline {paragraph}{Use of notations for printing}{122}{paragraph*.550}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:use-of-notations-for-printing}{{2.2.4}{122}{Use of notations for printing}{paragraph*.550}{}}
\@writefile{toc}{\contentsline {paragraph}{The Infix command}{124}{paragraph*.551}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-infix-command}{{2.2.4}{124}{The Infix command}{paragraph*.551}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Infix}{{2.2.4}{124}{The Infix command}{section*.552}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserving notations}{124}{paragraph*.553}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:reserving-notations}{{2.2.4}{124}{Reserving notations}{paragraph*.553}{}}
\newlabel{user-extensions/syntax-extensions:reservingnotations}{{2.2.4}{124}{Reserving notations}{paragraph*.553}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Reserved-Notation}{{2.2.4}{124}{Reserving notations}{section*.554}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Reserved-Infix}{{2.2.4}{125}{Reserving notations}{section*.555}{}}
\@writefile{toc}{\contentsline {paragraph}{Simultaneous definition of terms and notations}{125}{paragraph*.556}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simultaneous-definition-of-terms-and-notations}{{2.2.4}{125}{Simultaneous definition of terms and notations}{paragraph*.556}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl_notations}{{2.2.4}{125}{Simultaneous definition of terms and notations}{section*.557}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl_notation}{{2.2.4}{125}{Simultaneous definition of terms and notations}{section*.558}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about notations}{125}{paragraph*.559}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-notations}{{2.2.4}{125}{Displaying information about notations}{paragraph*.559}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.Printing-Notations}{{2.2.4}{125}{Displaying information about notations}{section*.560}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.Printing-Parentheses}{{2.2.4}{125}{Displaying information about notations}{section*.561}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Grammar}{{2.2.4}{125}{Displaying information about notations}{section*.562}{}}
\@writefile{toc}{\contentsline {paragraph}{Locating notations}{127}{paragraph*.563}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:locating-notations}{{2.2.4}{127}{Locating notations}{paragraph*.563}{}}
\newlabel{user-extensions/syntax-extensions:id5}{{2.2.4}{127}{Locating notations}{paragraph*.563}{}}
\@writefile{toc}{\contentsline {paragraph}{Inheritance of the properties of arguments of constants bound to a notation}{128}{paragraph*.564}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:inheritance-of-the-properties-of-arguments-of-constants-bound-to-a-notation}{{2.2.4}{128}{Inheritance of the properties of arguments of constants bound to a notation}{paragraph*.564}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations and binders}{128}{paragraph*.565}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-and-binders}{{2.2.4}{128}{Notations and binders}{paragraph*.565}{}}
\newlabel{user-extensions/syntax-extensions:id6}{{2.2.4}{128}{Notations and binders}{paragraph*.565}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as identifiers}{128}{subparagraph*.566}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-identifiers}{{2.2.4}{128}{Binders bound in the notation and parsed as identifiers}{subparagraph*.566}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as patterns}{128}{subparagraph*.567}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-patterns}{{2.2.4}{128}{Binders bound in the notation and parsed as patterns}{subparagraph*.567}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as terms}{129}{subparagraph*.568}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-terms}{{2.2.4}{129}{Binders bound in the notation and parsed as terms}{subparagraph*.568}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as general binders}{130}{subparagraph*.569}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-general-binders}{{2.2.4}{130}{Binders bound in the notation and parsed as general binders}{subparagraph*.569}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders not bound in the notation}{130}{subparagraph*.570}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-not-bound-in-the-notation}{{2.2.4}{130}{Binders not bound in the notation}{subparagraph*.570}{}}
\newlabel{user-extensions/syntax-extensions:notationswithbinders}{{2.2.4}{130}{Binders not bound in the notation}{subparagraph*.570}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations with expressions used both as binder and term}{130}{subparagraph*.571}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-expressions-used-both-as-binder-and-term}{{2.2.4}{130}{Notations with expressions used both as binder and term}{subparagraph*.571}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns}{131}{paragraph*.572}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns}{{2.2.4}{131}{Notations with recursive patterns}{paragraph*.572}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotations}{{2.2.4}{131}{Notations with recursive patterns}{paragraph*.572}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns involving binders}{132}{paragraph*.573}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns-involving-binders}{{2.2.4}{132}{Notations with recursive patterns involving binders}{paragraph*.573}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotationswithbinders}{{2.2.4}{132}{Notations with recursive patterns involving binders}{paragraph*.573}{}}
\@writefile{toc}{\contentsline {paragraph}{Predefined entries}{133}{paragraph*.574}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:predefined-entries}{{2.2.4}{133}{Predefined entries}{paragraph*.574}{}}
\@writefile{toc}{\contentsline {paragraph}{Custom entries}{133}{paragraph*.575}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:custom-entries}{{2.2.4}{133}{Custom entries}{paragraph*.575}{}}
\newlabel{user-extensions/syntax-extensions:id7}{{2.2.4}{133}{Custom entries}{paragraph*.575}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Declare-Custom-Entry}{{2.2.4}{133}{Custom entries}{section*.576}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Custom-Grammar}{{2.2.4}{135}{Custom entries}{section*.577}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{136}{paragraph*.578}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax}{{2.2.4}{136}{Syntax}{paragraph*.578}{}}
\newlabel{user-extensions/syntax-extensions:notationsyntax}{{2.2.4}{136}{Syntax}{paragraph*.578}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-syntax_modifier}{{2.2.4}{136}{Syntax}{section*.579}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-explicit_subentry}{{2.2.4}{136}{Syntax}{section*.580}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-binder_interp}{{2.2.4}{136}{Syntax}{section*.581}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-level}{{2.2.4}{136}{Syntax}{section*.582}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.Use-of-_u2018string_u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax}{{2.2.4}{136}{Syntax}{section*.583}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation scopes}{137}{subsubsection*.584}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes}{{2.2.4}{137}{Notation scopes}{subsubsection*.584}{}}
\newlabel{user-extensions/syntax-extensions:scopes}{{2.2.4}{137}{Notation scopes}{subsubsection*.584}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope}{{2.2.4}{137}{Notation scopes}{section*.585}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope_name}{{2.2.4}{137}{Notation scopes}{section*.586}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope_key}{{2.2.4}{137}{Notation scopes}{section*.587}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Declare-Scope}{{2.2.4}{137}{Notation scopes}{section*.588}{}}
\@writefile{toc}{\contentsline {paragraph}{Global interpretation rules for notations}{137}{paragraph*.589}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:global-interpretation-rules-for-notations}{{2.2.4}{137}{Global interpretation rules for notations}{paragraph*.589}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Open-Scope}{{2.2.4}{137}{Global interpretation rules for notations}{section*.590}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Close-Scope}{{2.2.4}{137}{Global interpretation rules for notations}{section*.591}{}}
\@writefile{toc}{\contentsline {paragraph}{Local interpretation rules for notations}{138}{paragraph*.592}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:local-interpretation-rules-for-notations}{{2.2.4}{138}{Local interpretation rules for notations}{paragraph*.592}{}}
\newlabel{user-extensions/syntax-extensions:localinterpretationrulesfornotations}{{2.2.4}{138}{Local interpretation rules for notations}{paragraph*.592}{}}
\@writefile{toc}{\contentsline {subparagraph}{Opening a notation scope locally}{138}{subparagraph*.593}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:opening-a-notation-scope-locally}{{2.2.4}{138}{Opening a notation scope locally}{subparagraph*.593}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-term_scope}{{2.2.4}{138}{Opening a notation scope locally}{section*.594}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Delimit-Scope}{{2.2.4}{138}{Opening a notation scope locally}{section*.595}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Undelimit-Scope}{{2.2.4}{138}{Opening a notation scope locally}{section*.596}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binding types or coercion classes to a notation scope}{138}{subparagraph*.597}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binding-types-or-coercion-classes-to-a-notation-scope}{{2.2.4}{138}{Binding types or coercion classes to a notation scope}{subparagraph*.597}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Bind-Scope}{{2.2.4}{138}{Binding types or coercion classes to a notation scope}{section*.598}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{139}{paragraph*.599}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-type-scope-notation-scope}{{2.2.4}{139}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{paragraph*.599}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{139}{paragraph*.600}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-function-scope-notation-scope}{{2.2.4}{139}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{paragraph*.600}{}}
\@writefile{toc}{\contentsline {paragraph}{Notation scopes used in the standard library of Coq}{139}{paragraph*.601}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes-used-in-the-standard-library-of-coq}{{2.2.4}{139}{Notation scopes used in the standard library of Coq}{paragraph*.601}{}}
\newlabel{user-extensions/syntax-extensions:id8}{{2.2.4}{139}{Notation scopes used in the standard library of Coq}{paragraph*.601}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about scopes}{140}{paragraph*.602}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-scopes}{{2.2.4}{140}{Displaying information about scopes}{paragraph*.602}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Visibility}{{2.2.4}{140}{Displaying information about scopes}{section*.603}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Scopes}{{2.2.4}{140}{Displaying information about scopes}{section*.604}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Scope}{{2.2.4}{140}{Displaying information about scopes}{section*.605}{}}
\@writefile{toc}{\contentsline {subsubsection}{Abbreviations}{140}{subsubsection*.606}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:abbreviations}{{2.2.4}{140}{Abbreviations}{subsubsection*.606}{}}
\newlabel{user-extensions/syntax-extensions:id9}{{2.2.4}{140}{Abbreviations}{subsubsection*.606}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Notation-(abbreviation)}{{2.2.4}{140}{Abbreviations}{section*.607}{}}
\@writefile{toc}{\contentsline {subsubsection}{Numbers and strings}{141}{subsubsection*.608}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:numbers-and-strings}{{2.2.4}{141}{Numbers and strings}{subsubsection*.608}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-primitive_notations}{{2.2.4}{141}{Numbers and strings}{section*.609}{}}
\@writefile{toc}{\contentsline {paragraph}{Number notations}{142}{paragraph*.610}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:number-notations}{{2.2.4}{142}{Number notations}{paragraph*.610}{}}
\newlabel{user-extensions/syntax-extensions:id10}{{2.2.4}{142}{Number notations}{paragraph*.610}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Number-Notation}{{2.2.4}{142}{Number notations}{section*.611}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-number_modifier}{{2.2.4}{142}{Number notations}{section*.612}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-number_string_via}{{2.2.4}{142}{Number notations}{section*.613}{}}
\newlabel{user-extensions/syntax-extensions:number-string-via}{{2.2.4}{142}{Number notations}{section*.614}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.Stack-overflow-or-segmentation-fault-happens-when-working-with-large-numbers-in-_u2018type_u2019-(threshold-may-vary-depending-on-your-system-limits-and-on-the-command-executed)}{{2.2.4}{143}{Number notations}{section*.615}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.To-avoid-stack-overflow,-large-numbers-in-_u2018type_u2019-are-interpreted-as-applications-of-_u2018qualid_u2019}{{2.2.4}{143}{Number notations}{section*.616}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.The-'abstract-after'-directive-has-no-effect-when-the-parsing-function-(_u2018qualid_u2019)-targets-an-option-type}{{2.2.4}{143}{Number notations}{section*.617}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.'via'-and-'abstract'-cannot-be-used-together}{{2.2.4}{143}{Number notations}{section*.618}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Cannot-interpret-this-number-as-a-value-of-type-_u2018type_u2019}{{2.2.4}{143}{Number notations}{section*.619}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.int63-are-only-non-negative-numbers}{{2.2.4}{144}{Number notations}{section*.620}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.overflow-in-int63-literal-_u2018bigint_u2019}{{2.2.4}{144}{Number notations}{section*.621}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-should-go-from-Number.int-to-_u2018type_u2019-or-(option-_u2018type_u2019).-Instead-of-Number.int,-the-types-Number.uint-or-Z-or-Int63.int-or-Number.number-could-be-used-(you-may-need-to-require-BinNums-or-Number-or-Int63-first)}{{2.2.4}{144}{Number notations}{section*.622}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-should-go-from-_u2018type_u2019-to-Number.int-or-(option-Number.int).-Instead-of-Number.int,-the-types-Number.uint-or-Z-or-Int63.int-or-Number.number-could-be-used-(you-may-need-to-require-BinNums-or-Number-or-Int63-first)}{{2.2.4}{144}{Number notations}{section*.623}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-term-_u2018term_u2019-while-parsing-a-number-notation}{{2.2.4}{144}{Number notations}{section*.624}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-non-option-term-_u2018term_u2019-while-parsing-a-number-notation}{{2.2.4}{144}{Number notations}{section*.625}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Multiple-'via'-options}{{2.2.4}{144}{Number notations}{section*.626}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Multiple-'warning-after'-or-'abstract-after'-options}{{2.2.4}{144}{Number notations}{section*.627}{}}
\@writefile{toc}{\contentsline {paragraph}{String notations}{144}{paragraph*.628}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:string-notations}{{2.2.4}{144}{String notations}{paragraph*.628}{}}
\newlabel{user-extensions/syntax-extensions:id11}{{2.2.4}{144}{String notations}{paragraph*.628}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.String-Notation}{{2.2.4}{144}{String notations}{section*.629}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Cannot-interpret-this-string-as-a-value-of-type-_u2018type_u2019}{{2.2.4}{145}{String notations}{section*.630}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-should-go-from-Byte.byte-or-(list-Byte.byte)-to-_u2018type_u2019-or-(option-_u2018type_u2019)}{{2.2.4}{145}{String notations}{section*.631}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-should-go-from-_u2018type_u2019-to-Byte.byte-or-(option-Byte.byte)-or-(list-Byte.byte)-or-(option-(list-Byte.byte))}{{2.2.4}{145}{String notations}{section*.632}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-term-_u2018term_u2019-while-parsing-a-string-notation}{{2.2.4}{145}{String notations}{section*.633}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-non-option-term-_u2018term_u2019-while-parsing-a-string-notation}{{2.2.4}{145}{String notations}{section*.634}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018type_u2019-is-not-an-inductive-type}{{2.2.4}{145}{String notations}{section*.635}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-was-already-mapped-to-_u2018qualid_u2019-and-cannot-be-remapped-to-_u2018qualid_u2019}{{2.2.4}{145}{String notations}{section*.636}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Missing-mapping-for-constructor-_u2018qualid_u2019}{{2.2.4}{145}{String notations}{section*.637}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn._u2018type_u2019-was-already-mapped-to-_u2018type_u2019,-mapping-it-also-to-_u2018type_u2019-might-yield-ill-typed-terms-when-using-the-notation}{{2.2.4}{145}{String notations}{section*.638}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.Type-of-_u2018qualid_u2019-seems-incompatible-with-the-type-of-_u2018qualid_u2019.-Expected-type-is:-_u2018type_u2019-instead-of-_u2018type_u2019.-This-might-yield-ill-typed-terms-when-using-the-notation}{{2.2.4}{145}{String notations}{section*.639}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Cannot-interpret-in-_u2018scope_name_u2019-because-_u2018qualid_u2019-could-not-be-found-in-the-current-environment}{{2.2.4}{145}{String notations}{section*.640}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Syntax-error:-_prim:reference_-expected-after-'Notation'-(in-_vernac:command_)}{{2.2.4}{145}{String notations}{section*.641}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Syntax-error:-_prim:reference_-expected-after-_prim:reference_-(in-_vernac:command_)}{{2.2.4}{145}{String notations}{section*.642}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-is-bound-to-a-notation-that-does-not-denote-a-reference}{{2.2.4}{146}{String notations}{section*.643}{}}
\newlabel{user-extensions/syntax-extensions:example-number-notation-non-inductive}{{2.2.4}{147}{String notations}{section*.644}{}}
\newlabel{user-extensions/syntax-extensions:example-number-notation-implicit-args}{{2.2.4}{148}{String notations}{section*.645}{}}
\newlabel{user-extensions/syntax-extensions:example-string-notation-parameterized-inductive}{{2.2.4}{148}{String notations}{section*.646}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic Notations}{149}{subsubsection*.647}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:tactic-notations}{{2.2.4}{149}{Tactic Notations}{subsubsection*.647}{}}
\newlabel{user-extensions/syntax-extensions:tacticnotation}{{2.2.4}{149}{Tactic Notations}{subsubsection*.647}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Tactic-Notation}{{2.2.4}{149}{Tactic Notations}{section*.648}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-ltac_production_item}{{2.2.4}{149}{Tactic Notations}{section*.649}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.5}Setting properties of a function's arguments}{150}{subsection.2.2.5}\protected@file@percent }
\newlabel{language/extensions/arguments-command:setting-properties-of-a-function-s-arguments}{{2.2.5}{150}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:argumentscommand}{{2.2.5}{150}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command::doc}{{2.2.5}{150}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:coq:cmd.Arguments}{{2.2.5}{150}{Setting properties of a function's arguments}{section*.650}{}}
\newlabel{language/extensions/arguments-command:grammar-token-argument_spec}{{2.2.5}{150}{Setting properties of a function's arguments}{section*.651}{}}
\newlabel{language/extensions/arguments-command:grammar-token-arg_specs}{{2.2.5}{150}{Setting properties of a function's arguments}{section*.652}{}}
\newlabel{language/extensions/arguments-command:grammar-token-implicits_alt}{{2.2.5}{150}{Setting properties of a function's arguments}{section*.653}{}}
\newlabel{language/extensions/arguments-command:grammar-token-args_modifier}{{2.2.5}{150}{Setting properties of a function's arguments}{section*.654}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-/-modifier-may-only-occur-once}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.655}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-_-modifier-may-only-occur-once}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.656}{}}
\newlabel{language/extensions/arguments-command:coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.657}{}}
\newlabel{language/extensions/arguments-command:coq:exn.Flag-'rename'-expected-to-rename-_u2018name_u2019-into-_u2018name_u2019}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.658}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.659}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations}{{2.2.5}{151}{Setting properties of a function's arguments}{section*.660}{}}
\newlabel{language/extensions/arguments-command:coq:warn.This-command-is-just-asserting-the-names-of-arguments-of-_u2018qualid_u2019.-If-this-is-what-you-want,-add-':-assert'-to-silence-the-warning.-If-you-want-to-clear-implicit-arguments,-add-':-clear-implicits'.-If-you-want-to-clear-notation-scopes,-add-':-clear-scopes'}{{2.2.5}{152}{Setting properties of a function's arguments}{section*.661}{}}
\@writefile{toc}{\contentsline {subsubsection}{Manual declaration of implicit arguments}{152}{subsubsection*.662}\protected@file@percent }
\newlabel{language/extensions/arguments-command:manual-declaration-of-implicit-arguments}{{2.2.5}{152}{Manual declaration of implicit arguments}{subsubsection*.662}{}}
\newlabel{language/extensions/arguments-command:example-more-implicits}{{2.2.5}{153}{Manual declaration of implicit arguments}{section*.663}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic declaration of implicit arguments}{153}{subsubsection*.664}\protected@file@percent }
\newlabel{language/extensions/arguments-command:automatic-declaration-of-implicit-arguments}{{2.2.5}{153}{Automatic declaration of implicit arguments}{subsubsection*.664}{}}
\newlabel{language/extensions/arguments-command:auto-decl-implicit-args}{{2.2.5}{153}{Automatic declaration of implicit arguments}{subsubsection*.664}{}}
\@writefile{toc}{\contentsline {subsubsection}{Renaming implicit arguments}{155}{subsubsection*.665}\protected@file@percent }
\newlabel{language/extensions/arguments-command:renaming-implicit-arguments}{{2.2.5}{155}{Renaming implicit arguments}{subsubsection*.665}{}}
\newlabel{language/extensions/arguments-command:id1}{{2.2.5}{155}{Renaming implicit arguments}{subsubsection*.665}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding arguments to a scope}{155}{subsubsection*.666}\protected@file@percent }
\newlabel{language/extensions/arguments-command:binding-arguments-to-a-scope}{{2.2.5}{155}{Binding arguments to a scope}{subsubsection*.666}{}}
\newlabel{language/extensions/arguments-command:binding-to-scope}{{2.2.5}{155}{Binding arguments to a scope}{subsubsection*.666}{}}
\@writefile{toc}{\contentsline {subsubsection}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{156}{subsubsection*.667}\protected@file@percent }
\newlabel{language/extensions/arguments-command:effects-of-arguments-on-unfolding}{{2.2.5}{156}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.667}{}}
\newlabel{language/extensions/arguments-command:args-effect-on-unfolding}{{2.2.5}{156}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.667}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bidirectionality hints}{157}{subsubsection*.668}\protected@file@percent }
\newlabel{language/extensions/arguments-command:bidirectionality-hints}{{2.2.5}{157}{Bidirectionality hints}{subsubsection*.668}{}}
\newlabel{language/extensions/arguments-command:id2}{{2.2.5}{157}{Bidirectionality hints}{subsubsection*.668}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.6}Implicit Coercions}{158}{subsection.2.2.6}\protected@file@percent }
\newlabel{addendum/implicit-coercions:implicit-coercions}{{2.2.6}{158}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions:coercions}{{2.2.6}{158}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions::doc}{{2.2.6}{158}{Implicit Coercions}{subsection.2.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{158}{subsubsection*.669}\protected@file@percent }
\newlabel{addendum/implicit-coercions:general-presentation}{{2.2.6}{158}{General Presentation}{subsubsection*.669}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes}{158}{subsubsection*.670}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes}{{2.2.6}{158}{Classes}{subsubsection*.670}{}}
\newlabel{addendum/implicit-coercions:grammar-token-class}{{2.2.6}{158}{Classes}{section*.671}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions}{159}{subsubsection*.672}\protected@file@percent }
\newlabel{addendum/implicit-coercions:id1}{{2.2.6}{159}{Coercions}{subsubsection*.672}{}}
\@writefile{toc}{\contentsline {subsubsection}{Identity Coercions}{159}{subsubsection*.673}\protected@file@percent }
\newlabel{addendum/implicit-coercions:identity-coercions}{{2.2.6}{159}{Identity Coercions}{subsubsection*.673}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inheritance Graph}{159}{subsubsection*.674}\protected@file@percent }
\newlabel{addendum/implicit-coercions:inheritance-graph}{{2.2.6}{159}{Inheritance Graph}{subsubsection*.674}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaring Coercions}{160}{subsubsection*.675}\protected@file@percent }
\newlabel{addendum/implicit-coercions:declaring-coercions}{{2.2.6}{160}{Declaring Coercions}{subsubsection*.675}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Coercion}{{2.2.6}{160}{Declaring Coercions}{section*.676}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-not-declared}{{2.2.6}{160}{Declaring Coercions}{section*.677}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-is-already-a-coercion}{{2.2.6}{160}{Declaring Coercions}{section*.678}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Funclass-cannot-be-a-source-class}{{2.2.6}{160}{Declaring Coercions}{section*.679}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-is-not-a-function}{{2.2.6}{160}{Declaring Coercions}{section*.680}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Cannot-find-the-source-class-of-_u2018qualid_u2019}{{2.2.6}{160}{Declaring Coercions}{section*.681}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Cannot-recognize-_u2018class_u2019-as-a-source-class-of-_u2018qualid_u2019}{{2.2.6}{160}{Declaring Coercions}{section*.682}{}}
\newlabel{addendum/implicit-coercions:coq:warn._u2018qualid_u2019-does-not-respect-the-uniform-inheritance-condition}{{2.2.6}{160}{Declaring Coercions}{section*.683}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Found-target-class-...-instead-of-...}{{2.2.6}{160}{Declaring Coercions}{section*.684}{}}
\newlabel{addendum/implicit-coercions:coq:warn.New-coercion-path-...-is-ambiguous-with-existing-...}{{2.2.6}{160}{Declaring Coercions}{section*.685}{}}
\newlabel{addendum/implicit-coercions:coq:warn....-is-not-definitionally-an-identity-function}{{2.2.6}{160}{Declaring Coercions}{section*.686}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Identity-Coercion}{{2.2.6}{160}{Declaring Coercions}{section*.687}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018class_u2019-must-be-a-transparent-constant}{{2.2.6}{160}{Declaring Coercions}{section*.688}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.SubClass}{{2.2.6}{160}{Declaring Coercions}{section*.689}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying Available Coercions}{161}{subsubsection*.690}\protected@file@percent }
\newlabel{addendum/implicit-coercions:displaying-available-coercions}{{2.2.6}{161}{Displaying Available Coercions}{subsubsection*.690}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Classes}{{2.2.6}{161}{Displaying Available Coercions}{section*.691}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Coercions}{{2.2.6}{161}{Displaying Available Coercions}{section*.692}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Graph}{{2.2.6}{161}{Displaying Available Coercions}{section*.693}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Coercion-Paths}{{2.2.6}{161}{Displaying Available Coercions}{section*.694}{}}
\@writefile{toc}{\contentsline {subsubsection}{Activating the Printing of Coercions}{161}{subsubsection*.695}\protected@file@percent }
\newlabel{addendum/implicit-coercions:activating-the-printing-of-coercions}{{2.2.6}{161}{Activating the Printing of Coercions}{subsubsection*.695}{}}
\newlabel{addendum/implicit-coercions:coq:flag.Printing-Coercions}{{2.2.6}{161}{Activating the Printing of Coercions}{section*.696}{}}
\newlabel{addendum/implicit-coercions:coq:table.Printing-Coercion}{{2.2.6}{161}{Activating the Printing of Coercions}{section*.697}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes as Records}{161}{subsubsection*.698}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes-as-records}{{2.2.6}{161}{Classes as Records}{subsubsection*.698}{}}
\newlabel{addendum/implicit-coercions:coercions-classes-as-records}{{2.2.6}{161}{Classes as Records}{subsubsection*.698}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Sections}{161}{subsubsection*.699}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-sections}{{2.2.6}{161}{Coercions and Sections}{subsubsection*.699}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Modules}{161}{subsubsection*.700}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-modules}{{2.2.6}{161}{Coercions and Modules}{subsubsection*.700}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples}{162}{subsubsection*.701}\protected@file@percent }
\newlabel{addendum/implicit-coercions:examples}{{2.2.6}{162}{Examples}{subsubsection*.701}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion at function application}{162}{paragraph*.702}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-at-function-application}{{2.2.6}{162}{Coercion at function application}{paragraph*.702}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a type}{164}{paragraph*.703}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-type}{{2.2.6}{164}{Coercion to a type}{paragraph*.703}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a function}{165}{paragraph*.704}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-function}{{2.2.6}{165}{Coercion to a function}{paragraph*.704}{}}
\citation{zebibliography:id49}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.7}Typeclasses}{166}{subsection.2.2.7}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses}{{2.2.7}{166}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes:id1}{{2.2.7}{166}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes::doc}{{2.2.7}{166}{Typeclasses}{subsection.2.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Class and Instance declarations}{166}{subsubsection*.705}\protected@file@percent }
\newlabel{addendum/type-classes:class-and-instance-declarations}{{2.2.7}{166}{Class and Instance declarations}{subsubsection*.705}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding classes}{167}{subsubsection*.706}\protected@file@percent }
\newlabel{addendum/type-classes:binding-classes}{{2.2.7}{167}{Binding classes}{subsubsection*.706}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parameterized Instances}{168}{subsubsection*.707}\protected@file@percent }
\newlabel{addendum/type-classes:parameterized-instances}{{2.2.7}{168}{Parameterized Instances}{subsubsection*.707}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sections and contexts}{168}{subsubsection*.708}\protected@file@percent }
\newlabel{addendum/type-classes:sections-and-contexts}{{2.2.7}{168}{Sections and contexts}{subsubsection*.708}{}}
\newlabel{addendum/type-classes:contexts}{{2.2.7}{168}{Sections and contexts}{subsubsection*.708}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building hierarchies}{169}{subsubsection*.709}\protected@file@percent }
\newlabel{addendum/type-classes:building-hierarchies}{{2.2.7}{169}{Building hierarchies}{subsubsection*.709}{}}
\@writefile{toc}{\contentsline {paragraph}{Superclasses}{169}{paragraph*.710}\protected@file@percent }
\newlabel{addendum/type-classes:superclasses}{{2.2.7}{169}{Superclasses}{paragraph*.710}{}}
\newlabel{addendum/type-classes:id3}{{2.2.7}{169}{Superclasses}{paragraph*.710}{}}
\@writefile{toc}{\contentsline {paragraph}{Substructures}{169}{paragraph*.711}\protected@file@percent }
\newlabel{addendum/type-classes:substructures}{{2.2.7}{169}{Substructures}{paragraph*.711}{}}
\newlabel{addendum/type-classes:coq:warn.Ignored-instance-declaration-for-_u201c_u2018ident_u2019_u201d:-_u201c_u2018term_u2019_u201d-is-not-a-class}{{2.2.7}{170}{Substructures}{section*.712}{}}
\@writefile{toc}{\contentsline {subsubsection}{Summary of the commands}{170}{subsubsection*.713}\protected@file@percent }
\newlabel{addendum/type-classes:summary-of-the-commands}{{2.2.7}{170}{Summary of the commands}{subsubsection*.713}{}}
\newlabel{addendum/type-classes:coq:cmd.Class}{{2.2.7}{170}{Summary of the commands}{section*.714}{}}
\newlabel{addendum/type-classes:grammar-token-singleton_class_definition}{{2.2.7}{170}{Summary of the commands}{section*.715}{}}
\newlabel{addendum/type-classes:singleton-class}{{2.2.7}{170}{Summary of the commands}{section*.716}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Class}{{2.2.7}{170}{Summary of the commands}{section*.717}{}}
\newlabel{addendum/type-classes:coq:warn._u2018ident_u2019-is-already-declared-as-a-typeclass}{{2.2.7}{170}{Summary of the commands}{section*.718}{}}
\newlabel{addendum/type-classes:coq:cmd.Instance}{{2.2.7}{170}{Summary of the commands}{section*.719}{}}
\newlabel{addendum/type-classes:coq:attr.refine}{{2.2.7}{170}{Summary of the commands}{section*.720}{}}
\newlabel{addendum/type-classes:coq:cmd.Declare-Instance}{{2.2.7}{170}{Summary of the commands}{section*.721}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Instance}{{2.2.7}{171}{Summary of the commands}{section*.722}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Instances}{{2.2.7}{171}{Summary of the commands}{section*.723}{}}
\newlabel{addendum/type-classes:coq:flag.Instance-Generalized-Output}{{2.2.7}{171}{Summary of the commands}{section*.724}{}}
\newlabel{addendum/type-classes:coq:cmd.Print-Instances}{{2.2.7}{171}{Summary of the commands}{section*.725}{}}
\newlabel{addendum/type-classes:coq:tacn.typeclasses-eauto}{{2.2.7}{171}{Summary of the commands}{section*.726}{}}
\newlabel{addendum/type-classes:coq:tacn.autoapply}{{2.2.7}{172}{Summary of the commands}{section*.727}{}}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses Transparent, Typeclasses Opaque}{172}{paragraph*.728}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-transparent-typeclasses-opaque}{{2.2.7}{172}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.728}{}}
\newlabel{addendum/type-classes:typeclassestransparent}{{2.2.7}{172}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.728}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-Transparent}{{2.2.7}{172}{Typeclasses Transparent, Typeclasses Opaque}{section*.729}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-Opaque}{{2.2.7}{172}{Typeclasses Transparent, Typeclasses Opaque}{section*.730}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{172}{paragraph*.731}\protected@file@percent }
\newlabel{addendum/type-classes:settings}{{2.2.7}{172}{Settings}{paragraph*.731}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Dependency-Order}{{2.2.7}{172}{Settings}{section*.732}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Filtered-Unification}{{2.2.7}{172}{Settings}{section*.733}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Limit-Intros}{{2.2.7}{173}{Settings}{section*.734}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclass-Resolution-For-Conversion}{{2.2.7}{173}{Settings}{section*.735}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Strict-Resolution}{{2.2.7}{173}{Settings}{section*.736}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Unique-Solutions}{{2.2.7}{173}{Settings}{section*.737}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Unique-Instances}{{2.2.7}{173}{Settings}{section*.738}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Iterative-Deepening}{{2.2.7}{173}{Settings}{section*.739}{}}
\newlabel{addendum/type-classes:coq:opt.Typeclasses-Depth}{{2.2.7}{173}{Settings}{section*.740}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Debug}{{2.2.7}{173}{Settings}{section*.741}{}}
\newlabel{addendum/type-classes:coq:opt.Typeclasses-Debug-Verbosity}{{2.2.7}{173}{Settings}{section*.742}{}}
\citation{zebibliography:id17}
\citation{zebibliography:id16}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses eauto}{174}{paragraph*.743}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-eauto}{{2.2.7}{174}{Typeclasses eauto}{paragraph*.743}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-eauto}{{2.2.7}{174}{Typeclasses eauto}{section*.744}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.8}Canonical Structures}{174}{subsection.2.2.8}\protected@file@percent }
\newlabel{language/extensions/canonical:canonical-structures}{{2.2.8}{174}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical:canonicalstructures}{{2.2.8}{174}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical::doc}{{2.2.8}{174}{Canonical Structures}{subsection.2.2.8}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of canonical structures}{174}{subsubsection*.745}\protected@file@percent }
\newlabel{language/extensions/canonical:declaration-of-canonical-structures}{{2.2.8}{174}{Declaration of canonical structures}{subsubsection*.745}{}}
\newlabel{language/extensions/canonical:canonical-structure-declaration}{{2.2.8}{174}{Declaration of canonical structures}{subsubsection*.745}{}}
\newlabel{language/extensions/canonical:coq:cmd.Canonical-Structure}{{2.2.8}{174}{Declaration of canonical structures}{section*.746}{}}
\newlabel{language/extensions/canonical:id3}{{2.2.8}{174}{Declaration of canonical structures}{section*.747}{}}
\newlabel{language/extensions/canonical:coq:attr.canonical}{{2.2.8}{175}{Declaration of canonical structures}{section*.748}{}}
\newlabel{language/extensions/canonical:coq:cmd.Print-Canonical-Projections}{{2.2.8}{176}{Declaration of canonical structures}{section*.749}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation overloading}{176}{subsubsection*.750}\protected@file@percent }
\newlabel{language/extensions/canonical:notation-overloading}{{2.2.8}{176}{Notation overloading}{subsubsection*.750}{}}
\@writefile{toc}{\contentsline {paragraph}{Derived Canonical Structures}{178}{paragraph*.751}\protected@file@percent }
\newlabel{language/extensions/canonical:derived-canonical-structures}{{2.2.8}{178}{Derived Canonical Structures}{paragraph*.751}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hierarchy of structures}{178}{subsubsection*.752}\protected@file@percent }
\newlabel{language/extensions/canonical:hierarchy-of-structures}{{2.2.8}{178}{Hierarchy of structures}{subsubsection*.752}{}}
\newlabel{language/extensions/canonical:id4}{{2.2.8}{178}{Hierarchy of structures}{subsubsection*.752}{}}
\@writefile{toc}{\contentsline {paragraph}{Compact declaration of Canonical Structures}{184}{paragraph*.753}\protected@file@percent }
\newlabel{language/extensions/canonical:compact-declaration-of-canonical-structures}{{2.2.8}{184}{Compact declaration of Canonical Structures}{paragraph*.753}{}}
\citation{zebibliography:id17}
\citation{zebibliography:id17}
\citation{zebibliography:id48}
\citation{zebibliography:id47}
\citation{zebibliography:id44}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.9}Program}{186}{subsection.2.2.9}\protected@file@percent }
\newlabel{addendum/program:program}{{2.2.9}{186}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program:programs}{{2.2.9}{186}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program::doc}{{2.2.9}{186}{Program}{subsection.2.2.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Elaborating programs}{186}{subsubsection*.754}\protected@file@percent }
\newlabel{addendum/program:elaborating-programs}{{2.2.9}{186}{Elaborating programs}{subsubsection*.754}{}}
\newlabel{addendum/program:id4}{{2.2.9}{186}{Elaborating programs}{subsubsection*.754}{}}
\newlabel{addendum/program:coq:flag.Program-Cases}{{2.2.9}{187}{Elaborating programs}{section*.755}{}}
\newlabel{addendum/program:coq:flag.Program-Generalized-Coercion}{{2.2.9}{187}{Elaborating programs}{section*.756}{}}
\newlabel{addendum/program:coq:flag.Program-Mode}{{2.2.9}{187}{Elaborating programs}{section*.757}{}}
\newlabel{addendum/program:coq:attr.program}{{2.2.9}{187}{Elaborating programs}{section*.758}{}}
\newlabel{addendum/program:coq:attr.Program}{{2.2.9}{187}{Elaborating programs}{section*.759}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic control over equalities}{187}{paragraph*.760}\protected@file@percent }
\newlabel{addendum/program:syntactic-control-over-equalities}{{2.2.9}{187}{Syntactic control over equalities}{paragraph*.760}{}}
\newlabel{addendum/program:syntactic-control}{{2.2.9}{187}{Syntactic control over equalities}{paragraph*.760}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Definition}{188}{paragraph*.761}\protected@file@percent }
\newlabel{addendum/program:program-definition}{{2.2.9}{188}{Program Definition}{paragraph*.761}{}}
\newlabel{addendum/program:id5}{{2.2.9}{188}{Program Definition}{paragraph*.761}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Fixpoint}{188}{paragraph*.762}\protected@file@percent }
\newlabel{addendum/program:program-fixpoint}{{2.2.9}{188}{Program Fixpoint}{paragraph*.762}{}}
\newlabel{addendum/program:id6}{{2.2.9}{188}{Program Fixpoint}{paragraph*.762}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Lemma}{189}{paragraph*.763}\protected@file@percent }
\newlabel{addendum/program:program-lemma}{{2.2.9}{189}{Program Lemma}{paragraph*.763}{}}
\newlabel{addendum/program:id7}{{2.2.9}{189}{Program Lemma}{paragraph*.763}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving obligations}{189}{subsubsection*.764}\protected@file@percent }
\newlabel{addendum/program:solving-obligations}{{2.2.9}{189}{Solving obligations}{subsubsection*.764}{}}
\newlabel{addendum/program:id8}{{2.2.9}{189}{Solving obligations}{subsubsection*.764}{}}
\newlabel{addendum/program:coq:cmd.Obligation-Tactic}{{2.2.9}{189}{Solving obligations}{section*.765}{}}
\newlabel{addendum/program:coq:cmd.Show-Obligation-Tactic}{{2.2.9}{189}{Solving obligations}{section*.766}{}}
\newlabel{addendum/program:coq:cmd.Obligations}{{2.2.9}{189}{Solving obligations}{section*.767}{}}
\newlabel{addendum/program:coq:cmd.Obligation}{{2.2.9}{190}{Solving obligations}{section*.768}{}}
\newlabel{addendum/program:coq:cmd.Next-Obligation}{{2.2.9}{190}{Solving obligations}{section*.769}{}}
\newlabel{addendum/program:coq:cmd.Solve-Obligations}{{2.2.9}{190}{Solving obligations}{section*.770}{}}
\newlabel{addendum/program:coq:cmd.Solve-All-Obligations}{{2.2.9}{190}{Solving obligations}{section*.771}{}}
\newlabel{addendum/program:coq:cmd.Admit-Obligations}{{2.2.9}{190}{Solving obligations}{section*.772}{}}
\newlabel{addendum/program:coq:cmd.Preterm}{{2.2.9}{190}{Solving obligations}{section*.773}{}}
\newlabel{addendum/program:coq:flag.Transparent-Obligations}{{2.2.9}{190}{Solving obligations}{section*.774}{}}
\newlabel{addendum/program:coq:flag.Hide-Obligations}{{2.2.9}{190}{Solving obligations}{section*.775}{}}
\@writefile{toc}{\contentsline {subsubsection}{Frequently Asked Questions}{190}{subsubsection*.776}\protected@file@percent }
\newlabel{addendum/program:frequently-asked-questions}{{2.2.9}{190}{Frequently Asked Questions}{subsubsection*.776}{}}
\newlabel{addendum/program:program-faq}{{2.2.9}{190}{Frequently Asked Questions}{subsubsection*.776}{}}
\newlabel{addendum/program:coq:exn.Ill-formed-recursive-definition}{{2.2.9}{190}{Frequently Asked Questions}{section*.777}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.10}Commands}{191}{subsection.2.2.10}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:commands}{{2.2.10}{191}{Commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands:vernacularcommands}{{2.2.10}{191}{Commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands::doc}{{2.2.10}{191}{Commands}{subsection.2.2.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying}{191}{subsubsection*.778}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:displaying}{{2.2.10}{191}{Displaying}{subsubsection*.778}{}}
\newlabel{proof-engine/vernacular-commands:id1}{{2.2.10}{191}{Displaying}{subsubsection*.778}{}}
\newlabel{proof-engine/vernacular-commands:print}{{2.2.10}{191}{Displaying}{section*.779}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print}{{2.2.10}{191}{Displaying}{section*.780}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-univ_name_list}{{2.2.10}{191}{Displaying}{section*.781}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn._u2018qualid_u2019-not-a-defined-object}{{2.2.10}{191}{Displaying}{section*.782}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Universe-instance-should-have-length-_u2018natural_u2019}{{2.2.10}{191}{Displaying}{section*.783}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.This-object-does-not-support-universe-names}{{2.2.10}{191}{Displaying}{section*.784}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-All}{{2.2.10}{191}{Displaying}{section*.785}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Inspect}{{2.2.10}{191}{Displaying}{section*.786}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Section}{{2.2.10}{191}{Displaying}{section*.787}{}}
\@writefile{toc}{\contentsline {subsubsection}{Query commands}{191}{subsubsection*.788}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:query-commands}{{2.2.10}{191}{Query commands}{subsubsection*.788}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-query_command}{{2.2.10}{191}{Query commands}{section*.789}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.About}{{2.2.10}{191}{Query commands}{section*.790}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Check}{{2.2.10}{191}{Query commands}{section*.791}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Eval}{{2.2.10}{191}{Query commands}{section*.792}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Compute}{{2.2.10}{192}{Query commands}{section*.793}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Search}{{2.2.10}{192}{Query commands}{section*.794}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search_query}{{2.2.10}{192}{Query commands}{section*.795}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search_item}{{2.2.10}{192}{Query commands}{section*.796}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-logical_kind}{{2.2.10}{193}{Query commands}{section*.797}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Module/section-_u2018qualid_u2019-not-found}{{2.2.10}{193}{Query commands}{section*.798}{}}
\newlabel{proof-engine/vernacular-commands:search-pattern}{{2.2.10}{193}{Query commands}{section*.799}{}}
\newlabel{proof-engine/vernacular-commands:search-part-ident}{{2.2.10}{193}{Query commands}{section*.800}{}}
\newlabel{proof-engine/vernacular-commands:search-by-notation}{{2.2.10}{193}{Query commands}{section*.801}{}}
\newlabel{proof-engine/vernacular-commands:search-disambiguate-notation}{{2.2.10}{194}{Query commands}{section*.802}{}}
\newlabel{proof-engine/vernacular-commands:search-hyp}{{2.2.10}{194}{Query commands}{section*.803}{}}
\newlabel{proof-engine/vernacular-commands:search-concl}{{2.2.10}{195}{Query commands}{section*.804}{}}
\newlabel{proof-engine/vernacular-commands:search-by-keyword}{{2.2.10}{195}{Query commands}{section*.805}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.SearchHead}{{2.2.10}{196}{Query commands}{section*.806}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.SearchPattern}{{2.2.10}{197}{Query commands}{section*.807}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.SearchRewrite}{{2.2.10}{198}{Query commands}{section*.808}{}}
\newlabel{proof-engine/vernacular-commands:coq:table.Search-Blacklist}{{2.2.10}{198}{Query commands}{section*.809}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Search-Output-Name-Only}{{2.2.10}{198}{Query commands}{section*.810}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requests to the environment}{199}{subsubsection*.811}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:requests-to-the-environment}{{2.2.10}{199}{Requests to the environment}{subsubsection*.811}{}}
\newlabel{proof-engine/vernacular-commands:id2}{{2.2.10}{199}{Requests to the environment}{subsubsection*.811}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Assumptions}{{2.2.10}{199}{Requests to the environment}{section*.812}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Opaque-Dependencies}{{2.2.10}{199}{Requests to the environment}{section*.813}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Transparent-Dependencies}{{2.2.10}{199}{Requests to the environment}{section*.814}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-All-Dependencies}{{2.2.10}{199}{Requests to the environment}{section*.815}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate}{{2.2.10}{199}{Requests to the environment}{section*.816}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-reference}{{2.2.10}{199}{Requests to the environment}{section*.817}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Term}{{2.2.10}{199}{Requests to the environment}{section*.818}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Module}{{2.2.10}{199}{Requests to the environment}{section*.819}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Ltac}{{2.2.10}{199}{Requests to the environment}{section*.820}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Library}{{2.2.10}{199}{Requests to the environment}{section*.821}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-File}{{2.2.10}{199}{Requests to the environment}{section*.822}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing flags}{200}{subsubsection*.823}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-flags}{{2.2.10}{200}{Printing flags}{subsubsection*.823}{}}
\newlabel{proof-engine/vernacular-commands:id3}{{2.2.10}{200}{Printing flags}{subsubsection*.823}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Fast-Name-Printing}{{2.2.10}{200}{Printing flags}{section*.824}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loading files}{200}{subsubsection*.825}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loading-files}{{2.2.10}{200}{Loading files}{subsubsection*.825}{}}
\newlabel{proof-engine/vernacular-commands:id4}{{2.2.10}{200}{Loading files}{subsubsection*.825}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Load}{{2.2.10}{200}{Loading files}{section*.826}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Can_u2019t-find-file-_u2018ident_u2019-on-loadpath}{{2.2.10}{200}{Loading files}{section*.827}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Load-is-not-supported-inside-proofs}{{2.2.10}{200}{Loading files}{section*.828}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Files-processed-by-Load-cannot-leave-open-proofs}{{2.2.10}{200}{Loading files}{section*.829}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled files}{200}{subsubsection*.830}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:compiled-files}{{2.2.10}{200}{Compiled files}{subsubsection*.830}{}}
\newlabel{proof-engine/vernacular-commands:id5}{{2.2.10}{200}{Compiled files}{subsubsection*.830}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require}{{2.2.10}{200}{Compiled files}{section*.831}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require-Import}{{2.2.10}{200}{Compiled files}{section*.832}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require-Export}{{2.2.10}{200}{Compiled files}{section*.833}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.From-_u2026-Require}{{2.2.10}{201}{Compiled files}{section*.834}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Cannot-load-_u2018qualid_u2019:-no-physical-path-bound-to-_u2018dirpath_u2019}{{2.2.10}{201}{Compiled files}{section*.835}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Cannot-find-library-foo-in-loadpath}{{2.2.10}{201}{Compiled files}{section*.836}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Compiled-library-_u2018ident_u2019.vo-makes-inconsistent-assumptions-over-library-_u2018qualid_u2019}{{2.2.10}{201}{Compiled files}{section*.837}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Bad-magic-number}{{2.2.10}{201}{Compiled files}{section*.838}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-file-_u2018ident_u2019.vo-contains-library-_u2018qualid_u2019-and-not-library-_u2018qualid_u2019}{{2.2.10}{201}{Compiled files}{section*.839}{}}
\newlabel{proof-engine/vernacular-commands:coq:warn.Require-inside-a-module-is-deprecated-and-strongly-discouraged.-You-can-Require-a-module-at-toplevel-and-optionally-Import-it-inside-another-one}{{2.2.10}{201}{Compiled files}{section*.840}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Libraries}{{2.2.10}{201}{Compiled files}{section*.841}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Declare-ML-Module}{{2.2.10}{201}{Compiled files}{section*.842}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.File-not-found-on-loadpath:-_u2018string_u2019}{{2.2.10}{202}{Compiled files}{section*.843}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-ML-Modules}{{2.2.10}{202}{Compiled files}{section*.844}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loadpath}{202}{subsubsection*.845}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loadpath}{{2.2.10}{202}{Loadpath}{subsubsection*.845}{}}
\newlabel{proof-engine/vernacular-commands:id6}{{2.2.10}{202}{Loadpath}{subsubsection*.845}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Pwd}{{2.2.10}{202}{Loadpath}{section*.846}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Cd}{{2.2.10}{202}{Loadpath}{section*.847}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-LoadPath}{{2.2.10}{202}{Loadpath}{section*.848}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-dirpath}{{2.2.10}{202}{Loadpath}{section*.849}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-Rec-LoadPath}{{2.2.10}{202}{Loadpath}{section*.850}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Remove-LoadPath}{{2.2.10}{202}{Loadpath}{section*.851}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-LoadPath}{{2.2.10}{202}{Loadpath}{section*.852}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-ML-Path}{{2.2.10}{202}{Loadpath}{section*.853}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-ML-Path}{{2.2.10}{202}{Loadpath}{section*.854}{}}
\@writefile{toc}{\contentsline {subsubsection}{Backtracking}{203}{subsubsection*.855}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:backtracking}{{2.2.10}{203}{Backtracking}{subsubsection*.855}{}}
\newlabel{proof-engine/vernacular-commands:backtracking-subsection}{{2.2.10}{203}{Backtracking}{subsubsection*.855}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Reset}{{2.2.10}{203}{Backtracking}{section*.856}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn._u2018ident_u2019:-no-such-entry}{{2.2.10}{203}{Backtracking}{section*.857}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Reset-Initial}{{2.2.10}{203}{Backtracking}{section*.858}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Back}{{2.2.10}{203}{Backtracking}{section*.859}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Invalid-backtrack}{{2.2.10}{203}{Backtracking}{section*.860}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.BackTo}{{2.2.10}{203}{Backtracking}{section*.861}{}}
\@writefile{toc}{\contentsline {subsubsection}{Quitting and debugging}{203}{subsubsection*.862}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:quitting-and-debugging}{{2.2.10}{203}{Quitting and debugging}{subsubsection*.862}{}}
\newlabel{proof-engine/vernacular-commands:id7}{{2.2.10}{203}{Quitting and debugging}{subsubsection*.862}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Quit}{{2.2.10}{203}{Quitting and debugging}{section*.863}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Drop}{{2.2.10}{203}{Quitting and debugging}{section*.864}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Time}{{2.2.10}{203}{Quitting and debugging}{section*.865}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Redirect}{{2.2.10}{204}{Quitting and debugging}{section*.866}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Timeout}{{2.2.10}{204}{Quitting and debugging}{section*.867}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Default-Timeout}{{2.2.10}{204}{Quitting and debugging}{section*.868}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Fail}{{2.2.10}{204}{Quitting and debugging}{section*.869}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-command-has-not-failed!}{{2.2.10}{204}{Quitting and debugging}{section*.870}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-control_command}{{2.2.10}{204}{Quitting and debugging}{section*.871}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling display}{204}{subsubsection*.872}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-display}{{2.2.10}{204}{Controlling display}{subsubsection*.872}{}}
\newlabel{proof-engine/vernacular-commands:id8}{{2.2.10}{204}{Controlling display}{subsubsection*.872}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Silent}{{2.2.10}{204}{Controlling display}{section*.873}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Warnings}{{2.2.10}{204}{Controlling display}{section*.874}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Printing-Width}{{2.2.10}{204}{Controlling display}{section*.875}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Printing-Depth}{{2.2.10}{204}{Controlling display}{section*.876}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Compact-Contexts}{{2.2.10}{204}{Controlling display}{section*.877}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Unfocused}{{2.2.10}{204}{Controlling display}{section*.878}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Dependent-Evars-Line}{{2.2.10}{204}{Controlling display}{section*.879}{}}
\citation{zebibliography:id31}
\@writefile{toc}{\contentsline {subsubsection}{Printing constructions in full}{205}{subsubsection*.880}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-constructions-in-full}{{2.2.10}{205}{Printing constructions in full}{subsubsection*.880}{}}
\newlabel{proof-engine/vernacular-commands:printing-constructions-full}{{2.2.10}{205}{Printing constructions in full}{subsubsection*.880}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-All}{{2.2.10}{205}{Printing constructions in full}{section*.881}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the reduction strategies and the conversion algorithm}{205}{subsubsection*.882}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-the-reduction-strategies-and-the-conversion-algorithm}{{2.2.10}{205}{Controlling the reduction strategies and the conversion algorithm}{subsubsection*.882}{}}
\newlabel{proof-engine/vernacular-commands:vernac-controlling-the-reduction-strategies}{{2.2.10}{205}{Controlling the reduction strategies and the conversion algorithm}{subsubsection*.882}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Opaque}{{2.2.10}{205}{Controlling the reduction strategies and the conversion algorithm}{section*.883}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Transparent}{{2.2.10}{205}{Controlling the reduction strategies and the conversion algorithm}{section*.884}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-reference-_u2018qualid_u2019-was-not-found-in-the-current-environment}{{2.2.10}{205}{Controlling the reduction strategies and the conversion algorithm}{section*.885}{}}
\newlabel{proof-engine/vernacular-commands:vernac-strategy}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.886}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Strategy}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.887}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-strategy_level}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.888}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-strategy_level_or_var}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.889}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Strategy}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.890}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-reference-is-not-unfoldable}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.891}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Strategies}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.892}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Declare-Reduction}{{2.2.10}{206}{Controlling the reduction strategies and the conversion algorithm}{section*.893}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling Typing Flags}{207}{subsubsection*.894}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-typing-flags}{{2.2.10}{207}{Controlling Typing Flags}{subsubsection*.894}{}}
\newlabel{proof-engine/vernacular-commands:id10}{{2.2.10}{207}{Controlling Typing Flags}{subsubsection*.894}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Guard-Checking}{{2.2.10}{207}{Controlling Typing Flags}{section*.895}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(guard)}{{2.2.10}{207}{Controlling Typing Flags}{section*.896}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Positivity-Checking}{{2.2.10}{207}{Controlling Typing Flags}{section*.897}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(positivity)}{{2.2.10}{207}{Controlling Typing Flags}{section*.898}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Universe-Checking}{{2.2.10}{207}{Controlling Typing Flags}{section*.899}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(universes)}{{2.2.10}{207}{Controlling Typing Flags}{section*.900}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Typing-Flags}{{2.2.10}{207}{Controlling Typing Flags}{section*.901}{}}
\@writefile{toc}{\contentsline {subsubsection}{Internal registration commands}{208}{subsubsection*.902}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:internal-registration-commands}{{2.2.10}{208}{Internal registration commands}{subsubsection*.902}{}}
\newlabel{proof-engine/vernacular-commands:id11}{{2.2.10}{208}{Internal registration commands}{subsubsection*.902}{}}
\@writefile{toc}{\contentsline {paragraph}{Exposing constants to OCaml libraries}{208}{paragraph*.903}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:exposing-constants-to-ocaml-libraries}{{2.2.10}{208}{Exposing constants to OCaml libraries}{paragraph*.903}{}}
\newlabel{proof-engine/vernacular-commands:id12}{{2.2.10}{208}{Exposing constants to OCaml libraries}{paragraph*.903}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Register}{{2.2.10}{208}{Exposing constants to OCaml libraries}{section*.904}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining hints for the fast reduction machines}{209}{paragraph*.905}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:inlining-hints-for-the-fast-reduction-machines}{{2.2.10}{209}{Inlining hints for the fast reduction machines}{paragraph*.905}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Register-Inline}{{2.2.10}{209}{Inlining hints for the fast reduction machines}{section*.906}{}}
\@writefile{toc}{\contentsline {paragraph}{Registering primitive operations}{209}{paragraph*.907}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:registering-primitive-operations}{{2.2.10}{209}{Registering primitive operations}{paragraph*.907}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Primitive}{{2.2.10}{209}{Registering primitive operations}{section*.908}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-type-_u2018ident_u2019-must-be-registered-before-this-construction-can-be-typechecked}{{2.2.10}{209}{Registering primitive operations}{section*.909}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Proofs}{210}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:proofs}{{3}{210}{Proofs}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Basic proof writing}{210}{section.3.1}\protected@file@percent }
\newlabel{proofs/writing-proofs/index:basic-proof-writing}{{3.1}{210}{Basic proof writing}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index:writing-proofs}{{3.1}{210}{Basic proof writing}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index::doc}{{3.1}{210}{Basic proof writing}{section.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Proof mode}{210}{subsection.3.1.1}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-mode}{{3.1.1}{210}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode:proofhandling}{{3.1.1}{210}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode::doc}{{3.1.1}{210}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-mode}{{3.1.1}{210}{Proof mode}{section*.910}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof State}{210}{subsubsection*.911}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-state}{{3.1.1}{210}{Proof State}{subsubsection*.911}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-state}{{3.1.1}{210}{Proof State}{section*.912}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-conclusion}{{3.1.1}{210}{Proof State}{section*.913}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-local-context}{{3.1.1}{210}{Proof State}{section*.914}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-goal}{{3.1.1}{210}{Proof State}{section*.915}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-global-environment}{{3.1.1}{210}{Proof State}{section*.916}{}}
\citation{zebibliography:id27}
\citation{zebibliography:id3}
\citation{zebibliography:id26}
\citation{zebibliography:id29}
\newlabel{proofs/writing-proofs/proof-mode:term-subgoal}{{3.1.1}{211}{Proof State}{section*.917}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-hypothesis}{{3.1.1}{211}{Proof State}{section*.918}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-term}{{3.1.1}{211}{Proof State}{section*.919}{}}
\@writefile{toc}{\contentsline {subsubsection}{Entering and exiting proof mode}{212}{subsubsection*.920}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:entering-and-exiting-proof-mode}{{3.1.1}{212}{Entering and exiting proof mode}{subsubsection*.920}{}}
\newlabel{proofs/writing-proofs/proof-mode:proof-editing-mode}{{3.1.1}{212}{Entering and exiting proof mode}{subsubsection*.920}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Goal}{{3.1.1}{212}{Entering and exiting proof mode}{section*.921}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Qed}{{3.1.1}{212}{Entering and exiting proof mode}{section*.922}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Attempt-to-save-an-incomplete-proof}{{3.1.1}{212}{Entering and exiting proof mode}{section*.923}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof-(No-proof-editing-in-progress)}{{3.1.1}{212}{Entering and exiting proof mode}{section*.924}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Save}{{3.1.1}{212}{Entering and exiting proof mode}{section*.925}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Defined}{{3.1.1}{212}{Entering and exiting proof mode}{section*.926}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Admitted}{{3.1.1}{213}{Entering and exiting proof mode}{section*.927}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Abort}{{3.1.1}{213}{Entering and exiting proof mode}{section*.928}{}}
\newlabel{proofs/writing-proofs/proof-mode:id2}{{3.1.1}{213}{Entering and exiting proof mode}{section*.929}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof-`term`}{{3.1.1}{213}{Entering and exiting proof mode}{section*.930}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof}{{3.1.1}{213}{Entering and exiting proof mode}{section*.931}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof-using}{{3.1.1}{213}{Entering and exiting proof mode}{section*.932}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr}{{3.1.1}{213}{Entering and exiting proof mode}{section*.933}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr50}{{3.1.1}{213}{Entering and exiting proof mode}{section*.934}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr0}{{3.1.1}{213}{Entering and exiting proof mode}{section*.935}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-starred_ident_ref}{{3.1.1}{213}{Entering and exiting proof mode}{section*.936}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:attr.using}{{3.1.1}{214}{Entering and exiting proof mode}{section*.937}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof using options}{214}{paragraph*.938}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-using-options}{{3.1.1}{214}{Proof using options}{paragraph*.938}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Default-Proof-Using}{{3.1.1}{214}{Proof using options}{section*.939}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Suggest-Proof-Using}{{3.1.1}{214}{Proof using options}{section*.940}{}}
\@writefile{toc}{\contentsline {paragraph}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{215}{paragraph*.941}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:name-a-set-of-section-hypotheses-for-proof-using}{{3.1.1}{215}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.941}{}}
\newlabel{proofs/writing-proofs/proof-mode:nameaset}{{3.1.1}{215}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.941}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Collection}{{3.1.1}{215}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.942}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Existential}{{3.1.1}{215}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.943}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Grab-Existential-Variables}{{3.1.1}{215}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.944}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof modes}{215}{subsubsection*.945}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-modes}{{3.1.1}{215}{Proof modes}{subsubsection*.945}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Default-Proof-Mode}{{3.1.1}{215}{Proof modes}{section*.946}{}}
\@writefile{toc}{\contentsline {subsubsection}{Navigation in the proof tree}{216}{subsubsection*.947}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:navigation-in-the-proof-tree}{{3.1.1}{216}{Navigation in the proof tree}{subsubsection*.947}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Undo}{{3.1.1}{216}{Navigation in the proof tree}{section*.948}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Restart}{{3.1.1}{216}{Navigation in the proof tree}{section*.949}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof-to-restart}{{3.1.1}{216}{Navigation in the proof tree}{section*.950}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Focus}{{3.1.1}{216}{Navigation in the proof tree}{section*.951}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unfocus}{{3.1.1}{216}{Navigation in the proof tree}{section*.952}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unfocused}{{3.1.1}{216}{Navigation in the proof tree}{section*.953}{}}
\newlabel{proofs/writing-proofs/proof-mode:curly-braces}{{3.1.1}{216}{Navigation in the proof tree}{section*.954}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn._}{{3.1.1}{216}{Navigation in the proof tree}{section*.955}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn._}{{3.1.1}{216}{Navigation in the proof tree}{section*.956}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way}{{3.1.1}{218}{Navigation in the proof tree}{section*.957}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal-(_u2018natural_u2019)}{{3.1.1}{218}{Navigation in the proof tree}{section*.958}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal-(_u2018ident_u2019)}{{3.1.1}{218}{Navigation in the proof tree}{section*.959}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Brackets-do-not-support-multi-goal-selectors}{{3.1.1}{218}{Navigation in the proof tree}{section*.960}{}}
\@writefile{toc}{\contentsline {paragraph}{Bullets}{219}{paragraph*.961}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:bullets}{{3.1.1}{219}{Bullets}{paragraph*.961}{}}
\newlabel{proofs/writing-proofs/proof-mode:id3}{{3.1.1}{219}{Bullets}{paragraph*.961}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-bullet}{{3.1.1}{219}{Bullets}{section*.962}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Wrong-bullet-_u2018bullet_u2019:-Current-bullet-_u2018bullet_u2019-is-not-finished}{{3.1.1}{222}{Bullets}{section*.963}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Wrong-bullet-_u2018bullet_u2019:-Bullet-_u2018bullet_u2019-is-mandatory-here}{{3.1.1}{222}{Bullets}{section*.964}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal.-Focus-next-goal-with-bullet-_u2018bullet_u2019}{{3.1.1}{222}{Bullets}{section*.965}{}}
\@writefile{toc}{\contentsline {subparagraph}{Mandatory Bullets}{223}{subparagraph*.966}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:mandatory-bullets}{{3.1.1}{223}{Mandatory Bullets}{subparagraph*.966}{}}
\@writefile{toc}{\contentsline {subparagraph}{Set Bullet Behavior}{223}{subparagraph*.967}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:set-bullet-behavior}{{3.1.1}{223}{Set Bullet Behavior}{subparagraph*.967}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Bullet-Behavior}{{3.1.1}{223}{Set Bullet Behavior}{section*.968}{}}
\@writefile{toc}{\contentsline {paragraph}{Modifying the order of goals}{223}{paragraph*.969}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:modifying-the-order-of-goals}{{3.1.1}{223}{Modifying the order of goals}{paragraph*.969}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.cycle}{{3.1.1}{223}{Modifying the order of goals}{section*.970}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.swap}{{3.1.1}{224}{Modifying the order of goals}{section*.971}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.revgoals}{{3.1.1}{225}{Modifying the order of goals}{section*.972}{}}
\@writefile{toc}{\contentsline {paragraph}{Postponing the proof of some goals}{226}{paragraph*.973}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:postponing-the-proof-of-some-goals}{{3.1.1}{226}{Postponing the proof of some goals}{paragraph*.973}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-shelved}{{3.1.1}{226}{Postponing the proof of some goals}{section*.974}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-unshelved}{{3.1.1}{226}{Postponing the proof of some goals}{section*.975}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.shelve}{{3.1.1}{226}{Postponing the proof of some goals}{section*.976}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.shelve_unifiable}{{3.1.1}{226}{Postponing the proof of some goals}{section*.977}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unshelve}{{3.1.1}{226}{Postponing the proof of some goals}{section*.978}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.unshelve}{{3.1.1}{226}{Postponing the proof of some goals}{section*.979}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.give_up}{{3.1.1}{226}{Postponing the proof of some goals}{section*.980}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requesting information}{227}{subsubsection*.981}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:requesting-information}{{3.1.1}{227}{Requesting information}{subsubsection*.981}{}}
\newlabel{proofs/writing-proofs/proof-mode:requestinginformation}{{3.1.1}{227}{Requesting information}{subsubsection*.981}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show}{{3.1.1}{227}{Requesting information}{section*.982}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof}{{3.1.1}{227}{Requesting information}{section*.983}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal}{{3.1.1}{227}{Requesting information}{section*.984}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Proof}{{3.1.1}{227}{Requesting information}{section*.985}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Conjectures}{{3.1.1}{227}{Requesting information}{section*.986}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Intro}{{3.1.1}{227}{Requesting information}{section*.987}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Intros}{{3.1.1}{228}{Requesting information}{section*.988}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Existentials}{{3.1.1}{228}{Requesting information}{section*.989}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Match}{{3.1.1}{228}{Requesting information}{section*.990}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Unknown-inductive-type}{{3.1.1}{228}{Requesting information}{section*.991}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Universes}{{3.1.1}{228}{Requesting information}{section*.992}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Goal}{{3.1.1}{228}{Requesting information}{section*.993}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Guarded}{{3.1.1}{228}{Requesting information}{section*.994}{}}
\@writefile{toc}{\contentsline {subsubsection}{Showing differences between proof steps}{228}{subsubsection*.995}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:showing-differences-between-proof-steps}{{3.1.1}{228}{Showing differences between proof steps}{subsubsection*.995}{}}
\newlabel{proofs/writing-proofs/proof-mode:showing-diffs}{{3.1.1}{228}{Showing differences between proof steps}{subsubsection*.995}{}}
\citation{zebibliography:id39}
\@writefile{toc}{\contentsline {paragraph}{How to enable diffs}{229}{paragraph*.996}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:how-to-enable-diffs}{{3.1.1}{229}{How to enable diffs}{paragraph*.996}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Diffs}{{3.1.1}{229}{How to enable diffs}{section*.997}{}}
\@writefile{toc}{\contentsline {paragraph}{How diffs are calculated}{229}{paragraph*.998}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:how-diffs-are-calculated}{{3.1.1}{229}{How diffs are calculated}{paragraph*.998}{}}
\@writefile{toc}{\contentsline {paragraph}{"Show Proof" differences}{230}{paragraph*.999}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:show-proof-differences}{{3.1.1}{230}{"Show Proof" differences}{paragraph*.999}{}}
\newlabel{proofs/writing-proofs/proof-mode:id5}{{3.1.1}{230}{"Show Proof" differences}{paragraph*.999}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling proof mode}{230}{subsubsection*.1000}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:controlling-proof-mode}{{3.1.1}{230}{Controlling proof mode}{subsubsection*.1000}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Hyps-Limit}{{3.1.1}{230}{Controlling proof mode}{section*.1001}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Nested-Proofs-Allowed}{{3.1.1}{230}{Controlling proof mode}{section*.1002}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Printing-Goal-Names}{{3.1.1}{230}{Controlling proof mode}{section*.1003}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling memory usage}{231}{subsubsection*.1004}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:controlling-memory-usage}{{3.1.1}{231}{Controlling memory usage}{subsubsection*.1004}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Print-Debug-GC}{{3.1.1}{231}{Controlling memory usage}{section*.1005}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Optimize-Proof}{{3.1.1}{231}{Controlling memory usage}{section*.1006}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Optimize-Heap}{{3.1.1}{231}{Controlling memory usage}{section*.1007}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Tactics}{231}{subsection.3.1.2}\protected@file@percent }
\newlabel{proof-engine/tactics:tactics}{{3.1.2}{231}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics:id1}{{3.1.2}{231}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics::doc}{{3.1.2}{231}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics:term-forward-reasoning}{{3.1.2}{231}{Tactics}{section*.1008}{}}
\newlabel{proof-engine/tactics:term-backward-reasoning}{{3.1.2}{231}{Tactics}{section*.1009}{}}
\@writefile{toc}{\contentsline {subsubsection}{Common elements of tactics}{232}{subsubsection*.1010}\protected@file@percent }
\newlabel{proof-engine/tactics:common-elements-of-tactics}{{3.1.2}{232}{Common elements of tactics}{subsubsection*.1010}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserved keywords}{232}{paragraph*.1011}\protected@file@percent }
\newlabel{proof-engine/tactics:reserved-keywords}{{3.1.2}{232}{Reserved keywords}{paragraph*.1011}{}}
\@writefile{toc}{\contentsline {paragraph}{Invocation of tactics}{232}{paragraph*.1012}\protected@file@percent }
\newlabel{proof-engine/tactics:invocation-of-tactics}{{3.1.2}{232}{Invocation of tactics}{paragraph*.1012}{}}
\newlabel{proof-engine/tactics:id2}{{3.1.2}{232}{Invocation of tactics}{paragraph*.1012}{}}
\newlabel{proof-engine/tactics:tactic-invocation-grammar}{{3.1.2}{232}{Invocation of tactics}{section*.1013}{}}
\newlabel{proof-engine/tactics:grammar-token-tactic_invocation}{{3.1.2}{232}{Invocation of tactics}{section*.1014}{}}
\newlabel{proof-engine/tactics:coq:opt.Default-Goal-Selector}{{3.1.2}{232}{Invocation of tactics}{section*.1015}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings}{232}{paragraph*.1016}\protected@file@percent }
\newlabel{proof-engine/tactics:bindings}{{3.1.2}{232}{Bindings}{paragraph*.1016}{}}
\newlabel{proof-engine/tactics:id3}{{3.1.2}{232}{Bindings}{paragraph*.1016}{}}
\newlabel{proof-engine/tactics:grammar-token-bindings}{{3.1.2}{232}{Bindings}{section*.1017}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-binder}{{3.1.2}{232}{Bindings}{section*.1018}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-the-right-number-of-missing-arguments}{{3.1.2}{232}{Bindings}{section*.1019}{}}
\@writefile{toc}{\contentsline {paragraph}{Intro patterns}{233}{paragraph*.1020}\protected@file@percent }
\newlabel{proof-engine/tactics:intro-patterns}{{3.1.2}{233}{Intro patterns}{paragraph*.1020}{}}
\newlabel{proof-engine/tactics:intropatterns}{{3.1.2}{233}{Intro patterns}{paragraph*.1020}{}}
\newlabel{proof-engine/tactics:grammar-token-intropattern_list}{{3.1.2}{233}{Intro patterns}{section*.1021}{}}
\newlabel{proof-engine/tactics:grammar-token-intropattern}{{3.1.2}{233}{Intro patterns}{section*.1022}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern}{{3.1.2}{233}{Intro patterns}{section*.1023}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern_closed}{{3.1.2}{233}{Intro patterns}{section*.1024}{}}
\newlabel{proof-engine/tactics:grammar-token-naming_intropattern}{{3.1.2}{233}{Intro patterns}{section*.1025}{}}
\newlabel{proof-engine/tactics:grammar-token-or_and_intropattern}{{3.1.2}{233}{Intro patterns}{section*.1026}{}}
\newlabel{proof-engine/tactics:grammar-token-rewriting_intropattern}{{3.1.2}{233}{Intro patterns}{section*.1027}{}}
\newlabel{proof-engine/tactics:grammar-token-injection_intropattern}{{3.1.2}{233}{Intro patterns}{section*.1028}{}}
\newlabel{proof-engine/tactics:grammar-token-or_and_intropattern_loc}{{3.1.2}{233}{Intro patterns}{section*.1029}{}}
\newlabel{proof-engine/tactics:coq:flag.Bracketing-Last-Introduction-Pattern}{{3.1.2}{234}{Intro patterns}{section*.1030}{}}
\newlabel{proof-engine/tactics:intropattern-cons-note}{{3.1.2}{234}{Intro patterns}{section*.1031}{}}
\newlabel{proof-engine/tactics:intropattern-conj-ex}{{3.1.2}{235}{Intro patterns}{section*.1032}{}}
\newlabel{proof-engine/tactics:intropattern-disj-ex}{{3.1.2}{235}{Intro patterns}{section*.1033}{}}
\newlabel{proof-engine/tactics:intropattern-rarrow-ex}{{3.1.2}{236}{Intro patterns}{section*.1034}{}}
\newlabel{proof-engine/tactics:intropattern-inj-discr-ex}{{3.1.2}{236}{Intro patterns}{section*.1035}{}}
\newlabel{proof-engine/tactics:intropattern-ampersand-ex}{{3.1.2}{236}{Intro patterns}{section*.1036}{}}
\newlabel{proof-engine/tactics:intropattern-star-ex}{{3.1.2}{237}{Intro patterns}{section*.1037}{}}
\newlabel{proof-engine/tactics:intropattern-2stars-ex}{{3.1.2}{237}{Intro patterns}{section*.1038}{}}
\newlabel{proof-engine/tactics:intropattern-injection-ex}{{3.1.2}{238}{Intro patterns}{section*.1039}{}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence clauses}{239}{paragraph*.1040}\protected@file@percent }
\newlabel{proof-engine/tactics:occurrence-clauses}{{3.1.2}{239}{Occurrence clauses}{paragraph*.1040}{}}
\newlabel{proof-engine/tactics:occurrencessets}{{3.1.2}{239}{Occurrence clauses}{paragraph*.1040}{}}
\newlabel{proof-engine/tactics:term-occurrence}{{3.1.2}{239}{Occurrence clauses}{section*.1041}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrences}{{3.1.2}{239}{Occurrence clauses}{section*.1042}{}}
\newlabel{proof-engine/tactics:grammar-token-occs_nums}{{3.1.2}{239}{Occurrence clauses}{section*.1043}{}}
\newlabel{proof-engine/tactics:grammar-token-nat_or_var}{{3.1.2}{239}{Occurrence clauses}{section*.1044}{}}
\newlabel{proof-engine/tactics:grammar-token-goal_occurrences}{{3.1.2}{239}{Occurrence clauses}{section*.1045}{}}
\newlabel{proof-engine/tactics:grammar-token-hyp_occs}{{3.1.2}{239}{Occurrence clauses}{section*.1046}{}}
\newlabel{proof-engine/tactics:grammar-token-hypident}{{3.1.2}{239}{Occurrence clauses}{section*.1047}{}}
\newlabel{proof-engine/tactics:grammar-token-concl_occs}{{3.1.2}{239}{Occurrence clauses}{section*.1048}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applying theorems}{240}{subsubsection*.1049}\protected@file@percent }
\newlabel{proof-engine/tactics:applying-theorems}{{3.1.2}{240}{Applying theorems}{subsubsection*.1049}{}}
\newlabel{proof-engine/tactics:applyingtheorems}{{3.1.2}{240}{Applying theorems}{subsubsection*.1049}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact}{{3.1.2}{240}{Applying theorems}{section*.1050}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-exact-proof}{{3.1.2}{240}{Applying theorems}{section*.1051}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexact}{{3.1.2}{240}{Applying theorems}{section*.1052}{}}
\newlabel{proof-engine/tactics:coq:tacn.assumption}{{3.1.2}{240}{Applying theorems}{section*.1053}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-assumption}{{3.1.2}{240}{Applying theorems}{section*.1054}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassumption}{{3.1.2}{240}{Applying theorems}{section*.1055}{}}
\newlabel{proof-engine/tactics:coq:tacn.refine}{{3.1.2}{240}{Applying theorems}{section*.1056}{}}
\newlabel{proof-engine/tactics:coq:exn.Invalid-argument}{{3.1.2}{241}{Applying theorems}{section*.1057}{}}
\newlabel{proof-engine/tactics:coq:exn.Refine-passed-ill-formed-term}{{3.1.2}{241}{Applying theorems}{section*.1058}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)}{{3.1.2}{241}{Applying theorems}{section*.1059}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-refine}{{3.1.2}{241}{Applying theorems}{section*.1060}{}}
\newlabel{proof-engine/tactics:coq:tacv.notypeclasses-refine}{{3.1.2}{241}{Applying theorems}{section*.1061}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-notypeclasses-refine}{{3.1.2}{241}{Applying theorems}{section*.1062}{}}
\newlabel{proof-engine/tactics:coq:flag.Debug-Unification}{{3.1.2}{241}{Applying theorems}{section*.1063}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply}{{3.1.2}{241}{Applying theorems}{section*.1064}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-unify-_u2018term_u2019-with-_u2018term_u2019}{{3.1.2}{241}{Applying theorems}{section*.1065}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-find-an-instance-for-the-variables-_u2018ident_u2019_u2026_u2018ident_u2019}{{3.1.2}{241}{Applying theorems}{section*.1066}{}}
\newlabel{proof-engine/tactics:id4}{{3.1.2}{242}{Applying theorems}{section*.1067}{}}
\newlabel{proof-engine/tactics:coq:tacv.eapply}{{3.1.2}{242}{Applying theorems}{section*.1068}{}}
\newlabel{proof-engine/tactics:coq:tacv.rapply}{{3.1.2}{242}{Applying theorems}{section*.1069}{}}
\newlabel{proof-engine/tactics:grammar-token-constr}{{3.1.2}{242}{Applying theorems}{section*.1070}{}}
\newlabel{proof-engine/tactics:grammar-token-uconstr}{{3.1.2}{242}{Applying theorems}{section*.1071}{}}
\newlabel{proof-engine/tactics:grammar-token-open_constr}{{3.1.2}{242}{Applying theorems}{section*.1072}{}}
\newlabel{proof-engine/tactics:simple-apply-ex}{{3.1.2}{242}{Applying theorems}{section*.1073}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-apply}{{3.1.2}{243}{Applying theorems}{section*.1074}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-eapply}{{3.1.2}{243}{Applying theorems}{section*.1075}{}}
\newlabel{proof-engine/tactics:coq:tacv.lapply}{{3.1.2}{243}{Applying theorems}{section*.1076}{}}
\newlabel{proof-engine/tactics:coq:warn.When-_u2018term_u2019-contains-more-than-one-non-dependent-product-the-tactic-lapply-only-takes-into-account-the-first-product}{{3.1.2}{243}{Applying theorems}{section*.1077}{}}
\newlabel{proof-engine/tactics:coq:flag.Universal-Lemma-Under-Conjunction}{{3.1.2}{244}{Applying theorems}{section*.1078}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply-_u2026-in}{{3.1.2}{244}{Applying theorems}{section*.1079}{}}
\newlabel{proof-engine/tactics:coq:exn.Statement-without-assumptions}{{3.1.2}{245}{Applying theorems}{section*.1080}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-apply}{{3.1.2}{245}{Applying theorems}{section*.1081}{}}
\newlabel{proof-engine/tactics:coq:tacv.apply-_u2026-in-_u2026-as}{{3.1.2}{245}{Applying theorems}{section*.1082}{}}
\newlabel{proof-engine/tactics:coq:tacn.constructor}{{3.1.2}{245}{Applying theorems}{section*.1083}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-inductive-product}{{3.1.2}{245}{Applying theorems}{section*.1084}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-enough-constructors}{{3.1.2}{245}{Applying theorems}{section*.1085}{}}
\newlabel{proof-engine/tactics:coq:tacv.split}{{3.1.2}{246}{Applying theorems}{section*.1086}{}}
\newlabel{proof-engine/tactics:coq:tacv.exists}{{3.1.2}{246}{Applying theorems}{section*.1087}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-inductive-goal-with-1-constructor}{{3.1.2}{246}{Applying theorems}{section*.1088}{}}
\newlabel{proof-engine/tactics:coq:tacv.left}{{3.1.2}{246}{Applying theorems}{section*.1089}{}}
\newlabel{proof-engine/tactics:coq:tacv.right}{{3.1.2}{246}{Applying theorems}{section*.1090}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-inductive-goal-with-2-constructors}{{3.1.2}{246}{Applying theorems}{section*.1091}{}}
\newlabel{proof-engine/tactics:coq:tacv.econstructor}{{3.1.2}{246}{Applying theorems}{section*.1092}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexists}{{3.1.2}{246}{Applying theorems}{section*.1093}{}}
\newlabel{proof-engine/tactics:coq:tacv.esplit}{{3.1.2}{246}{Applying theorems}{section*.1094}{}}
\newlabel{proof-engine/tactics:coq:tacv.eleft}{{3.1.2}{246}{Applying theorems}{section*.1095}{}}
\newlabel{proof-engine/tactics:coq:tacv.eright}{{3.1.2}{246}{Applying theorems}{section*.1096}{}}
\newlabel{proof-engine/tactics:coq:flag.Debug-Tactic-Unification}{{3.1.2}{246}{Applying theorems}{section*.1097}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing the local context}{247}{subsubsection*.1098}\protected@file@percent }
\newlabel{proof-engine/tactics:managing-the-local-context}{{3.1.2}{247}{Managing the local context}{subsubsection*.1098}{}}
\newlabel{proof-engine/tactics:managingthelocalcontext}{{3.1.2}{247}{Managing the local context}{subsubsection*.1098}{}}
\newlabel{proof-engine/tactics:coq:tacn.intro}{{3.1.2}{247}{Managing the local context}{section*.1099}{}}
\newlabel{proof-engine/tactics:coq:exn.No-product-even-after-head-reduction}{{3.1.2}{247}{Managing the local context}{section*.1101}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-already-used}{{3.1.2}{247}{Managing the local context}{section*.1102}{}}
\newlabel{proof-engine/tactics:coq:tacv.intros}{{3.1.2}{247}{Managing the local context}{section*.1103}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis-in-current-goal}{{3.1.2}{247}{Managing the local context}{section*.1104}{}}
\newlabel{proof-engine/tactics:id6}{{3.1.2}{247}{Managing the local context}{section*.1105}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis:-_u2018ident_u2019}{{3.1.2}{248}{Managing the local context}{section*.1106}{}}
\newlabel{proof-engine/tactics:coq:tacn.intros-_u2026}{{3.1.2}{248}{Managing the local context}{section*.1107}{}}
\newlabel{proof-engine/tactics:coq:tacn.eintros}{{3.1.2}{248}{Managing the local context}{section*.1108}{}}
\newlabel{proof-engine/tactics:coq:tacn.clear}{{3.1.2}{248}{Managing the local context}{section*.1109}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis}{{3.1.2}{248}{Managing the local context}{section*.1110}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-the-conclusion}{{3.1.2}{248}{Managing the local context}{section*.1111}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-the-hypothesis-_u2018ident_u2019}{{3.1.2}{248}{Managing the local context}{section*.1112}{}}
\newlabel{proof-engine/tactics:coq:tacv.clearbody}{{3.1.2}{248}{Managing the local context}{section*.1113}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-not-a-local-definition}{{3.1.2}{248}{Managing the local context}{section*.1114}{}}
\newlabel{proof-engine/tactics:coq:tacn.revert}{{3.1.2}{248}{Managing the local context}{section*.1115}{}}
\newlabel{0.2.1}{{1}{248}{Managing the local context}{section*.1100}{}}
\newlabel{proof-engine/tactics:id7}{{3.1.2}{249}{Managing the local context}{section*.1116}{}}
\newlabel{proof-engine/tactics:id8}{{3.1.2}{249}{Managing the local context}{section*.1117}{}}
\newlabel{proof-engine/tactics:coq:tacv.revert-dependent}{{3.1.2}{249}{Managing the local context}{section*.1118}{}}
\newlabel{proof-engine/tactics:coq:tacn.move-_u2026-after-_u2026}{{3.1.2}{249}{Managing the local context}{section*.1119}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-before-_u2026}{{3.1.2}{249}{Managing the local context}{section*.1120}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-at-top}{{3.1.2}{249}{Managing the local context}{section*.1121}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-at-bottom}{{3.1.2}{249}{Managing the local context}{section*.1122}{}}
\newlabel{proof-engine/tactics:id9}{{3.1.2}{249}{Managing the local context}{section*.1123}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-move-_u2018ident_u2019-after-_u2018ident_u2019:-it-occurs-in-the-type-of-_u2018ident_u2019}{{3.1.2}{249}{Managing the local context}{section*.1124}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-move-_u2018ident_u2019-after-_u2018ident_u2019:-it-depends-on-_u2018ident_u2019}{{3.1.2}{249}{Managing the local context}{section*.1125}{}}
\newlabel{proof-engine/tactics:coq:tacn.rename}{{3.1.2}{251}{Managing the local context}{section*.1126}{}}
\newlabel{proof-engine/tactics:id10}{{3.1.2}{251}{Managing the local context}{section*.1127}{}}
\newlabel{proof-engine/tactics:id11}{{3.1.2}{251}{Managing the local context}{section*.1128}{}}
\newlabel{proof-engine/tactics:coq:tacn.set}{{3.1.2}{251}{Managing the local context}{section*.1129}{}}
\newlabel{proof-engine/tactics:coq:exn.The-variable-_u2018ident_u2019-is-already-defined}{{3.1.2}{251}{Managing the local context}{section*.1130}{}}
\newlabel{proof-engine/tactics:coq:tacv.eset}{{3.1.2}{251}{Managing the local context}{section*.1131}{}}
\newlabel{proof-engine/tactics:id12}{{3.1.2}{251}{Managing the local context}{section*.1132}{}}
\newlabel{proof-engine/tactics:coq:tacn.remember}{{3.1.2}{251}{Managing the local context}{section*.1133}{}}
\newlabel{proof-engine/tactics:coq:tacv.eremember}{{3.1.2}{252}{Managing the local context}{section*.1134}{}}
\newlabel{proof-engine/tactics:coq:tacn.pose}{{3.1.2}{252}{Managing the local context}{section*.1135}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose}{{3.1.2}{252}{Managing the local context}{section*.1136}{}}
\newlabel{proof-engine/tactics:id13}{{3.1.2}{252}{Managing the local context}{section*.1137}{}}
\newlabel{proof-engine/tactics:coq:tacn.decompose}{{3.1.2}{252}{Managing the local context}{section*.1138}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the proof flow}{253}{subsubsection*.1139}\protected@file@percent }
\newlabel{proof-engine/tactics:controlling-the-proof-flow}{{3.1.2}{253}{Controlling the proof flow}{subsubsection*.1139}{}}
\newlabel{proof-engine/tactics:controllingtheproofflow}{{3.1.2}{253}{Controlling the proof flow}{subsubsection*.1139}{}}
\newlabel{proof-engine/tactics:coq:tacn.assert}{{3.1.2}{253}{Controlling the proof flow}{section*.1140}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-a-proposition-or-a-type}{{3.1.2}{253}{Controlling the proof flow}{section*.1142}{}}
\newlabel{proof-engine/tactics:coq:exn.Proof-is-not-complete.-(assert)}{{3.1.2}{253}{Controlling the proof flow}{section*.1143}{}}
\newlabel{proof-engine/tactics:coq:exn.Variable-_u2018ident_u2019-is-already-declared}{{3.1.2}{253}{Controlling the proof flow}{section*.1144}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassert}{{3.1.2}{253}{Controlling the proof flow}{section*.1145}{}}
\newlabel{proof-engine/tactics:coq:tacv.pose-proof}{{3.1.2}{253}{Controlling the proof flow}{section*.1146}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose-proof}{{3.1.2}{253}{Controlling the proof flow}{section*.1147}{}}
\newlabel{0.3.2}{{2}{253}{Controlling the proof flow}{section*.1141}{}}
\newlabel{proof-engine/tactics:coq:tacv.enough}{{3.1.2}{254}{Controlling the proof flow}{section*.1148}{}}
\newlabel{proof-engine/tactics:coq:tacv.eenough}{{3.1.2}{254}{Controlling the proof flow}{section*.1149}{}}
\newlabel{proof-engine/tactics:id15}{{3.1.2}{254}{Controlling the proof flow}{section*.1150}{}}
\newlabel{proof-engine/tactics:coq:tacv.cut}{{3.1.2}{254}{Controlling the proof flow}{section*.1151}{}}
\newlabel{proof-engine/tactics:coq:tacv.specialize}{{3.1.2}{254}{Controlling the proof flow}{section*.1152}{}}
\newlabel{proof-engine/tactics:id16}{{3.1.2}{254}{Controlling the proof flow}{section*.1153}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-hypothesis-_u2018ident_u2019}{{3.1.2}{254}{Controlling the proof flow}{section*.1154}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-conclusion}{{3.1.2}{254}{Controlling the proof flow}{section*.1155}{}}
\newlabel{proof-engine/tactics:coq:tacn.generalize}{{3.1.2}{254}{Controlling the proof flow}{section*.1156}{}}
\newlabel{proof-engine/tactics:coq:tacn.evar}{{3.1.2}{255}{Controlling the proof flow}{section*.1157}{}}
\newlabel{proof-engine/tactics:coq:tacn.instantiate}{{3.1.2}{255}{Controlling the proof flow}{section*.1158}{}}
\newlabel{proof-engine/tactics:coq:tacn.admit}{{3.1.2}{256}{Controlling the proof flow}{section*.1159}{}}
\newlabel{proof-engine/tactics:coq:tacn.absurd}{{3.1.2}{256}{Controlling the proof flow}{section*.1160}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradiction}{{3.1.2}{256}{Controlling the proof flow}{section*.1161}{}}
\newlabel{proof-engine/tactics:id17}{{3.1.2}{256}{Controlling the proof flow}{section*.1162}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradict}{{3.1.2}{256}{Controlling the proof flow}{section*.1163}{}}
\newlabel{proof-engine/tactics:coq:tacn.exfalso}{{3.1.2}{256}{Controlling the proof flow}{section*.1164}{}}
\@writefile{toc}{\contentsline {subsubsection}{Case analysis and induction}{257}{subsubsection*.1165}\protected@file@percent }
\newlabel{proof-engine/tactics:case-analysis-and-induction}{{3.1.2}{257}{Case analysis and induction}{subsubsection*.1165}{}}
\newlabel{proof-engine/tactics:caseanalysisandinduction}{{3.1.2}{257}{Case analysis and induction}{subsubsection*.1165}{}}
\newlabel{proof-engine/tactics:coq:tacn.destruct}{{3.1.2}{257}{Case analysis and induction}{section*.1166}{}}
\newlabel{proof-engine/tactics:coq:tacv.destruct-_u2026-eqn:}{{3.1.2}{257}{Case analysis and induction}{section*.1167}{}}
\newlabel{proof-engine/tactics:coq:tacv.edestruct}{{3.1.2}{257}{Case analysis and induction}{section*.1168}{}}
\newlabel{proof-engine/tactics:coq:tacn.case}{{3.1.2}{258}{Case analysis and induction}{section*.1169}{}}
\newlabel{proof-engine/tactics:coq:tacv.ecase}{{3.1.2}{258}{Case analysis and induction}{section*.1170}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-destruct}{{3.1.2}{258}{Case analysis and induction}{section*.1171}{}}
\newlabel{proof-engine/tactics:coq:tacn.induction}{{3.1.2}{258}{Case analysis and induction}{section*.1172}{}}
\newlabel{proof-engine/tactics:id18}{{3.1.2}{259}{Case analysis and induction}{section*.1173}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-find-an-instance-for-the-variables-_u2018ident_u2019-...-_u2018ident_u2019}{{3.1.2}{259}{Case analysis and induction}{section*.1174}{}}
\newlabel{proof-engine/tactics:coq:tacv.einduction}{{3.1.2}{260}{Case analysis and induction}{section*.1175}{}}
\newlabel{proof-engine/tactics:coq:tacv.induction-_u2026-using-_u2026}{{3.1.2}{260}{Case analysis and induction}{section*.1176}{}}
\citation{zebibliography:id36}
\citation{zebibliography:id13}
\newlabel{proof-engine/tactics:coq:tacv.elim}{{3.1.2}{261}{Case analysis and induction}{section*.1177}{}}
\newlabel{proof-engine/tactics:coq:tacv.elim-_u2026-with}{{3.1.2}{261}{Case analysis and induction}{section*.1178}{}}
\newlabel{proof-engine/tactics:coq:tacv.eelim}{{3.1.2}{261}{Case analysis and induction}{section*.1179}{}}
\newlabel{proof-engine/tactics:coq:tacv.elimtype}{{3.1.2}{261}{Case analysis and induction}{section*.1180}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-induction}{{3.1.2}{261}{Case analysis and induction}{section*.1181}{}}
\newlabel{proof-engine/tactics:coq:tacn.double-induction}{{3.1.2}{261}{Case analysis and induction}{section*.1182}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-induction}{{3.1.2}{261}{Case analysis and induction}{section*.1183}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-destruction}{{3.1.2}{263}{Case analysis and induction}{section*.1184}{}}
\newlabel{proof-engine/tactics:coq:tacn.discriminate}{{3.1.2}{263}{Case analysis and induction}{section*.1185}{}}
\newlabel{proof-engine/tactics:coq:exn.No-primitive-equality-found}{{3.1.2}{263}{Case analysis and induction}{section*.1187}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-a-discriminable-equality}{{3.1.2}{263}{Case analysis and induction}{section*.1188}{}}
\newlabel{proof-engine/tactics:coq:tacv.ediscriminate}{{3.1.2}{263}{Case analysis and induction}{section*.1189}{}}
\newlabel{proof-engine/tactics:id22}{{3.1.2}{263}{Case analysis and induction}{section*.1190}{}}
\newlabel{proof-engine/tactics:coq:exn.No-discriminable-equalities}{{3.1.2}{263}{Case analysis and induction}{section*.1191}{}}
\newlabel{proof-engine/tactics:coq:tacn.injection}{{3.1.2}{263}{Case analysis and induction}{section*.1192}{}}
\newlabel{0.4.3}{{3}{263}{Case analysis and induction}{section*.1186}{}}
\newlabel{proof-engine/tactics:coq:exn.Nothing-to-do,-it-is-an-equality-between-convertible-terms}{{3.1.2}{264}{Case analysis and induction}{section*.1193}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-a-primitive-equality}{{3.1.2}{264}{Case analysis and induction}{section*.1194}{}}
\newlabel{proof-engine/tactics:coq:exn.Nothing-to-inject}{{3.1.2}{264}{Case analysis and induction}{section*.1195}{}}
\newlabel{proof-engine/tactics:coq:tacv.einjection}{{3.1.2}{265}{Case analysis and induction}{section*.1196}{}}
\newlabel{proof-engine/tactics:id23}{{3.1.2}{265}{Case analysis and induction}{section*.1197}{}}
\newlabel{proof-engine/tactics:coq:exn.goal-does-not-satisfy-the-expected-preconditions}{{3.1.2}{265}{Case analysis and induction}{section*.1198}{}}
\newlabel{proof-engine/tactics:coq:flag.Structural-Injection}{{3.1.2}{265}{Case analysis and induction}{section*.1199}{}}
\newlabel{proof-engine/tactics:coq:flag.Keep-Proof-Equalities}{{3.1.2}{265}{Case analysis and induction}{section*.1200}{}}
\newlabel{proof-engine/tactics:coq:tacn.inversion}{{3.1.2}{265}{Case analysis and induction}{section*.1201}{}}
\newlabel{proof-engine/tactics:coq:tacv.inversion_clear}{{3.1.2}{266}{Case analysis and induction}{section*.1202}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion}{{3.1.2}{267}{Case analysis and induction}{section*.1203}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-inversion-_u2026-with-_u2026}{{3.1.2}{267}{Case analysis and induction}{section*.1204}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-inversion}{{3.1.2}{268}{Case analysis and induction}{section*.1205}{}}
\newlabel{proof-engine/tactics:coq:tacn.inversion-...-using-...}{{3.1.2}{268}{Case analysis and induction}{section*.1206}{}}
\newlabel{proof-engine/tactics:coq:tacv.inversion_sigma}{{3.1.2}{268}{Case analysis and induction}{section*.1207}{}}
\newlabel{proof-engine/tactics:coq:tacn.fix}{{3.1.2}{272}{Case analysis and induction}{section*.1208}{}}
\newlabel{proof-engine/tactics:coq:tacn.cofix}{{3.1.2}{272}{Case analysis and induction}{section*.1209}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking properties of terms}{273}{subsubsection*.1210}\protected@file@percent }
\newlabel{proof-engine/tactics:checking-properties-of-terms}{{3.1.2}{273}{Checking properties of terms}{subsubsection*.1210}{}}
\newlabel{proof-engine/tactics:coq:tacn.constr_eq}{{3.1.2}{273}{Checking properties of terms}{section*.1211}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-equal}{{3.1.2}{273}{Checking properties of terms}{section*.1212}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-equal-(due-to-universes)}{{3.1.2}{273}{Checking properties of terms}{section*.1213}{}}
\newlabel{proof-engine/tactics:coq:tacn.constr_eq_strict}{{3.1.2}{273}{Checking properties of terms}{section*.1214}{}}
\newlabel{proof-engine/tactics:id24}{{3.1.2}{273}{Checking properties of terms}{section*.1215}{}}
\newlabel{proof-engine/tactics:id25}{{3.1.2}{273}{Checking properties of terms}{section*.1216}{}}
\newlabel{proof-engine/tactics:coq:tacn.unify}{{3.1.2}{273}{Checking properties of terms}{section*.1217}{}}
\newlabel{proof-engine/tactics:id26}{{3.1.2}{273}{Checking properties of terms}{section*.1218}{}}
\newlabel{proof-engine/tactics:coq:tacn.is_evar}{{3.1.2}{273}{Checking properties of terms}{section*.1219}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-evar}{{3.1.2}{273}{Checking properties of terms}{section*.1220}{}}
\newlabel{proof-engine/tactics:coq:tacn.has_evar}{{3.1.2}{273}{Checking properties of terms}{section*.1221}{}}
\newlabel{proof-engine/tactics:coq:exn.No-evars}{{3.1.2}{273}{Checking properties of terms}{section*.1222}{}}
\newlabel{proof-engine/tactics:coq:tacn.is_var}{{3.1.2}{273}{Checking properties of terms}{section*.1223}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-a-variable-or-hypothesis}{{3.1.2}{273}{Checking properties of terms}{section*.1224}{}}
\@writefile{toc}{\contentsline {subsubsection}{Equality}{273}{subsubsection*.1225}\protected@file@percent }
\newlabel{proof-engine/tactics:equality}{{3.1.2}{273}{Equality}{subsubsection*.1225}{}}
\newlabel{proof-engine/tactics:coq:tacn.f_equal}{{3.1.2}{273}{Equality}{section*.1226}{}}
\newlabel{proof-engine/tactics:coq:tacn.reflexivity}{{3.1.2}{273}{Equality}{section*.1227}{}}
\newlabel{proof-engine/tactics:coq:exn.The-conclusion-is-not-a-substitutive-equation}{{3.1.2}{273}{Equality}{section*.1228}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-unify-...-with-...}{{3.1.2}{273}{Equality}{section*.1229}{}}
\newlabel{proof-engine/tactics:coq:tacn.symmetry}{{3.1.2}{273}{Equality}{section*.1230}{}}
\newlabel{proof-engine/tactics:coq:tacn.transitivity}{{3.1.2}{274}{Equality}{section*.1231}{}}
\@writefile{toc}{\contentsline {subsubsection}{Equality and inductive sets}{274}{subsubsection*.1232}\protected@file@percent }
\newlabel{proof-engine/tactics:equality-and-inductive-sets}{{3.1.2}{274}{Equality and inductive sets}{subsubsection*.1232}{}}
\newlabel{proof-engine/tactics:coq:tacn.decide-equality}{{3.1.2}{274}{Equality and inductive sets}{section*.1233}{}}
\newlabel{proof-engine/tactics:coq:tacn.compare}{{3.1.2}{274}{Equality and inductive sets}{section*.1234}{}}
\newlabel{proof-engine/tactics:coq:tacn.simplify_eq}{{3.1.2}{274}{Equality and inductive sets}{section*.1235}{}}
\newlabel{proof-engine/tactics:coq:tacv.esimplify_eq}{{3.1.2}{274}{Equality and inductive sets}{section*.1236}{}}
\newlabel{proof-engine/tactics:id27}{{3.1.2}{274}{Equality and inductive sets}{section*.1237}{}}
\newlabel{proof-engine/tactics:coq:tacn.dependent-rewrite-->}{{3.1.2}{274}{Equality and inductive sets}{section*.1238}{}}
\newlabel{proof-engine/tactics:coq:tacv.dependent-rewrite-<-}{{3.1.2}{274}{Equality and inductive sets}{section*.1239}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classical tactics}{275}{subsubsection*.1240}\protected@file@percent }
\newlabel{proof-engine/tactics:classical-tactics}{{3.1.2}{275}{Classical tactics}{subsubsection*.1240}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical_left}{{3.1.2}{275}{Classical tactics}{section*.1241}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical_right}{{3.1.2}{275}{Classical tactics}{section*.1242}{}}
\@writefile{toc}{\contentsline {subsubsection}{Delaying solving unification constraints}{275}{subsubsection*.1243}\protected@file@percent }
\newlabel{proof-engine/tactics:delaying-solving-unification-constraints}{{3.1.2}{275}{Delaying solving unification constraints}{subsubsection*.1243}{}}
\newlabel{proof-engine/tactics:coq:tacn.solve_constraints}{{3.1.2}{275}{Delaying solving unification constraints}{section*.1244}{}}
\newlabel{proof-engine/tactics:coq:flag.Solve-Unification-Constraints}{{3.1.2}{275}{Delaying solving unification constraints}{section*.1245}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof maintenance}{275}{subsubsection*.1246}\protected@file@percent }
\newlabel{proof-engine/tactics:proof-maintenance}{{3.1.2}{275}{Proof maintenance}{subsubsection*.1246}{}}
\newlabel{proof-engine/tactics:coq:flag.Mangle-Names}{{3.1.2}{275}{Proof maintenance}{section*.1247}{}}
\newlabel{proof-engine/tactics:coq:opt.Mangle-Names-Prefix}{{3.1.2}{275}{Proof maintenance}{section*.1248}{}}
\@writefile{toc}{\contentsline {subsubsection}{Performance\sphinxhyphen {}oriented tactic variants}{275}{subsubsection*.1249}\protected@file@percent }
\newlabel{proof-engine/tactics:performance-oriented-tactic-variants}{{3.1.2}{275}{Performance\sphinxhyphen {}oriented tactic variants}{subsubsection*.1249}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact_no_check}{{3.1.2}{275}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1250}{}}
\newlabel{proof-engine/tactics:coq:tacv.vm_cast_no_check}{{3.1.2}{276}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1251}{}}
\newlabel{proof-engine/tactics:coq:tacv.native_cast_no_check}{{3.1.2}{276}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1252}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Reasoning with equalities}{277}{subsection.3.1.3}\protected@file@percent }
\newlabel{proofs/writing-proofs/rewriting:reasoning-with-equalities}{{3.1.3}{277}{Reasoning with equalities}{subsection.3.1.3}{}}
\newlabel{proofs/writing-proofs/rewriting::doc}{{3.1.3}{277}{Reasoning with equalities}{subsection.3.1.3}{}}
\newlabel{proofs/writing-proofs/rewriting:term-equality}{{3.1.3}{277}{Reasoning with equalities}{section*.1253}{}}
\newlabel{proofs/writing-proofs/rewriting:term-Leibniz-equality}{{3.1.3}{277}{Reasoning with equalities}{section*.1254}{}}
\newlabel{proofs/writing-proofs/rewriting:term-setoid-equality}{{3.1.3}{277}{Reasoning with equalities}{section*.1255}{}}
\newlabel{proofs/writing-proofs/rewriting:term-setoid}{{3.1.3}{277}{Reasoning with equalities}{section*.1256}{}}
\newlabel{proofs/writing-proofs/rewriting:term-quotient-set}{{3.1.3}{277}{Reasoning with equalities}{section*.1257}{}}
\newlabel{proofs/writing-proofs/rewriting:term-quotient}{{3.1.3}{277}{Reasoning with equalities}{section*.1258}{}}
\newlabel{proofs/writing-proofs/rewriting:term-definitional-equality}{{3.1.3}{277}{Reasoning with equalities}{section*.1259}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting with Leibniz and setoid equality}{277}{subsubsection*.1260}\protected@file@percent }
\newlabel{proofs/writing-proofs/rewriting:rewriting-with-leibniz-and-setoid-equality}{{3.1.3}{277}{Rewriting with Leibniz and setoid equality}{subsubsection*.1260}{}}
\newlabel{proofs/writing-proofs/rewriting:rewritingexpressions}{{3.1.3}{277}{Rewriting with Leibniz and setoid equality}{subsubsection*.1260}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.rewrite}{{3.1.3}{277}{Rewriting with Leibniz and setoid equality}{section*.1261}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-oriented_rewriter}{{3.1.3}{277}{Rewriting with Leibniz and setoid equality}{section*.1262}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-one_term_with_bindings}{{3.1.3}{277}{Rewriting with Leibniz and setoid equality}{section*.1263}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Tactic-failure:-Setoid-library-not-loaded}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1264}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Cannot-find-a-relation-to-rewrite}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1265}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1266}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Found-no-subterm-matching-_u2018term_u2019-in-_u2018ident_u2019}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1267}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Found-no-subterm-matching-_u2018term_u2019-in-the-current-goal}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1268}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.erewrite}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1269}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.Keyed-Unification}{{3.1.3}{278}{Rewriting with Leibniz and setoid equality}{section*.1270}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.rewrite-*}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1271}{}}
\newlabel{proofs/writing-proofs/rewriting:id1}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1272}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.rewrite_db}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1273}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.replace}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1274}{}}
\newlabel{proofs/writing-proofs/rewriting:id2}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1275}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Terms-do-not-have-convertible-types}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1276}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.cutrewrite}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1277}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.substitute}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1278}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.subst}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1279}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.Regular-Subst-Tactic}{{3.1.3}{279}{Rewriting with Leibniz and setoid equality}{section*.1280}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Cannot-find-any-non-recursive-equality-over-_u2018ident_u2019}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1281}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Section-variable-_u2018ident_u2019-occurs-implicitly-in-global-declaration-_u2018qualid_u2019-present-in-hypothesis-_u2018ident_u2019}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1282}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Section-variable-_u2018ident_u2019-occurs-implicitly-in-global-declaration-_u2018qualid_u2019-present-in-the-conclusion}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1283}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.simple-subst}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1284}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.stepl}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1285}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:cmd.Declare-Left-Step}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1286}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.stepr}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1287}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:cmd.Declare-Right-Step}{{3.1.3}{280}{Rewriting with Leibniz and setoid equality}{section*.1288}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting with definitional equality}{280}{subsubsection*.1289}\protected@file@percent }
\newlabel{proofs/writing-proofs/rewriting:rewriting-with-definitional-equality}{{3.1.3}{280}{Rewriting with definitional equality}{subsubsection*.1289}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.change}{{3.1.3}{280}{Rewriting with definitional equality}{section*.1290}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Not-convertible}{{3.1.3}{280}{Rewriting with definitional equality}{section*.1291}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Found-an-"at"-clause-without-"with"-clause}{{3.1.3}{280}{Rewriting with definitional equality}{section*.1292}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.now_show}{{3.1.3}{281}{Rewriting with definitional equality}{section*.1293}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.change_no_check}{{3.1.3}{281}{Rewriting with definitional equality}{section*.1294}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.convert_concl_no_check}{{3.1.3}{282}{Rewriting with definitional equality}{section*.1295}{}}
\@writefile{toc}{\contentsline {subsubsection}{Performing computations}{282}{subsubsection*.1296}\protected@file@percent }
\newlabel{proofs/writing-proofs/rewriting:performing-computations}{{3.1.3}{282}{Performing computations}{subsubsection*.1296}{}}
\newlabel{proofs/writing-proofs/rewriting:performingcomputations}{{3.1.3}{282}{Performing computations}{subsubsection*.1296}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-red_expr}{{3.1.3}{282}{Performing computations}{section*.1297}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-delta_flag}{{3.1.3}{282}{Performing computations}{section*.1298}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-strategy_flag}{{3.1.3}{282}{Performing computations}{section*.1299}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-red_flag}{{3.1.3}{282}{Performing computations}{section*.1300}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-reference_occs}{{3.1.3}{282}{Performing computations}{section*.1301}{}}
\newlabel{proofs/writing-proofs/rewriting:grammar-token-pattern_occs}{{3.1.3}{282}{Performing computations}{section*.1302}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.cbv}{{3.1.3}{282}{Performing computations}{section*.1303}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.lazy}{{3.1.3}{282}{Performing computations}{section*.1304}{}}
\citation{zebibliography:id53}
\newlabel{proofs/writing-proofs/rewriting:coq:tacv.compute}{{3.1.3}{283}{Performing computations}{section*.1305}{}}
\newlabel{proofs/writing-proofs/rewriting:id4}{{3.1.3}{283}{Performing computations}{section*.1306}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacv.vm_compute}{{3.1.3}{283}{Performing computations}{section*.1307}{}}
\citation{zebibliography:id54}
\newlabel{proofs/writing-proofs/rewriting:coq:tacv.native_compute}{{3.1.3}{284}{Performing computations}{section*.1308}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.NativeCompute-Timing}{{3.1.3}{284}{Performing computations}{section*.1309}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.NativeCompute-Profiling}{{3.1.3}{284}{Performing computations}{section*.1310}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:opt.NativeCompute-Profile-Filename}{{3.1.3}{284}{Performing computations}{section*.1311}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.Debug-Cbv}{{3.1.3}{284}{Performing computations}{section*.1312}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.red}{{3.1.3}{284}{Performing computations}{section*.1313}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Not-reducible}{{3.1.3}{284}{Performing computations}{section*.1314}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.No-head-constant-to-reduce}{{3.1.3}{284}{Performing computations}{section*.1315}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.hnf}{{3.1.3}{284}{Performing computations}{section*.1316}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.cbn}{{3.1.3}{284}{Performing computations}{section*.1317}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.simpl}{{3.1.3}{284}{Performing computations}{section*.1318}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Too-few-occurrences}{{3.1.3}{285}{Performing computations}{section*.1319}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:flag.Debug-RAKAM}{{3.1.3}{285}{Performing computations}{section*.1320}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.unfold}{{3.1.3}{285}{Performing computations}{section*.1321}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Cannot-coerce-_u2018qualid_u2019-to-an-evaluable-reference}{{3.1.3}{285}{Performing computations}{section*.1322}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn.Bad-occurrence-number-of-_u2018qualid_u2019}{{3.1.3}{286}{Performing computations}{section*.1323}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:exn._u2018qualid_u2019-does-not-occur}{{3.1.3}{286}{Performing computations}{section*.1324}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.fold}{{3.1.3}{287}{Performing computations}{section*.1325}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.pattern}{{3.1.3}{287}{Performing computations}{section*.1326}{}}
\newlabel{proofs/writing-proofs/rewriting:coq:tacn.with_strategy}{{3.1.3}{288}{Performing computations}{section*.1327}{}}
\@writefile{toc}{\contentsline {paragraph}{Conversion tactics applied to hypotheses}{291}{paragraph*.1328}\protected@file@percent }
\newlabel{proofs/writing-proofs/rewriting:conversion-tactics-applied-to-hypotheses}{{3.1.3}{291}{Conversion tactics applied to hypotheses}{paragraph*.1328}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}The SSReflect proof language}{291}{subsection.3.1.4}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-ssr-proof-language}{{3.1.4}{291}{The SSReflect proof language}{subsection.3.1.4}{}}
\newlabel{proof-engine/ssreflect-proof-language:thessreflectprooflanguage}{{3.1.4}{291}{The SSReflect proof language}{subsection.3.1.4}{}}
\newlabel{proof-engine/ssreflect-proof-language::doc}{{3.1.4}{291}{The SSReflect proof language}{subsection.3.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction}{291}{subsubsection*.1329}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction}{{3.1.4}{291}{Introduction}{subsubsection*.1329}{}}
\@writefile{toc}{\contentsline {paragraph}{Acknowledgments}{292}{paragraph*.1330}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:acknowledgments}{{3.1.4}{292}{Acknowledgments}{paragraph*.1330}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{292}{subsubsection*.1331}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:usage}{{3.1.4}{292}{Usage}{subsubsection*.1331}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting started}{292}{paragraph*.1332}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:getting-started}{{3.1.4}{292}{Getting started}{paragraph*.1332}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility issues}{292}{paragraph*.1333}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues}{{3.1.4}{292}{Compatibility issues}{paragraph*.1333}{}}
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues-ssr}{{3.1.4}{292}{Compatibility issues}{paragraph*.1333}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrRewrite}{{3.1.4}{293}{Compatibility issues}{section*.1334}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrIdents}{{3.1.4}{293}{Compatibility issues}{section*.1335}{}}
\@writefile{toc}{\contentsline {subsubsection}{Gallina extensions}{293}{subsubsection*.1336}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:gallina-extensions}{{3.1.4}{293}{Gallina extensions}{subsubsection*.1336}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern assignment}{293}{paragraph*.1337}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-assignment}{{3.1.4}{293}{Pattern assignment}{paragraph*.1337}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.4}{293}{Pattern assignment}{section*.1338}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.4}{294}{Pattern assignment}{section*.1339}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern conditional}{294}{paragraph*.1340}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional}{{3.1.4}{294}{Pattern conditional}{paragraph*.1340}{}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional-ssr}{{3.1.4}{294}{Pattern conditional}{paragraph*.1340}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.4}{294}{Pattern conditional}{section*.1341}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.4}{295}{Pattern conditional}{section*.1342}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.4}{295}{Pattern conditional}{section*.1343}{}}
\@writefile{toc}{\contentsline {paragraph}{Parametric polymorphism}{295}{paragraph*.1344}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism}{{3.1.4}{295}{Parametric polymorphism}{paragraph*.1344}{}}
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism-ssr}{{3.1.4}{295}{Parametric polymorphism}{paragraph*.1344}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Prenex-Implicits}{{3.1.4}{296}{Parametric polymorphism}{section*.1345}{}}
\@writefile{toc}{\contentsline {paragraph}{Anonymous arguments}{296}{paragraph*.1346}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:anonymous-arguments}{{3.1.4}{296}{Anonymous arguments}{paragraph*.1346}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-binder}{{3.1.4}{296}{Anonymous arguments}{section*.1347}{}}
\@writefile{toc}{\contentsline {paragraph}{Wildcards}{296}{paragraph*.1348}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards}{{3.1.4}{296}{Wildcards}{paragraph*.1348}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{297}{paragraph*.1349}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:definitions}{{3.1.4}{297}{Definitions}{paragraph*.1349}{}}
\newlabel{proof-engine/ssreflect-proof-language:definitions-ssr}{{3.1.4}{297}{Definitions}{paragraph*.1349}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.pose-(ssreflect)}{{3.1.4}{297}{Definitions}{section*.1350}{}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{298}{paragraph*.1351}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:abbreviations}{{3.1.4}{298}{Abbreviations}{paragraph*.1351}{}}
\newlabel{proof-engine/ssreflect-proof-language:abbreviations-ssr}{{3.1.4}{298}{Abbreviations}{paragraph*.1351}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.set-(ssreflect)}{{3.1.4}{298}{Abbreviations}{section*.1352}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ_switch}{{3.1.4}{298}{Abbreviations}{section*.1353}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching}{299}{subparagraph*.1354}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching}{{3.1.4}{299}{Matching}{subparagraph*.1354}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection}{301}{subparagraph*.1355}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection}{{3.1.4}{301}{Occurrence selection}{subparagraph*.1355}{}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-ssr}{{3.1.4}{301}{Occurrence selection}{subparagraph*.1355}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic localization}{303}{paragraph*.1356}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-localization}{{3.1.4}{303}{Basic localization}{paragraph*.1356}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-localization-ssr}{{3.1.4}{303}{Basic localization}{paragraph*.1356}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic tactics}{304}{subsubsection*.1357}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics}{{3.1.4}{304}{Basic tactics}{subsubsection*.1357}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics-ssr}{{3.1.4}{304}{Basic tactics}{subsubsection*.1357}{}}
\@writefile{toc}{\contentsline {paragraph}{Bookkeeping}{304}{paragraph*.1358}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping}{{3.1.4}{304}{Bookkeeping}{paragraph*.1358}{}}
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping-ssr}{{3.1.4}{304}{Bookkeeping}{paragraph*.1358}{}}
\@writefile{toc}{\contentsline {paragraph}{The defective tactics}{307}{paragraph*.1359}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics}{{3.1.4}{307}{The defective tactics}{paragraph*.1359}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics-ssr}{{3.1.4}{307}{The defective tactics}{paragraph*.1359}{}}
\@writefile{toc}{\contentsline {subparagraph}{The move tactic.}{307}{subparagraph*.1360}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-move-tactic}{{3.1.4}{307}{The move tactic}{subparagraph*.1360}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.move-(ssreflect)}{{3.1.4}{307}{The move tactic}{section*.1361}{}}
\@writefile{toc}{\contentsline {subparagraph}{The case tactic}{308}{subparagraph*.1362}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic}{{3.1.4}{308}{The case tactic}{subparagraph*.1362}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic-ssr}{{3.1.4}{308}{The case tactic}{subparagraph*.1362}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.case-(ssreflect)}{{3.1.4}{308}{The case tactic}{section*.1363}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-...}{{3.1.4}{308}{The case tactic}{section*.1364}{}}
\@writefile{toc}{\contentsline {subparagraph}{The elim tactic}{308}{subparagraph*.1365}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-elim-tactic}{{3.1.4}{308}{The elim tactic}{subparagraph*.1365}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.elim-(ssreflect)}{{3.1.4}{308}{The elim tactic}{section*.1366}{}}
\@writefile{toc}{\contentsline {subparagraph}{The apply tactic}{309}{subparagraph*.1367}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-apply-tactic}{{3.1.4}{309}{The apply tactic}{subparagraph*.1367}{}}
\newlabel{proof-engine/ssreflect-proof-language:apply-ssr}{{3.1.4}{309}{The apply tactic}{subparagraph*.1367}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.apply-(ssreflect)}{{3.1.4}{309}{The apply tactic}{section*.1368}{}}
\@writefile{toc}{\contentsline {paragraph}{Discharge}{310}{paragraph*.1369}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:discharge}{{3.1.4}{310}{Discharge}{paragraph*.1369}{}}
\newlabel{proof-engine/ssreflect-proof-language:discharge-ssr}{{3.1.4}{310}{Discharge}{paragraph*.1369}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn._u2026-:-_u2026-(ssreflect)}{{3.1.4}{310}{Discharge}{section*.1370}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_item}{{3.1.4}{310}{Discharge}{section*.1371}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear_switch}{{3.1.4}{310}{Discharge}{section*.1372}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear rules}{311}{subparagraph*.1373}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-rules}{{3.1.4}{311}{Clear rules}{subparagraph*.1373}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching for apply and exact}{311}{subparagraph*.1374}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-for-apply-and-exact}{{3.1.4}{311}{Matching for apply and exact}{subparagraph*.1374}{}}
\@writefile{toc}{\contentsline {subparagraph}{The abstract tactic}{312}{subparagraph*.1375}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-abstract-tactic}{{3.1.4}{312}{The abstract tactic}{subparagraph*.1375}{}}
\newlabel{proof-engine/ssreflect-proof-language:abstract-ssr}{{3.1.4}{312}{The abstract tactic}{subparagraph*.1375}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.abstract-(ssreflect)}{{3.1.4}{312}{The abstract tactic}{section*.1376}{}}
\@writefile{toc}{\contentsline {paragraph}{Introduction in the context}{313}{paragraph*.1377}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction-in-the-context}{{3.1.4}{313}{Introduction in the context}{paragraph*.1377}{}}
\newlabel{proof-engine/ssreflect-proof-language:introduction-ssr}{{3.1.4}{313}{Introduction in the context}{paragraph*.1377}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.=>}{{3.1.4}{313}{Introduction in the context}{section*.1378}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_item}{{3.1.4}{313}{Introduction in the context}{section*.1379}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s_item}{{3.1.4}{313}{Introduction in the context}{section*.1380}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_view}{{3.1.4}{313}{Introduction in the context}{section*.1381}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_pattern}{{3.1.4}{313}{Introduction in the context}{section*.1382}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_block}{{3.1.4}{313}{Introduction in the context}{section*.1383}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simplification items}{313}{subparagraph*.1384}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:simplification-items}{{3.1.4}{313}{Simplification items}{subparagraph*.1384}{}}
\@writefile{toc}{\contentsline {subparagraph}{Views}{313}{subparagraph*.1385}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views}{{3.1.4}{313}{Views}{subparagraph*.1385}{}}
\@writefile{toc}{\contentsline {subparagraph}{Intro patterns}{314}{subparagraph*.1386}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:intro-patterns}{{3.1.4}{314}{Intro patterns}{subparagraph*.1386}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear switch}{315}{subparagraph*.1387}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-switch}{{3.1.4}{315}{Clear switch}{subparagraph*.1387}{}}
\@writefile{toc}{\contentsline {subparagraph}{Branching and destructuring}{316}{subparagraph*.1388}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:branching-and-destructuring}{{3.1.4}{316}{Branching and destructuring}{subparagraph*.1388}{}}
\@writefile{toc}{\contentsline {subparagraph}{Block introduction}{316}{subparagraph*.1389}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:block-introduction}{{3.1.4}{316}{Block introduction}{subparagraph*.1389}{}}
\@writefile{toc}{\contentsline {paragraph}{Generation of equations}{317}{paragraph*.1390}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations}{{3.1.4}{317}{Generation of equations}{paragraph*.1390}{}}
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations-ssr}{{3.1.4}{317}{Generation of equations}{paragraph*.1390}{}}
\@writefile{toc}{\contentsline {paragraph}{Type families}{318}{paragraph*.1391}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:type-families}{{3.1.4}{318}{Type families}{paragraph*.1391}{}}
\newlabel{proof-engine/ssreflect-proof-language:type-families-ssr}{{3.1.4}{318}{Type families}{paragraph*.1391}{}}
\@writefile{toc}{\contentsline {subsubsection}{Control flow}{321}{subsubsection*.1392}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:control-flow}{{3.1.4}{321}{Control flow}{subsubsection*.1392}{}}
\@writefile{toc}{\contentsline {paragraph}{Indentation and bullets}{321}{paragraph*.1393}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:indentation-and-bullets}{{3.1.4}{321}{Indentation and bullets}{paragraph*.1393}{}}
\newlabel{proof-engine/ssreflect-proof-language:indentation-ssr}{{3.1.4}{321}{Indentation and bullets}{paragraph*.1393}{}}
\@writefile{toc}{\contentsline {paragraph}{Terminators}{322}{paragraph*.1394}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:terminators}{{3.1.4}{322}{Terminators}{paragraph*.1394}{}}
\newlabel{proof-engine/ssreflect-proof-language:terminators-ssr}{{3.1.4}{322}{Terminators}{paragraph*.1394}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.by}{{3.1.4}{322}{Terminators}{section*.1395}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.done}{{3.1.4}{322}{Terminators}{section*.1396}{}}
\@writefile{toc}{\contentsline {paragraph}{Selectors}{323}{paragraph*.1397}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:selectors}{{3.1.4}{323}{Selectors}{paragraph*.1397}{}}
\newlabel{proof-engine/ssreflect-proof-language:selectors-ssr}{{3.1.4}{323}{Selectors}{paragraph*.1397}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.last}{{3.1.4}{323}{Selectors}{section*.1398}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.first-(ssreflect)}{{3.1.4}{323}{Selectors}{section*.1399}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.last-first}{{3.1.4}{323}{Selectors}{section*.1400}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.first-last}{{3.1.4}{323}{Selectors}{section*.1401}{}}
\newlabel{proof-engine/ssreflect-proof-language:id11}{{3.1.4}{323}{Selectors}{section*.1402}{}}
\@writefile{toc}{\contentsline {paragraph}{Iteration}{324}{paragraph*.1403}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:iteration}{{3.1.4}{324}{Iteration}{paragraph*.1403}{}}
\newlabel{proof-engine/ssreflect-proof-language:iteration-ssr}{{3.1.4}{324}{Iteration}{paragraph*.1403}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.do-(ssreflect)}{{3.1.4}{324}{Iteration}{section*.1404}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.4}{324}{Iteration}{section*.1405}{}}
\@writefile{toc}{\contentsline {paragraph}{Localization}{325}{paragraph*.1406}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:localization}{{3.1.4}{325}{Localization}{paragraph*.1406}{}}
\newlabel{proof-engine/ssreflect-proof-language:localization-ssr}{{3.1.4}{325}{Localization}{paragraph*.1406}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.in}{{3.1.4}{325}{Localization}{section*.1407}{}}
\@writefile{toc}{\contentsline {paragraph}{Structure}{326}{paragraph*.1408}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:structure}{{3.1.4}{326}{Structure}{paragraph*.1408}{}}
\newlabel{proof-engine/ssreflect-proof-language:structure-ssr}{{3.1.4}{326}{Structure}{paragraph*.1408}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic.}{326}{subparagraph*.1409}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic}{{3.1.4}{326}{The have tactic}{subparagraph*.1409}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.have}{{3.1.4}{326}{The have tactic}{section*.1410}{}}
\newlabel{proof-engine/ssreflect-proof-language:id12}{{3.1.4}{327}{The have tactic}{section*.1411}{}}
\@writefile{toc}{\contentsline {subparagraph}{Generating let in context entries with have}{330}{subparagraph*.1412}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generating-let-in-context-entries-with-have}{{3.1.4}{330}{Generating let in context entries with have}{subparagraph*.1412}{}}
\newlabel{proof-engine/ssreflect-proof-language:generating-let-ssr}{{3.1.4}{330}{Generating let in context entries with have}{subparagraph*.1412}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic and typeclass resolution}{332}{subparagraph*.1413}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic-and-typeclass-resolution}{{3.1.4}{332}{The have tactic and typeclass resolution}{subparagraph*.1413}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrHave-NoTCResolution}{{3.1.4}{333}{The have tactic and typeclass resolution}{section*.1414}{}}
\@writefile{toc}{\contentsline {subparagraph}{Variants: the suff and wlog tactics}{333}{subparagraph*.1415}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:variants-the-suff-and-wlog-tactics}{{3.1.4}{333}{Variants: the suff and wlog tactics}{subparagraph*.1415}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.wlog}{{3.1.4}{334}{Variants: the suff and wlog tactics}{section*.1416}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.without-loss}{{3.1.4}{334}{Variants: the suff and wlog tactics}{section*.1417}{}}
\@writefile{toc}{\contentsline {subparagraph}{Advanced generalization}{336}{subparagraph*.1418}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization}{{3.1.4}{336}{Advanced generalization}{subparagraph*.1418}{}}
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization-ssr}{{3.1.4}{336}{Advanced generalization}{subparagraph*.1418}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting}{337}{subsubsection*.1419}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting}{{3.1.4}{337}{Rewriting}{subsubsection*.1419}{}}
\newlabel{proof-engine/ssreflect-proof-language:rewriting-ssr}{{3.1.4}{337}{Rewriting}{subsubsection*.1419}{}}
\@writefile{toc}{\contentsline {paragraph}{An extended rewrite tactic}{337}{paragraph*.1420}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:an-extended-rewrite-tactic}{{3.1.4}{337}{An extended rewrite tactic}{paragraph*.1420}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.rewrite-(ssreflect)}{{3.1.4}{337}{An extended rewrite tactic}{section*.1421}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-rstep}{{3.1.4}{337}{An extended rewrite tactic}{section*.1422}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_prefix}{{3.1.4}{337}{An extended rewrite tactic}{section*.1423}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_pattern}{{3.1.4}{337}{An extended rewrite tactic}{section*.1424}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_item}{{3.1.4}{337}{An extended rewrite tactic}{section*.1425}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrOldRewriteGoalsOrder}{{3.1.4}{339}{An extended rewrite tactic}{section*.1426}{}}
\@writefile{toc}{\contentsline {paragraph}{Remarks and examples}{339}{paragraph*.1427}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:remarks-and-examples}{{3.1.4}{339}{Remarks and examples}{paragraph*.1427}{}}
\@writefile{toc}{\contentsline {subparagraph}{Rewrite redex selection}{339}{subparagraph*.1428}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewrite-redex-selection}{{3.1.4}{339}{Rewrite redex selection}{subparagraph*.1428}{}}
\@writefile{toc}{\contentsline {subparagraph}{Chained rewrite steps}{340}{subparagraph*.1429}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:chained-rewrite-steps}{{3.1.4}{340}{Chained rewrite steps}{subparagraph*.1429}{}}
\@writefile{toc}{\contentsline {subparagraph}{Explicit redex switches are matched first}{341}{subparagraph*.1430}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:explicit-redex-switches-are-matched-first}{{3.1.4}{341}{Explicit redex switches are matched first}{subparagraph*.1430}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence switches and redex switches}{341}{subparagraph*.1431}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-switches-and-redex-switches}{{3.1.4}{341}{Occurrence switches and redex switches}{subparagraph*.1431}{}}
\newlabel{proof-engine/ssreflect-proof-language:ssr-rewrite-occ-switch}{{3.1.4}{341}{Occurrence switches and redex switches}{subparagraph*.1431}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection and repetition}{342}{subparagraph*.1432}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-and-repetition}{{3.1.4}{342}{Occurrence selection and repetition}{subparagraph*.1432}{}}
\@writefile{toc}{\contentsline {subparagraph}{Multi\sphinxhyphen {}rule rewriting}{343}{subparagraph*.1433}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multi-rule-rewriting}{{3.1.4}{343}{Multi\sphinxhyphen {}rule rewriting}{subparagraph*.1433}{}}
\@writefile{toc}{\contentsline {subparagraph}{Wildcards vs abstractions}{346}{subparagraph*.1434}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards-vs-abstractions}{{3.1.4}{346}{Wildcards vs abstractions}{subparagraph*.1434}{}}
\@writefile{toc}{\contentsline {subparagraph}{When SSReflect rewrite fails on standard Coq licit rewrite}{347}{subparagraph*.1435}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:when-ssr-rewrite-fails-on-standard-coq-licit-rewrite}{{3.1.4}{347}{When SSReflect rewrite fails on standard Coq licit rewrite}{subparagraph*.1435}{}}
\@writefile{toc}{\contentsline {subparagraph}{Existential metavariables and rewriting}{348}{subparagraph*.1436}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:existential-metavariables-and-rewriting}{{3.1.4}{348}{Existential metavariables and rewriting}{subparagraph*.1436}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{349}{paragraph*.1437}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting-under-binders}{{3.1.4}{349}{Rewriting under binders}{paragraph*.1437}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-ssr}{{3.1.4}{349}{Rewriting under binders}{paragraph*.1437}{}}
\@writefile{toc}{\contentsline {subparagraph}{The under tactic}{351}{subparagraph*.1438}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-under-tactic}{{3.1.4}{351}{The under tactic}{subparagraph*.1438}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.under}{{3.1.4}{351}{The under tactic}{section*.1439}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)}{{3.1.4}{351}{The under tactic}{section*.1440}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interactive mode}{351}{subparagraph*.1441}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interactive-mode}{{3.1.4}{351}{Interactive mode}{subparagraph*.1441}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-interactive}{{3.1.4}{351}{Interactive mode}{subparagraph*.1441}{}}
\@writefile{toc}{\contentsline {subparagraph}{The over tactic}{352}{subparagraph*.1442}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-over-tactic}{{3.1.4}{352}{The over tactic}{subparagraph*.1442}{}}
\newlabel{proof-engine/ssreflect-proof-language:over-ssr}{{3.1.4}{352}{The over tactic}{subparagraph*.1442}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.over}{{3.1.4}{352}{The over tactic}{section*.1443}{}}
\@writefile{toc}{\contentsline {subparagraph}{One\sphinxhyphen {}liner mode}{353}{subparagraph*.1444}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:one-liner-mode}{{3.1.4}{353}{One\sphinxhyphen {}liner mode}{subparagraph*.1444}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-one-liner}{{3.1.4}{353}{One\sphinxhyphen {}liner mode}{subparagraph*.1444}{}}
\@writefile{toc}{\contentsline {paragraph}{Locking, unlocking}{354}{paragraph*.1445}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:locking-unlocking}{{3.1.4}{354}{Locking, unlocking}{paragraph*.1445}{}}
\newlabel{proof-engine/ssreflect-proof-language:locking-ssr}{{3.1.4}{354}{Locking, unlocking}{paragraph*.1445}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.unlock}{{3.1.4}{355}{Locking, unlocking}{section*.1446}{}}
\@writefile{toc}{\contentsline {paragraph}{Congruence}{356}{paragraph*.1447}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:congruence}{{3.1.4}{356}{Congruence}{paragraph*.1447}{}}
\newlabel{proof-engine/ssreflect-proof-language:congruence-ssr}{{3.1.4}{356}{Congruence}{paragraph*.1447}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.congr}{{3.1.4}{356}{Congruence}{section*.1448}{}}
\@writefile{toc}{\contentsline {subsubsection}{Contextual patterns}{359}{subsubsection*.1449}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns}{{3.1.4}{359}{Contextual patterns}{subsubsection*.1449}{}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-ssr}{{3.1.4}{359}{Contextual patterns}{subsubsection*.1449}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{359}{paragraph*.1450}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:syntax}{{3.1.4}{359}{Syntax}{paragraph*.1450}{}}
\@writefile{toc}{\contentsline {paragraph}{Matching contextual patterns}{360}{paragraph*.1451}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-contextual-patterns}{{3.1.4}{360}{Matching contextual patterns}{paragraph*.1451}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{360}{paragraph*.1452}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:examples}{{3.1.4}{360}{Examples}{paragraph*.1452}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual pattern in set and the : tactical}{360}{subparagraph*.1453}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-pattern-in-set-and-the-tactical}{{3.1.4}{360}{Contextual pattern in set and the : tactical}{subparagraph*.1453}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual patterns in rewrite}{361}{subparagraph*.1454}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-in-rewrite}{{3.1.4}{361}{Contextual patterns in rewrite}{subparagraph*.1454}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns for recurrent contexts}{363}{paragraph*.1455}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:patterns-for-recurrent-contexts}{{3.1.4}{363}{Patterns for recurrent contexts}{paragraph*.1455}{}}
\@writefile{toc}{\contentsline {subsubsection}{Views and reflection}{363}{subsubsection*.1456}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection}{{3.1.4}{363}{Views and reflection}{subsubsection*.1456}{}}
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection-ssr}{{3.1.4}{363}{Views and reflection}{subsubsection*.1456}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting eliminations}{363}{paragraph*.1457}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-eliminations}{{3.1.4}{363}{Interpreting eliminations}{paragraph*.1457}{}}
\newlabel{proof-engine/ssreflect-proof-language:custom-elim-ssr}{{3.1.4}{363}{Interpreting eliminations}{paragraph*.1457}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting assumptions}{367}{paragraph*.1458}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions}{{3.1.4}{367}{Interpreting assumptions}{paragraph*.1458}{}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions-ssr}{{3.1.4}{367}{Interpreting assumptions}{paragraph*.1458}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{370}{subparagraph*.1459}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:specializing-assumptions}{{3.1.4}{370}{Specializing assumptions}{subparagraph*.1459}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting goals}{370}{paragraph*.1460}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-goals}{{3.1.4}{370}{Interpreting goals}{paragraph*.1460}{}}
\@writefile{toc}{\contentsline {paragraph}{Boolean reflection}{371}{paragraph*.1461}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:boolean-reflection}{{3.1.4}{371}{Boolean reflection}{paragraph*.1461}{}}
\@writefile{toc}{\contentsline {paragraph}{The reflect predicate}{372}{paragraph*.1462}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-reflect-predicate}{{3.1.4}{372}{The reflect predicate}{paragraph*.1462}{}}
\@writefile{toc}{\contentsline {paragraph}{General mechanism for interpreting goals and assumptions}{374}{paragraph*.1463}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:general-mechanism-for-interpreting-goals-and-assumptions}{{3.1.4}{374}{General mechanism for interpreting goals and assumptions}{paragraph*.1463}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{374}{subparagraph*.1464}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id15}{{3.1.4}{374}{Specializing assumptions}{subparagraph*.1464}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interpreting assumptions}{374}{subparagraph*.1465}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id16}{{3.1.4}{374}{Interpreting assumptions}{subparagraph*.1465}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting equivalences}{376}{paragraph*.1466}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-equivalences}{{3.1.4}{376}{Interpreting equivalences}{paragraph*.1466}{}}
\@writefile{toc}{\contentsline {paragraph}{Declaring new Hint Views}{377}{paragraph*.1467}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hint-views}{{3.1.4}{377}{Declaring new Hint Views}{paragraph*.1467}{}}
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hints-ssr}{{3.1.4}{377}{Declaring new Hint Views}{paragraph*.1467}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for-move}{{3.1.4}{377}{Declaring new Hint Views}{section*.1468}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for-apply}{{3.1.4}{377}{Declaring new Hint Views}{section*.1469}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple views}{378}{paragraph*.1470}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multiple-views}{{3.1.4}{378}{Multiple views}{paragraph*.1470}{}}
\@writefile{toc}{\contentsline {subsubsection}{SSReflect searching tool}{379}{subsubsection*.1471}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:ssr-searching-tool}{{3.1.4}{379}{SSReflect searching tool}{subsubsection*.1471}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Search-(ssreflect)}{{3.1.4}{379}{SSReflect searching tool}{section*.1472}{}}
\@writefile{toc}{\contentsline {subsubsection}{Synopsis and Index}{380}{subsubsection*.1473}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:synopsis-and-index}{{3.1.4}{380}{Synopsis and Index}{subsubsection*.1473}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters}{380}{paragraph*.1474}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parameters}{{3.1.4}{380}{Parameters}{paragraph*.1474}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_tactic}{{3.1.4}{380}{Parameters}{section*.1475}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-key}{{3.1.4}{380}{Parameters}{section*.1476}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-modname}{{3.1.4}{380}{Parameters}{section*.1477}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-nat_or_ident}{{3.1.4}{380}{Parameters}{section*.1478}{}}
\@writefile{toc}{\contentsline {paragraph}{Items and switches}{380}{paragraph*.1479}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:items-and-switches}{{3.1.4}{380}{Items and switches}{paragraph*.1479}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-ssr_binder}{{3.1.4}{380}{Items and switches}{section*.1480}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear_switch}{{3.1.4}{380}{Items and switches}{section*.1481}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-c_pattern}{{3.1.4}{380}{Items and switches}{section*.1482}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_item}{{3.1.4}{380}{Items and switches}{section*.1483}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-gen_item}{{3.1.4}{380}{Items and switches}{section*.1484}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_pattern}{{3.1.4}{380}{Items and switches}{section*.1485}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_item}{{3.1.4}{380}{Items and switches}{section*.1486}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_view}{{3.1.4}{380}{Items and switches}{section*.1487}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_block}{{3.1.4}{380}{Items and switches}{section*.1488}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-int_mult}{{3.1.4}{380}{Items and switches}{section*.1489}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ_switch}{{3.1.4}{380}{Items and switches}{section*.1490}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.4}{381}{Items and switches}{section*.1491}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult_mark}{{3.1.4}{381}{Items and switches}{section*.1492}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_item}{{3.1.4}{381}{Items and switches}{section*.1493}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_prefix}{{3.1.4}{381}{Items and switches}{section*.1494}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_pattern}{{3.1.4}{381}{Items and switches}{section*.1495}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_step}{{3.1.4}{381}{Items and switches}{section*.1496}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s_item}{{3.1.4}{381}{Items and switches}{section*.1497}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{381}{paragraph*.1498}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tactics}{{3.1.4}{381}{Tactics}{paragraph*.1498}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.move}{{3.1.4}{381}{Tactics}{section*.1499}{}}
\newlabel{proof-engine/ssreflect-proof-language:id29}{{3.1.4}{381}{Tactics}{section*.1500}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.exact-(ssreflect)}{{3.1.4}{381}{Tactics}{section*.1501}{}}
\newlabel{proof-engine/ssreflect-proof-language:id30}{{3.1.4}{381}{Tactics}{section*.1502}{}}
\newlabel{proof-engine/ssreflect-proof-language:id31}{{3.1.4}{381}{Tactics}{section*.1503}{}}
\newlabel{proof-engine/ssreflect-proof-language:id32}{{3.1.4}{381}{Tactics}{section*.1504}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.generally-have}{{3.1.4}{381}{Tactics}{section*.1505}{}}
\newlabel{proof-engine/ssreflect-proof-language:id33}{{3.1.4}{381}{Tactics}{section*.1506}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suff}{{3.1.4}{381}{Tactics}{section*.1507}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suffices}{{3.1.4}{382}{Tactics}{section*.1508}{}}
\newlabel{proof-engine/ssreflect-proof-language:id34}{{3.1.4}{382}{Tactics}{section*.1509}{}}
\newlabel{proof-engine/ssreflect-proof-language:id35}{{3.1.4}{382}{Tactics}{section*.1510}{}}
\newlabel{proof-engine/ssreflect-proof-language:id36}{{3.1.4}{382}{Tactics}{section*.1511}{}}
\newlabel{proof-engine/ssreflect-proof-language:id37}{{3.1.4}{382}{Tactics}{section*.1512}{}}
\@writefile{toc}{\contentsline {paragraph}{Tacticals}{382}{paragraph*.1513}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tacticals}{{3.1.4}{382}{Tacticals}{paragraph*.1513}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1514}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1515}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1516}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1517}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1518}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1519}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.4}{382}{Tacticals}{section*.1520}{}}
\@writefile{toc}{\contentsline {paragraph}{Commands}{382}{paragraph*.1521}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:commands}{{3.1.4}{382}{Commands}{paragraph*.1521}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for}{{3.1.4}{382}{Commands}{section*.1522}{}}
\newlabel{proof-engine/ssreflect-proof-language:id38}{{3.1.4}{382}{Commands}{section*.1523}{}}
\newlabel{proof-engine/ssreflect-proof-language:id39}{{3.1.4}{382}{Commands}{section*.1524}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{383}{paragraph*.1525}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:settings}{{3.1.4}{383}{Settings}{paragraph*.1525}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.Debug-Ssreflect}{{3.1.4}{383}{Settings}{section*.1526}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.Debug-SsrMatching}{{3.1.4}{383}{Settings}{section*.1527}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Detailed examples of tactics}{383}{subsection.3.1.5}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:detailed-examples-of-tactics}{{3.1.5}{383}{Detailed examples of tactics}{subsection.3.1.5}{}}
\newlabel{proof-engine/detailed-tactic-examples:detailedexamplesoftactics}{{3.1.5}{383}{Detailed examples of tactics}{subsection.3.1.5}{}}
\newlabel{proof-engine/detailed-tactic-examples::doc}{{3.1.5}{383}{Detailed examples of tactics}{subsection.3.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{dependent induction}{383}{subsubsection*.1528}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:dependent-induction}{{3.1.5}{383}{dependent induction}{subsubsection*.1528}{}}
\newlabel{proof-engine/detailed-tactic-examples:id1}{{3.1.5}{383}{dependent induction}{subsubsection*.1528}{}}
\@writefile{toc}{\contentsline {paragraph}{A larger example}{385}{paragraph*.1529}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:a-larger-example}{{3.1.5}{385}{A larger example}{paragraph*.1529}{}}
\@writefile{toc}{\contentsline {subsubsection}{autorewrite}{388}{subsubsection*.1530}\protected@file@percent }
\newlabel{proof-engine/detailed-tactic-examples:autorewrite}{{3.1.5}{388}{autorewrite}{subsubsection*.1530}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.6}Proof schemes}{390}{subsection.3.1.6}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:proof-schemes}{{3.1.6}{390}{Proof schemes}{subsection.3.1.6}{}}
\newlabel{user-extensions/proof-schemes:proofschemes}{{3.1.6}{390}{Proof schemes}{subsection.3.1.6}{}}
\newlabel{user-extensions/proof-schemes::doc}{{3.1.6}{390}{Proof schemes}{subsection.3.1.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{390}{subsubsection*.1531}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:generation-of-induction-principles-with-scheme}{{3.1.6}{390}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1531}{}}
\newlabel{user-extensions/proof-schemes:proofschemes-induction-principles}{{3.1.6}{390}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1531}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Scheme}{{3.1.6}{390}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1532}{}}
\newlabel{user-extensions/proof-schemes:grammar-token-scheme_kind}{{3.1.6}{390}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1533}{}}
\newlabel{user-extensions/proof-schemes:grammar-token-sort_family}{{3.1.6}{390}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1534}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic declaration of schemes}{392}{paragraph*.1535}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:automatic-declaration-of-schemes}{{3.1.6}{392}{Automatic declaration of schemes}{paragraph*.1535}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Elimination-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1536}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Nonrecursive-Elimination-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1537}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Case-Analysis-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1538}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Boolean-Equality-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1539}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Decidable-Equality-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1540}{}}
\newlabel{user-extensions/proof-schemes:coq:flag.Rewriting-Schemes}{{3.1.6}{392}{Automatic declaration of schemes}{section*.1541}{}}
\@writefile{toc}{\contentsline {paragraph}{Combined Scheme}{392}{paragraph*.1542}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:combined-scheme}{{3.1.6}{392}{Combined Scheme}{paragraph*.1542}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Combined-Scheme}{{3.1.6}{392}{Combined Scheme}{section*.1543}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{393}{subsubsection*.1544}\protected@file@percent }
\newlabel{user-extensions/proof-schemes:generation-of-inversion-principles-with-derive-inversion}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1544}{}}
\newlabel{user-extensions/proof-schemes:derive-inversion}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1544}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Derive-Inversion}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1545}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Derive-Inversion_clear}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1546}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Derive-Dependent-Inversion}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1547}{}}
\newlabel{user-extensions/proof-schemes:coq:cmd.Derive-Dependent-Inversion_clear}{{3.1.6}{393}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1548}{}}
\citation{zebibliography:id19}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Automatic solvers and programmable tactics}{395}{section.3.2}\protected@file@percent }
\newlabel{proofs/automatic-tactics/index:automatic-solvers-and-programmable-tactics}{{3.2}{395}{Automatic solvers and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index:automatic-tactics}{{3.2}{395}{Automatic solvers and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index::doc}{{3.2}{395}{Automatic solvers and programmable tactics}{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Solvers for logic and equality}{395}{subsection.3.2.1}\protected@file@percent }
\newlabel{proofs/automatic-tactics/logic:solvers-for-logic-and-equality}{{3.2.1}{395}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic:decisionprocedures}{{3.2.1}{395}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic::doc}{{3.2.1}{395}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.tauto}{{3.2.1}{395}{Solvers for logic and equality}{section*.1549}{}}
\citation{zebibliography:id38}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.dtauto}{{3.2.1}{396}{Solvers for logic and equality}{section*.1550}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.intuition}{{3.2.1}{396}{Solvers for logic and equality}{section*.1551}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.dintuition}{{3.2.1}{396}{Solvers for logic and equality}{section*.1552}{}}
\newlabel{proofs/automatic-tactics/logic:coq:flag.Intuition-Negation-Unfolding}{{3.2.1}{396}{Solvers for logic and equality}{section*.1553}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.rtauto}{{3.2.1}{396}{Solvers for logic and equality}{section*.1554}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.firstorder}{{3.2.1}{396}{Solvers for logic and equality}{section*.1555}{}}
\newlabel{proofs/automatic-tactics/logic:coq:opt.Firstorder-Solver}{{3.2.1}{397}{Solvers for logic and equality}{section*.1556}{}}
\newlabel{proofs/automatic-tactics/logic:coq:cmd.Print-Firstorder-Solver}{{3.2.1}{397}{Solvers for logic and equality}{section*.1557}{}}
\newlabel{proofs/automatic-tactics/logic:coq:opt.Firstorder-Depth}{{3.2.1}{397}{Solvers for logic and equality}{section*.1558}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.congruence}{{3.2.1}{397}{Solvers for logic and equality}{section*.1559}{}}
\newlabel{proofs/automatic-tactics/logic:coq:exn.I-don_u2019t-know-how-to-handle-dependent-equality}{{3.2.1}{398}{Solvers for logic and equality}{section*.1560}{}}
\newlabel{proofs/automatic-tactics/logic:coq:exn.Goal-is-solvable-by-congruence-but-some-arguments-are-missing.-Try-congruence-with-_u2018term_u2019_u2026_u2018term_u2019,-replacing-metavariables-by-arbitrary-terms}{{3.2.1}{398}{Solvers for logic and equality}{section*.1561}{}}
\newlabel{proofs/automatic-tactics/logic:coq:flag.Congruence-Verbose}{{3.2.1}{398}{Solvers for logic and equality}{section*.1562}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.btauto}{{3.2.1}{398}{Solvers for logic and equality}{section*.1563}{}}
\newlabel{proofs/automatic-tactics/logic:grammar-token-btauto_term}{{3.2.1}{398}{Solvers for logic and equality}{section*.1564}{}}
\newlabel{proofs/automatic-tactics/logic:coq:exn.Cannot-recognize-a-boolean-equality}{{3.2.1}{399}{Solvers for logic and equality}{section*.1565}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Omega: a (deprecated) solver for arithmetic}{399}{subsection.3.2.2}\protected@file@percent }
\newlabel{addendum/omega:omega-a-deprecated-solver-for-arithmetic}{{3.2.2}{399}{Omega: a (deprecated) solver for arithmetic}{subsection.3.2.2}{}}
\newlabel{addendum/omega:omega-chapter}{{3.2.2}{399}{Omega: a (deprecated) solver for arithmetic}{subsection.3.2.2}{}}
\newlabel{addendum/omega::doc}{{3.2.2}{399}{Omega: a (deprecated) solver for arithmetic}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{399}{subsubsection*.1566}\protected@file@percent }
\newlabel{addendum/omega:description-of-omega}{{3.2.2}{399}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1566}{}}
\newlabel{addendum/omega:coq:tacn.omega}{{3.2.2}{399}{Description of \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1567}{}}
\@writefile{toc}{\contentsline {subsubsection}{Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{399}{subsubsection*.1568}\protected@file@percent }
\newlabel{addendum/omega:arithmetical-goals-recognized-by-omega}{{3.2.2}{399}{Arithmetical goals recognized by \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1568}{}}
\@writefile{toc}{\contentsline {subsubsection}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{400}{subsubsection*.1569}\protected@file@percent }
\newlabel{addendum/omega:messages-from-omega}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1569}{}}
\newlabel{addendum/omega:coq:exn.omega-can't-solve-this-system}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1570}{}}
\newlabel{addendum/omega:coq:exn.omega:-Not-a-quantifier-free-goal}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1571}{}}
\newlabel{addendum/omega:coq:exn.omega:-Unrecognized-predicate-or-connective:-_u2018ident_u2019}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1572}{}}
\newlabel{addendum/omega:coq:exn.omega:-Unrecognized-atomic-proposition:-...}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1573}{}}
\newlabel{addendum/omega:coq:exn.omega:-Can't-solve-a-goal-with-proposition-variables}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1574}{}}
\newlabel{addendum/omega:coq:exn.omega:-Unrecognized-proposition}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1575}{}}
\newlabel{addendum/omega:coq:exn.omega:-Can't-solve-a-goal-with-non-linear-products}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1576}{}}
\newlabel{addendum/omega:coq:exn.omega:-Can't-solve-a-goal-with-equality-on-type-...}{{3.2.2}{400}{Messages from \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{section*.1577}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{400}{subsubsection*.1578}\protected@file@percent }
\newlabel{addendum/omega:using-omega}{{3.2.2}{400}{Using \sphinxstyleliteralintitle {\sphinxupquote {omega}}}{subsubsection*.1578}{}}
\@writefile{toc}{\contentsline {subsubsection}{Options}{401}{subsubsection*.1579}\protected@file@percent }
\newlabel{addendum/omega:options}{{3.2.2}{401}{Options}{subsubsection*.1579}{}}
\newlabel{addendum/omega:coq:flag.Stable-Omega}{{3.2.2}{401}{Options}{section*.1580}{}}
\newlabel{addendum/omega:coq:flag.Omega-UseLocalDefs}{{3.2.2}{401}{Options}{section*.1581}{}}
\newlabel{addendum/omega:coq:flag.Omega-System}{{3.2.2}{401}{Options}{section*.1582}{}}
\newlabel{addendum/omega:coq:flag.Omega-Action}{{3.2.2}{401}{Options}{section*.1583}{}}
\@writefile{toc}{\contentsline {subsubsection}{Technical data}{401}{subsubsection*.1584}\protected@file@percent }
\newlabel{addendum/omega:technical-data}{{3.2.2}{401}{Technical data}{subsubsection*.1584}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview of the tactic}{401}{paragraph*.1585}\protected@file@percent }
\newlabel{addendum/omega:overview-of-the-tactic}{{3.2.2}{401}{Overview of the tactic}{paragraph*.1585}{}}
\citation{zebibliography:id51}
\@writefile{toc}{\contentsline {paragraph}{Overview of the OMEGA decision procedure}{402}{paragraph*.1586}\protected@file@percent }
\newlabel{addendum/omega:overview-of-the-omega-decision-procedure}{{3.2.2}{402}{Overview of the OMEGA decision procedure}{paragraph*.1586}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bugs}{402}{subsubsection*.1587}\protected@file@percent }
\newlabel{addendum/omega:bugs}{{3.2.2}{402}{Bugs}{subsubsection*.1587}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Micromega: solvers for arithmetic goals over ordered rings}{402}{subsection.3.2.3}\protected@file@percent }
\newlabel{addendum/micromega:micromega-solvers-for-arithmetic-goals-over-ordered-rings}{{3.2.3}{402}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.3}{}}
\newlabel{addendum/micromega:micromega}{{3.2.3}{402}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.3}{}}
\newlabel{addendum/micromega::doc}{{3.2.3}{402}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Short description of the tactics}{402}{subsubsection*.1588}\protected@file@percent }
\newlabel{addendum/micromega:short-description-of-the-tactics}{{3.2.3}{402}{Short description of the tactics}{subsubsection*.1588}{}}
\newlabel{addendum/micromega:coq:flag.Simplex}{{3.2.3}{402}{Short description of the tactics}{section*.1589}{}}
\newlabel{addendum/micromega:coq:opt.Dump-Arith}{{3.2.3}{402}{Short description of the tactics}{section*.1590}{}}
\newlabel{addendum/micromega:coq:cmd.Show-Lia-Profile}{{3.2.3}{403}{Short description of the tactics}{section*.1591}{}}
\newlabel{addendum/micromega:coq:flag.Lia-Cache}{{3.2.3}{403}{Short description of the tactics}{section*.1592}{}}
\newlabel{addendum/micromega:coq:flag.Nia-Cache}{{3.2.3}{403}{Short description of the tactics}{section*.1593}{}}
\newlabel{addendum/micromega:coq:flag.Nra-Cache}{{3.2.3}{403}{Short description of the tactics}{section*.1594}{}}
\newlabel{addendum/micromega:grammar-token-F}{{3.2.3}{403}{Short description of the tactics}{section*.1595}{}}
\newlabel{addendum/micromega:grammar-token-A}{{3.2.3}{403}{Short description of the tactics}{section*.1596}{}}
\newlabel{addendum/micromega:grammar-token-p}{{3.2.3}{403}{Short description of the tactics}{section*.1597}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleemphasis {Positivstellensatz} refutations}{403}{subsubsection*.1598}\protected@file@percent }
\newlabel{addendum/micromega:positivstellensatz-refutations}{{3.2.3}{403}{\sphinxstyleemphasis {Positivstellensatz} refutations}{subsubsection*.1598}{}}
\newlabel{addendum/micromega:psatz-thm}{{3.2.3}{403}{\sphinxstyleemphasis {Positivstellensatz} refutations}{section*.1599}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{404}{subsubsection*.1600}\protected@file@percent }
\newlabel{addendum/micromega:lra-a-decision-procedure-for-linear-real-and-rational-arithmetic}{{3.2.3}{404}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{subsubsection*.1600}{}}
\newlabel{addendum/micromega:coq:tacn.lra}{{3.2.3}{404}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{section*.1601}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{404}{subsubsection*.1602}\protected@file@percent }
\newlabel{addendum/micromega:lia-a-tactic-for-linear-integer-arithmetic}{{3.2.3}{404}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{subsubsection*.1602}{}}
\newlabel{addendum/micromega:coq:tacn.lia}{{3.2.3}{404}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{section*.1603}{}}
\@writefile{toc}{\contentsline {paragraph}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{404}{paragraph*.1604}\protected@file@percent }
\newlabel{addendum/micromega:high-level-view-of-lia}{{3.2.3}{404}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{paragraph*.1604}{}}
\@writefile{toc}{\contentsline {paragraph}{Cutting plane proofs}{404}{paragraph*.1605}\protected@file@percent }
\newlabel{addendum/micromega:cutting-plane-proofs}{{3.2.3}{404}{Cutting plane proofs}{paragraph*.1605}{}}
\newlabel{addendum/micromega:ceil-thm}{{3.2.3}{404}{Cutting plane proofs}{section*.1606}{}}
\newlabel{addendum/micromega:coq:thm.Bound-on-the-ceiling-function}{{3.2.3}{404}{Cutting plane proofs}{section*.1607}{}}
\@writefile{toc}{\contentsline {paragraph}{Case split}{405}{paragraph*.1608}\protected@file@percent }
\newlabel{addendum/micromega:case-split}{{3.2.3}{405}{Case split}{paragraph*.1608}{}}
\newlabel{addendum/micromega:casesplit-thm}{{3.2.3}{405}{Case split}{section*.1609}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{405}{subsubsection*.1610}\protected@file@percent }
\newlabel{addendum/micromega:nra-a-proof-procedure-for-non-linear-arithmetic}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1610}{}}
\newlabel{addendum/micromega:coq:tacn.nra}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1611}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{405}{subsubsection*.1612}\protected@file@percent }
\newlabel{addendum/micromega:nia-a-proof-procedure-for-non-linear-integer-arithmetic}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{subsubsection*.1612}{}}
\newlabel{addendum/micromega:coq:tacn.nia}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{section*.1613}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{405}{subsubsection*.1614}\protected@file@percent }
\newlabel{addendum/micromega:psatz-a-proof-procedure-for-non-linear-arithmetic}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1614}{}}
\newlabel{addendum/micromega:coq:tacn.psatz}{{3.2.3}{405}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1615}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{406}{subsubsection*.1616}\protected@file@percent }
\newlabel{addendum/micromega:zify-pre-processing-of-arithmetic-goals}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{subsubsection*.1616}{}}
\newlabel{addendum/micromega:coq:tacn.zify}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1617}{}}
\newlabel{addendum/micromega:coq:cmd.Add-Zify}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1618}{}}
\newlabel{addendum/micromega:grammar-token-add_zify}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1619}{}}
\newlabel{addendum/micromega:coq:cmd.Show-Zify}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1620}{}}
\newlabel{addendum/micromega:grammar-token-show_zify}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1621}{}}
\newlabel{addendum/micromega:coq:cmd.Show-Zify-Spec}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1622}{}}
\newlabel{addendum/micromega:coq:cmd.Add-InjTyp}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1623}{}}
\newlabel{addendum/micromega:coq:cmd.Add-BinOp}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1624}{}}
\newlabel{addendum/micromega:coq:cmd.Add-BinOpSpec}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1625}{}}
\newlabel{addendum/micromega:coq:cmd.Add-UnOp}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1626}{}}
\newlabel{addendum/micromega:coq:cmd.Add-UnOpSpec}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1627}{}}
\newlabel{addendum/micromega:coq:cmd.Add-CstOp}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1628}{}}
\newlabel{addendum/micromega:coq:cmd.Add-BinRel}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1629}{}}
\newlabel{addendum/micromega:coq:cmd.Add-PropOp}{{3.2.3}{406}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1630}{}}
\newlabel{addendum/micromega:coq:cmd.Add-PropBinOp}{{3.2.3}{407}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1631}{}}
\newlabel{addendum/micromega:coq:cmd.Add-PropUOp}{{3.2.3}{407}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1632}{}}
\newlabel{addendum/micromega:coq:cmd.Add-Saturate}{{3.2.3}{407}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1633}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}ring and field: solvers for polynomial and rational equations}{407}{subsection.3.2.4}\protected@file@percent }
\newlabel{addendum/ring:ring-and-field-solvers-for-polynomial-and-rational-equations}{{3.2.4}{407}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.4}{}}
\newlabel{addendum/ring:theringandfieldtacticfamilies}{{3.2.4}{407}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.4}{}}
\newlabel{addendum/ring::doc}{{3.2.4}{407}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{What does this tactic do?}{407}{subsubsection*.1634}\protected@file@percent }
\newlabel{addendum/ring:what-does-this-tactic-do}{{3.2.4}{407}{What does this tactic do?}{subsubsection*.1634}{}}
\@writefile{toc}{\contentsline {subsubsection}{The variables map}{407}{subsubsection*.1635}\protected@file@percent }
\newlabel{addendum/ring:the-variables-map}{{3.2.4}{407}{The variables map}{subsubsection*.1635}{}}
\@writefile{toc}{\contentsline {subsubsection}{Is it automatic?}{408}{subsubsection*.1636}\protected@file@percent }
\newlabel{addendum/ring:is-it-automatic}{{3.2.4}{408}{Is it automatic?}{subsubsection*.1636}{}}
\@writefile{toc}{\contentsline {subsubsection}{Concrete usage in Coq}{408}{subsubsection*.1637}\protected@file@percent }
\newlabel{addendum/ring:concrete-usage-in-coq}{{3.2.4}{408}{Concrete usage in Coq}{subsubsection*.1637}{}}
\newlabel{addendum/ring:coq:tacn.ring}{{3.2.4}{408}{Concrete usage in Coq}{section*.1638}{}}
\newlabel{addendum/ring:coq:tacn.ring_simplify}{{3.2.4}{408}{Concrete usage in Coq}{section*.1639}{}}
\newlabel{addendum/ring:coq:cmd.Print-Rings}{{3.2.4}{409}{Concrete usage in Coq}{section*.1640}{}}
\newlabel{addendum/ring:coq:exn.Not-a-valid-ring-equation}{{3.2.4}{409}{Concrete usage in Coq}{section*.1641}{}}
\newlabel{addendum/ring:coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type}{{3.2.4}{409}{Concrete usage in Coq}{section*.1642}{}}
\newlabel{addendum/ring:coq:exn.Cannot-find-a-declared-ring-structure-over-_u2018term_u2019}{{3.2.4}{409}{Concrete usage in Coq}{section*.1643}{}}
\newlabel{addendum/ring:coq:exn.Cannot-find-a-declared-ring-structure-for-equality-_u2018term_u2019}{{3.2.4}{409}{Concrete usage in Coq}{section*.1644}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a ring structure}{410}{subsubsection*.1645}\protected@file@percent }
\newlabel{addendum/ring:adding-a-ring-structure}{{3.2.4}{410}{Adding a ring structure}{subsubsection*.1645}{}}
\newlabel{addendum/ring:coq:cmd.Add-Ring}{{3.2.4}{411}{Adding a ring structure}{section*.1646}{}}
\newlabel{addendum/ring:grammar-token-ring_mod}{{3.2.4}{411}{Adding a ring structure}{section*.1647}{}}
\newlabel{addendum/ring:coq:exn.Bad-ring-structure}{{3.2.4}{412}{Adding a ring structure}{section*.1648}{}}
\newlabel{addendum/ring:coq:exn.Bad-lemma-for-decidability-of-equality}{{3.2.4}{412}{Adding a ring structure}{section*.1649}{}}
\newlabel{addendum/ring:coq:exn.Ring-operation-should-be-declared-as-a-morphism}{{3.2.4}{412}{Adding a ring structure}{section*.1650}{}}
\@writefile{toc}{\contentsline {subsubsection}{How does it work?}{412}{subsubsection*.1651}\protected@file@percent }
\newlabel{addendum/ring:how-does-it-work}{{3.2.4}{412}{How does it work?}{subsubsection*.1651}{}}
\@writefile{toc}{\contentsline {subsubsection}{Dealing with fields}{413}{subsubsection*.1652}\protected@file@percent }
\newlabel{addendum/ring:dealing-with-fields}{{3.2.4}{413}{Dealing with fields}{subsubsection*.1652}{}}
\newlabel{addendum/ring:coq:tacn.field}{{3.2.4}{413}{Dealing with fields}{section*.1653}{}}
\newlabel{addendum/ring:coq:tacn.field_simplify}{{3.2.4}{415}{Dealing with fields}{section*.1654}{}}
\newlabel{addendum/ring:coq:tacn.field_simplify_eq}{{3.2.4}{415}{Dealing with fields}{section*.1655}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a new field structure}{415}{subsubsection*.1656}\protected@file@percent }
\newlabel{addendum/ring:adding-a-new-field-structure}{{3.2.4}{415}{Adding a new field structure}{subsubsection*.1656}{}}
\newlabel{addendum/ring:coq:cmd.Add-Field}{{3.2.4}{416}{Adding a new field structure}{section*.1657}{}}
\newlabel{addendum/ring:grammar-token-field_mod}{{3.2.4}{416}{Adding a new field structure}{section*.1658}{}}
\@writefile{toc}{\contentsline {subsubsection}{History of ring}{416}{subsubsection*.1659}\protected@file@percent }
\newlabel{addendum/ring:history-of-ring}{{3.2.4}{416}{History of ring}{subsubsection*.1659}{}}
\citation{zebibliography:id4}
\@writefile{toc}{\contentsline {subsubsection}{Discussion}{417}{subsubsection*.1660}\protected@file@percent }
\newlabel{addendum/ring:discussion}{{3.2.4}{417}{Discussion}{subsubsection*.1660}{}}
\newlabel{addendum/ring:discussion-reflection}{{3.2.4}{417}{Discussion}{subsubsection*.1660}{}}
\citation{zebibliography:id50}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Nsatz: a solver for equalities in integral domains}{418}{subsection.3.2.5}\protected@file@percent }
\newlabel{addendum/nsatz:nsatz-a-solver-for-equalities-in-integral-domains}{{3.2.5}{418}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.5}{}}
\newlabel{addendum/nsatz:nsatz-chapter}{{3.2.5}{418}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.5}{}}
\newlabel{addendum/nsatz::doc}{{3.2.5}{418}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.5}{}}
\newlabel{addendum/nsatz:coq:tacn.nsatz}{{3.2.5}{418}{Nsatz: a solver for equalities in integral domains}{section*.1661}{}}
\@writefile{toc}{\contentsline {subsubsection}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{419}{subsubsection*.1662}\protected@file@percent }
\newlabel{addendum/nsatz:more-about-nsatz}{{3.2.5}{419}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{subsubsection*.1662}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.6}Programmable proof search}{419}{subsection.3.2.6}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:programmable-proof-search}{{3.2.6}{419}{Programmable proof search}{subsection.3.2.6}{}}
\newlabel{proofs/automatic-tactics/auto:automation}{{3.2.6}{419}{Programmable proof search}{subsection.3.2.6}{}}
\newlabel{proofs/automatic-tactics/auto::doc}{{3.2.6}{419}{Programmable proof search}{subsection.3.2.6}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.auto}{{3.2.6}{419}{Programmable proof search}{section*.1663}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-auto_using}{{3.2.6}{419}{Programmable proof search}{section*.1664}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hintbases}{{3.2.6}{419}{Programmable proof search}{section*.1665}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_auto}{{3.2.6}{420}{Programmable proof search}{section*.1666}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-auto}{{3.2.6}{420}{Programmable proof search}{section*.1667}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.trivial}{{3.2.6}{420}{Programmable proof search}{section*.1668}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-trivial}{{3.2.6}{420}{Programmable proof search}{section*.1669}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_trivial}{{3.2.6}{420}{Programmable proof search}{section*.1670}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Auto}{{3.2.6}{420}{Programmable proof search}{section*.1671}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Auto}{{3.2.6}{420}{Programmable proof search}{section*.1672}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Trivial}{{3.2.6}{420}{Programmable proof search}{section*.1673}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Trivial}{{3.2.6}{420}{Programmable proof search}{section*.1674}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.eauto}{{3.2.6}{420}{Programmable proof search}{section*.1675}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_eauto}{{3.2.6}{420}{Programmable proof search}{section*.1676}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Eauto}{{3.2.6}{420}{Programmable proof search}{section*.1677}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Eauto}{{3.2.6}{420}{Programmable proof search}{section*.1678}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-eauto}{{3.2.6}{421}{Programmable proof search}{section*.1679}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.bfs-eauto}{{3.2.6}{421}{Programmable proof search}{section*.1680}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.autounfold}{{3.2.6}{421}{Programmable proof search}{section*.1681}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.autorewrite}{{3.2.6}{421}{Programmable proof search}{section*.1682}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn.The-"at"-syntax-isn't-available-yet-for-the-autorewrite-tactic}{{3.2.6}{421}{Programmable proof search}{section*.1683}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.easy}{{3.2.6}{421}{Programmable proof search}{section*.1684}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.now}{{3.2.6}{421}{Programmable proof search}{section*.1685}{}}
\@writefile{toc}{\contentsline {subsubsection}{The hints databases for auto and eauto}{422}{subsubsection*.1686}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:the-hints-databases-for-auto-and-eauto}{{3.2.6}{422}{The hints databases for auto and eauto}{subsubsection*.1686}{}}
\newlabel{proofs/automatic-tactics/auto:thehintsdatabasesforautoandeauto}{{3.2.6}{422}{The hints databases for auto and eauto}{subsubsection*.1686}{}}
\@writefile{toc}{\contentsline {subsubsection}{Creating Hint databases}{422}{subsubsection*.1687}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:creating-hint-databases}{{3.2.6}{422}{Creating Hint databases}{subsubsection*.1687}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Create-HintDb}{{3.2.6}{422}{Creating Hint databases}{section*.1688}{}}
\@writefile{toc}{\contentsline {subsubsection}{Creating Hints}{422}{subsubsection*.1689}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:creating-hints}{{3.2.6}{422}{Creating Hints}{subsubsection*.1689}{}}
\newlabel{proofs/automatic-tactics/auto:id1}{{3.2.6}{422}{Creating Hints}{subsubsection*.1689}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Resolve}{{3.2.6}{422}{Creating Hints}{section*.1690}{}}
\newlabel{proofs/automatic-tactics/auto:id2}{{3.2.6}{422}{Creating Hints}{section*.1691}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hint_info}{{3.2.6}{423}{Creating Hints}{section*.1692}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-one_pattern}{{3.2.6}{423}{Creating Hints}{section*.1693}{}}
\newlabel{proofs/automatic-tactics/auto:coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile;-it-is-recommended-to-declare-a-toplevel-constant-instead}{{3.2.6}{423}{Creating Hints}{section*.1694}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn._u2018qualid_u2019-cannot-be-used-as-a-hint}{{3.2.6}{423}{Creating Hints}{section*.1695}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Immediate}{{3.2.6}{423}{Creating Hints}{section*.1696}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Constructors}{{3.2.6}{423}{Creating Hints}{section*.1697}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn._u2018qualid_u2019-is-not-an-inductive-type}{{3.2.6}{423}{Creating Hints}{section*.1698}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Unfold}{{3.2.6}{423}{Creating Hints}{section*.1699}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Transparent}{{3.2.6}{423}{Creating Hints}{section*.1700}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Opaque}{{3.2.6}{423}{Creating Hints}{section*.1701}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Constants}{{3.2.6}{423}{Creating Hints}{section*.1702}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Variables}{{3.2.6}{423}{Creating Hints}{section*.1703}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Extern}{{3.2.6}{424}{Creating Hints}{section*.1704}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Cut}{{3.2.6}{424}{Creating Hints}{section*.1705}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hints_regexp}{{3.2.6}{424}{Creating Hints}{section*.1706}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Mode}{{3.2.6}{425}{Creating Hints}{section*.1707}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Rewrite}{{3.2.6}{425}{Creating Hints}{section*.1708}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-Rewrite-HintDb}{{3.2.6}{425}{Creating Hints}{section*.1709}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Remove-Hints}{{3.2.6}{425}{Creating Hints}{section*.1710}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-Hint}{{3.2.6}{425}{Creating Hints}{section*.1711}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-HintDb}{{3.2.6}{426}{Creating Hints}{section*.1712}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint databases defined in the Coq standard library}{426}{subsubsection*.1713}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:hint-databases-defined-in-the-coq-standard-library}{{3.2.6}{426}{Hint databases defined in the Coq standard library}{subsubsection*.1713}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint locality}{426}{subsubsection*.1714}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:hint-locality}{{3.2.6}{426}{Hint locality}{subsubsection*.1714}{}}
\newlabel{proofs/automatic-tactics/auto:coq:opt.Loose-Hint-Behavior}{{3.2.6}{427}{Hint locality}{section*.1715}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setting implicit automation tactics}{427}{subsubsection*.1716}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:setting-implicit-automation-tactics}{{3.2.6}{427}{Setting implicit automation tactics}{subsubsection*.1716}{}}
\newlabel{proofs/automatic-tactics/auto:tactics-implicit-automation}{{3.2.6}{427}{Setting implicit automation tactics}{subsubsection*.1716}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Proof-with}{{3.2.6}{427}{Setting implicit automation tactics}{section*.1717}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.7}Generalized rewriting}{427}{subsection.3.2.7}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:generalized-rewriting}{{3.2.7}{427}{Generalized rewriting}{subsection.3.2.7}{}}
\newlabel{addendum/generalized-rewriting:generalizedrewriting}{{3.2.7}{427}{Generalized rewriting}{subsection.3.2.7}{}}
\newlabel{addendum/generalized-rewriting::doc}{{3.2.7}{427}{Generalized rewriting}{subsection.3.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction to generalized rewriting}{428}{subsubsection*.1718}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:introduction-to-generalized-rewriting}{{3.2.7}{428}{Introduction to generalized rewriting}{subsubsection*.1718}{}}
\@writefile{toc}{\contentsline {paragraph}{Relations and morphisms}{428}{paragraph*.1719}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:relations-and-morphisms}{{3.2.7}{428}{Relations and morphisms}{paragraph*.1719}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding new relations and morphisms}{429}{paragraph*.1720}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:adding-new-relations-and-morphisms}{{3.2.7}{429}{Adding new relations and morphisms}{paragraph*.1720}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Parametric-Relation}{{3.2.7}{429}{Adding new relations and morphisms}{section*.1721}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Relation}{{3.2.7}{430}{Adding new relations and morphisms}{section*.1722}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Parametric-Morphism}{{3.2.7}{430}{Adding new relations and morphisms}{section*.1723}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and non reflexive relations}{432}{paragraph*.1724}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-non-reflexive-relations}{{3.2.7}{432}{Rewriting and non reflexive relations}{paragraph*.1724}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and non symmetric relations}{432}{paragraph*.1725}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-non-symmetric-relations}{{3.2.7}{432}{Rewriting and non symmetric relations}{paragraph*.1725}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting in ambiguous setoid contexts}{433}{paragraph*.1726}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-in-ambiguous-setoid-contexts}{{3.2.7}{433}{Rewriting in ambiguous setoid contexts}{paragraph*.1726}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands and tactics}{433}{subsubsection*.1727}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:commands-and-tactics}{{3.2.7}{433}{Commands and tactics}{subsubsection*.1727}{}}
\@writefile{toc}{\contentsline {paragraph}{First class setoids and morphisms}{433}{paragraph*.1728}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:first-class-setoids-and-morphisms}{{3.2.7}{433}{First class setoids and morphisms}{paragraph*.1728}{}}
\newlabel{addendum/generalized-rewriting:id2}{{3.2.7}{433}{First class setoids and morphisms}{paragraph*.1728}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics enabled on user provided relations}{434}{paragraph*.1729}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:tactics-enabled-on-user-provided-relations}{{3.2.7}{434}{Tactics enabled on user provided relations}{paragraph*.1729}{}}
\newlabel{addendum/generalized-rewriting:id3}{{3.2.7}{434}{Tactics enabled on user provided relations}{paragraph*.1729}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_reflexivity}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1730}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_symmetry}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1731}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_transitivity}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1732}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_rewrite}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1733}{}}
\newlabel{addendum/generalized-rewriting:id4}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1734}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_replace}{{3.2.7}{434}{Tactics enabled on user provided relations}{section*.1735}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-rewrite_occs}{{3.2.7}{435}{Tactics enabled on user provided relations}{section*.1736}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing relations and morphisms}{435}{paragraph*.1737}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:printing-relations-and-morphisms}{{3.2.7}{435}{Printing relations and morphisms}{paragraph*.1737}{}}
\@writefile{toc}{\contentsline {paragraph}{Deprecated syntax and backward incompatibilities}{435}{paragraph*.1738}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:deprecated-syntax-and-backward-incompatibilities}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{paragraph*.1738}{}}
\newlabel{addendum/generalized-rewriting:deprecated-syntax-for-generalized-rewriting}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{paragraph*.1738}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Setoid}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{section*.1739}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Morphism}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{section*.1740}{}}
\newlabel{addendum/generalized-rewriting:id5}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{section*.1741}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Declare-Morphism}{{3.2.7}{435}{Deprecated syntax and backward incompatibilities}{section*.1742}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extensions}{436}{subsubsection*.1743}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:extensions}{{3.2.7}{436}{Extensions}{subsubsection*.1743}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{436}{paragraph*.1744}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-under-binders}{{3.2.7}{436}{Rewriting under binders}{paragraph*.1744}{}}
\citation{zebibliography:id33}
\citation{zebibliography:id34}
\citation{zebibliography:id35}
\@writefile{toc}{\contentsline {paragraph}{Subrelations}{437}{paragraph*.1745}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:subrelations}{{3.2.7}{437}{Subrelations}{paragraph*.1745}{}}
\@writefile{toc}{\contentsline {paragraph}{Constant unfolding}{437}{paragraph*.1746}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:constant-unfolding}{{3.2.7}{437}{Constant unfolding}{paragraph*.1746}{}}
\@writefile{toc}{\contentsline {subsubsection}{Strategies for rewriting}{437}{subsubsection*.1747}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:strategies-for-rewriting}{{3.2.7}{437}{Strategies for rewriting}{subsubsection*.1747}{}}
\newlabel{addendum/generalized-rewriting:strategies4rewriting}{{3.2.7}{437}{Strategies for rewriting}{subsubsection*.1747}{}}
\@writefile{toc}{\contentsline {paragraph}{Usage}{437}{paragraph*.1748}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:usage}{{3.2.7}{437}{Usage}{paragraph*.1748}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.rewrite_strat}{{3.2.7}{437}{Usage}{section*.1749}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.Nothing-to-rewrite}{{3.2.7}{437}{Usage}{section*.1750}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.No-progress-made}{{3.2.7}{437}{Usage}{section*.1751}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.Unable-to-satisfy-the-rewriting-constraints}{{3.2.7}{437}{Usage}{section*.1752}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{437}{paragraph*.1753}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:definitions}{{3.2.7}{437}{Definitions}{paragraph*.1753}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-rewstrategy}{{3.2.7}{437}{Definitions}{section*.1754}{}}
\newlabel{addendum/generalized-rewriting:rewrite-strat-innermost-outermost}{{3.2.7}{439}{Definitions}{section*.1755}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Creating new tactics}{439}{section.3.3}\protected@file@percent }
\newlabel{proofs/creating-tactics/index:creating-new-tactics}{{3.3}{439}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index:writing-tactics}{{3.3}{439}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index::doc}{{3.3}{439}{Creating new tactics}{section.3.3}{}}
\citation{zebibliography:id18}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Ltac}{440}{subsection.3.3.1}\protected@file@percent }
\newlabel{proof-engine/ltac:ltac}{{3.3.1}{440}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac:id1}{{3.3.1}{440}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac::doc}{{3.3.1}{440}{Ltac}{subsection.3.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax}{440}{subsubsection*.1756}\protected@file@percent }
\newlabel{proof-engine/ltac:syntax}{{3.3.1}{440}{Syntax}{subsubsection*.1756}{}}
\newlabel{proof-engine/ltac:ltac-syntax}{{3.3.1}{440}{Syntax}{subsubsection*.1756}{}}
\newlabel{proof-engine/ltac:term-left-associative}{{3.3.1}{440}{Syntax}{section*.1757}{}}
\newlabel{proof-engine/ltac:term-right-associative}{{3.3.1}{440}{Syntax}{section*.1758}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr}{{3.3.1}{440}{Syntax}{section*.1759}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr4}{{3.3.1}{440}{Syntax}{section*.1760}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr3}{{3.3.1}{440}{Syntax}{section*.1761}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr2}{{3.3.1}{440}{Syntax}{section*.1762}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr1}{{3.3.1}{440}{Syntax}{section*.1763}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_value}{{3.3.1}{440}{Syntax}{section*.1764}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_arg}{{3.3.1}{440}{Syntax}{section*.1765}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr0}{{3.3.1}{440}{Syntax}{section*.1766}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_atom}{{3.3.1}{440}{Syntax}{section*.1767}{}}
\newlabel{proof-engine/ltac:grammar-token-simple_tactic}{{3.3.1}{440}{Syntax}{section*.1768}{}}
\newlabel{proof-engine/ltac:grammar-token-binder_tactic}{{3.3.1}{441}{Syntax}{section*.1769}{}}
\newlabel{proof-engine/ltac:grammar-token-l3_tactic}{{3.3.1}{441}{Syntax}{section*.1770}{}}
\newlabel{proof-engine/ltac:grammar-token-l2_tactic}{{3.3.1}{441}{Syntax}{section*.1771}{}}
\newlabel{proof-engine/ltac:grammar-token-l1_tactic}{{3.3.1}{441}{Syntax}{section*.1772}{}}
\newlabel{proof-engine/ltac:grammar-token-value_tactic}{{3.3.1}{441}{Syntax}{section*.1773}{}}
\@writefile{toc}{\contentsline {subsubsection}{Semantics}{441}{subsubsection*.1774}\protected@file@percent }
\newlabel{proof-engine/ltac:semantics}{{3.3.1}{441}{Semantics}{subsubsection*.1774}{}}
\newlabel{proof-engine/ltac:ltac-semantics}{{3.3.1}{441}{Semantics}{subsubsection*.1774}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of values}{441}{paragraph*.1775}\protected@file@percent }
\newlabel{proof-engine/ltac:types-of-values}{{3.3.1}{441}{Types of values}{paragraph*.1775}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic values}{441}{paragraph*.1776}\protected@file@percent }
\newlabel{proof-engine/ltac:syntactic-values}{{3.3.1}{441}{Syntactic values}{paragraph*.1776}{}}
\newlabel{proof-engine/ltac:grammar-token-syn_value}{{3.3.1}{441}{Syntactic values}{section*.1777}{}}
\newlabel{proof-engine/ltac:grammar-token-nonterminal}{{3.3.1}{441}{\DUrole {inline-grammar-production}{\phantomsection \label {\detokenize {proof-engine/ltac:grammar-token-nonterminal}}\sphinxcode {\sphinxupquote {nonterminal}}}}{section*.1778}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics in terms}{442}{paragraph*.1779}\protected@file@percent }
\newlabel{proof-engine/ltac:tactics-in-terms}{{3.3.1}{442}{Tactics in terms}{paragraph*.1779}{}}
\newlabel{proof-engine/ltac:grammar-token-term_ltac}{{3.3.1}{442}{Tactics in terms}{section*.1780}{}}
\@writefile{toc}{\contentsline {paragraph}{Substitution}{442}{paragraph*.1781}\protected@file@percent }
\newlabel{proof-engine/ltac:substitution}{{3.3.1}{442}{Substitution}{paragraph*.1781}{}}
\@writefile{toc}{\contentsline {paragraph}{Sequence: ;}{442}{paragraph*.1782}\protected@file@percent }
\newlabel{proof-engine/ltac:sequence}{{3.3.1}{442}{Sequence: ;}{paragraph*.1782}{}}
\newlabel{proof-engine/ltac:coq:tacn.ltac-seq}{{3.3.1}{442}{Sequence: ;}{section*.1783}{}}
\@writefile{toc}{\contentsline {paragraph}{Local application of tactics: {[}> ... {]}}{443}{paragraph*.1784}\protected@file@percent }
\newlabel{proof-engine/ltac:local-application-of-tactics}{{3.3.1}{443}{Local application of tactics: {[}> ... {]}}{paragraph*.1784}{}}
\newlabel{proof-engine/ltac:coq:tacn._>-_u2026-|-_u2026-|-_u2026-_-(dispatch)}{{3.3.1}{443}{Local application of tactics: {[}> ... {]}}{section*.1785}{}}
\newlabel{proof-engine/ltac:grammar-token-for_each_goal}{{3.3.1}{443}{Local application of tactics: {[}> ... {]}}{section*.1786}{}}
\newlabel{proof-engine/ltac:grammar-token-goal_tactics}{{3.3.1}{443}{Local application of tactics: {[}> ... {]}}{section*.1787}{}}
\newlabel{proof-engine/ltac:coq:tacn._-_u2026-|-_u2026-|-_u2026-_-(dispatch)}{{3.3.1}{443}{Local application of tactics: {[}> ... {]}}{section*.1788}{}}
\@writefile{toc}{\contentsline {paragraph}{Goal selectors}{443}{paragraph*.1789}\protected@file@percent }
\newlabel{proof-engine/ltac:goal-selectors}{{3.3.1}{443}{Goal selectors}{paragraph*.1789}{}}
\newlabel{proof-engine/ltac:id3}{{3.3.1}{443}{Goal selectors}{paragraph*.1789}{}}
\newlabel{proof-engine/ltac:coq:tacn._u2026-:-_u2026-(goal-selector)}{{3.3.1}{443}{Goal selectors}{section*.1790}{}}
\newlabel{proof-engine/ltac:grammar-token-toplevel_selector}{{3.3.1}{443}{Goal selectors}{section*.1791}{}}
\newlabel{proof-engine/ltac:coq:tacn.only}{{3.3.1}{444}{Goal selectors}{section*.1792}{}}
\newlabel{proof-engine/ltac:grammar-token-selector}{{3.3.1}{444}{Goal selectors}{section*.1793}{}}
\newlabel{proof-engine/ltac:grammar-token-range_selector}{{3.3.1}{444}{Goal selectors}{section*.1794}{}}
\newlabel{proof-engine/ltac:coq:exn.No-such-goal.-(Goal-selector)}{{3.3.1}{444}{Goal selectors}{section*.1795}{}}
\newlabel{proof-engine/ltac:reordering-goals-ex}{{3.3.1}{444}{Goal selectors}{section*.1796}{}}
\@writefile{toc}{\contentsline {paragraph}{Processing multiple goals}{445}{paragraph*.1797}\protected@file@percent }
\newlabel{proof-engine/ltac:processing-multiple-goals}{{3.3.1}{445}{Processing multiple goals}{paragraph*.1797}{}}
\@writefile{toc}{\contentsline {paragraph}{Do loop}{445}{paragraph*.1798}\protected@file@percent }
\newlabel{proof-engine/ltac:do-loop}{{3.3.1}{445}{Do loop}{paragraph*.1798}{}}
\newlabel{proof-engine/ltac:coq:tacn.do}{{3.3.1}{445}{Do loop}{section*.1799}{}}
\@writefile{toc}{\contentsline {paragraph}{Repeat loop}{445}{paragraph*.1800}\protected@file@percent }
\newlabel{proof-engine/ltac:repeat-loop}{{3.3.1}{445}{Repeat loop}{paragraph*.1800}{}}
\newlabel{proof-engine/ltac:coq:tacn.repeat}{{3.3.1}{445}{Repeat loop}{section*.1801}{}}
\@writefile{toc}{\contentsline {paragraph}{Catching errors: try}{446}{paragraph*.1802}\protected@file@percent }
\newlabel{proof-engine/ltac:catching-errors-try}{{3.3.1}{446}{Catching errors: try}{paragraph*.1802}{}}
\newlabel{proof-engine/ltac:coq:tacn.try}{{3.3.1}{446}{Catching errors: try}{section*.1803}{}}
\@writefile{toc}{\contentsline {paragraph}{Detecting progress}{446}{paragraph*.1804}\protected@file@percent }
\newlabel{proof-engine/ltac:detecting-progress}{{3.3.1}{446}{Detecting progress}{paragraph*.1804}{}}
\newlabel{proof-engine/ltac:coq:tacn.progress}{{3.3.1}{446}{Detecting progress}{section*.1805}{}}
\newlabel{proof-engine/ltac:coq:exn.Failed-to-progress}{{3.3.1}{446}{Detecting progress}{section*.1806}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching and backtracking}{446}{paragraph*.1807}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-and-backtracking}{{3.3.1}{446}{Branching and backtracking}{paragraph*.1807}{}}
\newlabel{proof-engine/ltac:term-branching}{{3.3.1}{446}{Branching and backtracking}{section*.1808}{}}
\newlabel{proof-engine/ltac:term-backtracking}{{3.3.1}{446}{Branching and backtracking}{section*.1809}{}}
\newlabel{proof-engine/ltac:term-backtracking-point}{{3.3.1}{446}{Branching and backtracking}{section*.1810}{}}
\newlabel{proof-engine/ltac:term-first-success}{{3.3.1}{447}{Branching and backtracking}{section*.1811}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching with backtracking: +}{447}{paragraph*.1812}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-with-backtracking}{{3.3.1}{447}{Branching with backtracking: +}{paragraph*.1812}{}}
\newlabel{proof-engine/ltac:coq:tacn.+-(backtracking-branching)}{{3.3.1}{447}{Branching with backtracking: +}{section*.1813}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to succeed}{448}{paragraph*.1814}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-succeed}{{3.3.1}{448}{First tactic to succeed}{paragraph*.1814}{}}
\newlabel{proof-engine/ltac:coq:tacn.first}{{3.3.1}{448}{First tactic to succeed}{section*.1815}{}}
\newlabel{proof-engine/ltac:coq:exn.No-applicable-tactic}{{3.3.1}{448}{First tactic to succeed}{section*.1816}{}}
\@writefile{toc}{\contentsline {paragraph}{Solving}{448}{paragraph*.1817}\protected@file@percent }
\newlabel{proof-engine/ltac:solving}{{3.3.1}{448}{Solving}{paragraph*.1817}{}}
\newlabel{proof-engine/ltac:coq:tacn.solve}{{3.3.1}{448}{Solving}{section*.1818}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to make progress: ||}{449}{paragraph*.1819}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-make-progress}{{3.3.1}{449}{First tactic to make progress: ||}{paragraph*.1819}{}}
\newlabel{proof-engine/ltac:coq:tacn.||-(first-tactic-making-progress)}{{3.3.1}{449}{First tactic to make progress: ||}{section*.1820}{}}
\@writefile{toc}{\contentsline {paragraph}{Conditional branching: tryif}{449}{paragraph*.1821}\protected@file@percent }
\newlabel{proof-engine/ltac:conditional-branching-tryif}{{3.3.1}{449}{Conditional branching: tryif}{paragraph*.1821}{}}
\newlabel{proof-engine/ltac:coq:tacn.tryif}{{3.3.1}{449}{Conditional branching: tryif}{section*.1822}{}}
\@writefile{toc}{\contentsline {paragraph}{Soft cut: once}{449}{paragraph*.1823}\protected@file@percent }
\newlabel{proof-engine/ltac:soft-cut-once}{{3.3.1}{449}{Soft cut: once}{paragraph*.1823}{}}
\newlabel{proof-engine/ltac:coq:tacn.once}{{3.3.1}{449}{Soft cut: once}{section*.1824}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for a single success: exactly\_once}{449}{paragraph*.1825}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-a-single-success-exactly-once}{{3.3.1}{449}{Checking for a single success: exactly\_once}{paragraph*.1825}{}}
\newlabel{proof-engine/ltac:coq:tacn.exactly_once}{{3.3.1}{449}{Checking for a single success: exactly\_once}{section*.1826}{}}
\newlabel{proof-engine/ltac:coq:exn.This-tactic-has-more-than-one-success}{{3.3.1}{449}{Checking for a single success: exactly\_once}{section*.1827}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for failure: assert\_fails}{450}{paragraph*.1828}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-failure-assert-fails}{{3.3.1}{450}{Checking for failure: assert\_fails}{paragraph*.1828}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert_fails}{{3.3.1}{450}{Checking for failure: assert\_fails}{section*.1829}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure:-<tactic-closure>-succeeds}{{3.3.1}{450}{Checking for failure: assert\_fails}{section*.1830}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for success: assert\_succeeds}{450}{paragraph*.1831}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-success-assert-succeeds}{{3.3.1}{450}{Checking for success: assert\_succeeds}{paragraph*.1831}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert_succeeds}{{3.3.1}{450}{Checking for success: assert\_succeeds}{section*.1832}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure:-<tactic-closure>-fails}{{3.3.1}{450}{Checking for success: assert\_succeeds}{section*.1833}{}}
\@writefile{toc}{\contentsline {paragraph}{Print/identity tactic: idtac}{450}{paragraph*.1834}\protected@file@percent }
\newlabel{proof-engine/ltac:print-identity-tactic-idtac}{{3.3.1}{450}{Print/identity tactic: idtac}{paragraph*.1834}{}}
\newlabel{proof-engine/ltac:coq:tacn.idtac}{{3.3.1}{450}{Print/identity tactic: idtac}{section*.1835}{}}
\@writefile{toc}{\contentsline {paragraph}{Failing}{451}{paragraph*.1836}\protected@file@percent }
\newlabel{proof-engine/ltac:failing}{{3.3.1}{451}{Failing}{paragraph*.1836}{}}
\newlabel{proof-engine/ltac:coq:tacn.fail}{{3.3.1}{451}{Failing}{section*.1837}{}}
\newlabel{proof-engine/ltac:coq:tacn.gfail}{{3.3.1}{451}{Failing}{section*.1838}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure}{{3.3.1}{451}{Failing}{section*.1839}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure-(level-_u2018natural_u2019)}{{3.3.1}{451}{Failing}{section*.1840}{}}
\newlabel{proof-engine/ltac:coq:exn.No-such-goal.-(fail)}{{3.3.1}{451}{Failing}{section*.1841}{}}
\@writefile{toc}{\contentsline {paragraph}{Timeout}{453}{paragraph*.1842}\protected@file@percent }
\newlabel{proof-engine/ltac:timeout}{{3.3.1}{453}{Timeout}{paragraph*.1842}{}}
\newlabel{proof-engine/ltac:coq:tacn.timeout}{{3.3.1}{453}{Timeout}{section*.1843}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic}{453}{paragraph*.1844}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic}{{3.3.1}{453}{Timing a tactic}{paragraph*.1844}{}}
\newlabel{proof-engine/ltac:coq:tacn.time}{{3.3.1}{453}{Timing a tactic}{section*.1845}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic that evaluates to a term: time\_constr}{454}{paragraph*.1846}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic-that-evaluates-to-a-term-time-constr}{{3.3.1}{454}{Timing a tactic that evaluates to a term: time\_constr}{paragraph*.1846}{}}
\newlabel{proof-engine/ltac:coq:tacn.time_constr}{{3.3.1}{454}{Timing a tactic that evaluates to a term: time\_constr}{section*.1847}{}}
\newlabel{proof-engine/ltac:coq:tacn.restart_timer}{{3.3.1}{454}{Timing a tactic that evaluates to a term: time\_constr}{section*.1848}{}}
\newlabel{proof-engine/ltac:coq:tacn.finish_timing}{{3.3.1}{454}{Timing a tactic that evaluates to a term: time\_constr}{section*.1849}{}}
\@writefile{toc}{\contentsline {paragraph}{Local definitions: let}{455}{paragraph*.1850}\protected@file@percent }
\newlabel{proof-engine/ltac:local-definitions-let}{{3.3.1}{455}{Local definitions: let}{paragraph*.1850}{}}
\newlabel{proof-engine/ltac:coq:tacn.let}{{3.3.1}{455}{Local definitions: let}{section*.1851}{}}
\newlabel{proof-engine/ltac:grammar-token-let_clause}{{3.3.1}{455}{Local definitions: let}{section*.1852}{}}
\@writefile{toc}{\contentsline {paragraph}{Function construction and application}{455}{paragraph*.1853}\protected@file@percent }
\newlabel{proof-engine/ltac:function-construction-and-application}{{3.3.1}{455}{Function construction and application}{paragraph*.1853}{}}
\newlabel{proof-engine/ltac:coq:tacn.fun}{{3.3.1}{455}{Function construction and application}{section*.1854}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on terms: match}{455}{paragraph*.1855}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-terms-match}{{3.3.1}{455}{Pattern matching on terms: match}{paragraph*.1855}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1856}{}}
\newlabel{proof-engine/ltac:coq:tacn.match}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1857}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1858}{}}
\newlabel{proof-engine/ltac:grammar-token-match_key}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1859}{}}
\newlabel{proof-engine/ltac:grammar-token-match_pattern}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1860}{}}
\newlabel{proof-engine/ltac:grammar-token-cpattern}{{3.3.1}{455}{Pattern matching on terms: match}{section*.1861}{}}
\newlabel{proof-engine/ltac:match-term-context}{{3.3.1}{456}{Pattern matching on terms: match}{section*.1862}{}}
\newlabel{proof-engine/ltac:coq:exn.Expression-does-not-evaluate-to-a-tactic}{{3.3.1}{456}{Pattern matching on terms: match}{section*.1863}{}}
\newlabel{proof-engine/ltac:coq:exn.No-matching-clauses-for-match}{{3.3.1}{456}{Pattern matching on terms: match}{section*.1864}{}}
\newlabel{proof-engine/ltac:coq:exn.Argument-of-match-does-not-evaluate-to-a-term}{{3.3.1}{457}{Pattern matching on terms: match}{section*.1865}{}}
\newlabel{proof-engine/ltac:match-vs-lazymatch-ex}{{3.3.1}{457}{Pattern matching on terms: match}{section*.1866}{}}
\newlabel{proof-engine/ltac:match-vs-multimatch-ex}{{3.3.1}{457}{Pattern matching on terms: match}{section*.1867}{}}
\newlabel{proof-engine/ltac:match-with-holes-ex}{{3.3.1}{457}{Pattern matching on terms: match}{section*.1868}{}}
\newlabel{proof-engine/ltac:match-term-context-ex}{{3.3.1}{458}{Pattern matching on terms: match}{section*.1869}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on goals and hypotheses: match goal}{458}{paragraph*.1870}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-goals-and-hypotheses-match-goal}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{paragraph*.1870}{}}
\newlabel{proof-engine/ltac:ltac-match-goal}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{paragraph*.1870}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch-goal}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1871}{}}
\newlabel{proof-engine/ltac:coq:tacn.match-goal}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1872}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch-goal}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1873}{}}
\newlabel{proof-engine/ltac:grammar-token-goal_pattern}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1874}{}}
\newlabel{proof-engine/ltac:grammar-token-match_hyp}{{3.3.1}{458}{Pattern matching on goals and hypotheses: match goal}{section*.1875}{}}
\newlabel{proof-engine/ltac:coq:exn.No-matching-clauses-for-match-goal}{{3.3.1}{459}{Pattern matching on goals and hypotheses: match goal}{section*.1876}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-ex}{{3.3.1}{459}{Pattern matching on goals and hypotheses: match goal}{section*.1877}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-rev-ex}{{3.3.1}{460}{Pattern matching on goals and hypotheses: match goal}{section*.1878}{}}
\newlabel{proof-engine/ltac:match-goal-multiple-hyps-ex}{{3.3.1}{460}{Pattern matching on goals and hypotheses: match goal}{section*.1879}{}}
\@writefile{toc}{\contentsline {paragraph}{Filling a term context}{461}{paragraph*.1880}\protected@file@percent }
\newlabel{proof-engine/ltac:filling-a-term-context}{{3.3.1}{461}{Filling a term context}{paragraph*.1880}{}}
\newlabel{proof-engine/ltac:coq:tacn.context}{{3.3.1}{461}{Filling a term context}{section*.1881}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-a-context-variable}{{3.3.1}{461}{Filling a term context}{section*.1882}{}}
\newlabel{proof-engine/ltac:coq:exn.Unbound-context-identifier-_u2018ident_u2019}{{3.3.1}{461}{Filling a term context}{section*.1883}{}}
\@writefile{toc}{\contentsline {paragraph}{Generating fresh hypothesis names}{462}{paragraph*.1884}\protected@file@percent }
\newlabel{proof-engine/ltac:generating-fresh-hypothesis-names}{{3.3.1}{462}{Generating fresh hypothesis names}{paragraph*.1884}{}}
\newlabel{proof-engine/ltac:coq:tacn.fresh}{{3.3.1}{462}{Generating fresh hypothesis names}{section*.1885}{}}
\@writefile{toc}{\contentsline {paragraph}{Computing in a term: eval}{462}{paragraph*.1886}\protected@file@percent }
\newlabel{proof-engine/ltac:computing-in-a-term-eval}{{3.3.1}{462}{Computing in a term: eval}{paragraph*.1886}{}}
\newlabel{proof-engine/ltac:coq:tacn.eval}{{3.3.1}{462}{Computing in a term: eval}{section*.1887}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting the type of a term}{463}{paragraph*.1888}\protected@file@percent }
\newlabel{proof-engine/ltac:getting-the-type-of-a-term}{{3.3.1}{463}{Getting the type of a term}{paragraph*.1888}{}}
\newlabel{proof-engine/ltac:coq:tacn.type-of}{{3.3.1}{463}{Getting the type of a term}{section*.1889}{}}
\@writefile{toc}{\contentsline {paragraph}{Manipulating untyped terms: type\_term}{463}{paragraph*.1890}\protected@file@percent }
\newlabel{proof-engine/ltac:manipulating-untyped-terms-type-term}{{3.3.1}{463}{Manipulating untyped terms: type\_term}{paragraph*.1890}{}}
\newlabel{proof-engine/ltac:coq:tacn.type_term}{{3.3.1}{463}{Manipulating untyped terms: type\_term}{section*.1891}{}}
\@writefile{toc}{\contentsline {paragraph}{Counting goals: numgoals}{463}{paragraph*.1892}\protected@file@percent }
\newlabel{proof-engine/ltac:counting-goals-numgoals}{{3.3.1}{463}{Counting goals: numgoals}{paragraph*.1892}{}}
\newlabel{proof-engine/ltac:coq:tacn.numgoals}{{3.3.1}{463}{Counting goals: numgoals}{section*.1893}{}}
\@writefile{toc}{\contentsline {paragraph}{Testing boolean expressions: guard}{463}{paragraph*.1894}\protected@file@percent }
\newlabel{proof-engine/ltac:testing-boolean-expressions-guard}{{3.3.1}{463}{Testing boolean expressions: guard}{paragraph*.1894}{}}
\newlabel{proof-engine/ltac:coq:tacn.guard}{{3.3.1}{463}{Testing boolean expressions: guard}{section*.1895}{}}
\newlabel{proof-engine/ltac:grammar-token-int_or_var}{{3.3.1}{463}{Testing boolean expressions: guard}{section*.1896}{}}
\newlabel{proof-engine/ltac:grammar-token-comparison}{{3.3.1}{463}{Testing boolean expressions: guard}{section*.1897}{}}
\newlabel{proof-engine/ltac:coq:exn.Condition-not-satisfied}{{3.3.1}{464}{Testing boolean expressions: guard}{section*.1898}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving a subgoal as a separate lemma: abstract}{464}{paragraph*.1899}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-a-subgoal-as-a-separate-lemma-abstract}{{3.3.1}{464}{Proving a subgoal as a separate lemma: abstract}{paragraph*.1899}{}}
\newlabel{proof-engine/ltac:coq:tacn.abstract}{{3.3.1}{464}{Proving a subgoal as a separate lemma: abstract}{section*.1900}{}}
\newlabel{proof-engine/ltac:coq:tacn.transparent_abstract}{{3.3.1}{464}{Proving a subgoal as a separate lemma: abstract}{section*.1901}{}}
\newlabel{proof-engine/ltac:coq:exn.Proof-is-not-complete.-(abstract)}{{3.3.1}{464}{Proving a subgoal as a separate lemma: abstract}{section*.1902}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic toplevel definitions}{465}{subsubsection*.1903}\protected@file@percent }
\newlabel{proof-engine/ltac:tactic-toplevel-definitions}{{3.3.1}{465}{Tactic toplevel definitions}{subsubsection*.1903}{}}
\@writefile{toc}{\contentsline {paragraph}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ symbols}{465}{paragraph*.1904}\protected@file@percent }
\newlabel{proof-engine/ltac:defining-ltac-symbols}{{3.3.1}{465}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{paragraph*.1904}{}}
\newlabel{proof-engine/ltac:coq:cmd.Ltac}{{3.3.1}{465}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.1905}{}}
\newlabel{proof-engine/ltac:grammar-token-tacdef_body}{{3.3.1}{465}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.1906}{}}
\newlabel{proof-engine/ltac:coq:exn.There-is-already-an-Ltac-named-_u2018qualid_u2019}{{3.3.1}{465}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.1907}{}}
\newlabel{proof-engine/ltac:coq:exn.There-is-no-Ltac-named-_u2018qualid_u2019}{{3.3.1}{465}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.1908}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{465}{paragraph*.1909}\protected@file@percent }
\newlabel{proof-engine/ltac:printing-ltac-tactics}{{3.3.1}{465}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.1909}{}}
\newlabel{proof-engine/ltac:coq:cmd.Print-Ltac}{{3.3.1}{465}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1910}{}}
\newlabel{proof-engine/ltac:coq:cmd.Print-Ltac-Signatures}{{3.3.1}{465}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1911}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$}{465}{subsubsection*.1912}\protected@file@percent }
\newlabel{proof-engine/ltac:examples-of-using-ltac}{{3.3.1}{465}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.1912}{}}
\newlabel{proof-engine/ltac:ltac-examples}{{3.3.1}{465}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.1912}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof that the natural numbers have at least two elements}{465}{paragraph*.1913}\protected@file@percent }
\newlabel{proof-engine/ltac:proof-that-the-natural-numbers-have-at-least-two-elements}{{3.3.1}{465}{Proof that the natural numbers have at least two elements}{paragraph*.1913}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving that a list is a permutation of a second list}{467}{paragraph*.1914}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-that-a-list-is-a-permutation-of-a-second-list}{{3.3.1}{467}{Proving that a list is a permutation of a second list}{paragraph*.1914}{}}
\citation{zebibliography:id19}
\@writefile{toc}{\contentsline {paragraph}{Deciding intuitionistic propositional logic}{469}{paragraph*.1915}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-intuitionistic-propositional-logic}{{3.3.1}{469}{Deciding intuitionistic propositional logic}{paragraph*.1915}{}}
\citation{zebibliography:id46}
\@writefile{toc}{\contentsline {paragraph}{Deciding type isomorphisms}{470}{paragraph*.1916}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-type-isomorphisms}{{3.3.1}{470}{Deciding type isomorphisms}{paragraph*.1916}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{472}{subsubsection*.1917}\protected@file@percent }
\newlabel{proof-engine/ltac:debugging-ltac-tactics}{{3.3.1}{472}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{subsubsection*.1917}{}}
\@writefile{toc}{\contentsline {paragraph}{Backtraces}{472}{paragraph*.1918}\protected@file@percent }
\newlabel{proof-engine/ltac:backtraces}{{3.3.1}{472}{Backtraces}{paragraph*.1918}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Backtrace}{{3.3.1}{472}{Backtraces}{section*.1919}{}}
\@writefile{toc}{\contentsline {paragraph}{Tracing execution}{472}{paragraph*.1920}\protected@file@percent }
\newlabel{proof-engine/ltac:tracing-execution}{{3.3.1}{472}{Tracing execution}{paragraph*.1920}{}}
\newlabel{proof-engine/ltac:coq:cmd.Info}{{3.3.1}{472}{Tracing execution}{section*.1921}{}}
\newlabel{proof-engine/ltac:coq:opt.Info-Level}{{3.3.1}{473}{Tracing execution}{section*.1922}{}}
\@writefile{toc}{\contentsline {paragraph}{Interactive debugger}{473}{paragraph*.1923}\protected@file@percent }
\newlabel{proof-engine/ltac:interactive-debugger}{{3.3.1}{473}{Interactive debugger}{paragraph*.1923}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Debug}{{3.3.1}{473}{Interactive debugger}{section*.1924}{}}
\newlabel{proof-engine/ltac:coq:exn.Debug-mode-not-available-in-the-IDE}{{3.3.1}{473}{Interactive debugger}{section*.1925}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Batch-Debug}{{3.3.1}{473}{Interactive debugger}{section*.1926}{}}
\@writefile{toc}{\contentsline {paragraph}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{473}{paragraph*.1927}\protected@file@percent }
\newlabel{proof-engine/ltac:profiling-ltac-tactics}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.1927}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Profiling}{{3.3.1}{473}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1928}{}}
\newlabel{proof-engine/ltac:coq:cmd.Show-Ltac-Profile}{{3.3.1}{474}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1929}{}}
\newlabel{proof-engine/ltac:coq:cmd.Reset-Ltac-Profile}{{3.3.1}{474}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1930}{}}
\newlabel{proof-engine/ltac:coq:tacn.start-ltac-profiling}{{3.3.1}{475}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1931}{}}
\newlabel{proof-engine/ltac:coq:tacn.stop-ltac-profiling}{{3.3.1}{475}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1932}{}}
\newlabel{proof-engine/ltac:coq:tacn.reset-ltac-profile}{{3.3.1}{475}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1933}{}}
\newlabel{proof-engine/ltac:coq:tacn.show-ltac-profile}{{3.3.1}{475}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1934}{}}
\newlabel{proof-engine/ltac:coq:warn.Ltac-Profiler-encountered-an-invalid-stack-(no-self-node).-This-can-happen-if-you-reset-the-profile-during-tactic-execution}{{3.3.1}{475}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.1935}{}}
\@writefile{toc}{\contentsline {paragraph}{Run\sphinxhyphen {}time optimization tactic}{476}{paragraph*.1936}\protected@file@percent }
\newlabel{proof-engine/ltac:run-time-optimization-tactic}{{3.3.1}{476}{Run\sphinxhyphen {}time optimization tactic}{paragraph*.1936}{}}
\newlabel{proof-engine/ltac:coq:tacn.optimize_heap}{{3.3.1}{476}{Run\sphinxhyphen {}time optimization tactic}{section*.1937}{}}
\newlabel{proof-engine/ltac:coq:tacn.infoH}{{3.3.1}{476}{Run\sphinxhyphen {}time optimization tactic}{section*.1938}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Ltac2}{476}{subsection.3.3.2}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2}{{3.3.2}{476}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2:id1}{{3.3.2}{476}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2::doc}{{3.3.2}{476}{Ltac2}{subsection.3.3.2}{}}
\citation{zebibliography:id55}
\@writefile{toc}{\contentsline {subsubsection}{General design}{477}{subsubsection*.1939}\protected@file@percent }
\newlabel{proof-engine/ltac2:general-design}{{3.3.2}{477}{General design}{subsubsection*.1939}{}}
\newlabel{proof-engine/ltac2:ltac2-design}{{3.3.2}{477}{General design}{subsubsection*.1939}{}}
\@writefile{toc}{\contentsline {subsubsection}{ML component}{477}{subsubsection*.1940}\protected@file@percent }
\newlabel{proof-engine/ltac2:ml-component}{{3.3.2}{477}{ML component}{subsubsection*.1940}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{477}{paragraph*.1941}\protected@file@percent }
\newlabel{proof-engine/ltac2:overview}{{3.3.2}{477}{Overview}{paragraph*.1941}{}}
\@writefile{toc}{\contentsline {paragraph}{Type Syntax}{478}{paragraph*.1942}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-syntax}{{3.3.2}{478}{Type Syntax}{paragraph*.1942}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type}{{3.3.2}{478}{Type Syntax}{section*.1943}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type2}{{3.3.2}{478}{Type Syntax}{section*.1944}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type1}{{3.3.2}{478}{Type Syntax}{section*.1945}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type0}{{3.3.2}{478}{Type Syntax}{section*.1946}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typevar}{{3.3.2}{478}{Type Syntax}{section*.1947}{}}
\@writefile{toc}{\contentsline {paragraph}{Type declarations}{478}{paragraph*.1948}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-declarations}{{3.3.2}{478}{Type declarations}{paragraph*.1948}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Type}{{3.3.2}{478}{Type declarations}{section*.1949}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_def}{{3.3.2}{478}{Type declarations}{section*.1950}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_prm}{{3.3.2}{478}{Type declarations}{section*.1951}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_knd}{{3.3.2}{478}{Type declarations}{section*.1952}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2alg_constructor}{{3.3.2}{478}{Type declarations}{section*.1953}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2rec_field}{{3.3.2}{478}{Type declarations}{section*.1954}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-external}{{3.3.2}{479}{Type declarations}{section*.1955}{}}
\@writefile{toc}{\contentsline {paragraph}{APIs}{479}{paragraph*.1956}\protected@file@percent }
\newlabel{proof-engine/ltac2:apis}{{3.3.2}{479}{APIs}{paragraph*.1956}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Syntax}{479}{paragraph*.1957}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-syntax}{{3.3.2}{479}{Term Syntax}{paragraph*.1957}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr}{{3.3.2}{479}{Term Syntax}{section*.1958}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr5}{{3.3.2}{479}{Term Syntax}{section*.1959}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_let_clause}{{3.3.2}{479}{Term Syntax}{section*.1960}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr3}{{3.3.2}{479}{Term Syntax}{section*.1961}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr2}{{3.3.2}{479}{Term Syntax}{section*.1962}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr1}{{3.3.2}{479}{Term Syntax}{section*.1963}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2rec_fieldexpr}{{3.3.2}{479}{Term Syntax}{section*.1964}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr0}{{3.3.2}{479}{Term Syntax}{section*.1965}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_tactic_atom}{{3.3.2}{479}{Term Syntax}{section*.1966}{}}
\newlabel{proof-engine/ltac2:grammar-token-lident}{{3.3.2}{479}{Term Syntax}{section*.1967}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac2 Definitions}{480}{paragraph*.1968}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2-definitions}{{3.3.2}{480}{Ltac2 Definitions}{paragraph*.1968}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2}{{3.3.2}{480}{Ltac2 Definitions}{section*.1969}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2def_body}{{3.3.2}{480}{Ltac2 Definitions}{section*.1970}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Set}{{3.3.2}{480}{Ltac2 Definitions}{section*.1971}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{481}{paragraph*.1972}\protected@file@percent }
\newlabel{proof-engine/ltac2:reduction}{{3.3.2}{481}{Reduction}{paragraph*.1972}{}}
\@writefile{toc}{\contentsline {paragraph}{Typing}{481}{paragraph*.1973}\protected@file@percent }
\newlabel{proof-engine/ltac2:typing}{{3.3.2}{481}{Typing}{paragraph*.1973}{}}
\@writefile{toc}{\contentsline {paragraph}{Effects}{481}{paragraph*.1974}\protected@file@percent }
\newlabel{proof-engine/ltac2:effects}{{3.3.2}{481}{Effects}{paragraph*.1974}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard IO}{482}{subparagraph*.1975}\protected@file@percent }
\newlabel{proof-engine/ltac2:standard-io}{{3.3.2}{482}{Standard IO}{subparagraph*.1975}{}}
\@writefile{toc}{\contentsline {subparagraph}{Fatal errors}{482}{subparagraph*.1976}\protected@file@percent }
\newlabel{proof-engine/ltac2:fatal-errors}{{3.3.2}{482}{Fatal errors}{subparagraph*.1976}{}}
\@writefile{toc}{\contentsline {subparagraph}{Backtracking}{482}{subparagraph*.1977}\protected@file@percent }
\newlabel{proof-engine/ltac2:backtracking}{{3.3.2}{482}{Backtracking}{subparagraph*.1977}{}}
\@writefile{toc}{\contentsline {subparagraph}{Goals}{483}{subparagraph*.1978}\protected@file@percent }
\newlabel{proof-engine/ltac2:goals}{{3.3.2}{483}{Goals}{subparagraph*.1978}{}}
\@writefile{toc}{\contentsline {subsubsection}{Meta\sphinxhyphen {}programming}{483}{subsubsection*.1979}\protected@file@percent }
\newlabel{proof-engine/ltac2:meta-programming}{{3.3.2}{483}{Meta\sphinxhyphen {}programming}{subsubsection*.1979}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{483}{paragraph*.1980}\protected@file@percent }
\newlabel{proof-engine/ltac2:id3}{{3.3.2}{483}{Overview}{paragraph*.1980}{}}
\@writefile{toc}{\contentsline {paragraph}{Quotations}{483}{paragraph*.1981}\protected@file@percent }
\newlabel{proof-engine/ltac2:quotations}{{3.3.2}{483}{Quotations}{paragraph*.1981}{}}
\@writefile{toc}{\contentsline {subparagraph}{Built\sphinxhyphen {}in quotations}{483}{subparagraph*.1982}\protected@file@percent }
\newlabel{proof-engine/ltac2:built-in-quotations}{{3.3.2}{483}{Built\sphinxhyphen {}in quotations}{subparagraph*.1982}{}}
\newlabel{proof-engine/ltac2:ltac2-built-in-quotations}{{3.3.2}{483}{Built\sphinxhyphen {}in quotations}{subparagraph*.1982}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_quotations}{{3.3.2}{483}{Built\sphinxhyphen {}in quotations}{section*.1983}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac1_expr_in_env}{{3.3.2}{483}{Built\sphinxhyphen {}in quotations}{section*.1984}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict vs. non\sphinxhyphen {}strict mode}{484}{subparagraph*.1985}\protected@file@percent }
\newlabel{proof-engine/ltac2:strict-vs-non-strict-mode}{{3.3.2}{484}{Strict vs. non\sphinxhyphen {}strict mode}{subparagraph*.1985}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Antiquotations}{484}{paragraph*.1986}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-antiquotations}{{3.3.2}{484}{Term Antiquotations}{paragraph*.1986}{}}
\@writefile{toc}{\contentsline {subparagraph}{Syntax}{484}{subparagraph*.1987}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax}{{3.3.2}{484}{Syntax}{subparagraph*.1987}{}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{484}{Syntax}{section*.1988}{}}
\@writefile{toc}{\contentsline {subparagraph}{Semantics}{484}{subparagraph*.1989}\protected@file@percent }
\newlabel{proof-engine/ltac2:semantics}{{3.3.2}{484}{Semantics}{subparagraph*.1989}{}}
\@writefile{toc}{\contentsline {subparagraph}{Static semantics}{485}{subparagraph*.1990}\protected@file@percent }
\newlabel{proof-engine/ltac2:static-semantics}{{3.3.2}{485}{Static semantics}{subparagraph*.1990}{}}
\@writefile{toc}{\contentsline {subparagraph}{Dynamic semantics}{486}{subparagraph*.1991}\protected@file@percent }
\newlabel{proof-engine/ltac2:dynamic-semantics}{{3.3.2}{486}{Dynamic semantics}{subparagraph*.1991}{}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{486}{Dynamic semantics}{section*.1992}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over terms}{486}{paragraph*.1993}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-terms}{{3.3.2}{486}{Match over terms}{paragraph*.1993}{}}
\newlabel{proof-engine/ltac2:coq:tacn.lazy_match!}{{3.3.2}{486}{Match over terms}{section*.1994}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match!}{{3.3.2}{486}{Match over terms}{section*.1995}{}}
\newlabel{proof-engine/ltac2:coq:tacn.multi_match!}{{3.3.2}{486}{Match over terms}{section*.1996}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_key}{{3.3.2}{486}{Match over terms}{section*.1997}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_list}{{3.3.2}{486}{Match over terms}{section*.1998}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_rule}{{3.3.2}{486}{Match over terms}{section*.1999}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_pattern}{{3.3.2}{486}{Match over terms}{section*.2000}{}}
\newlabel{proof-engine/ltac2:match-term-context}{{3.3.2}{487}{Match over terms}{section*.2001}{}}
\newlabel{proof-engine/ltac2:ltac2-match-vs-lazymatch-ex}{{3.3.2}{487}{Match over terms}{section*.2002}{}}
\newlabel{proof-engine/ltac2:ltac2-match-vs-multimatch-ex}{{3.3.2}{488}{Match over terms}{section*.2003}{}}
\newlabel{proof-engine/ltac2:ltac2-match-with-holes-ex}{{3.3.2}{488}{Match over terms}{section*.2004}{}}
\newlabel{proof-engine/ltac2:ltac2-match-term-context-ex}{{3.3.2}{488}{Match over terms}{section*.2005}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over goals}{489}{paragraph*.2006}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-goals}{{3.3.2}{489}{Match over goals}{paragraph*.2006}{}}
\newlabel{proof-engine/ltac2:coq:tacn.lazy_match!-goal}{{3.3.2}{489}{Match over goals}{section*.2007}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match!-goal}{{3.3.2}{489}{Match over goals}{section*.2008}{}}
\newlabel{proof-engine/ltac2:coq:tacn.multi_match!-goal}{{3.3.2}{489}{Match over goals}{section*.2009}{}}
\newlabel{proof-engine/ltac2:grammar-token-goal_match_list}{{3.3.2}{489}{Match over goals}{section*.2010}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_rule}{{3.3.2}{489}{Match over goals}{section*.2011}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_pattern}{{3.3.2}{489}{Match over goals}{section*.2012}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_hyp_pattern}{{3.3.2}{489}{Match over goals}{section*.2013}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-hyps-ex}{{3.3.2}{490}{Match over goals}{section*.2014}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-hyps-rev-ex}{{3.3.2}{490}{Match over goals}{section*.2015}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-multiple-hyps-ex}{{3.3.2}{491}{Match over goals}{section*.2016}{}}
\@writefile{toc}{\contentsline {paragraph}{Match on values}{492}{paragraph*.2017}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-on-values}{{3.3.2}{492}{Match on values}{paragraph*.2017}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match-(Ltac2)}{{3.3.2}{492}{Match on values}{section*.2018}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_branches}{{3.3.2}{492}{Match on values}{section*.2019}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2pat1}{{3.3.2}{492}{Match on values}{section*.2020}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2pat0}{{3.3.2}{492}{Match on values}{section*.2021}{}}
\newlabel{proof-engine/ltac2:grammar-token-atomic_tac2pat}{{3.3.2}{492}{Match on values}{section*.2022}{}}
\newlabel{proof-engine/ltac2:coq:tacn.if-then-else-(Ltac2)}{{3.3.2}{492}{Match on values}{section*.2023}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{492}{subsubsection*.2024}\protected@file@percent }
\newlabel{proof-engine/ltac2:notations}{{3.3.2}{492}{Notations}{subsubsection*.2024}{}}
\newlabel{proof-engine/ltac2:ltac2-notations}{{3.3.2}{492}{Notations}{subsubsection*.2024}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Notation}{{3.3.2}{492}{Notations}{section*.2025}{}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{493}{paragraph*.2026}\protected@file@percent }
\newlabel{proof-engine/ltac2:abbreviations}{{3.3.2}{493}{Abbreviations}{paragraph*.2026}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Notation-(abbreviation)}{{3.3.2}{493}{Abbreviations}{section*.2027}{}}
\@writefile{toc}{\contentsline {paragraph}{Defining tactics}{494}{paragraph*.2028}\protected@file@percent }
\newlabel{proof-engine/ltac2:defining-tactics}{{3.3.2}{494}{Defining tactics}{paragraph*.2028}{}}
\newlabel{proof-engine/ltac2:id4}{{3.3.2}{494}{Defining tactics}{paragraph*.2028}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic classes}{494}{paragraph*.2029}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntactic-classes}{{3.3.2}{494}{Syntactic classes}{paragraph*.2029}{}}
\newlabel{proof-engine/ltac2:id5}{{3.3.2}{494}{Syntactic classes}{paragraph*.2029}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_scope}{{3.3.2}{494}{Syntactic classes}{section*.2030}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_intropatterns}{{3.3.2}{496}{Syntactic classes}{section*.2031}{}}
\newlabel{proof-engine/ltac2:grammar-token-nonsimple_intropattern}{{3.3.2}{496}{Syntactic classes}{section*.2032}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_simple_intropattern}{{3.3.2}{496}{Syntactic classes}{section*.2033}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_or_and_intropattern}{{3.3.2}{496}{Syntactic classes}{section*.2034}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_equality_intropattern}{{3.3.2}{496}{Syntactic classes}{section*.2035}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_naming_intropattern}{{3.3.2}{496}{Syntactic classes}{section*.2036}{}}
\newlabel{proof-engine/ltac2:grammar-token-ident_or_anti}{{3.3.2}{496}{Syntactic classes}{section*.2037}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_destruction_arg}{{3.3.2}{496}{Syntactic classes}{section*.2038}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_constr_with_bindings}{{3.3.2}{496}{Syntactic classes}{section*.2039}{}}
\newlabel{proof-engine/ltac2:grammar-token-q_with_bindings}{{3.3.2}{496}{Syntactic classes}{section*.2040}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_bindings}{{3.3.2}{496}{Syntactic classes}{section*.2041}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_simple_binding}{{3.3.2}{496}{Syntactic classes}{section*.2042}{}}
\newlabel{proof-engine/ltac2:grammar-token-qhyp}{{3.3.2}{496}{Syntactic classes}{section*.2043}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_strategy_flag}{{3.3.2}{496}{Syntactic classes}{section*.2044}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_red_flag}{{3.3.2}{496}{Syntactic classes}{section*.2045}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_delta_flag}{{3.3.2}{496}{Syntactic classes}{section*.2046}{}}
\newlabel{proof-engine/ltac2:grammar-token-refglobal}{{3.3.2}{496}{Syntactic classes}{section*.2047}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_clause}{{3.3.2}{496}{Syntactic classes}{section*.2048}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_in_clause}{{3.3.2}{496}{Syntactic classes}{section*.2049}{}}
\newlabel{proof-engine/ltac2:grammar-token-q_occurrences}{{3.3.2}{496}{Syntactic classes}{section*.2050}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_occs}{{3.3.2}{496}{Syntactic classes}{section*.2051}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_occs_nums}{{3.3.2}{496}{Syntactic classes}{section*.2052}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_concl_occ}{{3.3.2}{496}{Syntactic classes}{section*.2053}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_hypident_occ}{{3.3.2}{496}{Syntactic classes}{section*.2054}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_hypident}{{3.3.2}{496}{Syntactic classes}{section*.2055}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_induction_clause}{{3.3.2}{496}{Syntactic classes}{section*.2056}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_or_and_ipat}{{3.3.2}{496}{Syntactic classes}{section*.2057}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_eqn_ipat}{{3.3.2}{496}{Syntactic classes}{section*.2058}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_conversion}{{3.3.2}{496}{Syntactic classes}{section*.2059}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_oriented_rewriter}{{3.3.2}{496}{Syntactic classes}{section*.2060}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_rewriter}{{3.3.2}{496}{Syntactic classes}{section*.2061}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_for_each_goal}{{3.3.2}{496}{Syntactic classes}{section*.2062}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_goal_tactics}{{3.3.2}{496}{Syntactic classes}{section*.2063}{}}
\newlabel{proof-engine/ltac2:grammar-token-hintdb}{{3.3.2}{496}{Syntactic classes}{section*.2064}{}}
\newlabel{proof-engine/ltac2:grammar-token-move_location}{{3.3.2}{496}{Syntactic classes}{section*.2065}{}}
\newlabel{proof-engine/ltac2:grammar-token-pose}{{3.3.2}{496}{Syntactic classes}{section*.2066}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_name}{{3.3.2}{497}{Syntactic classes}{section*.2067}{}}
\newlabel{proof-engine/ltac2:grammar-token-assertion}{{3.3.2}{497}{Syntactic classes}{section*.2068}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_ipat}{{3.3.2}{497}{Syntactic classes}{section*.2069}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_by_tactic}{{3.3.2}{497}{Syntactic classes}{section*.2070}{}}
\@writefile{toc}{\contentsline {subsubsection}{Evaluation}{497}{subsubsection*.2071}\protected@file@percent }
\newlabel{proof-engine/ltac2:evaluation}{{3.3.2}{497}{Evaluation}{subsubsection*.2071}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Eval}{{3.3.2}{497}{Evaluation}{section*.2072}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debug}{497}{subsubsection*.2073}\protected@file@percent }
\newlabel{proof-engine/ltac2:debug}{{3.3.2}{497}{Debug}{subsubsection*.2073}{}}
\newlabel{proof-engine/ltac2:coq:flag.Ltac2-Backtrace}{{3.3.2}{497}{Debug}{section*.2074}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compatibility layer with Ltac1}{497}{subsubsection*.2075}\protected@file@percent }
\newlabel{proof-engine/ltac2:compatibility-layer-with-ltac1}{{3.3.2}{497}{Compatibility layer with Ltac1}{subsubsection*.2075}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac1 from Ltac2}{497}{paragraph*.2076}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac1-from-ltac2}{{3.3.2}{497}{Ltac1 from Ltac2}{paragraph*.2076}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simple API}{497}{subparagraph*.2077}\protected@file@percent }
\newlabel{proof-engine/ltac2:simple-api}{{3.3.2}{497}{Simple API}{subparagraph*.2077}{}}
\newlabel{proof-engine/ltac2:id6}{{3.3.2}{497}{Simple API}{subparagraph*.2077}{}}
\@writefile{toc}{\contentsline {subparagraph}{Low\sphinxhyphen {}level API}{497}{subparagraph*.2078}\protected@file@percent }
\newlabel{proof-engine/ltac2:low-level-api}{{3.3.2}{497}{Low\sphinxhyphen {}level API}{subparagraph*.2078}{}}
\newlabel{proof-engine/ltac2:id7}{{3.3.2}{497}{Low\sphinxhyphen {}level API}{subparagraph*.2078}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac2 from Ltac1}{498}{paragraph*.2079}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2-from-ltac1}{{3.3.2}{498}{Ltac2 from Ltac1}{paragraph*.2079}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac_expr}{{3.3.2}{498}{Ltac2 from Ltac1}{section*.2080}{}}
\@writefile{toc}{\contentsline {paragraph}{Switching between Ltac languages}{499}{paragraph*.2081}\protected@file@percent }
\newlabel{proof-engine/ltac2:switching-between-ltac-languages}{{3.3.2}{499}{Switching between Ltac languages}{paragraph*.2081}{}}
\@writefile{toc}{\contentsline {subsubsection}{Transition from Ltac1}{499}{subsubsection*.2082}\protected@file@percent }
\newlabel{proof-engine/ltac2:transition-from-ltac1}{{3.3.2}{499}{Transition from Ltac1}{subsubsection*.2082}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax changes}{499}{paragraph*.2083}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax-changes}{{3.3.2}{499}{Syntax changes}{paragraph*.2083}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactic delay}{499}{paragraph*.2084}\protected@file@percent }
\newlabel{proof-engine/ltac2:tactic-delay}{{3.3.2}{499}{Tactic delay}{paragraph*.2084}{}}
\@writefile{toc}{\contentsline {paragraph}{Variable binding}{500}{paragraph*.2085}\protected@file@percent }
\newlabel{proof-engine/ltac2:variable-binding}{{3.3.2}{500}{Variable binding}{paragraph*.2085}{}}
\@writefile{toc}{\contentsline {subparagraph}{In Ltac expressions}{500}{subparagraph*.2086}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-ltac-expressions}{{3.3.2}{500}{In Ltac expressions}{subparagraph*.2086}{}}
\newlabel{proof-engine/ltac2:coq:exn.Unbound-_value|constructor_-X}{{3.3.2}{500}{In Ltac expressions}{section*.2087}{}}
\@writefile{toc}{\contentsline {subparagraph}{In quotations}{500}{subparagraph*.2088}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-quotations}{{3.3.2}{500}{In quotations}{subparagraph*.2088}{}}
\newlabel{proof-engine/ltac2:coq:exn.The-reference-X-was-not-found-in-the-current-environment}{{3.3.2}{500}{In quotations}{section*.2089}{}}
\@writefile{toc}{\contentsline {paragraph}{Exception catching}{500}{paragraph*.2090}\protected@file@percent }
\newlabel{proof-engine/ltac2:exception-catching}{{3.3.2}{500}{Exception catching}{paragraph*.2090}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Using Coq}{501}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:using-coq}{{4}{501}{Using Coq}{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Libraries and plugins}{501}{section.4.1}\protected@file@percent }
\newlabel{using/libraries/index:libraries-and-plugins}{{4.1}{501}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index:libraries}{{4.1}{501}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index::doc}{{4.1}{501}{Libraries and plugins}{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}The Coq library}{501}{subsection.4.1.1}\protected@file@percent }
\newlabel{language/coq-library:the-coq-library}{{4.1.1}{501}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:thecoqlibrary}{{4.1.1}{501}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library::doc}{{4.1.1}{501}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:term-prelude}{{4.1.1}{501}{The Coq library}{section*.2091}{}}
\newlabel{language/coq-library:term-standard-library}{{4.1.1}{501}{The Coq library}{section*.2092}{}}
\@writefile{toc}{\contentsline {subsubsection}{The prelude}{501}{subsubsection*.2093}\protected@file@percent }
\newlabel{language/coq-library:the-prelude}{{4.1.1}{501}{The prelude}{subsubsection*.2093}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations}{502}{paragraph*.2094}\protected@file@percent }
\newlabel{language/coq-library:notations}{{4.1.1}{502}{Notations}{paragraph*.2094}{}}
\newlabel{language/coq-library:init-notations}{{4.1.1}{502}{Notations}{paragraph*.2094}{}}
\@writefile{toc}{\contentsline {paragraph}{Logic}{502}{paragraph*.2095}\protected@file@percent }
\newlabel{language/coq-library:logic}{{4.1.1}{502}{Logic}{paragraph*.2095}{}}
\newlabel{language/coq-library:coq-library-logic}{{4.1.1}{502}{Logic}{paragraph*.2095}{}}
\newlabel{language/coq-library:grammar-token-form}{{4.1.1}{502}{Logic}{section*.2096}{}}
\@writefile{toc}{\contentsline {subparagraph}{Propositional Connectives}{503}{subparagraph*.2097}\protected@file@percent }
\newlabel{language/coq-library:propositional-connectives}{{4.1.1}{503}{Propositional Connectives}{subparagraph*.2097}{}}
\@writefile{toc}{\contentsline {subparagraph}{Quantifiers}{503}{subparagraph*.2098}\protected@file@percent }
\newlabel{language/coq-library:quantifiers}{{4.1.1}{503}{Quantifiers}{subparagraph*.2098}{}}
\@writefile{toc}{\contentsline {subparagraph}{Equality}{504}{subparagraph*.2099}\protected@file@percent }
\newlabel{language/coq-library:equality}{{4.1.1}{504}{Equality}{subparagraph*.2099}{}}
\newlabel{language/coq-library:coq-equality}{{4.1.1}{504}{Equality}{subparagraph*.2099}{}}
\@writefile{toc}{\contentsline {subparagraph}{Lemmas}{504}{subparagraph*.2100}\protected@file@percent }
\newlabel{language/coq-library:lemmas}{{4.1.1}{504}{Lemmas}{subparagraph*.2100}{}}
\newlabel{language/coq-library:index-4}{{4.1.1}{504}{Lemmas}{section*.2101}{}}
\@writefile{toc}{\contentsline {paragraph}{Datatypes}{505}{paragraph*.2102}\protected@file@percent }
\newlabel{language/coq-library:datatypes}{{4.1.1}{505}{Datatypes}{paragraph*.2102}{}}
\newlabel{language/coq-library:id1}{{4.1.1}{505}{Datatypes}{paragraph*.2102}{}}
\newlabel{language/coq-library:grammar-token-specif}{{4.1.1}{505}{Datatypes}{section*.2103}{}}
\@writefile{toc}{\contentsline {subparagraph}{Programming}{505}{subparagraph*.2104}\protected@file@percent }
\newlabel{language/coq-library:programming}{{4.1.1}{505}{Programming}{subparagraph*.2104}{}}
\newlabel{language/coq-library:index-7}{{4.1.1}{505}{Programming}{section*.2105}{}}
\newlabel{language/coq-library:index-8}{{4.1.1}{505}{Programming}{section*.2106}{}}
\@writefile{toc}{\contentsline {paragraph}{Specification}{506}{paragraph*.2107}\protected@file@percent }
\newlabel{language/coq-library:specification}{{4.1.1}{506}{Specification}{paragraph*.2107}{}}
\newlabel{language/coq-library:id2}{{4.1.1}{506}{Specification}{paragraph*.2107}{}}
\newlabel{language/coq-library:index-9}{{4.1.1}{506}{Specification}{section*.2108}{}}
\newlabel{language/coq-library:index-10}{{4.1.1}{506}{Specification}{section*.2109}{}}
\newlabel{language/coq-library:index-11}{{4.1.1}{506}{Specification}{section*.2110}{}}
\newlabel{language/coq-library:index-12}{{4.1.1}{506}{Specification}{section*.2111}{}}
\newlabel{language/coq-library:index-13}{{4.1.1}{506}{Specification}{section*.2112}{}}
\newlabel{language/coq-library:index-14}{{4.1.1}{507}{Specification}{section*.2113}{}}
\newlabel{language/coq-library:index-15}{{4.1.1}{507}{Specification}{section*.2114}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic Arithmetic}{507}{paragraph*.2115}\protected@file@percent }
\newlabel{language/coq-library:basic-arithmetic}{{4.1.1}{507}{Basic Arithmetic}{paragraph*.2115}{}}
\newlabel{language/coq-library:index-18}{{4.1.1}{508}{Basic Arithmetic}{section*.2116}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}founded recursion}{508}{paragraph*.2117}\protected@file@percent }
\newlabel{language/coq-library:well-founded-recursion}{{4.1.1}{508}{Well\sphinxhyphen {}founded recursion}{paragraph*.2117}{}}
\newlabel{language/coq-library:index-19}{{4.1.1}{508}{Well\sphinxhyphen {}founded recursion}{section*.2118}{}}
\newlabel{language/coq-library:index-20}{{4.1.1}{509}{Well\sphinxhyphen {}founded recursion}{section*.2119}{}}
\@writefile{toc}{\contentsline {paragraph}{Accessing the Type level}{509}{paragraph*.2120}\protected@file@percent }
\newlabel{language/coq-library:accessing-the-type-level}{{4.1.1}{509}{Accessing the Type level}{paragraph*.2120}{}}
\newlabel{language/coq-library:index-21}{{4.1.1}{509}{Accessing the Type level}{section*.2121}{}}
\newlabel{language/coq-library:index-22}{{4.1.1}{509}{Accessing the Type level}{section*.2122}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{509}{paragraph*.2123}\protected@file@percent }
\newlabel{language/coq-library:tactics}{{4.1.1}{509}{Tactics}{paragraph*.2123}{}}
\@writefile{toc}{\contentsline {subsubsection}{The standard library}{510}{subsubsection*.2124}\protected@file@percent }
\newlabel{language/coq-library:the-standard-library}{{4.1.1}{510}{The standard library}{subsubsection*.2124}{}}
\@writefile{toc}{\contentsline {paragraph}{Survey}{510}{paragraph*.2125}\protected@file@percent }
\newlabel{language/coq-library:survey}{{4.1.1}{510}{Survey}{paragraph*.2125}{}}
\@writefile{toc}{\contentsline {paragraph}{Peano’s arithmetic (nat)}{510}{paragraph*.2126}\protected@file@percent }
\newlabel{language/coq-library:peanos-arithmetic-nat}{{4.1.1}{510}{Peano’s arithmetic (nat)}{paragraph*.2126}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations for integer arithmetic}{511}{paragraph*.2127}\protected@file@percent }
\newlabel{language/coq-library:notations-for-integer-arithmetic}{{4.1.1}{511}{Notations for integer arithmetic}{paragraph*.2127}{}}
\@writefile{toc}{\contentsline {paragraph}{Real numbers library}{512}{paragraph*.2128}\protected@file@percent }
\newlabel{language/coq-library:real-numbers-library}{{4.1.1}{512}{Real numbers library}{paragraph*.2128}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations for real numbers}{512}{subparagraph*.2129}\protected@file@percent }
\newlabel{language/coq-library:notations-for-real-numbers}{{4.1.1}{512}{Notations for real numbers}{subparagraph*.2129}{}}
\@writefile{toc}{\contentsline {subparagraph}{Some tactics for real numbers}{513}{subparagraph*.2130}\protected@file@percent }
\newlabel{language/coq-library:some-tactics-for-real-numbers}{{4.1.1}{513}{Some tactics for real numbers}{subparagraph*.2130}{}}
\newlabel{language/coq-library:coq:tacn.discrR}{{4.1.1}{513}{Some tactics for real numbers}{section*.2131}{}}
\newlabel{language/coq-library:coq:tacn.split_Rabs}{{4.1.1}{513}{Some tactics for real numbers}{section*.2132}{}}
\newlabel{language/coq-library:coq:tacn.split_Rmult}{{4.1.1}{513}{Some tactics for real numbers}{section*.2133}{}}
\@writefile{toc}{\contentsline {paragraph}{List library}{514}{paragraph*.2134}\protected@file@percent }
\newlabel{language/coq-library:list-library}{{4.1.1}{514}{List library}{paragraph*.2134}{}}
\@writefile{toc}{\contentsline {paragraph}{Floats library}{515}{paragraph*.2135}\protected@file@percent }
\newlabel{language/coq-library:floats-library}{{4.1.1}{515}{Floats library}{paragraph*.2135}{}}
\newlabel{language/coq-library:id3}{{4.1.1}{515}{Floats library}{paragraph*.2135}{}}
\newlabel{language/coq-library:coq:warn.The-constant-_u2018number_u2019-is-not-a-binary64-floating-point-value.-A-closest-value-_u2018number_u2019-will-be-used-and-unambiguously-printed-_u2018number_u2019.-_inexact-float,parsing_}{{4.1.1}{516}{Floats library}{section*.2136}{}}
\newlabel{language/coq-library:coq:flag.Printing-Float}{{4.1.1}{516}{Floats library}{section*.2137}{}}
\@writefile{toc}{\contentsline {subsubsection}{Users’ contributions}{517}{subsubsection*.2138}\protected@file@percent }
\newlabel{language/coq-library:users-contributions}{{4.1.1}{517}{Users’ contributions}{subsubsection*.2138}{}}
\newlabel{language/coq-library:userscontributions}{{4.1.1}{517}{Users’ contributions}{subsubsection*.2138}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Program extraction}{517}{subsection.4.1.2}\protected@file@percent }
\newlabel{addendum/extraction:program-extraction}{{4.1.2}{517}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction:extraction}{{4.1.2}{517}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction::doc}{{4.1.2}{517}{Program extraction}{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generating ML Code}{518}{subsubsection*.2139}\protected@file@percent }
\newlabel{addendum/extraction:generating-ml-code}{{4.1.2}{518}{Generating ML Code}{subsubsection*.2139}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction}{{4.1.2}{518}{Generating ML Code}{section*.2140}{}}
\newlabel{addendum/extraction:coq:cmd.Recursive-Extraction}{{4.1.2}{518}{Generating ML Code}{section*.2141}{}}
\newlabel{addendum/extraction:id1}{{4.1.2}{518}{Generating ML Code}{section*.2142}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Library}{{4.1.2}{518}{Generating ML Code}{section*.2143}{}}
\newlabel{addendum/extraction:coq:cmd.Recursive-Extraction-Library}{{4.1.2}{518}{Generating ML Code}{section*.2144}{}}
\newlabel{addendum/extraction:coq:cmd.Separate-Extraction}{{4.1.2}{518}{Generating ML Code}{section*.2145}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-TestCompile}{{4.1.2}{518}{Generating ML Code}{section*.2146}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extraction Options}{519}{subsubsection*.2147}\protected@file@percent }
\newlabel{addendum/extraction:extraction-options}{{4.1.2}{519}{Extraction Options}{subsubsection*.2147}{}}
\@writefile{toc}{\contentsline {paragraph}{Setting the target language}{519}{paragraph*.2148}\protected@file@percent }
\newlabel{addendum/extraction:setting-the-target-language}{{4.1.2}{519}{Setting the target language}{paragraph*.2148}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Language}{{4.1.2}{519}{Setting the target language}{section*.2149}{}}
\newlabel{addendum/extraction:grammar-token-language}{{4.1.2}{519}{Setting the target language}{section*.2150}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining and optimizations}{519}{paragraph*.2151}\protected@file@percent }
\newlabel{addendum/extraction:inlining-and-optimizations}{{4.1.2}{519}{Inlining and optimizations}{paragraph*.2151}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-Optimize}{{4.1.2}{519}{Inlining and optimizations}{section*.2152}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-Conservative-Types}{{4.1.2}{519}{Inlining and optimizations}{section*.2153}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-KeepSingleton}{{4.1.2}{519}{Inlining and optimizations}{section*.2154}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-AutoInline}{{4.1.2}{519}{Inlining and optimizations}{section*.2155}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Inline}{{4.1.2}{519}{Inlining and optimizations}{section*.2156}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-NoInline}{{4.1.2}{519}{Inlining and optimizations}{section*.2157}{}}
\newlabel{addendum/extraction:coq:cmd.Print-Extraction-Inline}{{4.1.2}{519}{Inlining and optimizations}{section*.2158}{}}
\newlabel{addendum/extraction:coq:cmd.Reset-Extraction-Inline}{{4.1.2}{519}{Inlining and optimizations}{section*.2159}{}}
\@writefile{toc}{\contentsline {paragraph}{Extra elimination of useless arguments}{520}{paragraph*.2160}\protected@file@percent }
\newlabel{addendum/extraction:extra-elimination-of-useless-arguments}{{4.1.2}{520}{Extra elimination of useless arguments}{paragraph*.2160}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Implicit}{{4.1.2}{520}{Extra elimination of useless arguments}{section*.2161}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-SafeImplicits}{{4.1.2}{520}{Extra elimination of useless arguments}{section*.2162}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing axioms}{520}{paragraph*.2163}\protected@file@percent }
\newlabel{addendum/extraction:realizing-axioms}{{4.1.2}{520}{Realizing axioms}{paragraph*.2163}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Constant}{{4.1.2}{520}{Realizing axioms}{section*.2164}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Inlined-Constant}{{4.1.2}{521}{Realizing axioms}{section*.2165}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing inductive types}{521}{paragraph*.2166}\protected@file@percent }
\newlabel{addendum/extraction:realizing-inductive-types}{{4.1.2}{521}{Realizing inductive types}{paragraph*.2166}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Inductive}{{4.1.2}{521}{Realizing inductive types}{section*.2167}{}}
\@writefile{toc}{\contentsline {paragraph}{Avoiding conflicts with existing filenames}{522}{paragraph*.2168}\protected@file@percent }
\newlabel{addendum/extraction:avoiding-conflicts-with-existing-filenames}{{4.1.2}{522}{Avoiding conflicts with existing filenames}{paragraph*.2168}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Blacklist}{{4.1.2}{522}{Avoiding conflicts with existing filenames}{section*.2169}{}}
\newlabel{addendum/extraction:coq:cmd.Print-Extraction-Blacklist}{{4.1.2}{522}{Avoiding conflicts with existing filenames}{section*.2170}{}}
\newlabel{addendum/extraction:coq:cmd.Reset-Extraction-Blacklist}{{4.1.2}{522}{Avoiding conflicts with existing filenames}{section*.2171}{}}
\@writefile{toc}{\contentsline {paragraph}{Additional settings}{523}{paragraph*.2172}\protected@file@percent }
\newlabel{addendum/extraction:additional-settings}{{4.1.2}{523}{Additional settings}{paragraph*.2172}{}}
\newlabel{addendum/extraction:coq:opt.Extraction-File-Comment}{{4.1.2}{523}{Additional settings}{section*.2173}{}}
\newlabel{addendum/extraction:coq:opt.Extraction-Flag}{{4.1.2}{523}{Additional settings}{section*.2174}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-TypeExpand}{{4.1.2}{523}{Additional settings}{section*.2175}{}}
\@writefile{toc}{\contentsline {subsubsection}{Differences between Coq and ML type systems}{523}{subsubsection*.2176}\protected@file@percent }
\newlabel{addendum/extraction:differences-between-coq-and-ml-type-systems}{{4.1.2}{523}{Differences between Coq and ML type systems}{subsubsection*.2176}{}}
\citation{zebibliography:id32}
\@writefile{toc}{\contentsline {subsubsection}{Some examples}{524}{subsubsection*.2177}\protected@file@percent }
\newlabel{addendum/extraction:some-examples}{{4.1.2}{524}{Some examples}{subsubsection*.2177}{}}
\@writefile{toc}{\contentsline {paragraph}{A detailed example: Euclidean division}{524}{paragraph*.2178}\protected@file@percent }
\newlabel{addendum/extraction:a-detailed-example-euclidean-division}{{4.1.2}{524}{A detailed example: Euclidean division}{paragraph*.2178}{}}
\citation{zebibliography:id32}
\@writefile{toc}{\contentsline {paragraph}{Extraction's horror museum}{526}{paragraph*.2179}\protected@file@percent }
\newlabel{addendum/extraction:extraction-s-horror-museum}{{4.1.2}{526}{Extraction's horror museum}{paragraph*.2179}{}}
\@writefile{toc}{\contentsline {paragraph}{Users' Contributions}{526}{paragraph*.2180}\protected@file@percent }
\newlabel{addendum/extraction:users-contributions}{{4.1.2}{526}{Users' Contributions}{paragraph*.2180}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Program derivation}{527}{subsection.4.1.3}\protected@file@percent }
\newlabel{addendum/miscellaneous-extensions:program-derivation}{{4.1.3}{527}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions::doc}{{4.1.3}{527}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions:coq:cmd.Derive}{{4.1.3}{527}{Program derivation}{section*.2181}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Functional induction}{528}{subsection.4.1.4}\protected@file@percent }
\newlabel{using/libraries/funind:functional-induction}{{4.1.4}{528}{Functional induction}{subsection.4.1.4}{}}
\newlabel{using/libraries/funind::doc}{{4.1.4}{528}{Functional induction}{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Advanced recursive functions}{528}{subsubsection*.2182}\protected@file@percent }
\newlabel{using/libraries/funind:advanced-recursive-functions}{{4.1.4}{528}{Advanced recursive functions}{subsubsection*.2182}{}}
\newlabel{using/libraries/funind:id1}{{4.1.4}{528}{Advanced recursive functions}{subsubsection*.2182}{}}
\newlabel{using/libraries/funind:coq:cmd.Function}{{4.1.4}{528}{Advanced recursive functions}{section*.2183}{}}
\newlabel{using/libraries/funind:coq:exn.The-recursive-argument-must-be-specified}{{4.1.4}{530}{Advanced recursive functions}{section*.2184}{}}
\newlabel{using/libraries/funind:coq:exn.No-argument-name-_u2018ident_u2019}{{4.1.4}{530}{Advanced recursive functions}{section*.2185}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure}{{4.1.4}{530}{Advanced recursive functions}{section*.2186}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-define-graph-for-_u2018ident_u2019}{{4.1.4}{530}{Advanced recursive functions}{section*.2187}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-define-principle(s)-for-_u2018ident_u2019}{{4.1.4}{530}{Advanced recursive functions}{section*.2188}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-build-functional-inversion-principle}{{4.1.4}{530}{Advanced recursive functions}{section*.2189}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics}{531}{subsubsection*.2190}\protected@file@percent }
\newlabel{using/libraries/funind:tactics}{{4.1.4}{531}{Tactics}{subsubsection*.2190}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-induction}{{4.1.4}{531}{Tactics}{section*.2191}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-find-induction-information-on-_u2018qualid_u2019}{{4.1.4}{531}{Tactics}{section*.2192}{}}
\newlabel{using/libraries/funind:coq:exn.Not-the-right-number-of-induction-arguments}{{4.1.4}{531}{Tactics}{section*.2193}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-inversion}{{4.1.4}{532}{Tactics}{section*.2194}{}}
\newlabel{using/libraries/funind:coq:exn.Hypothesis-_u2018ident_u2019-must-contain-at-least-one-Function}{{4.1.4}{532}{Tactics}{section*.2195}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-find-inversion-information-for-hypothesis-_u2018ident_u2019}{{4.1.4}{532}{Tactics}{section*.2196}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{532}{subsubsection*.2197}\protected@file@percent }
\newlabel{using/libraries/funind:generation-of-induction-principles-with-functional-scheme}{{4.1.4}{532}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2197}{}}
\newlabel{using/libraries/funind:functional-scheme}{{4.1.4}{532}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2197}{}}
\newlabel{using/libraries/funind:coq:cmd.Functional-Scheme}{{4.1.4}{532}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.2198}{}}
\newlabel{using/libraries/funind:grammar-token-func_scheme_def}{{4.1.4}{532}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.2199}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}Writing Coq libraries and plugins}{537}{subsection.4.1.5}\protected@file@percent }
\newlabel{using/libraries/writing:writing-coq-libraries-and-plugins}{{4.1.5}{537}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\newlabel{using/libraries/writing::doc}{{4.1.5}{537}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deprecating library objects or tactics}{537}{subsubsection*.2200}\protected@file@percent }
\newlabel{using/libraries/writing:deprecating-library-objects-or-tactics}{{4.1.5}{537}{Deprecating library objects or tactics}{subsubsection*.2200}{}}
\newlabel{using/libraries/writing:coq:attr.deprecated}{{4.1.5}{537}{Deprecating library objects or tactics}{section*.2201}{}}
\newlabel{using/libraries/writing:coq:warn.Tactic-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{537}{Deprecating library objects or tactics}{section*.2202}{}}
\newlabel{using/libraries/writing:coq:warn.Tactic-Notation-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{537}{Deprecating library objects or tactics}{section*.2203}{}}
\newlabel{using/libraries/writing:coq:warn.Notation-_u2018string_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{537}{Deprecating library objects or tactics}{section*.2204}{}}
\newlabel{using/libraries/writing:compatibility-alias}{{4.1.5}{537}{Deprecating library objects or tactics}{section*.2205}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Command\sphinxhyphen {}line and graphical tools}{538}{section.4.2}\protected@file@percent }
\newlabel{using/tools/index:command-line-and-graphical-tools}{{4.2}{538}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index:tools}{{4.2}{538}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index::doc}{{4.2}{538}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}The Coq commands}{538}{subsection.4.2.1}\protected@file@percent }
\newlabel{practical-tools/coq-commands:the-coq-commands}{{4.2.1}{538}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands:thecoqcommands}{{4.2.1}{538}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands::doc}{{4.2.1}{538}{The Coq commands}{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive use (coqtop)}{538}{subsubsection*.2206}\protected@file@percent }
\newlabel{practical-tools/coq-commands:interactive-use-coqtop}{{4.2.1}{538}{Interactive use (coqtop)}{subsubsection*.2206}{}}
\newlabel{practical-tools/coq-commands:interactive-use}{{4.2.1}{538}{Interactive use (coqtop)}{subsubsection*.2206}{}}
\newlabel{practical-tools/coq-commands:coq:flag.Coqtop-Exit-On-Error}{{4.2.1}{538}{Interactive use (coqtop)}{section*.2207}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch compilation (coqc)}{539}{subsubsection*.2208}\protected@file@percent }
\newlabel{practical-tools/coq-commands:batch-compilation-coqc}{{4.2.1}{539}{Batch compilation (coqc)}{subsubsection*.2208}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customization at launch time}{539}{subsubsection*.2209}\protected@file@percent }
\newlabel{practical-tools/coq-commands:customization-at-launch-time}{{4.2.1}{539}{Customization at launch time}{subsubsection*.2209}{}}
\@writefile{toc}{\contentsline {paragraph}{By resource file}{539}{paragraph*.2210}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-resource-file}{{4.2.1}{539}{By resource file}{paragraph*.2210}{}}
\@writefile{toc}{\contentsline {paragraph}{By environment variables}{539}{paragraph*.2211}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-environment-variables}{{4.2.1}{539}{By environment variables}{paragraph*.2211}{}}
\newlabel{practical-tools/coq-commands:customization-by-environment-variables}{{4.2.1}{539}{By environment variables}{paragraph*.2211}{}}
\newlabel{practical-tools/coq-commands:coq-colors}{{4.2.1}{539}{By environment variables}{section*.2212}{}}
\newlabel{practical-tools/coq-commands:ocamlrunparam}{{4.2.1}{539}{By environment variables}{section*.2213}{}}
\@writefile{toc}{\contentsline {paragraph}{By command line options}{540}{paragraph*.2214}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-command-line-options}{{4.2.1}{540}{By command line options}{paragraph*.2214}{}}
\newlabel{practical-tools/coq-commands:command-line-options}{{4.2.1}{540}{By command line options}{paragraph*.2214}{}}
\newlabel{practical-tools/coq-commands:interleave-command-line}{{4.2.1}{540}{By command line options}{section*.2215}{}}
\newlabel{practical-tools/coq-commands:native-compiler-options}{{4.2.1}{541}{By command line options}{section*.2216}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{543}{subsubsection*.2217}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-interfaces-produced-using-vos}{{4.2.1}{543}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2217}{}}
\newlabel{practical-tools/coq-commands:compiled-interfaces}{{4.2.1}{543}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2217}{}}
\newlabel{practical-tools/coq-commands:coq:warn.You-should-use-the-_u201cProof-using-_..._._u201d-syntax-instead-of-_u201cProof._u201d-to-enable-skipping-this-proof-which-is-located-inside-a-section.-Give-as-argument-to-_u201cProof-using_u201d-the-list-of-section-variables-that-are-not-needed-to-typecheck-the-statement-but-that-are-required-by-the-proof}{{4.2.1}{544}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{section*.2218}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled libraries checker (coqchk)}{544}{subsubsection*.2219}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-libraries-checker-coqchk}{{4.2.1}{544}{Compiled libraries checker (coqchk)}{subsubsection*.2219}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Utilities}{545}{subsection.4.2.2}\protected@file@percent }
\newlabel{practical-tools/utilities:utilities}{{4.2.2}{545}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities:id1}{{4.2.2}{545}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities::doc}{{4.2.2}{545}{Utilities}{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Coq as a library}{545}{subsubsection*.2220}\protected@file@percent }
\newlabel{practical-tools/utilities:using-coq-as-a-library}{{4.2.2}{545}{Using Coq as a library}{subsubsection*.2220}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building a Coq project}{545}{subsubsection*.2221}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project}{{4.2.2}{545}{Building a Coq project}{subsubsection*.2221}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with coq\_makefile}{546}{paragraph*.2222}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-coq-makefile}{{4.2.2}{546}{Building a Coq project with coq\_makefile}{paragraph*.2222}{}}
\newlabel{practical-tools/utilities:coq-makefile}{{4.2.2}{546}{Building a Coq project with coq\_makefile}{paragraph*.2222}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqMakefile.local}{547}{subparagraph*.2223}\protected@file@percent }
\newlabel{practical-tools/utilities:coqmakefile-local}{{4.2.2}{547}{CoqMakefile.local}{subparagraph*.2223}{}}
\newlabel{practical-tools/utilities:coqmakefilelocal}{{4.2.2}{547}{CoqMakefile.local}{subparagraph*.2223}{}}
\@writefile{toc}{\contentsline {subparagraph}{Timing targets and performance testing}{548}{subparagraph*.2224}\protected@file@percent }
\newlabel{practical-tools/utilities:timing-targets-and-performance-testing}{{4.2.2}{548}{Timing targets and performance testing}{subparagraph*.2224}{}}
\@writefile{toc}{\contentsline {subparagraph}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{552}{subparagraph*.2225}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-subset-of-the-targets-with-j}{{4.2.2}{552}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{subparagraph*.2225}{}}
\@writefile{toc}{\contentsline {subparagraph}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{553}{subparagraph*.2226}\protected@file@percent }
\newlabel{practical-tools/utilities:precompiling-for-native-compute}{{4.2.2}{553}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{subparagraph*.2226}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with Dune}{553}{paragraph*.2227}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-dune}{{4.2.2}{553}{Building a Coq project with Dune}{paragraph*.2227}{}}
\@writefile{toc}{\contentsline {subsubsection}{Computing Module dependencies}{554}{subsubsection*.2228}\protected@file@percent }
\newlabel{practical-tools/utilities:computing-module-dependencies}{{4.2.2}{554}{Computing Module dependencies}{subsubsection*.2228}{}}
\newlabel{practical-tools/utilities:coqdep}{{4.2.2}{554}{Computing Module dependencies}{subsubsection*.2228}{}}
\@writefile{toc}{\contentsline {subsubsection}{Embedded Coq phrases inside LaTeX documents}{555}{subsubsection*.2229}\protected@file@percent }
\newlabel{practical-tools/utilities:embedded-coq-phrases-inside-latex-documents}{{4.2.2}{555}{Embedded Coq phrases inside LaTeX documents}{subsubsection*.2229}{}}
\@writefile{toc}{\contentsline {subsubsection}{Man pages}{555}{subsubsection*.2230}\protected@file@percent }
\newlabel{practical-tools/utilities:man-pages}{{4.2.2}{555}{Man pages}{subsubsection*.2230}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Documenting Coq files with coqdoc}{555}{subsection.4.2.3}\protected@file@percent }
\newlabel{using/tools/coqdoc:documenting-coq-files-with-coqdoc}{{4.2.3}{555}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:coqdoc}{{4.2.3}{555}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:index-0}{{4.2.3}{555}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc::doc}{{4.2.3}{555}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Principles}{555}{subsubsection*.2231}\protected@file@percent }
\newlabel{using/tools/coqdoc:principles}{{4.2.3}{555}{Principles}{subsubsection*.2231}{}}
\@writefile{toc}{\contentsline {paragraph}{Coq material inside documentation.}{555}{paragraph*.2232}\protected@file@percent }
\newlabel{using/tools/coqdoc:coq-material-inside-documentation}{{4.2.3}{555}{Coq material inside documentation}{paragraph*.2232}{}}
\@writefile{toc}{\contentsline {paragraph}{Pretty\sphinxhyphen {}printing.}{556}{paragraph*.2233}\protected@file@percent }
\newlabel{using/tools/coqdoc:pretty-printing}{{4.2.3}{556}{Pretty\sphinxhyphen {}printing}{paragraph*.2233}{}}
\@writefile{toc}{\contentsline {paragraph}{Sections}{556}{paragraph*.2234}\protected@file@percent }
\newlabel{using/tools/coqdoc:sections}{{4.2.3}{556}{Sections}{paragraph*.2234}{}}
\@writefile{toc}{\contentsline {paragraph}{Lists.}{557}{paragraph*.2235}\protected@file@percent }
\newlabel{using/tools/coqdoc:lists}{{4.2.3}{557}{Lists}{paragraph*.2235}{}}
\@writefile{toc}{\contentsline {paragraph}{Rules.}{557}{paragraph*.2236}\protected@file@percent }
\newlabel{using/tools/coqdoc:rules}{{4.2.3}{557}{Rules}{paragraph*.2236}{}}
\@writefile{toc}{\contentsline {paragraph}{Emphasis.}{557}{paragraph*.2237}\protected@file@percent }
\newlabel{using/tools/coqdoc:emphasis}{{4.2.3}{557}{Emphasis}{paragraph*.2237}{}}
\@writefile{toc}{\contentsline {paragraph}{Escaping to LaTeX and HTML.}{557}{paragraph*.2238}\protected@file@percent }
\newlabel{using/tools/coqdoc:escaping-to-latex-and-html}{{4.2.3}{557}{Escaping to LaTeX and HTML}{paragraph*.2238}{}}
\@writefile{toc}{\contentsline {paragraph}{Verbatim}{558}{paragraph*.2239}\protected@file@percent }
\newlabel{using/tools/coqdoc:verbatim}{{4.2.3}{558}{Verbatim}{paragraph*.2239}{}}
\@writefile{toc}{\contentsline {paragraph}{Hyperlinks}{558}{paragraph*.2240}\protected@file@percent }
\newlabel{using/tools/coqdoc:hyperlinks}{{4.2.3}{558}{Hyperlinks}{paragraph*.2240}{}}
\@writefile{toc}{\contentsline {paragraph}{Hiding / Showing parts of the source}{558}{paragraph*.2241}\protected@file@percent }
\newlabel{using/tools/coqdoc:hiding-showing-parts-of-the-source}{{4.2.3}{558}{Hiding / Showing parts of the source}{paragraph*.2241}{}}
\newlabel{using/tools/coqdoc:coqdoc-hide-show}{{4.2.3}{558}{Hiding / Showing parts of the source}{paragraph*.2241}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{559}{subsubsection*.2242}\protected@file@percent }
\newlabel{using/tools/coqdoc:usage}{{4.2.3}{559}{Usage}{subsubsection*.2242}{}}
\@writefile{toc}{\contentsline {paragraph}{Command line options}{559}{paragraph*.2243}\protected@file@percent }
\newlabel{using/tools/coqdoc:command-line-options}{{4.2.3}{559}{Command line options}{paragraph*.2243}{}}
\@writefile{toc}{\contentsline {subsubsection}{The coqdoc LaTeX style file}{562}{subsubsection*.2244}\protected@file@percent }
\newlabel{using/tools/coqdoc:the-coqdoc-latex-style-file}{{4.2.3}{562}{The coqdoc LaTeX style file}{subsubsection*.2244}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Coq Integrated Development Environment}{562}{subsection.4.2.4}\protected@file@percent }
\newlabel{practical-tools/coqide:coq-integrated-development-environment}{{4.2.4}{562}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqintegrateddevelopmentenvironment}{{4.2.4}{562}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide::doc}{{4.2.4}{562}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqide-mainscreen}{{4.2.4}{562}{Coq Integrated Development Environment}{section*.2245}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing files and buffers, basic editing}{563}{subsubsection*.2246}\protected@file@percent }
\newlabel{practical-tools/coqide:managing-files-and-buffers-basic-editing}{{4.2.4}{563}{Managing files and buffers, basic editing}{subsubsection*.2246}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive navigation into Coq scripts}{564}{subsubsection*.2247}\protected@file@percent }
\newlabel{practical-tools/coqide:interactive-navigation-into-coq-scripts}{{4.2.4}{564}{Interactive navigation into Coq scripts}{subsubsection*.2247}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands and templates}{565}{subsubsection*.2248}\protected@file@percent }
\newlabel{practical-tools/coqide:commands-and-templates}{{4.2.4}{565}{Commands and templates}{subsubsection*.2248}{}}
\@writefile{toc}{\contentsline {subsubsection}{Queries}{565}{subsubsection*.2249}\protected@file@percent }
\newlabel{practical-tools/coqide:queries}{{4.2.4}{565}{Queries}{subsubsection*.2249}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compilation}{566}{subsubsection*.2250}\protected@file@percent }
\newlabel{practical-tools/coqide:compilation}{{4.2.4}{566}{Compilation}{subsubsection*.2250}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customizations}{566}{subsubsection*.2251}\protected@file@percent }
\newlabel{practical-tools/coqide:customizations}{{4.2.4}{566}{Customizations}{subsubsection*.2251}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Unicode symbols}{567}{subsubsection*.2252}\protected@file@percent }
\newlabel{practical-tools/coqide:using-unicode-symbols}{{4.2.4}{567}{Using Unicode symbols}{subsubsection*.2252}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying Unicode symbols}{567}{paragraph*.2253}\protected@file@percent }
\newlabel{practical-tools/coqide:displaying-unicode-symbols}{{4.2.4}{567}{Displaying Unicode symbols}{paragraph*.2253}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings for input of Unicode symbols}{567}{paragraph*.2254}\protected@file@percent }
\newlabel{practical-tools/coqide:bindings-for-input-of-unicode-symbols}{{4.2.4}{567}{Bindings for input of Unicode symbols}{paragraph*.2254}{}}
\newlabel{practical-tools/coqide:coqide-unicode}{{4.2.4}{567}{Bindings for input of Unicode symbols}{paragraph*.2254}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding custom bindings}{567}{paragraph*.2255}\protected@file@percent }
\newlabel{practical-tools/coqide:adding-custom-bindings}{{4.2.4}{567}{Adding custom bindings}{paragraph*.2255}{}}
\@writefile{toc}{\contentsline {paragraph}{Character encoding for saved files}{568}{paragraph*.2256}\protected@file@percent }
\newlabel{practical-tools/coqide:character-encoding-for-saved-files}{{4.2.4}{568}{Character encoding for saved files}{paragraph*.2256}{}}
\newlabel{practical-tools/coqide:character-encoding-saved-files}{{4.2.4}{568}{Character encoding for saved files}{paragraph*.2256}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Asynchronous and Parallel Proof Processing}{568}{subsection.4.2.5}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:asynchronous-and-parallel-proof-processing}{{4.2.5}{568}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing:asynchronousandparallelproofprocessing}{{4.2.5}{568}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing::doc}{{4.2.5}{568}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof annotations}{569}{subsubsection*.2257}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-annotations}{{4.2.5}{569}{Proof annotations}{subsubsection*.2257}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic suggestion of proof annotations}{569}{paragraph*.2258}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:automatic-suggestion-of-proof-annotations}{{4.2.5}{569}{Automatic suggestion of proof annotations}{paragraph*.2258}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof blocks and error resilience}{569}{subsubsection*.2259}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-blocks-and-error-resilience}{{4.2.5}{569}{Proof blocks and error resilience}{subsubsection*.2259}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{570}{paragraph*.2260}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:caveats}{{4.2.5}{570}{Caveats}{paragraph*.2260}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive mode}{570}{subsubsection*.2261}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:interactive-mode}{{4.2.5}{570}{Interactive mode}{subsubsection*.2261}{}}
\newlabel{addendum/parallel-proof-processing:id1}{{4.2.5}{570}{Interactive mode}{subsubsection*.2261}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{570}{paragraph*.2262}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:id2}{{4.2.5}{570}{Caveats}{paragraph*.2262}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch mode}{571}{subsubsection*.2263}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:batch-mode}{{4.2.5}{571}{Batch mode}{subsubsection*.2263}{}}
\@writefile{toc}{\contentsline {subsubsection}{Limiting the number of parallel workers}{572}{subsubsection*.2264}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:limiting-the-number-of-parallel-workers}{{4.2.5}{572}{Limiting the number of parallel workers}{subsubsection*.2264}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Appendix}{573}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:appendix}{{5}{573}{Appendix}{chapter.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}History and recent changes}{573}{section.5.1}\protected@file@percent }
\newlabel{appendix/history-and-changes/index:history-and-recent-changes}{{5.1}{573}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index:history-and-changes}{{5.1}{573}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index::doc}{{5.1}{573}{History and recent changes}{section.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Early history of Coq}{573}{subsection.5.1.1}\protected@file@percent }
\newlabel{history:early-history-of-coq}{{5.1.1}{573}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history:history}{{5.1.1}{573}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history::doc}{{5.1.1}{573}{Early history of Coq}{subsection.5.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Historical roots}{573}{subsubsection*.2265}\protected@file@percent }
\newlabel{history:historical-roots}{{5.1.1}{573}{Historical roots}{subsubsection*.2265}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 1 to 5}{574}{subsubsection*.2266}\protected@file@percent }
\newlabel{history:versions-1-to-5}{{5.1.1}{574}{Versions 1 to 5}{subsubsection*.2266}{}}
\citation{zebibliography:id6}
\citation{zebibliography:id7}
\citation{zebibliography:id8}
\citation{zebibliography:id40}
\citation{zebibliography:id28}
\@writefile{toc}{\contentsline {paragraph}{Version 1}{576}{paragraph*.2267}\protected@file@percent }
\newlabel{history:version-1}{{5.1.1}{576}{Version 1}{paragraph*.2267}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 2}{576}{paragraph*.2268}\protected@file@percent }
\newlabel{history:version-2}{{5.1.1}{576}{Version 2}{paragraph*.2268}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 3}{577}{paragraph*.2269}\protected@file@percent }
\newlabel{history:version-3}{{5.1.1}{577}{Version 3}{paragraph*.2269}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 4}{577}{paragraph*.2270}\protected@file@percent }
\newlabel{history:version-4}{{5.1.1}{577}{Version 4}{paragraph*.2270}{}}
\citation{zebibliography:id9}
\citation{zebibliography:id41}
\citation{zebibliography:id29}
\citation{zebibliography:id43}
\citation{zebibliography:id14}
\citation{zebibliography:id42}
\@writefile{toc}{\contentsline {paragraph}{Version 5}{579}{paragraph*.2271}\protected@file@percent }
\newlabel{history:version-5}{{5.1.1}{579}{Version 5}{paragraph*.2271}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 6}{579}{subsubsection*.2272}\protected@file@percent }
\newlabel{history:versions-6}{{5.1.1}{579}{Versions 6}{subsubsection*.2272}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.1}{579}{paragraph*.2273}\protected@file@percent }
\newlabel{history:version-6-1}{{5.1.1}{579}{Version 6.1}{paragraph*.2273}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.2}{580}{paragraph*.2274}\protected@file@percent }
\newlabel{history:version-6-2}{{5.1.1}{580}{Version 6.2}{paragraph*.2274}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.3}{580}{paragraph*.2275}\protected@file@percent }
\newlabel{history:version-6-3}{{5.1.1}{580}{Version 6.3}{paragraph*.2275}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 7}{581}{subsubsection*.2276}\protected@file@percent }
\newlabel{history:versions-7}{{5.1.1}{581}{Versions 7}{subsubsection*.2276}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{581}{paragraph*.2277}\protected@file@percent }
\newlabel{history:summary-of-changes}{{5.1.1}{581}{Summary of changes}{paragraph*.2277}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.0 and 7.1}{582}{paragraph*.2278}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-0-and-7-1}{{5.1.1}{582}{Details of changes in 7.0 and 7.1}{paragraph*.2278}{}}
\@writefile{toc}{\contentsline {subparagraph}{Main novelties}{582}{subparagraph*.2279}\protected@file@percent }
\newlabel{history:main-novelties}{{5.1.1}{582}{Main novelties}{subparagraph*.2279}{}}
\@writefile{toc}{\contentsline {subparagraph}{Details of changes}{583}{subparagraph*.2280}\protected@file@percent }
\newlabel{history:details-of-changes}{{5.1.1}{583}{Details of changes}{subparagraph*.2280}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: new "let\sphinxhyphen {}in" construction}{583}{subparagraph*.2281}\protected@file@percent }
\newlabel{history:language-new-let-in-construction}{{5.1.1}{583}{Language: new "let\sphinxhyphen {}in" construction}{subparagraph*.2281}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: long names}{583}{subparagraph*.2282}\protected@file@percent }
\newlabel{history:language-long-names}{{5.1.1}{583}{Language: long names}{subparagraph*.2282}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: miscellaneous}{583}{subparagraph*.2283}\protected@file@percent }
\newlabel{history:language-miscellaneous}{{5.1.1}{583}{Language: miscellaneous}{subparagraph*.2283}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: Cases}{583}{subparagraph*.2284}\protected@file@percent }
\newlabel{history:language-cases}{{5.1.1}{583}{Language: Cases}{subparagraph*.2284}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reduction}{584}{subparagraph*.2285}\protected@file@percent }
\newlabel{history:reduction}{{5.1.1}{584}{Reduction}{subparagraph*.2285}{}}
\@writefile{toc}{\contentsline {subparagraph}{New tactics}{584}{subparagraph*.2286}\protected@file@percent }
\newlabel{history:new-tactics}{{5.1.1}{584}{New tactics}{subparagraph*.2286}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing tactics}{584}{subparagraph*.2287}\protected@file@percent }
\newlabel{history:changes-in-existing-tactics}{{5.1.1}{584}{Changes in existing tactics}{subparagraph*.2287}{}}
\@writefile{toc}{\contentsline {subparagraph}{Efficiency}{585}{subparagraph*.2288}\protected@file@percent }
\newlabel{history:efficiency}{{5.1.1}{585}{Efficiency}{subparagraph*.2288}{}}
\@writefile{toc}{\contentsline {subparagraph}{Concrete syntax of constructions}{585}{subparagraph*.2289}\protected@file@percent }
\newlabel{history:concrete-syntax-of-constructions}{{5.1.1}{585}{Concrete syntax of constructions}{subparagraph*.2289}{}}
\@writefile{toc}{\contentsline {subparagraph}{Parsing and grammar extension}{585}{subparagraph*.2290}\protected@file@percent }
\newlabel{history:parsing-and-grammar-extension}{{5.1.1}{585}{Parsing and grammar extension}{subparagraph*.2290}{}}
\@writefile{toc}{\contentsline {subparagraph}{New commands}{586}{subparagraph*.2291}\protected@file@percent }
\newlabel{history:new-commands}{{5.1.1}{586}{New commands}{subparagraph*.2291}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing commands}{586}{subparagraph*.2292}\protected@file@percent }
\newlabel{history:changes-in-existing-commands}{{5.1.1}{586}{Changes in existing commands}{subparagraph*.2292}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{586}{subparagraph*.2293}\protected@file@percent }
\newlabel{history:tools}{{5.1.1}{586}{Tools}{subparagraph*.2293}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{587}{subparagraph*.2294}\protected@file@percent }
\newlabel{history:extraction}{{5.1.1}{587}{Extraction}{subparagraph*.2294}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{587}{subparagraph*.2295}\protected@file@percent }
\newlabel{history:standard-library}{{5.1.1}{587}{Standard library}{subparagraph*.2295}{}}
\@writefile{toc}{\contentsline {subparagraph}{New user contributions}{587}{subparagraph*.2296}\protected@file@percent }
\newlabel{history:new-user-contributions}{{5.1.1}{587}{New user contributions}{subparagraph*.2296}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.2}{587}{paragraph*.2297}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-2}{{5.1.1}{587}{Details of changes in 7.2}{paragraph*.2297}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.3}{589}{paragraph*.2298}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-3}{{5.1.1}{589}{Details of changes in 7.3}{paragraph*.2298}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in 7.3.1}{590}{subparagraph*.2299}\protected@file@percent }
\newlabel{history:changes-in-7-3-1}{{5.1.1}{590}{Changes in 7.3.1}{subparagraph*.2299}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.4}{591}{paragraph*.2300}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-4}{{5.1.1}{591}{Details of changes in 7.4}{paragraph*.2300}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Recent changes}{593}{subsection.5.1.2}\protected@file@percent }
\newlabel{changes:recent-changes}{{5.1.2}{593}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes:changes}{{5.1.2}{593}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes::doc}{{5.1.2}{593}{Recent changes}{subsection.5.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.13}{593}{subsubsection*.2301}\protected@file@percent }
\newlabel{changes:version-8-13}{{5.1.2}{593}{Version 8.13}{subsubsection*.2301}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{593}{paragraph*.2302}\protected@file@percent }
\newlabel{changes:summary-of-changes}{{5.1.2}{593}{Summary of changes}{paragraph*.2302}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13+beta1}{595}{paragraph*.2303}\protected@file@percent }
\newlabel{changes:changes-in-8-13-beta1}{{5.1.2}{595}{Changes in 8.13+beta1}{paragraph*.2303}{}}
\newlabel{changes:id752}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2304}{}}
\newlabel{changes:id753}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2305}{}}
\newlabel{changes:id754}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2306}{}}
\newlabel{changes:id755}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2307}{}}
\newlabel{changes:id756}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2308}{}}
\newlabel{changes:id757}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2309}{}}
\newlabel{changes:id758}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2310}{}}
\newlabel{changes:id759}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2311}{}}
\newlabel{changes:id760}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2312}{}}
\newlabel{changes:id761}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2313}{}}
\newlabel{changes:id762}{{5.1.2}{595}{Changes in 8.13+beta1}{section*.2314}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{595}{subparagraph*.2315}\protected@file@percent }
\newlabel{changes:id1}{{5.1.2}{595}{Kernel}{subparagraph*.2315}{}}
\newlabel{changes:uip}{{5.1.2}{595}{Kernel}{section*.2316}{}}
\newlabel{changes:primarrays}{{5.1.2}{595}{Kernel}{section*.2317}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{596}{subparagraph*.2318}\protected@file@percent }
\newlabel{changes:id11}{{5.1.2}{596}{Specification language, type inference}{subparagraph*.2318}{}}
\newlabel{changes:booleanattrs}{{5.1.2}{596}{Specification language, type inference}{section*.2319}{}}
\newlabel{changes:variancedecl}{{5.1.2}{596}{Specification language, type inference}{section*.2320}{}}
\newlabel{changes:unusedvar}{{5.1.2}{596}{Specification language, type inference}{section*.2321}{}}
\newlabel{changes:typingflags}{{5.1.2}{596}{Specification language, type inference}{section*.2322}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{597}{subparagraph*.2323}\protected@file@percent }
\newlabel{changes:id40}{{5.1.2}{597}{Notations}{subparagraph*.2323}{}}
\newlabel{changes:id41}{{5.1.2}{597}{Notations}{subparagraph*.2323}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{599}{subparagraph*.2324}\protected@file@percent }
\newlabel{changes:id73}{{5.1.2}{599}{Tactics}{subparagraph*.2324}{}}
\newlabel{changes:id74}{{5.1.2}{599}{Tactics}{subparagraph*.2324}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{600}{subparagraph*.2325}\protected@file@percent }
\newlabel{changes:id94}{{5.1.2}{600}{Tactic language}{subparagraph*.2325}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{600}{subparagraph*.2326}\protected@file@percent }
\newlabel{changes:id100}{{5.1.2}{600}{SSReflect}{subparagraph*.2326}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{600}{subparagraph*.2327}\protected@file@percent }
\newlabel{changes:id104}{{5.1.2}{600}{Commands and options}{subparagraph*.2327}{}}
\newlabel{changes:hintwarning}{{5.1.2}{600}{Commands and options}{section*.2328}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{601}{subparagraph*.2329}\protected@file@percent }
\newlabel{changes:tools}{{5.1.2}{601}{Tools}{subparagraph*.2329}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{601}{subparagraph*.2330}\protected@file@percent }
\newlabel{changes:id122}{{5.1.2}{601}{CoqIDE}{subparagraph*.2330}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{602}{subparagraph*.2331}\protected@file@percent }
\newlabel{changes:id125}{{5.1.2}{602}{Standard library}{subparagraph*.2331}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{603}{subparagraph*.2332}\protected@file@percent }
\newlabel{changes:id140}{{5.1.2}{603}{Infrastructure and dependencies}{subparagraph*.2332}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13.0}{603}{paragraph*.2333}\protected@file@percent }
\newlabel{changes:changes-in-8-13-0}{{5.1.2}{603}{Changes in 8.13.0}{paragraph*.2333}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{603}{subparagraph*.2334}\protected@file@percent }
\newlabel{changes:id145}{{5.1.2}{603}{Commands and options}{subparagraph*.2334}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13.1}{603}{paragraph*.2335}\protected@file@percent }
\newlabel{changes:changes-in-8-13-1}{{5.1.2}{603}{Changes in 8.13.1}{paragraph*.2335}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{603}{subparagraph*.2336}\protected@file@percent }
\newlabel{changes:id147}{{5.1.2}{603}{Kernel}{subparagraph*.2336}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{603}{subparagraph*.2337}\protected@file@percent }
\newlabel{changes:id149}{{5.1.2}{603}{CoqIDE}{subparagraph*.2337}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.12}{603}{subsubsection*.2338}\protected@file@percent }
\newlabel{changes:version-8-12}{{5.1.2}{603}{Version 8.12}{subsubsection*.2338}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{603}{paragraph*.2339}\protected@file@percent }
\newlabel{changes:id151}{{5.1.2}{603}{Summary of changes}{paragraph*.2339}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12+beta1}{605}{paragraph*.2340}\protected@file@percent }
\newlabel{changes:changes-in-8-12-beta1}{{5.1.2}{605}{Changes in 8.12+beta1}{paragraph*.2340}{}}
\newlabel{changes:id763}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2341}{}}
\newlabel{changes:id764}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2342}{}}
\newlabel{changes:id765}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2343}{}}
\newlabel{changes:id766}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2344}{}}
\newlabel{changes:id767}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2345}{}}
\newlabel{changes:id768}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2346}{}}
\newlabel{changes:id769}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2347}{}}
\newlabel{changes:id770}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2348}{}}
\newlabel{changes:id771}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2349}{}}
\newlabel{changes:id772}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2350}{}}
\newlabel{changes:id773}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2351}{}}
\newlabel{changes:id774}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2352}{}}
\newlabel{changes:id775}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2353}{}}
\newlabel{changes:id776}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2354}{}}
\newlabel{changes:id777}{{5.1.2}{605}{Changes in 8.12+beta1}{section*.2355}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{605}{subparagraph*.2356}\protected@file@percent }
\newlabel{changes:id157}{{5.1.2}{605}{Kernel}{subparagraph*.2356}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{606}{subparagraph*.2357}\protected@file@percent }
\newlabel{changes:id160}{{5.1.2}{606}{Specification language, type inference}{subparagraph*.2357}{}}
\newlabel{changes:implicit}{{5.1.2}{606}{Specification language, type inference}{section*.2358}{}}
\newlabel{changes:uniform}{{5.1.2}{606}{Specification language, type inference}{section*.2359}{}}
\newlabel{changes:implicitinductive}{{5.1.2}{606}{Specification language, type inference}{section*.2360}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{607}{subparagraph*.2361}\protected@file@percent }
\newlabel{changes:id181}{{5.1.2}{607}{Notations}{subparagraph*.2361}{}}
\newlabel{changes:id182}{{5.1.2}{607}{Notations}{subparagraph*.2361}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{608}{subparagraph*.2362}\protected@file@percent }
\newlabel{changes:id202}{{5.1.2}{608}{Tactics}{subparagraph*.2362}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{610}{subparagraph*.2363}\protected@file@percent }
\newlabel{changes:id243}{{5.1.2}{610}{Tactic language}{subparagraph*.2363}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{611}{subparagraph*.2364}\protected@file@percent }
\newlabel{changes:id252}{{5.1.2}{611}{SSReflect}{subparagraph*.2364}{}}
\newlabel{changes:ssrsearch}{{5.1.2}{611}{SSReflect}{section*.2365}{}}
\@writefile{toc}{\contentsline {subparagraph}{Flags, options and attributes}{611}{subparagraph*.2366}\protected@file@percent }
\newlabel{changes:flags-options-and-attributes}{{5.1.2}{611}{Flags, options and attributes}{subparagraph*.2366}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands}{612}{subparagraph*.2367}\protected@file@percent }
\newlabel{changes:commands}{{5.1.2}{612}{Commands}{subparagraph*.2367}{}}
\newlabel{changes:coercions}{{5.1.2}{612}{Commands}{section*.2368}{}}
\newlabel{changes:search}{{5.1.2}{612}{Commands}{section*.2369}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{613}{subparagraph*.2370}\protected@file@percent }
\newlabel{changes:id283}{{5.1.2}{613}{Tools}{subparagraph*.2370}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{615}{subparagraph*.2371}\protected@file@percent }
\newlabel{changes:id318}{{5.1.2}{615}{CoqIDE}{subparagraph*.2371}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{615}{subparagraph*.2372}\protected@file@percent }
\newlabel{changes:stdlib}{{5.1.2}{615}{Standard library}{subparagraph*.2372}{}}
\newlabel{changes:id321}{{5.1.2}{615}{Standard library}{subparagraph*.2372}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reals library}{618}{subparagraph*.2373}\protected@file@percent }
\newlabel{changes:reals-library}{{5.1.2}{618}{Reals library}{subparagraph*.2373}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{619}{subparagraph*.2374}\protected@file@percent }
\newlabel{changes:extraction}{{5.1.2}{619}{Extraction}{subparagraph*.2374}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reference manual}{619}{subparagraph*.2375}\protected@file@percent }
\newlabel{changes:reference-manual}{{5.1.2}{619}{Reference manual}{subparagraph*.2375}{}}
\newlabel{changes:refman}{{5.1.2}{619}{Reference manual}{subparagraph*.2375}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{620}{subparagraph*.2376}\protected@file@percent }
\newlabel{changes:id393}{{5.1.2}{620}{Infrastructure and dependencies}{subparagraph*.2376}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.0}{620}{paragraph*.2377}\protected@file@percent }
\newlabel{changes:changes-in-8-12-0}{{5.1.2}{620}{Changes in 8.12.0}{paragraph*.2377}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.1}{621}{paragraph*.2378}\protected@file@percent }
\newlabel{changes:changes-in-8-12-1}{{5.1.2}{621}{Changes in 8.12.1}{paragraph*.2378}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.2}{623}{paragraph*.2379}\protected@file@percent }
\newlabel{changes:changes-in-8-12-2}{{5.1.2}{623}{Changes in 8.12.2}{paragraph*.2379}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.11}{623}{subsubsection*.2380}\protected@file@percent }
\newlabel{changes:version-8-11}{{5.1.2}{623}{Version 8.11}{subsubsection*.2380}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{623}{paragraph*.2381}\protected@file@percent }
\newlabel{changes:id453}{{5.1.2}{623}{Summary of changes}{paragraph*.2381}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11+beta1}{624}{paragraph*.2382}\protected@file@percent }
\newlabel{changes:changes-in-8-11-beta1}{{5.1.2}{624}{Changes in 8.11+beta1}{paragraph*.2382}{}}
\newlabel{changes:primitivefloats}{{5.1.2}{624}{Changes in 8.11+beta1}{section*.2383}{}}
\newlabel{changes:sections}{{5.1.2}{625}{Changes in 8.11+beta1}{section*.2384}{}}
\newlabel{changes:bidirarguments}{{5.1.2}{625}{Changes in 8.11+beta1}{section*.2385}{}}
\newlabel{changes:refineinstance}{{5.1.2}{626}{Changes in 8.11+beta1}{section*.2386}{}}
\newlabel{changes:ltac2}{{5.1.2}{627}{Changes in 8.11+beta1}{section*.2387}{}}
\newlabel{changes:ssrunderover}{{5.1.2}{627}{Changes in 8.11+beta1}{section*.2388}{}}
\newlabel{changes:unsafeflags}{{5.1.2}{628}{Changes in 8.11+beta1}{section*.2389}{}}
\newlabel{changes:exportbug}{{5.1.2}{628}{Changes in 8.11+beta1}{section*.2390}{}}
\newlabel{changes:vos}{{5.1.2}{629}{Changes in 8.11+beta1}{section*.2391}{}}
\newlabel{changes:reals}{{5.1.2}{629}{Changes in 8.11+beta1}{section*.2392}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.0}{630}{paragraph*.2393}\protected@file@percent }
\newlabel{changes:changes-in-8-11-0}{{5.1.2}{630}{Changes in 8.11.0}{paragraph*.2393}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.1}{632}{paragraph*.2394}\protected@file@percent }
\newlabel{changes:changes-in-8-11-1}{{5.1.2}{632}{Changes in 8.11.1}{paragraph*.2394}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.2}{633}{paragraph*.2395}\protected@file@percent }
\newlabel{changes:changes-in-8-11-2}{{5.1.2}{633}{Changes in 8.11.2}{paragraph*.2395}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.10}{633}{subsubsection*.2396}\protected@file@percent }
\newlabel{changes:version-8-10}{{5.1.2}{633}{Version 8.10}{subsubsection*.2396}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{633}{paragraph*.2397}\protected@file@percent }
\newlabel{changes:id590}{{5.1.2}{633}{Summary of changes}{paragraph*.2397}{}}
\@writefile{toc}{\contentsline {paragraph}{Other changes in 8.10+beta1}{636}{paragraph*.2398}\protected@file@percent }
\newlabel{changes:other-changes-in-8-10-beta1}{{5.1.2}{636}{Other changes in 8.10+beta1}{paragraph*.2398}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta2}{642}{paragraph*.2399}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta2}{{5.1.2}{642}{Changes in 8.10+beta2}{paragraph*.2399}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta3}{642}{paragraph*.2400}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta3}{{5.1.2}{642}{Changes in 8.10+beta3}{paragraph*.2400}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.0}{643}{paragraph*.2401}\protected@file@percent }
\newlabel{changes:changes-in-8-10-0}{{5.1.2}{643}{Changes in 8.10.0}{paragraph*.2401}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.1}{643}{paragraph*.2402}\protected@file@percent }
\newlabel{changes:changes-in-8-10-1}{{5.1.2}{643}{Changes in 8.10.1}{paragraph*.2402}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.2}{644}{paragraph*.2403}\protected@file@percent }
\newlabel{changes:changes-in-8-10-2}{{5.1.2}{644}{Changes in 8.10.2}{paragraph*.2403}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.9}{645}{subsubsection*.2404}\protected@file@percent }
\newlabel{changes:version-8-9}{{5.1.2}{645}{Version 8.9}{subsubsection*.2404}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{645}{paragraph*.2405}\protected@file@percent }
\newlabel{changes:id737}{{5.1.2}{645}{Summary of changes}{paragraph*.2405}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.9+beta1}{647}{paragraph*.2406}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-9-beta1}{{5.1.2}{647}{Details of changes in 8.9+beta1}{paragraph*.2406}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.0}{649}{paragraph*.2407}\protected@file@percent }
\newlabel{changes:changes-in-8-8-0}{{5.1.2}{649}{Changes in 8.8.0}{paragraph*.2407}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.1}{650}{paragraph*.2408}\protected@file@percent }
\newlabel{changes:changes-in-8-8-1}{{5.1.2}{650}{Changes in 8.8.1}{paragraph*.2408}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.8}{650}{subsubsection*.2409}\protected@file@percent }
\newlabel{changes:version-8-8}{{5.1.2}{650}{Version 8.8}{subsubsection*.2409}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{650}{paragraph*.2410}\protected@file@percent }
\newlabel{changes:id739}{{5.1.2}{650}{Summary of changes}{paragraph*.2410}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8+beta1}{651}{paragraph*.2411}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-beta1}{{5.1.2}{651}{Details of changes in 8.8+beta1}{paragraph*.2411}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.0}{654}{paragraph*.2412}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-0}{{5.1.2}{654}{Details of changes in 8.8.0}{paragraph*.2412}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.1}{654}{paragraph*.2413}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-1}{{5.1.2}{654}{Details of changes in 8.8.1}{paragraph*.2413}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.2}{655}{paragraph*.2414}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-2}{{5.1.2}{655}{Details of changes in 8.8.2}{paragraph*.2414}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.7}{655}{subsubsection*.2415}\protected@file@percent }
\newlabel{changes:version-8-7}{{5.1.2}{655}{Version 8.7}{subsubsection*.2415}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{655}{paragraph*.2416}\protected@file@percent }
\newlabel{changes:id740}{{5.1.2}{655}{Summary of changes}{paragraph*.2416}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential compatibility issues}{657}{paragraph*.2417}\protected@file@percent }
\newlabel{changes:potential-compatibility-issues}{{5.1.2}{657}{Potential compatibility issues}{paragraph*.2417}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta1}{657}{paragraph*.2418}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta1}{{5.1.2}{657}{Details of changes in 8.7+beta1}{paragraph*.2418}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta2}{659}{paragraph*.2419}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta2}{{5.1.2}{659}{Details of changes in 8.7+beta2}{paragraph*.2419}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.0}{660}{paragraph*.2420}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-0}{{5.1.2}{660}{Details of changes in 8.7.0}{paragraph*.2420}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.1}{660}{paragraph*.2421}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-1}{{5.1.2}{660}{Details of changes in 8.7.1}{paragraph*.2421}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.2}{660}{paragraph*.2422}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-2}{{5.1.2}{660}{Details of changes in 8.7.2}{paragraph*.2422}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.6}{660}{subsubsection*.2423}\protected@file@percent }
\newlabel{changes:version-8-6}{{5.1.2}{660}{Version 8.6}{subsubsection*.2423}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{660}{paragraph*.2424}\protected@file@percent }
\newlabel{changes:id741}{{5.1.2}{660}{Summary of changes}{paragraph*.2424}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{662}{paragraph*.2425}\protected@file@percent }
\newlabel{changes:potential-sources-of-incompatibilities}{{5.1.2}{662}{Potential sources of incompatibilities}{paragraph*.2425}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6beta1}{662}{paragraph*.2426}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6beta1}{{5.1.2}{662}{Details of changes in 8.6beta1}{paragraph*.2426}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6}{664}{paragraph*.2427}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6}{{5.1.2}{664}{Details of changes in 8.6}{paragraph*.2427}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6.1}{664}{paragraph*.2428}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6-1}{{5.1.2}{664}{Details of changes in 8.6.1}{paragraph*.2428}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.5}{666}{subsubsection*.2429}\protected@file@percent }
\newlabel{changes:version-8-5}{{5.1.2}{666}{Version 8.5}{subsubsection*.2429}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{666}{paragraph*.2430}\protected@file@percent }
\newlabel{changes:id742}{{5.1.2}{666}{Summary of changes}{paragraph*.2430}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{668}{paragraph*.2431}\protected@file@percent }
\newlabel{changes:id743}{{5.1.2}{668}{Potential sources of incompatibilities}{paragraph*.2431}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta1}{669}{paragraph*.2432}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta1}{{5.1.2}{669}{Details of changes in 8.5beta1}{paragraph*.2432}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta2}{676}{paragraph*.2433}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta2}{{5.1.2}{676}{Details of changes in 8.5beta2}{paragraph*.2433}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta3}{676}{paragraph*.2434}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta3}{{5.1.2}{676}{Details of changes in 8.5beta3}{paragraph*.2434}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5}{678}{paragraph*.2435}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5}{{5.1.2}{678}{Details of changes in 8.5}{paragraph*.2435}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl1}{678}{paragraph*.2436}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl1}{{5.1.2}{678}{Details of changes in 8.5pl1}{paragraph*.2436}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl2}{680}{paragraph*.2437}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl2}{{5.1.2}{680}{Details of changes in 8.5pl2}{paragraph*.2437}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl3}{681}{paragraph*.2438}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl3}{{5.1.2}{681}{Details of changes in 8.5pl3}{paragraph*.2438}{}}
\citation{zebibliography:id30}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.4}{682}{subsubsection*.2439}\protected@file@percent }
\newlabel{changes:version-8-4}{{5.1.2}{682}{Version 8.4}{subsubsection*.2439}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{682}{paragraph*.2440}\protected@file@percent }
\newlabel{changes:id744}{{5.1.2}{682}{Summary of changes}{paragraph*.2440}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{684}{paragraph*.2441}\protected@file@percent }
\newlabel{changes:id746}{{5.1.2}{684}{Potential sources of incompatibilities}{paragraph*.2441}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta}{685}{paragraph*.2442}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta}{{5.1.2}{685}{Details of changes in 8.4beta}{paragraph*.2442}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta2}{689}{paragraph*.2443}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta2}{{5.1.2}{689}{Details of changes in 8.4beta2}{paragraph*.2443}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4}{690}{paragraph*.2444}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4}{{5.1.2}{690}{Details of changes in 8.4}{paragraph*.2444}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.3}{690}{subsubsection*.2445}\protected@file@percent }
\newlabel{changes:version-8-3}{{5.1.2}{690}{Version 8.3}{subsubsection*.2445}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{690}{paragraph*.2446}\protected@file@percent }
\newlabel{changes:id747}{{5.1.2}{690}{Summary of changes}{paragraph*.2446}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{691}{paragraph*.2447}\protected@file@percent }
\newlabel{changes:details-of-changes}{{5.1.2}{691}{Details of changes}{paragraph*.2447}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.2}{697}{subsubsection*.2448}\protected@file@percent }
\newlabel{changes:version-8-2}{{5.1.2}{697}{Version 8.2}{subsubsection*.2448}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{697}{paragraph*.2449}\protected@file@percent }
\newlabel{changes:id748}{{5.1.2}{697}{Summary of changes}{paragraph*.2449}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{698}{paragraph*.2450}\protected@file@percent }
\newlabel{changes:id749}{{5.1.2}{698}{Details of changes}{paragraph*.2450}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.1}{706}{subsubsection*.2451}\protected@file@percent }
\newlabel{changes:version-8-1}{{5.1.2}{706}{Version 8.1}{subsubsection*.2451}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{706}{paragraph*.2452}\protected@file@percent }
\newlabel{changes:id750}{{5.1.2}{706}{Summary of changes}{paragraph*.2452}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1beta}{707}{paragraph*.2453}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1beta}{{5.1.2}{707}{Details of changes in 8.1beta}{paragraph*.2453}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1gamma}{710}{paragraph*.2454}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1gamma}{{5.1.2}{710}{Details of changes in 8.1gamma}{paragraph*.2454}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1}{711}{paragraph*.2455}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1}{{5.1.2}{711}{Details of changes in 8.1}{paragraph*.2455}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.0}{712}{subsubsection*.2456}\protected@file@percent }
\newlabel{changes:version-8-0}{{5.1.2}{712}{Version 8.0}{subsubsection*.2456}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{712}{paragraph*.2457}\protected@file@percent }
\newlabel{changes:id751}{{5.1.2}{712}{Summary of changes}{paragraph*.2457}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta old syntax}{713}{paragraph*.2458}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-old-syntax}{{5.1.2}{713}{Details of changes in 8.0beta old syntax}{paragraph*.2458}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta new syntax}{716}{paragraph*.2459}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-new-syntax}{{5.1.2}{716}{Details of changes in 8.0beta new syntax}{paragraph*.2459}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0}{717}{paragraph*.2460}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0}{{5.1.2}{717}{Details of changes in 8.0}{paragraph*.2460}{}}
\newlabel{zebibliography:bibliography}{{5.1.2}{718}{Details of changes in 8.0}{section*.2461}{}}
\bibcite{zebibliography:id56}{AC19}
\bibcite{zebibliography:id3}{Bar81}
\bibcite{zebibliography:id54}{BDenesGregoire11}
\bibcite{zebibliography:id4}{Bou97}
\bibcite{zebibliography:id57}{CF07}
\bibcite{zebibliography:id9}{Coq89}
\bibcite{zebibliography:id8}{CH86a}
\bibcite{zebibliography:id7}{CH86b}
\bibcite{zebibliography:id10}{Coq85}
\bibcite{zebibliography:id11}{Coq86}
\bibcite{zebibliography:id12}{Coq92}
\bibcite{zebibliography:id6}{CH85}
\bibcite{zebibliography:id14}{CP90}
\bibcite{zebibliography:id13}{CT95}
\@writefile{toc}{\contentsline {chapter}{Bibliography}{719}{chapter*.2462}\protected@file@percent }
\bibcite{zebibliography:id15}{CFC58}
\bibcite{zebibliography:id55}{DM82}
\bibcite{zebibliography:id5}{dB72}
\bibcite{zebibliography:id18}{Del00}
\bibcite{zebibliography:id46}{dC95}
\bibcite{zebibliography:id19}{Dyc92}
\bibcite{zebibliography:id21}{GCST19}
\bibcite{zebibliography:id22}{Gimenez94}
\bibcite{zebibliography:id25}{Gimenez95}
\bibcite{zebibliography:id23}{Gimenez98}
\bibcite{zebibliography:id24}{GimenezCasteran05}
\bibcite{zebibliography:id50}{GMN+91}
\bibcite{zebibliography:id26}{GLT89}
\bibcite{zebibliography:id16}{GZND11}
\bibcite{zebibliography:id53}{GregoireL02}
\bibcite{zebibliography:id27}{How80}
\bibcite{zebibliography:id29}{Hue89}
\bibcite{zebibliography:id28}{Hue88}
\bibcite{zebibliography:id30}{LW11}
\bibcite{zebibliography:id31}{Ler90}
\bibcite{zebibliography:id32}{Let02}
\bibcite{zebibliography:id33}{LV97}
\bibcite{zebibliography:id17}{MT13}
\bibcite{zebibliography:id36}{McB00}
\bibcite{zebibliography:id40}{Moh86}
\bibcite{zebibliography:id38}{Mun94}
\bibcite{zebibliography:id39}{Mye86}
\bibcite{zebibliography:id44}{Par95}
\bibcite{zebibliography:id37}{PM93a}
\bibcite{zebibliography:id41}{PM89}
\bibcite{zebibliography:id42}{PM93b}
\bibcite{zebibliography:id43}{PPM89}
\bibcite{zebibliography:id51}{Pug92}
\bibcite{zebibliography:id47}{ROS98}
\bibcite{zebibliography:id48}{Soz07}
\bibcite{zebibliography:id49}{SO08}
\bibcite{zebibliography:id35}{Vis01}
\bibcite{zebibliography:id34}{VBT98}
\bibcite{zebibliography:id52}{Wer94}
\@writefile{toc}{\contentsline {chapter}{Glossary}{723}{section*.2463}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Command Index}{724}{section*.2464}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Tactic Index}{728}{section*.2465}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Flags, options and Tables Index}{732}{section*.2466}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Gallina Index}{734}{section*.2467}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Errors and Warnings Index}{735}{section*.2468}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Attribute Index}{741}{section*.2469}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{742}{section*.2470}\protected@file@percent }
\gdef \@abspage@last{758}
