\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/D>>}
\providecommand \oddpage@label [2]{}
\selectlanguage *{english}
\@writefile{toc}{\selectlanguage *{english}}
\@writefile{lof}{\selectlanguage *{english}}
\@writefile{lot}{\selectlanguage *{english}}
\HyPL@Entry{1<</S/r>>}
\HyPL@Entry{2<</S/D>>}
\newlabel{index::doc}{{}{1}{}{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:introduction}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Specification language}{3}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:specification-language}{{2}{3}{Specification language}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Core language}{3}{section.2.1}\protected@file@percent }
\newlabel{language/core/index:core-language}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:id1}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index::doc}{{2.1}{3}{Core language}{section.2.1}{}}
\newlabel{language/core/index:term-de Bruijn-criterion}{{2.1}{3}{Core language}{section*.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Basic notions and conventions}{3}{subsection.2.1.1}\protected@file@percent }
\newlabel{language/core/basic:basic-notions-and-conventions}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\newlabel{language/core/basic::doc}{{2.1.1}{3}{Basic notions and conventions}{subsection.2.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax and lexical conventions}{3}{subsubsection*.4}\protected@file@percent }
\newlabel{language/core/basic:syntax-and-lexical-conventions}{{2.1.1}{3}{Syntax and lexical conventions}{subsubsection*.4}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax conventions}{3}{paragraph*.5}\protected@file@percent }
\newlabel{language/core/basic:syntax-conventions}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\newlabel{language/core/basic:id1}{{2.1.1}{3}{Syntax conventions}{paragraph*.5}{}}
\@writefile{toc}{\contentsline {paragraph}{Lexical conventions}{4}{paragraph*.6}\protected@file@percent }
\newlabel{language/core/basic:lexical-conventions}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:id2}{{2.1.1}{4}{Lexical conventions}{paragraph*.6}{}}
\newlabel{language/core/basic:grammar-token-ident}{{2.1.1}{4}{Lexical conventions}{section*.10}{}}
\newlabel{language/core/basic:grammar-token-first_letter}{{2.1.1}{4}{Lexical conventions}{section*.11}{}}
\newlabel{language/core/basic:grammar-token-subsequent_letter}{{2.1.1}{4}{Lexical conventions}{section*.12}{}}
\newlabel{language/core/basic:grammar-token-unicode_letter}{{2.1.1}{4}{Lexical conventions}{section*.13}{}}
\newlabel{language/core/basic:grammar-token-unicode_id_part}{{2.1.1}{4}{Lexical conventions}{section*.14}{}}
\newlabel{language/core/basic:grammar-token-number}{{2.1.1}{5}{Lexical conventions}{section*.24}{}}
\newlabel{language/core/basic:grammar-token-integer}{{2.1.1}{5}{Lexical conventions}{section*.25}{}}
\newlabel{language/core/basic:grammar-token-natural}{{2.1.1}{5}{Lexical conventions}{section*.26}{}}
\newlabel{language/core/basic:grammar-token-bigint}{{2.1.1}{5}{Lexical conventions}{section*.27}{}}
\newlabel{language/core/basic:grammar-token-bignat}{{2.1.1}{5}{Lexical conventions}{section*.28}{}}
\newlabel{language/core/basic:grammar-token-decnat}{{2.1.1}{5}{Lexical conventions}{section*.29}{}}
\newlabel{language/core/basic:grammar-token-digit}{{2.1.1}{5}{Lexical conventions}{section*.30}{}}
\newlabel{language/core/basic:grammar-token-hexnat}{{2.1.1}{5}{Lexical conventions}{section*.31}{}}
\newlabel{language/core/basic:grammar-token-hexdigit}{{2.1.1}{5}{Lexical conventions}{section*.32}{}}
\newlabel{language/core/basic:grammar-token-string}{{2.1.1}{5}{Lexical conventions}{section*.33}{}}
\@writefile{toc}{\contentsline {subsubsection}{Essential vocabulary}{6}{subsubsection*.34}\protected@file@percent }
\newlabel{language/core/basic:essential-vocabulary}{{2.1.1}{6}{Essential vocabulary}{subsubsection*.34}{}}
\newlabel{language/core/basic:term-term}{{2.1.1}{6}{term\index {term@\spxentry {term}|spxpagem}\phantomsection }{section*.35}{}}
\newlabel{language/core/basic:grammar-token-term}{{2.1.1}{6}{Essential vocabulary}{section*.43}{}}
\newlabel{language/core/basic:grammar-token-term100}{{2.1.1}{6}{Essential vocabulary}{section*.44}{}}
\newlabel{language/core/basic:grammar-token-term10}{{2.1.1}{6}{Essential vocabulary}{section*.45}{}}
\newlabel{language/core/basic:grammar-token-one_term}{{2.1.1}{6}{Essential vocabulary}{section*.46}{}}
\newlabel{language/core/basic:grammar-token-term1}{{2.1.1}{6}{Essential vocabulary}{section*.47}{}}
\newlabel{language/core/basic:grammar-token-term0}{{2.1.1}{6}{Essential vocabulary}{section*.48}{}}
\newlabel{language/core/basic:grammar-token-qualid_annotated}{{2.1.1}{6}{Essential vocabulary}{section*.49}{}}
\newlabel{language/core/basic:term-type}{{2.1.1}{6}{type\index {type@\spxentry {type}|spxpagem}\phantomsection }{section*.50}{}}
\newlabel{language/core/basic:term-well-typed}{{2.1.1}{6}{Essential vocabulary}{section*.51}{}}
\newlabel{language/core/basic:grammar-token-type}{{2.1.1}{7}{Essential vocabulary}{section*.53}{}}
\newlabel{language/core/basic:term-inhabited}{{2.1.1}{7}{Essential vocabulary}{section*.54}{}}
\newlabel{language/core/basic:term-witness}{{2.1.1}{7}{Essential vocabulary}{section*.55}{}}
\newlabel{language/core/basic:term-sentence}{{2.1.1}{7}{sentence\index {sentence@\spxentry {sentence}|spxpagem}\phantomsection }{section*.56}{}}
\newlabel{language/core/basic:grammar-token-document}{{2.1.1}{7}{Essential vocabulary}{section*.59}{}}
\newlabel{language/core/basic:grammar-token-sentence}{{2.1.1}{7}{Essential vocabulary}{section*.60}{}}
\newlabel{language/core/basic:term-command}{{2.1.1}{7}{command\index {command@\spxentry {command}|spxpagem}\phantomsection }{section*.61}{}}
\newlabel{language/core/basic:grammar-token-command}{{2.1.1}{7}{Essential vocabulary}{section*.62}{}}
\newlabel{language/core/basic:coq:cmd.Comments}{{2.1.1}{7}{Essential vocabulary}{section*.63}{}}
\newlabel{language/core/basic:term-tactic}{{2.1.1}{7}{tactic\index {tactic@\spxentry {tactic}|spxpagem}\phantomsection }{section*.64}{}}
\newlabel{language/core/basic:grammar-token-tactic}{{2.1.1}{7}{Essential vocabulary}{section*.65}{}}
\@writefile{toc}{\contentsline {subsubsection}{Settings}{8}{subsubsection*.66}\protected@file@percent }
\newlabel{language/core/basic:settings}{{2.1.1}{8}{Settings}{subsubsection*.66}{}}
\@writefile{toc}{\contentsline {paragraph}{Attributes}{8}{paragraph*.67}\protected@file@percent }
\newlabel{language/core/basic:attributes}{{2.1.1}{8}{Attributes}{paragraph*.67}{}}
\newlabel{language/core/basic:id3}{{2.1.1}{8}{Attributes}{paragraph*.67}{}}
\newlabel{language/core/basic:term-attribute}{{2.1.1}{8}{Attributes}{section*.68}{}}
\newlabel{language/core/basic:grammar-token-attributes}{{2.1.1}{8}{Attributes}{section*.73}{}}
\newlabel{language/core/basic:grammar-token-attribute}{{2.1.1}{8}{Attributes}{section*.74}{}}
\newlabel{language/core/basic:grammar-token-attr_value}{{2.1.1}{8}{Attributes}{section*.75}{}}
\newlabel{language/core/basic:grammar-token-legacy_attr}{{2.1.1}{8}{Attributes}{section*.76}{}}
\newlabel{language/core/basic:term-boolean-attribute}{{2.1.1}{8}{Attributes}{section*.77}{}}
\newlabel{language/core/basic:coq:warn.This-command-does-not-support-this-attribute}{{2.1.1}{8}{Attributes}{section*.78}{}}
\@writefile{toc}{\contentsline {paragraph}{Flags, Options and Tables}{9}{paragraph*.79}\protected@file@percent }
\newlabel{language/core/basic:flags-options-and-tables}{{2.1.1}{9}{Flags, Options and Tables}{paragraph*.79}{}}
\newlabel{language/core/basic:flags-options-tables}{{2.1.1}{9}{Flags, Options and Tables}{paragraph*.79}{}}
\newlabel{language/core/basic:term-flag}{{2.1.1}{9}{Flags, Options and Tables}{section*.80}{}}
\newlabel{language/core/basic:term-option}{{2.1.1}{9}{Flags, Options and Tables}{section*.81}{}}
\newlabel{language/core/basic:term-table}{{2.1.1}{9}{Flags, Options and Tables}{section*.82}{}}
\newlabel{language/core/basic:grammar-token-setting_name}{{2.1.1}{9}{Flags, Options and Tables}{section*.84}{}}
\newlabel{language/core/basic:coq:cmd.Set}{{2.1.1}{9}{Flags, Options and Tables}{section*.85}{}}
\newlabel{language/core/basic:coq:warn.There-is-no-flag-or-option-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{9}{Flags, Options and Tables}{section*.86}{}}
\newlabel{language/core/basic:coq:cmd.Unset}{{2.1.1}{9}{Flags, Options and Tables}{section*.87}{}}
\newlabel{language/core/basic:coq:cmd.Add}{{2.1.1}{9}{Flags, Options and Tables}{section*.88}{}}
\newlabel{language/core/basic:coq:cmd.Remove}{{2.1.1}{9}{Flags, Options and Tables}{section*.89}{}}
\newlabel{language/core/basic:coq:cmd.Test}{{2.1.1}{9}{Flags, Options and Tables}{section*.90}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-flag,-option-or-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{9}{Flags, Options and Tables}{section*.91}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-qualid-valued-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{10}{Flags, Options and Tables}{section*.92}{}}
\newlabel{language/core/basic:coq:exn.There-is-no-string-valued-table-with-this-name:-"_u2018setting_name_u2019"}{{2.1.1}{10}{Flags, Options and Tables}{section*.93}{}}
\newlabel{language/core/basic:coq:cmd.Print-Options}{{2.1.1}{10}{Flags, Options and Tables}{section*.94}{}}
\newlabel{language/core/basic:coq:cmd.Print-Table}{{2.1.1}{10}{Flags, Options and Tables}{section*.95}{}}
\newlabel{language/core/basic:coq:cmd.Print-Tables}{{2.1.1}{10}{Flags, Options and Tables}{section*.96}{}}
\@writefile{toc}{\contentsline {subparagraph}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{10}{subparagraph*.97}\protected@file@percent }
\newlabel{language/core/basic:locality-attributes-supported-by-set-and-unset}{{2.1.1}{10}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.97}{}}
\newlabel{language/core/basic:set-unset-scope-qualifiers}{{2.1.1}{10}{Locality attributes supported by \sphinxstyleliteralintitle {\sphinxupquote {Set}} and \sphinxstyleliteralintitle {\sphinxupquote {Unset}}}{subparagraph*.97}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Sorts}{10}{subsection.2.1.2}\protected@file@percent }
\newlabel{language/core/sorts:sorts}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:index-0}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:id1}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts::doc}{{2.1.2}{10}{Sorts}{subsection.2.1.2}{}}
\newlabel{language/core/sorts:grammar-token-sort}{{2.1.2}{10}{Sorts}{section*.101}{}}
\newlabel{language/core/sorts:grammar-token-universe}{{2.1.2}{10}{Sorts}{section*.102}{}}
\newlabel{language/core/sorts:grammar-token-universe_expr}{{2.1.2}{10}{Sorts}{section*.103}{}}
\newlabel{language/core/sorts:term-sort}{{2.1.2}{10}{Sorts}{section*.104}{}}
\newlabel{language/core/sorts:term-proposition}{{2.1.2}{10}{Sorts}{section*.105}{}}
\newlabel{language/core/sorts:term-strict-proposition}{{2.1.2}{11}{Sorts}{section*.106}{}}
\newlabel{language/core/sorts:implementation-issues}{{2.1.2}{11}{Sorts}{section*.107}{}}
\newlabel{language/core/sorts:term-algebraic-universe}{{2.1.2}{11}{Sorts}{section*.108}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Functions and assumptions}{11}{subsection.2.1.3}\protected@file@percent }
\newlabel{language/core/assumptions:functions-and-assumptions}{{2.1.3}{11}{Functions and assumptions}{subsection.2.1.3}{}}
\newlabel{language/core/assumptions::doc}{{2.1.3}{11}{Functions and assumptions}{subsection.2.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binders}{11}{subsubsection*.109}\protected@file@percent }
\newlabel{language/core/assumptions:binders}{{2.1.3}{11}{Binders}{subsubsection*.109}{}}
\newlabel{language/core/assumptions:id1}{{2.1.3}{11}{Binders}{subsubsection*.109}{}}
\newlabel{language/core/assumptions:grammar-token-open_binders}{{2.1.3}{11}{Binders}{section*.113}{}}
\newlabel{language/core/assumptions:grammar-token-name}{{2.1.3}{11}{Binders}{section*.114}{}}
\newlabel{language/core/assumptions:grammar-token-binder}{{2.1.3}{11}{Binders}{section*.115}{}}
\@writefile{toc}{\contentsline {subsubsection}{Functions (fun) and function types (forall)}{12}{subsubsection*.116}\protected@file@percent }
\newlabel{language/core/assumptions:functions-fun-and-function-types-forall}{{2.1.3}{12}{Functions (fun) and function types (forall)}{subsubsection*.116}{}}
\newlabel{language/core/assumptions:index-1}{{2.1.3}{12}{Functions (fun) and function types (forall)}{subsubsection*.116}{}}
\newlabel{language/core/assumptions:grammar-token-term_forall_or_fun}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.118}{}}
\newlabel{language/core/assumptions:term-product}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.119}{}}
\newlabel{language/core/assumptions:term-dependent-product}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.120}{}}
\newlabel{language/core/assumptions:term-dependent-premise}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.121}{}}
\newlabel{language/core/assumptions:term-non-dependent-premise}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.122}{}}
\newlabel{language/core/assumptions:term-premise}{{2.1.3}{12}{Functions (fun) and function types (forall)}{section*.123}{}}
\@writefile{toc}{\contentsline {subsubsection}{Function application}{13}{subsubsection*.124}\protected@file@percent }
\newlabel{language/core/assumptions:function-application}{{2.1.3}{13}{Function application}{subsubsection*.124}{}}
\newlabel{language/core/assumptions:grammar-token-term_application}{{2.1.3}{13}{Function application}{section*.127}{}}
\newlabel{language/core/assumptions:grammar-token-arg}{{2.1.3}{13}{Function application}{section*.128}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assumptions}{13}{subsubsection*.129}\protected@file@percent }
\newlabel{language/core/assumptions:assumptions}{{2.1.3}{13}{Assumptions}{subsubsection*.129}{}}
\newlabel{language/core/assumptions:gallina-assumptions}{{2.1.3}{13}{Assumptions}{subsubsection*.129}{}}
\newlabel{language/core/assumptions:axiom}{{2.1.3}{13}{Assumptions}{section*.130}{}}
\newlabel{language/core/assumptions:coq:cmd.Axiom}{{2.1.3}{13}{Assumptions}{section*.131}{}}
\newlabel{language/core/assumptions:coq:cmd.Axioms}{{2.1.3}{13}{Assumptions}{section*.132}{}}
\newlabel{language/core/assumptions:coq:cmd.Conjecture}{{2.1.3}{13}{Assumptions}{section*.133}{}}
\newlabel{language/core/assumptions:coq:cmd.Conjectures}{{2.1.3}{13}{Assumptions}{section*.134}{}}
\newlabel{language/core/assumptions:coq:cmd.Hypothesis}{{2.1.3}{13}{Assumptions}{section*.135}{}}
\newlabel{language/core/assumptions:coq:cmd.Hypotheses}{{2.1.3}{13}{Assumptions}{section*.136}{}}
\newlabel{language/core/assumptions:coq:cmd.Parameter}{{2.1.3}{13}{Assumptions}{section*.137}{}}
\newlabel{language/core/assumptions:coq:cmd.Parameters}{{2.1.3}{13}{Assumptions}{section*.138}{}}
\newlabel{language/core/assumptions:coq:cmd.Variable}{{2.1.3}{13}{Assumptions}{section*.139}{}}
\newlabel{language/core/assumptions:coq:cmd.Variables}{{2.1.3}{13}{Assumptions}{section*.140}{}}
\newlabel{language/core/assumptions:grammar-token-assumption_token}{{2.1.3}{13}{Assumptions}{section*.145}{}}
\newlabel{language/core/assumptions:grammar-token-assumpt}{{2.1.3}{13}{Assumptions}{section*.146}{}}
\newlabel{language/core/assumptions:grammar-token-ident_decl}{{2.1.3}{13}{Assumptions}{section*.147}{}}
\newlabel{language/core/assumptions:grammar-token-of_type}{{2.1.3}{13}{Assumptions}{section*.148}{}}
\newlabel{language/core/assumptions:coq:exn._u2018ident_u2019-already-exists.-(Axiom)}{{2.1.3}{14}{Assumptions}{section*.149}{}}
\newlabel{language/core/assumptions:coq:warn._u2018ident_u2019-is-declared-as-a-local-axiom}{{2.1.3}{14}{Assumptions}{section*.150}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Definitions}{14}{subsection.2.1.4}\protected@file@percent }
\newlabel{language/core/definitions:definitions}{{2.1.4}{14}{Definitions}{subsection.2.1.4}{}}
\newlabel{language/core/definitions::doc}{{2.1.4}{14}{Definitions}{subsection.2.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Let\sphinxhyphen {}in definitions}{14}{subsubsection*.151}\protected@file@percent }
\newlabel{language/core/definitions:let-in-definitions}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.151}{}}
\newlabel{language/core/definitions:let-in}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.151}{}}
\newlabel{language/core/definitions:index-0}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{subsubsection*.151}{}}
\newlabel{language/core/definitions:grammar-token-term_let}{{2.1.4}{14}{Let\sphinxhyphen {}in definitions}{section*.153}{}}
\@writefile{toc}{\contentsline {subsubsection}{Type cast}{14}{subsubsection*.154}\protected@file@percent }
\newlabel{language/core/definitions:type-cast}{{2.1.4}{14}{Type cast}{subsubsection*.154}{}}
\newlabel{language/core/definitions:index-1}{{2.1.4}{14}{Type cast}{subsubsection*.154}{}}
\newlabel{language/core/definitions:id1}{{2.1.4}{14}{Type cast}{subsubsection*.154}{}}
\newlabel{language/core/definitions:grammar-token-term_cast}{{2.1.4}{14}{Type cast}{section*.156}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions}{15}{subsubsection*.157}\protected@file@percent }
\newlabel{language/core/definitions:top-level-definitions}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{subsubsection*.157}{}}
\newlabel{language/core/definitions:gallina-definitions}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{subsubsection*.157}{}}
\newlabel{language/core/definitions:term-constant}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.158}{}}
\newlabel{language/core/definitions:term-body}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.159}{}}
\newlabel{language/core/definitions:coq:cmd.Definition}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.160}{}}
\newlabel{language/core/definitions:coq:cmd.Example}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.161}{}}
\newlabel{language/core/definitions:grammar-token-def_body}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.164}{}}
\newlabel{language/core/definitions:grammar-token-reduce}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.165}{}}
\newlabel{language/core/definitions:coq:exn._u2018ident_u2019-already-exists.-(Definition)}{{2.1.4}{15}{Top\sphinxhyphen {}level definitions}{section*.166}{}}
\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}{15}{Top\sphinxhyphen {}level definitions}{section*.167}{}}
\@writefile{toc}{\contentsline {subsubsection}{Assertions and proofs}{15}{subsubsection*.168}\protected@file@percent }
\newlabel{language/core/definitions:assertions-and-proofs}{{2.1.4}{15}{Assertions and proofs}{subsubsection*.168}{}}
\newlabel{language/core/definitions:assertions}{{2.1.4}{15}{Assertions and proofs}{subsubsection*.168}{}}
\newlabel{language/core/definitions:coq:cmd.Theorem}{{2.1.4}{15}{Assertions and proofs}{section*.169}{}}
\newlabel{language/core/definitions:coq:cmd.Lemma}{{2.1.4}{15}{Assertions and proofs}{section*.170}{}}
\newlabel{language/core/definitions:coq:cmd.Fact}{{2.1.4}{15}{Assertions and proofs}{section*.171}{}}
\newlabel{language/core/definitions:coq:cmd.Remark}{{2.1.4}{15}{Assertions and proofs}{section*.172}{}}
\newlabel{language/core/definitions:coq:cmd.Corollary}{{2.1.4}{15}{Assertions and proofs}{section*.173}{}}
\newlabel{language/core/definitions:coq:cmd.Proposition}{{2.1.4}{15}{Assertions and proofs}{section*.174}{}}
\newlabel{language/core/definitions:coq:cmd.Property}{{2.1.4}{15}{Assertions and proofs}{section*.175}{}}
\newlabel{language/core/definitions:grammar-token-thm_token}{{2.1.4}{16}{Assertions and proofs}{section*.177}{}}
\newlabel{language/core/definitions:coq:exn.The-term-_u2018term_u2019-has-type-_u2018type_u2019-which-should-be-Set,-Prop-or-Type}{{2.1.4}{16}{Assertions and proofs}{section*.178}{}}
\newlabel{language/core/definitions:coq:exn._u2018ident_u2019-already-exists.-(Theorem)}{{2.1.4}{16}{Assertions and proofs}{section*.179}{}}
\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}{16}{Assertions and proofs}{section*.180}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.5}Conversion rules}{17}{subsection.2.1.5}\protected@file@percent }
\newlabel{language/core/conversion:conversion-rules}{{2.1.5}{17}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion:id1}{{2.1.5}{17}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion::doc}{{2.1.5}{17}{Conversion rules}{subsection.2.1.5}{}}
\newlabel{language/core/conversion:term-reduction}{{2.1.5}{17}{Conversion rules}{section*.181}{}}
\newlabel{language/core/conversion:term-expansion}{{2.1.5}{17}{Conversion rules}{section*.182}{}}
\newlabel{language/core/conversion:term-contraction}{{2.1.5}{17}{Conversion rules}{section*.183}{}}
\@writefile{toc}{\contentsline {subsubsection}{α\sphinxhyphen {}conversion}{18}{subsubsection*.184}\protected@file@percent }
\newlabel{language/core/conversion:conversion}{{2.1.5}{18}{α\sphinxhyphen {}conversion}{subsubsection*.184}{}}
\newlabel{language/core/conversion:term-alpha-convertible}{{2.1.5}{18}{α\sphinxhyphen {}conversion}{section*.185}{}}
\@writefile{toc}{\contentsline {subsubsection}{β\sphinxhyphen {}reduction}{18}{subsubsection*.186}\protected@file@percent }
\newlabel{language/core/conversion:reduction}{{2.1.5}{18}{β\sphinxhyphen {}reduction}{subsubsection*.186}{}}
\newlabel{language/core/conversion:term-beta-reduction}{{2.1.5}{18}{β\sphinxhyphen {}reduction}{section*.187}{}}
\newlabel{language/core/conversion:term-beta-redex}{{2.1.5}{18}{β\sphinxhyphen {}reduction}{section*.188}{}}
\newlabel{language/core/conversion:inference-Beta}{{2.1.5}{18}{β\sphinxhyphen {}reduction}{section*.189}{}}
\@writefile{toc}{\contentsline {subsubsection}{δ\sphinxhyphen {}reduction}{18}{subsubsection*.190}\protected@file@percent }
\newlabel{language/core/conversion:delta-reduction-sect}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{subsubsection*.190}{}}
\newlabel{language/core/conversion:id3}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{subsubsection*.190}{}}
\newlabel{language/core/conversion:term-delta-reduction}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.191}{}}
\newlabel{language/core/conversion:term-unfold}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.192}{}}
\newlabel{language/core/conversion:inference-Delta-Local}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.193}{}}
\newlabel{language/core/conversion:inference-Delta-Global}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.194}{}}
\newlabel{language/core/conversion:term-transparent}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.195}{}}
\newlabel{language/core/conversion:term-opaque}{{2.1.5}{18}{δ\sphinxhyphen {}reduction}{section*.196}{}}
\@writefile{toc}{\contentsline {subsubsection}{ι\sphinxhyphen {}reduction}{19}{subsubsection*.197}\protected@file@percent }
\newlabel{language/core/conversion:id4}{{2.1.5}{19}{ι\sphinxhyphen {}reduction}{subsubsection*.197}{}}
\newlabel{language/core/conversion:term-iota-reduction}{{2.1.5}{19}{ι\sphinxhyphen {}reduction}{section*.198}{}}
\@writefile{toc}{\contentsline {subsubsection}{ζ\sphinxhyphen {}reduction}{19}{subsubsection*.199}\protected@file@percent }
\newlabel{language/core/conversion:id6}{{2.1.5}{19}{ζ\sphinxhyphen {}reduction}{subsubsection*.199}{}}
\newlabel{language/core/conversion:term-zeta-reduction}{{2.1.5}{19}{ζ\sphinxhyphen {}reduction}{section*.200}{}}
\newlabel{language/core/conversion:inference-Zeta}{{2.1.5}{19}{ζ\sphinxhyphen {}reduction}{section*.201}{}}
\@writefile{toc}{\contentsline {subsubsection}{η\sphinxhyphen {}expansion}{19}{subsubsection*.202}\protected@file@percent }
\newlabel{language/core/conversion:expansion}{{2.1.5}{19}{η\sphinxhyphen {}expansion}{subsubsection*.202}{}}
\newlabel{language/core/conversion:eta-expansion-sect}{{2.1.5}{19}{η\sphinxhyphen {}expansion}{subsubsection*.202}{}}
\newlabel{language/core/conversion:term-eta-expansion}{{2.1.5}{19}{η\sphinxhyphen {}expansion}{section*.203}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples}{19}{subsubsection*.204}\protected@file@percent }
\newlabel{language/core/conversion:examples}{{2.1.5}{19}{Examples}{subsubsection*.204}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof Irrelevance}{21}{subsubsection*.205}\protected@file@percent }
\newlabel{language/core/conversion:proof-irrelevance}{{2.1.5}{21}{Proof Irrelevance}{subsubsection*.205}{}}
\newlabel{language/core/conversion:id7}{{2.1.5}{21}{Proof Irrelevance}{subsubsection*.205}{}}
\@writefile{toc}{\contentsline {subsubsection}{Convertibility}{21}{subsubsection*.206}\protected@file@percent }
\newlabel{language/core/conversion:convertibility}{{2.1.5}{21}{Convertibility}{subsubsection*.206}{}}
\newlabel{language/core/conversion:id8}{{2.1.5}{21}{Convertibility}{subsubsection*.206}{}}
\newlabel{language/core/conversion:term-convertible}{{2.1.5}{21}{Convertibility}{section*.207}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.6}Typing rules}{22}{subsection.2.1.6}\protected@file@percent }
\newlabel{language/cic:typing-rules}{{2.1.6}{22}{Typing rules}{subsection.2.1.6}{}}
\newlabel{language/cic::doc}{{2.1.6}{22}{Typing rules}{subsection.2.1.6}{}}
\newlabel{language/cic:term-Calculus-of-Inductive-Constructions}{{2.1.6}{22}{Typing rules}{section*.208}{}}
\@writefile{toc}{\contentsline {subsubsection}{The terms}{22}{subsubsection*.209}\protected@file@percent }
\newlabel{language/cic:the-terms}{{2.1.6}{22}{The terms}{subsubsection*.209}{}}
\newlabel{language/cic:id1}{{2.1.6}{22}{The terms}{subsubsection*.209}{}}
\newlabel{language/cic:free-variables}{{2.1.6}{23}{The terms}{section*.210}{}}
\newlabel{language/cic:substitution}{{2.1.6}{23}{The terms}{section*.211}{}}
\newlabel{language/cic:the-logical-vs-programming-readings}{{2.1.6}{23}{The terms}{section*.212}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing rules}{23}{subsubsection*.213}\protected@file@percent }
\newlabel{language/cic:id4}{{2.1.6}{23}{Typing rules}{subsubsection*.213}{}}
\newlabel{language/cic:id5}{{2.1.6}{23}{Typing rules}{subsubsection*.213}{}}
\newlabel{language/cic:local-context}{{2.1.6}{23}{Typing rules}{section*.214}{}}
\newlabel{language/cic:global-environment}{{2.1.6}{23}{Typing rules}{section*.215}{}}
\newlabel{language/cic:typing-rules2}{{2.1.6}{23}{Typing rules}{section*.216}{}}
\newlabel{language/cic:inference-W-Empty}{{2.1.6}{24}{Typing rules}{section*.217}{}}
\newlabel{language/cic:inference-W-Local-Assum}{{2.1.6}{24}{Typing rules}{section*.218}{}}
\newlabel{language/cic:inference-W-Local-Def}{{2.1.6}{24}{Typing rules}{section*.219}{}}
\newlabel{language/cic:inference-W-Global-Assum}{{2.1.6}{24}{Typing rules}{section*.220}{}}
\newlabel{language/cic:inference-W-Global-Def}{{2.1.6}{24}{Typing rules}{section*.221}{}}
\newlabel{language/cic:inference-Ax-SProp}{{2.1.6}{24}{Typing rules}{section*.222}{}}
\newlabel{language/cic:inference-Ax-Prop}{{2.1.6}{24}{Typing rules}{section*.223}{}}
\newlabel{language/cic:inference-Ax-Set}{{2.1.6}{24}{Typing rules}{section*.224}{}}
\newlabel{language/cic:inference-Ax-Type}{{2.1.6}{24}{Typing rules}{section*.225}{}}
\newlabel{language/cic:inference-Var}{{2.1.6}{24}{Typing rules}{section*.226}{}}
\newlabel{language/cic:inference-Const}{{2.1.6}{24}{Typing rules}{section*.227}{}}
\newlabel{language/cic:inference-Prod-SProp}{{2.1.6}{25}{Typing rules}{section*.228}{}}
\newlabel{language/cic:inference-Prod-Prop}{{2.1.6}{25}{Typing rules}{section*.229}{}}
\newlabel{language/cic:inference-Prod-Set}{{2.1.6}{25}{Typing rules}{section*.230}{}}
\newlabel{language/cic:inference-Prod-Type}{{2.1.6}{25}{Typing rules}{section*.231}{}}
\newlabel{language/cic:inference-Lam}{{2.1.6}{25}{Typing rules}{section*.232}{}}
\newlabel{language/cic:inference-App}{{2.1.6}{25}{Typing rules}{section*.233}{}}
\newlabel{language/cic:inference-Let}{{2.1.6}{25}{Typing rules}{section*.234}{}}
\@writefile{toc}{\contentsline {subsubsection}{Subtyping rules}{26}{subsubsection*.235}\protected@file@percent }
\newlabel{language/cic:subtyping-rules}{{2.1.6}{26}{Subtyping rules}{subsubsection*.235}{}}
\newlabel{language/cic:id6}{{2.1.6}{26}{Subtyping rules}{subsubsection*.235}{}}
\newlabel{language/cic:inference-Conv}{{2.1.6}{26}{Subtyping rules}{section*.236}{}}
\newlabel{language/cic:normal-form}{{2.1.6}{26}{Subtyping rules}{section*.237}{}}
\@writefile{toc}{\contentsline {subsubsection}{Admissible rules for global environments}{27}{subsubsection*.238}\protected@file@percent }
\newlabel{language/cic:admissible-rules-for-global-environments}{{2.1.6}{27}{Admissible rules for global environments}{subsubsection*.238}{}}
\newlabel{language/cic:id7}{{2.1.6}{27}{Admissible rules for global environments}{subsubsection*.238}{}}
\newlabel{language/cic:abstraction}{{2.1.6}{27}{Admissible rules for global environments}{section*.239}{}}
\newlabel{language/cic:first-abstracting-property}{{2.1.6}{27}{Admissible rules for global environments}{section*.240}{}}
\newlabel{language/cic:second-abstracting-property}{{2.1.6}{27}{Admissible rules for global environments}{section*.241}{}}
\newlabel{language/cic:pruning-the-local-context}{{2.1.6}{27}{Admissible rules for global environments}{section*.242}{}}
\newlabel{language/cic:first-pruning-property}{{2.1.6}{27}{Admissible rules for global environments}{section*.243}{}}
\newlabel{language/cic:inference-First-pruning-property:}{{2.1.6}{27}{Admissible rules for global environments}{section*.244}{}}
\newlabel{language/cic:second-pruning-property}{{2.1.6}{27}{Admissible rules for global environments}{section*.245}{}}
\newlabel{language/cic:inference-Second-pruning-property:}{{2.1.6}{27}{Admissible rules for global environments}{section*.246}{}}
\@writefile{toc}{\contentsline {subsubsection}{The Calculus of Inductive Constructions with impredicative Set}{28}{subsubsection*.247}\protected@file@percent }
\newlabel{language/cic:the-calculus-of-inductive-constructions-with-impredicative-set}{{2.1.6}{28}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.247}{}}
\newlabel{language/cic:the-calculus-of-inductive-construction-with-impredicative-set}{{2.1.6}{28}{The Calculus of Inductive Constructions with impredicative Set}{subsubsection*.247}{}}
\newlabel{language/cic:inference-ProdImp}{{2.1.6}{28}{The Calculus of Inductive Constructions with impredicative Set}{section*.248}{}}
\newlabel{language/cic:inference-Set1}{{2.1.6}{28}{The Calculus of Inductive Constructions with impredicative Set}{section*.249}{}}
\newlabel{language/cic:inference-Set2}{{2.1.6}{28}{The Calculus of Inductive Constructions with impredicative Set}{section*.250}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.7}Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{28}{subsection.2.1.7}\protected@file@percent }
\newlabel{language/core/variants:variants-and-the-match-construct}{{2.1.7}{28}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\newlabel{language/core/variants:variants}{{2.1.7}{28}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\newlabel{language/core/variants::doc}{{2.1.7}{28}{Variants and the \sphinxstyleliteralintitle {\sphinxupquote {match}} construct}{subsection.2.1.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants}{28}{subsubsection*.251}\protected@file@percent }
\newlabel{language/core/variants:id1}{{2.1.7}{28}{Variants}{subsubsection*.251}{}}
\newlabel{language/core/variants:coq:cmd.Variant}{{2.1.7}{28}{Variants}{section*.252}{}}
\newlabel{language/core/variants:grammar-token-variant_definition}{{2.1.7}{28}{Variants}{section*.254}{}}
\newlabel{language/core/variants:coq:exn.The-_u2018natural_u2019-th-argument-of-_u2018ident_u2019-must-be-_u2018ident_u2019-in-_u2018type_u2019}{{2.1.7}{29}{Variants}{section*.255}{}}
\@writefile{toc}{\contentsline {paragraph}{Private (matching) inductive types}{29}{paragraph*.256}\protected@file@percent }
\newlabel{language/core/variants:private-matching-inductive-types}{{2.1.7}{29}{Private (matching) inductive types}{paragraph*.256}{}}
\newlabel{language/core/variants:coq:attr.private(matching)}{{2.1.7}{29}{Private (matching) inductive types}{section*.257}{}}
\newlabel{language/core/variants:coq:attr.Private}{{2.1.7}{29}{Private (matching) inductive types}{section*.258}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definition by cases: match}{29}{subsubsection*.259}\protected@file@percent }
\newlabel{language/core/variants:definition-by-cases-match}{{2.1.7}{29}{Definition by cases: match}{subsubsection*.259}{}}
\newlabel{language/core/variants:match-term}{{2.1.7}{29}{Definition by cases: match}{subsubsection*.259}{}}
\newlabel{language/core/variants:index-0}{{2.1.7}{29}{Definition by cases: match}{subsubsection*.259}{}}
\newlabel{language/core/variants:grammar-token-term_match}{{2.1.7}{30}{Definition by cases: match}{section*.267}{}}
\newlabel{language/core/variants:grammar-token-case_item}{{2.1.7}{30}{Definition by cases: match}{section*.268}{}}
\newlabel{language/core/variants:grammar-token-eqn}{{2.1.7}{30}{Definition by cases: match}{section*.269}{}}
\newlabel{language/core/variants:grammar-token-pattern}{{2.1.7}{30}{Definition by cases: match}{section*.270}{}}
\newlabel{language/core/variants:grammar-token-pattern10}{{2.1.7}{30}{Definition by cases: match}{section*.271}{}}
\newlabel{language/core/variants:grammar-token-pattern1}{{2.1.7}{30}{Definition by cases: match}{section*.272}{}}
\newlabel{language/core/variants:grammar-token-pattern0}{{2.1.7}{30}{Definition by cases: match}{section*.273}{}}
\newlabel{language/core/variants:coq:exn.Casts-are-not-supported-in-this-pattern}{{2.1.7}{30}{Definition by cases: match}{section*.274}{}}
\newlabel{0.1.1}{{1}{30}{Definition by cases: match}{section*.275}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.8}Record types}{32}{subsection.2.1.8}\protected@file@percent }
\newlabel{language/core/records:record-types}{{2.1.8}{32}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:id1}{{2.1.8}{32}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records::doc}{{2.1.8}{32}{Record types}{subsection.2.1.8}{}}
\newlabel{language/core/records:record-grammar}{{2.1.8}{32}{Record types}{section*.276}{}}
\newlabel{language/core/records:coq:cmd.Record}{{2.1.8}{32}{Record types}{section*.277}{}}
\newlabel{language/core/records:coq:cmd.Structure}{{2.1.8}{32}{Record types}{section*.278}{}}
\newlabel{language/core/records:grammar-token-record_definition}{{2.1.8}{32}{Record types}{section*.284}{}}
\newlabel{language/core/records:grammar-token-record_field}{{2.1.8}{32}{Record types}{section*.285}{}}
\newlabel{language/core/records:grammar-token-field_body}{{2.1.8}{32}{Record types}{section*.286}{}}
\newlabel{language/core/records:grammar-token-term_record}{{2.1.8}{32}{Record types}{section*.287}{}}
\newlabel{language/core/records:grammar-token-field_def}{{2.1.8}{32}{Record types}{section*.288}{}}
\newlabel{language/core/records:coq:flag.Printing-Records}{{2.1.8}{33}{Record types}{section*.289}{}}
\newlabel{language/core/records:coq:table.Printing-Record}{{2.1.8}{33}{Record types}{section*.290}{}}
\newlabel{language/core/records:coq:table.Printing-Constructor}{{2.1.8}{33}{Record types}{section*.291}{}}
\newlabel{language/core/records:coq:flag.Printing-Projections}{{2.1.8}{34}{Record types}{section*.292}{}}
\newlabel{language/core/records:record-projections-grammar}{{2.1.8}{34}{Record types}{section*.293}{}}
\newlabel{language/core/records:grammar-token-term_projection}{{2.1.8}{34}{Record types}{section*.295}{}}
\newlabel{language/core/records:coq:warn._u2018ident_u2019-cannot-be-defined}{{2.1.8}{35}{Record types}{section*.296}{}}
\newlabel{language/core/records:coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive}{{2.1.8}{35}{Record types}{section*.297}{}}
\newlabel{language/core/records:coq:exn.Cannot-handle-mutually-(co)inductive-records}{{2.1.8}{35}{Record types}{section*.298}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Projections}{35}{subsubsection*.299}\protected@file@percent }
\newlabel{language/core/records:primitive-projections}{{2.1.8}{35}{Primitive Projections}{subsubsection*.299}{}}
\newlabel{language/core/records:id2}{{2.1.8}{35}{Primitive Projections}{subsubsection*.299}{}}
\newlabel{language/core/records:coq:flag.Primitive-Projections}{{2.1.8}{36}{Primitive Projections}{section*.300}{}}
\newlabel{language/core/records:coq:attr.projections(primitive)}{{2.1.8}{36}{Primitive Projections}{section*.301}{}}
\newlabel{language/core/records:coq:flag.Printing-Primitive-Projection-Parameters}{{2.1.8}{36}{Primitive Projections}{section*.302}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{36}{paragraph*.303}\protected@file@percent }
\newlabel{language/core/records:reduction}{{2.1.8}{36}{Reduction}{paragraph*.303}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{36}{paragraph*.304}\protected@file@percent }
\newlabel{language/core/records:compatibility-projections-and-match}{{2.1.8}{36}{Compatibility Projections and \sphinxstyleliteralintitle {\sphinxupquote {match}}}{paragraph*.304}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.9}Inductive types and recursive functions}{36}{subsection.2.1.9}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types-and-recursive-functions}{{2.1.9}{36}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\newlabel{language/core/inductive::doc}{{2.1.9}{36}{Inductive types and recursive functions}{subsection.2.1.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inductive types}{37}{subsubsection*.305}\protected@file@percent }
\newlabel{language/core/inductive:inductive-types}{{2.1.9}{37}{Inductive types}{subsubsection*.305}{}}
\newlabel{language/core/inductive:gallina-inductive-definitions}{{2.1.9}{37}{Inductive types}{subsubsection*.305}{}}
\newlabel{language/core/inductive:coq:cmd.Inductive}{{2.1.9}{37}{Inductive types}{section*.306}{}}
\newlabel{language/core/inductive:grammar-token-inductive_definition}{{2.1.9}{37}{Inductive types}{section*.310}{}}
\newlabel{language/core/inductive:grammar-token-constructors_or_record}{{2.1.9}{37}{Inductive types}{section*.311}{}}
\newlabel{language/core/inductive:grammar-token-constructor}{{2.1.9}{37}{Inductive types}{section*.312}{}}
\newlabel{language/core/inductive:term-induction-principle}{{2.1.9}{37}{Inductive types}{section*.313}{}}
\newlabel{language/core/inductive:coq:exn.Non-strictly-positive-occurrence-of-_u2018ident_u2019-in-_u2018type_u2019}{{2.1.9}{37}{Inductive types}{section*.314}{}}
\newlabel{language/core/inductive:coq:exn.The-conclusion-of-_u2018type_u2019-is-not-valid;-it-must-be-built-from-_u2018ident_u2019}{{2.1.9}{37}{Inductive types}{section*.315}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple inductive types}{38}{paragraph*.316}\protected@file@percent }
\newlabel{language/core/inductive:simple-inductive-types}{{2.1.9}{38}{Simple inductive types}{paragraph*.316}{}}
\newlabel{language/core/inductive:id1}{{2.1.9}{38}{Simple inductive types}{paragraph*.316}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple annotated inductive types}{38}{paragraph*.317}\protected@file@percent }
\newlabel{language/core/inductive:simple-annotated-inductive-types}{{2.1.9}{38}{Simple annotated inductive types}{paragraph*.317}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameterized inductive types}{39}{paragraph*.318}\protected@file@percent }
\newlabel{language/core/inductive:parameterized-inductive-types}{{2.1.9}{39}{Parameterized inductive types}{paragraph*.318}{}}
\newlabel{language/core/inductive:parametrized-inductive-types}{{2.1.9}{39}{Parameterized inductive types}{paragraph*.318}{}}
\newlabel{language/core/inductive:coq:flag.Uniform-Inductive-Parameters}{{2.1.9}{40}{Parameterized inductive types}{section*.319}{}}
\@writefile{toc}{\contentsline {paragraph}{Mutually defined inductive types}{41}{paragraph*.320}\protected@file@percent }
\newlabel{language/core/inductive:mutually-defined-inductive-types}{{2.1.9}{41}{Mutually defined inductive types}{paragraph*.320}{}}
\newlabel{language/core/inductive:mutually-inductive-types}{{2.1.9}{41}{Mutually defined inductive types}{paragraph*.320}{}}
\@writefile{toc}{\contentsline {subsubsection}{Recursive functions: fix}{42}{subsubsection*.321}\protected@file@percent }
\newlabel{language/core/inductive:recursive-functions-fix}{{2.1.9}{42}{Recursive functions: fix}{subsubsection*.321}{}}
\newlabel{language/core/inductive:index-0}{{2.1.9}{42}{Recursive functions: fix}{subsubsection*.321}{}}
\newlabel{language/core/inductive:grammar-token-term_fix}{{2.1.9}{42}{Recursive functions: fix}{section*.325}{}}
\newlabel{language/core/inductive:grammar-token-fix_decl}{{2.1.9}{42}{Recursive functions: fix}{section*.326}{}}
\newlabel{language/core/inductive:grammar-token-fixannot}{{2.1.9}{42}{Recursive functions: fix}{section*.327}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level recursive functions}{43}{subsubsection*.328}\protected@file@percent }
\newlabel{language/core/inductive:top-level-recursive-functions}{{2.1.9}{43}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.328}{}}
\newlabel{language/core/inductive:fixpoint}{{2.1.9}{43}{Top\sphinxhyphen {}level recursive functions}{subsubsection*.328}{}}
\newlabel{language/core/inductive:coq:cmd.Fixpoint}{{2.1.9}{43}{Top\sphinxhyphen {}level recursive functions}{section*.329}{}}
\newlabel{language/core/inductive:grammar-token-fix_definition}{{2.1.9}{43}{Top\sphinxhyphen {}level recursive functions}{section*.331}{}}
\newlabel{language/core/inductive:example-mutual-fixpoints}{{2.1.9}{45}{Top\sphinxhyphen {}level recursive functions}{section*.332}{}}
\@writefile{toc}{\contentsline {subsubsection}{Theory of inductive definitions}{45}{subsubsection*.333}\protected@file@percent }
\newlabel{language/core/inductive:theory-of-inductive-definitions}{{2.1.9}{45}{Theory of inductive definitions}{subsubsection*.333}{}}
\newlabel{language/core/inductive:inductive-definitions}{{2.1.9}{45}{Theory of inductive definitions}{subsubsection*.333}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of inductive objects}{46}{paragraph*.334}\protected@file@percent }
\newlabel{language/core/inductive:types-of-inductive-objects}{{2.1.9}{46}{Types of inductive objects}{paragraph*.334}{}}
\newlabel{language/core/inductive:id2}{{2.1.9}{46}{Types of inductive objects}{paragraph*.334}{}}
\newlabel{language/core/inductive:inference-Ind}{{2.1.9}{46}{Types of inductive objects}{section*.335}{}}
\newlabel{language/core/inductive:inference-Constr}{{2.1.9}{46}{Types of inductive objects}{section*.336}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}formed inductive definitions}{47}{paragraph*.337}\protected@file@percent }
\newlabel{language/core/inductive:well-formed-inductive-definitions}{{2.1.9}{47}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.337}{}}
\newlabel{language/core/inductive:id3}{{2.1.9}{47}{Well\sphinxhyphen {}formed inductive definitions}{paragraph*.337}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity of a given sort}{47}{subparagraph*.338}\protected@file@percent }
\newlabel{language/core/inductive:arity-of-a-given-sort}{{2.1.9}{47}{Arity of a given sort}{subparagraph*.338}{}}
\@writefile{toc}{\contentsline {subparagraph}{Arity}{47}{subparagraph*.339}\protected@file@percent }
\newlabel{language/core/inductive:arity}{{2.1.9}{47}{Arity}{subparagraph*.339}{}}
\@writefile{toc}{\contentsline {subparagraph}{Type of constructor}{47}{subparagraph*.340}\protected@file@percent }
\newlabel{language/core/inductive:type-of-constructor}{{2.1.9}{47}{Type of constructor}{subparagraph*.340}{}}
\@writefile{toc}{\contentsline {subparagraph}{Positivity Condition}{48}{subparagraph*.341}\protected@file@percent }
\newlabel{language/core/inductive:positivity-condition}{{2.1.9}{48}{Positivity Condition}{subparagraph*.341}{}}
\newlabel{language/core/inductive:positivity}{{2.1.9}{48}{Positivity Condition}{subparagraph*.341}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict positivity}{48}{subparagraph*.342}\protected@file@percent }
\newlabel{language/core/inductive:strict-positivity}{{2.1.9}{48}{Strict positivity}{subparagraph*.342}{}}
\@writefile{toc}{\contentsline {subparagraph}{Nested Positivity}{48}{subparagraph*.343}\protected@file@percent }
\newlabel{language/core/inductive:nested-positivity}{{2.1.9}{48}{Nested Positivity}{subparagraph*.343}{}}
\@writefile{toc}{\contentsline {subparagraph}{Correctness rules}{49}{subparagraph*.344}\protected@file@percent }
\newlabel{language/core/inductive:correctness-rules}{{2.1.9}{49}{Correctness rules}{subparagraph*.344}{}}
\newlabel{language/core/inductive:id4}{{2.1.9}{49}{Correctness rules}{subparagraph*.344}{}}
\newlabel{language/core/inductive:inference-W-Ind}{{2.1.9}{49}{Correctness rules}{section*.345}{}}
\@writefile{toc}{\contentsline {subparagraph}{Template polymorphism}{52}{subparagraph*.346}\protected@file@percent }
\newlabel{language/core/inductive:template-polymorphism}{{2.1.9}{52}{Template polymorphism}{subparagraph*.346}{}}
\newlabel{language/core/inductive:id6}{{2.1.9}{52}{Template polymorphism}{subparagraph*.346}{}}
\newlabel{language/core/inductive:inference-Ind-Family}{{2.1.9}{52}{Template polymorphism}{section*.347}{}}
\newlabel{language/core/inductive:coq:flag.Auto-Template-Polymorphism}{{2.1.9}{52}{Template polymorphism}{section*.348}{}}
\newlabel{language/core/inductive:coq:warn.Automatically-declaring-_u2018ident_u2019-as-template-polymorphic}{{2.1.9}{53}{Template polymorphism}{section*.349}{}}
\newlabel{language/core/inductive:coq:attr.universes(template)}{{2.1.9}{53}{Template polymorphism}{section*.350}{}}
\newlabel{language/core/inductive:coq:exn.template-and-polymorphism-not-compatible}{{2.1.9}{53}{Template polymorphism}{section*.351}{}}
\newlabel{language/core/inductive:coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe}{{2.1.9}{53}{Template polymorphism}{section*.352}{}}
\@writefile{toc}{\contentsline {paragraph}{Destructors}{54}{paragraph*.353}\protected@file@percent }
\newlabel{language/core/inductive:destructors}{{2.1.9}{54}{Destructors}{paragraph*.353}{}}
\newlabel{language/core/inductive:id7}{{2.1.9}{54}{Destructors}{paragraph*.353}{}}
\@writefile{toc}{\contentsline {subparagraph}{The match ... with ... end construction}{55}{subparagraph*.354}\protected@file@percent }
\newlabel{language/core/inductive:the-match-with-end-construction}{{2.1.9}{55}{The match ... with ... end construction}{subparagraph*.354}{}}
\newlabel{language/core/inductive:match-construction}{{2.1.9}{55}{The match ... with ... end construction}{subparagraph*.354}{}}
\newlabel{language/core/inductive:allowed-elimination-sorts}{{2.1.9}{56}{The match ... with ... end construction}{section*.355}{}}
\newlabel{language/core/inductive:cic-notations}{{2.1.9}{56}{The match ... with ... end construction}{section*.356}{}}
\newlabel{language/core/inductive:inference-Prod}{{2.1.9}{56}{The match ... with ... end construction}{section*.357}{}}
\newlabel{language/core/inductive:inference-Set-_-Type}{{2.1.9}{56}{The match ... with ... end construction}{section*.358}{}}
\newlabel{language/core/inductive:inference-Prop}{{2.1.9}{56}{The match ... with ... end construction}{section*.359}{}}
\newlabel{language/core/inductive:empty-and-singleton-elimination}{{2.1.9}{57}{The match ... with ... end construction}{section*.360}{}}
\newlabel{language/core/inductive:inference-Prop-extended}{{2.1.9}{57}{The match ... with ... end construction}{section*.361}{}}
\newlabel{language/core/inductive:eliminaton-for-sprop}{{2.1.9}{57}{The match ... with ... end construction}{section*.362}{}}
\newlabel{language/core/inductive:type-of-branches}{{2.1.9}{58}{The match ... with ... end construction}{section*.363}{}}
\newlabel{language/core/inductive:typing-rule}{{2.1.9}{58}{The match ... with ... end construction}{section*.364}{}}
\newlabel{language/core/inductive:inference-match}{{2.1.9}{58}{The match ... with ... end construction}{section*.365}{}}
\newlabel{language/core/inductive:inference-list-example}{{2.1.9}{59}{The match ... with ... end construction}{section*.366}{}}
\newlabel{language/core/inductive:definition-of-reduction}{{2.1.9}{59}{The match ... with ... end construction}{section*.367}{}}
\@writefile{toc}{\contentsline {paragraph}{Fixpoint definitions}{59}{paragraph*.368}\protected@file@percent }
\newlabel{language/core/inductive:fixpoint-definitions}{{2.1.9}{59}{Fixpoint definitions}{paragraph*.368}{}}
\newlabel{language/core/inductive:id9}{{2.1.9}{59}{Fixpoint definitions}{paragraph*.368}{}}
\@writefile{toc}{\contentsline {subparagraph}{Typing rule}{59}{subparagraph*.369}\protected@file@percent }
\newlabel{language/core/inductive:id10}{{2.1.9}{59}{Typing rule}{subparagraph*.369}{}}
\newlabel{language/core/inductive:inference-Fix}{{2.1.9}{59}{Typing rule}{section*.370}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reduction rule}{62}{subparagraph*.371}\protected@file@percent }
\newlabel{language/core/inductive:reduction-rule}{{2.1.9}{62}{Reduction rule}{subparagraph*.371}{}}
\newlabel{language/core/inductive:id12}{{2.1.9}{62}{Reduction rule}{subparagraph*.371}{}}
\newlabel{language/core/inductive:mutual-induction}{{2.1.9}{62}{Reduction rule}{section*.372}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.10}Coinductive types and corecursive functions}{62}{subsection.2.1.10}\protected@file@percent }
\newlabel{language/core/coinductive:coinductive-types-and-corecursive-functions}{{2.1.10}{62}{Coinductive types and corecursive functions}{subsection.2.1.10}{}}
\newlabel{language/core/coinductive::doc}{{2.1.10}{62}{Coinductive types and corecursive functions}{subsection.2.1.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coinductive types}{62}{subsubsection*.373}\protected@file@percent }
\newlabel{language/core/coinductive:coinductive-types}{{2.1.10}{62}{Coinductive types}{subsubsection*.373}{}}
\newlabel{language/core/coinductive:id1}{{2.1.10}{62}{Coinductive types}{subsubsection*.373}{}}
\newlabel{language/core/coinductive:coq:cmd.CoInductive}{{2.1.10}{62}{Coinductive types}{section*.374}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveat}{63}{paragraph*.375}\protected@file@percent }
\newlabel{language/core/coinductive:caveat}{{2.1.10}{63}{Caveat}{paragraph*.375}{}}
\@writefile{toc}{\contentsline {subsubsection}{Co\sphinxhyphen {}recursive functions: cofix}{64}{subsubsection*.376}\protected@file@percent }
\newlabel{language/core/coinductive:co-recursive-functions-cofix}{{2.1.10}{64}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.376}{}}
\newlabel{language/core/coinductive:index-0}{{2.1.10}{64}{Co\sphinxhyphen {}recursive functions: cofix}{subsubsection*.376}{}}
\newlabel{language/core/coinductive:grammar-token-term_cofix}{{2.1.10}{64}{Co\sphinxhyphen {}recursive functions: cofix}{section*.379}{}}
\newlabel{language/core/coinductive:grammar-token-cofix_body}{{2.1.10}{64}{Co\sphinxhyphen {}recursive functions: cofix}{section*.380}{}}
\@writefile{toc}{\contentsline {subsubsection}{Top\sphinxhyphen {}level definitions of corecursive functions}{64}{subsubsection*.381}\protected@file@percent }
\newlabel{language/core/coinductive:top-level-definitions-of-corecursive-functions}{{2.1.10}{64}{Top\sphinxhyphen {}level definitions of corecursive functions}{subsubsection*.381}{}}
\newlabel{language/core/coinductive:cofixpoint}{{2.1.10}{64}{Top\sphinxhyphen {}level definitions of corecursive functions}{subsubsection*.381}{}}
\newlabel{language/core/coinductive:coq:cmd.CoFixpoint}{{2.1.10}{64}{Top\sphinxhyphen {}level definitions of corecursive functions}{section*.382}{}}
\newlabel{language/core/coinductive:grammar-token-cofix_definition}{{2.1.10}{64}{Top\sphinxhyphen {}level definitions of corecursive functions}{section*.384}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.11}Section mechanism}{65}{subsection.2.1.11}\protected@file@percent }
\newlabel{language/core/sections:section-mechanism}{{2.1.11}{65}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:id1}{{2.1.11}{65}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections::doc}{{2.1.11}{65}{Section mechanism}{subsection.2.1.11}{}}
\newlabel{language/core/sections:coq:cmd.Section}{{2.1.11}{65}{Section mechanism}{section*.385}{}}
\newlabel{language/core/sections:coq:cmd.End}{{2.1.11}{65}{Section mechanism}{section*.386}{}}
\newlabel{language/core/sections:coq:exn.There-is-nothing-to-end}{{2.1.11}{65}{Section mechanism}{section*.387}{}}
\newlabel{language/core/sections:coq:exn.Last-block-to-end-has-name-_u2018ident_u2019}{{2.1.11}{65}{Section mechanism}{section*.388}{}}
\newlabel{language/core/sections:coq:cmd.Let}{{2.1.11}{65}{Section mechanism}{section*.389}{}}
\newlabel{language/core/sections:coq:cmd.Let-Fixpoint}{{2.1.11}{65}{Section mechanism}{section*.390}{}}
\newlabel{language/core/sections:coq:cmd.Let-CoFixpoint}{{2.1.11}{65}{Section mechanism}{section*.391}{}}
\newlabel{language/core/sections:coq:cmd.Context}{{2.1.11}{66}{Section mechanism}{section*.392}{}}
\newlabel{language/core/sections:section-local-declarations}{{2.1.11}{66}{Section mechanism}{section*.393}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.12}The Module System}{67}{subsection.2.1.12}\protected@file@percent }
\newlabel{language/core/modules:the-module-system}{{2.1.12}{67}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules:themodulesystem}{{2.1.12}{67}{The Module System}{subsection.2.1.12}{}}
\newlabel{language/core/modules::doc}{{2.1.12}{67}{The Module System}{subsection.2.1.12}{}}
\@writefile{toc}{\contentsline {subsubsection}{Modules and module types}{67}{subsubsection*.394}\protected@file@percent }
\newlabel{language/core/modules:modules-and-module-types}{{2.1.12}{67}{Modules and module types}{subsubsection*.394}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using modules}{67}{subsubsection*.395}\protected@file@percent }
\newlabel{language/core/modules:using-modules}{{2.1.12}{67}{Using modules}{subsubsection*.395}{}}
\newlabel{language/core/modules:coq:cmd.Module}{{2.1.12}{67}{Using modules}{section*.396}{}}
\newlabel{language/core/modules:grammar-token-module_binder}{{2.1.12}{68}{Using modules}{section*.405}{}}
\newlabel{language/core/modules:grammar-token-module_type_inl}{{2.1.12}{68}{Using modules}{section*.406}{}}
\newlabel{language/core/modules:grammar-token-functor_app_annot}{{2.1.12}{68}{Using modules}{section*.407}{}}
\newlabel{language/core/modules:grammar-token-module_type}{{2.1.12}{68}{Using modules}{section*.408}{}}
\newlabel{language/core/modules:grammar-token-with_declaration}{{2.1.12}{68}{Using modules}{section*.409}{}}
\newlabel{language/core/modules:grammar-token-module_expr_atom}{{2.1.12}{68}{Using modules}{section*.410}{}}
\newlabel{language/core/modules:grammar-token-of_module_type}{{2.1.12}{68}{Using modules}{section*.411}{}}
\newlabel{language/core/modules:grammar-token-module_expr_inl}{{2.1.12}{68}{Using modules}{section*.412}{}}
\newlabel{language/core/modules:coq:cmd.Module-Type}{{2.1.12}{68}{Using modules}{section*.413}{}}
\newlabel{language/core/modules:terminating-module}{{2.1.12}{69}{Using modules}{section*.414}{}}
\newlabel{language/core/modules:coq:exn.No-such-label-_u2018ident_u2019}{{2.1.12}{69}{Using modules}{section*.415}{}}
\newlabel{language/core/modules:coq:exn.Signature-components-for-label-_u2018ident_u2019-do-not-match}{{2.1.12}{69}{Using modules}{section*.416}{}}
\newlabel{language/core/modules:coq:exn.The-field-_u2018ident_u2019-is-missing-in-_u2018qualid_u2019}{{2.1.12}{69}{Using modules}{section*.417}{}}
\newlabel{language/core/modules:coq:cmd.Include}{{2.1.12}{69}{Using modules}{section*.418}{}}
\newlabel{language/core/modules:coq:cmd.Include-Type}{{2.1.12}{69}{Using modules}{section*.419}{}}
\newlabel{language/core/modules:coq:cmd.Declare-Module}{{2.1.12}{69}{Using modules}{section*.420}{}}
\newlabel{language/core/modules:coq:cmd.Import}{{2.1.12}{69}{Using modules}{section*.421}{}}
\newlabel{language/core/modules:grammar-token-import_categories}{{2.1.12}{70}{Using modules}{section*.424}{}}
\newlabel{language/core/modules:grammar-token-filtered_import}{{2.1.12}{70}{Using modules}{section*.425}{}}
\newlabel{language/core/modules:coq:warn.Cannot-import-local-constant,-it-will-be-ignored}{{2.1.12}{71}{Using modules}{section*.426}{}}
\newlabel{language/core/modules:coq:cmd.Export}{{2.1.12}{71}{Using modules}{section*.427}{}}
\newlabel{language/core/modules:coq:exn._u2018qualid_u2019-is-not-a-module}{{2.1.12}{72}{Using modules}{section*.428}{}}
\newlabel{language/core/modules:coq:warn.Trying-to-mask-the-absolute-name-_u2018qualid_u2019!}{{2.1.12}{72}{Using modules}{section*.429}{}}
\newlabel{language/core/modules:coq:cmd.Print-Module}{{2.1.12}{72}{Using modules}{section*.430}{}}
\newlabel{language/core/modules:coq:cmd.Print-Module-Type}{{2.1.12}{72}{Using modules}{section*.431}{}}
\newlabel{language/core/modules:coq:flag.Short-Module-Printing}{{2.1.12}{72}{Using modules}{section*.432}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{72}{paragraph*.433}\protected@file@percent }
\newlabel{language/core/modules:examples}{{2.1.12}{72}{Examples}{paragraph*.433}{}}
\newlabel{language/core/modules:module-examples}{{2.1.12}{72}{Examples}{paragraph*.433}{}}
\newlabel{language/core/modules:example-def-simple-module-type}{{2.1.12}{72}{Examples}{section*.434}{}}
\newlabel{language/core/modules:example-filter-module}{{2.1.12}{73}{Examples}{section*.435}{}}
\@writefile{toc}{\contentsline {subsubsection}{Typing Modules}{74}{subsubsection*.436}\protected@file@percent }
\newlabel{language/core/modules:typing-modules}{{2.1.12}{74}{Typing Modules}{subsubsection*.436}{}}
\newlabel{language/core/modules:inference-WF-STR}{{2.1.12}{74}{Typing Modules}{section*.437}{}}
\newlabel{language/core/modules:inference-WF-FUN}{{2.1.12}{74}{Typing Modules}{section*.438}{}}
\newlabel{language/core/modules:inference-WEVAL-APP}{{2.1.12}{74}{Typing Modules}{section*.439}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-MOD}{{2.1.12}{75}{Typing Modules}{section*.440}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-MOD-REC}{{2.1.12}{75}{Typing Modules}{section*.441}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-DEF}{{2.1.12}{75}{Typing Modules}{section*.442}{}}
\newlabel{language/core/modules:inference-WEVAL-WITH-DEF-REC}{{2.1.12}{75}{Typing Modules}{section*.443}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-MOD1}{{2.1.12}{75}{Typing Modules}{section*.444}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-MOD2}{{2.1.12}{75}{Typing Modules}{section*.445}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-ALIAS1}{{2.1.12}{75}{Typing Modules}{section*.446}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-ALIAS2}{{2.1.12}{75}{Typing Modules}{section*.447}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-TYPE1}{{2.1.12}{75}{Typing Modules}{section*.448}{}}
\newlabel{language/core/modules:inference-WEVAL-PATH-TYPE2}{{2.1.12}{76}{Typing Modules}{section*.449}{}}
\newlabel{language/core/modules:inference-MT-EVAL}{{2.1.12}{76}{Typing Modules}{section*.450}{}}
\newlabel{language/core/modules:inference-MT-STR}{{2.1.12}{76}{Typing Modules}{section*.451}{}}
\newlabel{language/core/modules:inference-MSUB-STR}{{2.1.12}{76}{Typing Modules}{section*.452}{}}
\newlabel{language/core/modules:inference-MSUB-FUN}{{2.1.12}{76}{Typing Modules}{section*.453}{}}
\newlabel{language/core/modules:inference-ASSUM-ASSUM}{{2.1.12}{77}{Typing Modules}{section*.454}{}}
\newlabel{language/core/modules:inference-DEF-ASSUM}{{2.1.12}{77}{Typing Modules}{section*.455}{}}
\newlabel{language/core/modules:inference-ASSUM-DEF}{{2.1.12}{77}{Typing Modules}{section*.456}{}}
\newlabel{language/core/modules:inference-DEF-DEF}{{2.1.12}{77}{Typing Modules}{section*.457}{}}
\newlabel{language/core/modules:inference-IND-IND}{{2.1.12}{77}{Typing Modules}{section*.458}{}}
\newlabel{language/core/modules:inference-INDP-IND}{{2.1.12}{77}{Typing Modules}{section*.459}{}}
\newlabel{language/core/modules:inference-INDP-INDP}{{2.1.12}{77}{Typing Modules}{section*.460}{}}
\newlabel{language/core/modules:inference-MOD-MOD}{{2.1.12}{77}{Typing Modules}{section*.461}{}}
\newlabel{language/core/modules:inference-ALIAS-MOD}{{2.1.12}{77}{Typing Modules}{section*.462}{}}
\newlabel{language/core/modules:inference-MOD-ALIAS}{{2.1.12}{77}{Typing Modules}{section*.463}{}}
\newlabel{language/core/modules:inference-ALIAS-ALIAS}{{2.1.12}{77}{Typing Modules}{section*.464}{}}
\newlabel{language/core/modules:inference-MODTYPE-MODTYPE}{{2.1.12}{78}{Typing Modules}{section*.465}{}}
\newlabel{language/core/modules:inference-WF-MOD1}{{2.1.12}{78}{Typing Modules}{section*.466}{}}
\newlabel{language/core/modules:inference-WF-MOD2}{{2.1.12}{78}{Typing Modules}{section*.467}{}}
\newlabel{language/core/modules:inference-WF-ALIAS}{{2.1.12}{78}{Typing Modules}{section*.468}{}}
\newlabel{language/core/modules:inference-WF-MODTYPE}{{2.1.12}{78}{Typing Modules}{section*.469}{}}
\newlabel{language/core/modules:inference-WF-IND}{{2.1.12}{78}{Typing Modules}{section*.470}{}}
\newlabel{language/core/modules:inference-ACC-TYPE1}{{2.1.12}{78}{Typing Modules}{section*.471}{}}
\newlabel{language/core/modules:inference-ACC-TYPE2}{{2.1.12}{78}{Typing Modules}{section*.472}{}}
\newlabel{language/core/modules:inference-ACC-DELTA}{{2.1.12}{78}{Typing Modules}{section*.473}{}}
\newlabel{language/core/modules:inference-ACC-IND1}{{2.1.12}{78}{Typing Modules}{section*.474}{}}
\newlabel{language/core/modules:inference-ACC-IND2}{{2.1.12}{79}{Typing Modules}{section*.475}{}}
\newlabel{language/core/modules:inference-ACC-INDP1}{{2.1.12}{79}{Typing Modules}{section*.476}{}}
\newlabel{language/core/modules:inference-ACC-INDP2}{{2.1.12}{79}{Typing Modules}{section*.477}{}}
\@writefile{toc}{\contentsline {subsubsection}{Libraries and qualified names}{79}{subsubsection*.478}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-qualified-names}{{2.1.12}{79}{Libraries and qualified names}{subsubsection*.478}{}}
\@writefile{toc}{\contentsline {paragraph}{Names of libraries}{79}{paragraph*.479}\protected@file@percent }
\newlabel{language/core/modules:names-of-libraries}{{2.1.12}{79}{Names of libraries}{paragraph*.479}{}}
\newlabel{language/core/modules:id1}{{2.1.12}{79}{Names of libraries}{paragraph*.479}{}}
\@writefile{toc}{\contentsline {paragraph}{Qualified identifiers}{79}{paragraph*.480}\protected@file@percent }
\newlabel{language/core/modules:qualified-identifiers}{{2.1.12}{79}{Qualified identifiers}{paragraph*.480}{}}
\newlabel{language/core/modules:qualified-names}{{2.1.12}{79}{Qualified identifiers}{paragraph*.480}{}}
\newlabel{language/core/modules:grammar-token-qualid}{{2.1.12}{79}{Qualified identifiers}{section*.483}{}}
\newlabel{language/core/modules:grammar-token-field_ident}{{2.1.12}{79}{Qualified identifiers}{section*.484}{}}
\@writefile{toc}{\contentsline {paragraph}{Libraries and filesystem}{80}{paragraph*.485}\protected@file@percent }
\newlabel{language/core/modules:libraries-and-filesystem}{{2.1.12}{80}{Libraries and filesystem}{paragraph*.485}{}}
\newlabel{language/core/modules:id2}{{2.1.12}{80}{Libraries and filesystem}{paragraph*.485}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the scope of commands with locality attributes}{81}{subsubsection*.486}\protected@file@percent }
\newlabel{language/core/modules:controlling-the-scope-of-commands-with-locality-attributes}{{2.1.12}{81}{Controlling the scope of commands with locality attributes}{subsubsection*.486}{}}
\newlabel{language/core/modules:controlling-locality-of-commands}{{2.1.12}{81}{Controlling the scope of commands with locality attributes}{subsubsection*.486}{}}
\newlabel{language/core/modules:coq:attr.local}{{2.1.12}{81}{Controlling the scope of commands with locality attributes}{section*.487}{}}
\newlabel{language/core/modules:coq:attr.export}{{2.1.12}{81}{Controlling the scope of commands with locality attributes}{section*.488}{}}
\newlabel{language/core/modules:coq:attr.global}{{2.1.12}{81}{Controlling the scope of commands with locality attributes}{section*.489}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.13}Primitive objects}{82}{subsection.2.1.13}\protected@file@percent }
\newlabel{language/core/primitive:primitive-objects}{{2.1.13}{82}{Primitive objects}{subsection.2.1.13}{}}
\newlabel{language/core/primitive::doc}{{2.1.13}{82}{Primitive objects}{subsection.2.1.13}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Integers}{82}{subsubsection*.490}\protected@file@percent }
\newlabel{language/core/primitive:primitive-integers}{{2.1.13}{82}{Primitive Integers}{subsubsection*.490}{}}
\newlabel{language/core/primitive:id1}{{2.1.13}{82}{Primitive Integers}{subsubsection*.490}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Floats}{83}{subsubsection*.491}\protected@file@percent }
\newlabel{language/core/primitive:primitive-floats}{{2.1.13}{83}{Primitive Floats}{subsubsection*.491}{}}
\newlabel{language/core/primitive:id2}{{2.1.13}{83}{Primitive Floats}{subsubsection*.491}{}}
\@writefile{toc}{\contentsline {subsubsection}{Primitive Arrays}{83}{subsubsection*.492}\protected@file@percent }
\newlabel{language/core/primitive:primitive-arrays}{{2.1.13}{83}{Primitive Arrays}{subsubsection*.492}{}}
\newlabel{language/core/primitive:id3}{{2.1.13}{83}{Primitive Arrays}{subsubsection*.492}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.14}Polymorphic Universes}{84}{subsection.2.1.14}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-universes}{{2.1.14}{84}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism:polymorphicuniverses}{{2.1.14}{84}{Polymorphic Universes}{subsection.2.1.14}{}}
\newlabel{addendum/universe-polymorphism::doc}{{2.1.14}{84}{Polymorphic Universes}{subsection.2.1.14}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{84}{subsubsection*.493}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:general-presentation}{{2.1.14}{84}{General Presentation}{subsubsection*.493}{}}
\@writefile{toc}{\contentsline {subsubsection}{Polymorphic, Monomorphic}{86}{subsubsection*.494}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-monomorphic}{{2.1.14}{86}{Polymorphic, Monomorphic}{subsubsection*.494}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(polymorphic)}{{2.1.14}{86}{Polymorphic, Monomorphic}{section*.495}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Polymorphic}{{2.1.14}{86}{Polymorphic, Monomorphic}{section*.496}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Monomorphic}{{2.1.14}{86}{Polymorphic, Monomorphic}{section*.497}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Universe-Polymorphism}{{2.1.14}{86}{Polymorphic, Monomorphic}{section*.498}{}}
\@writefile{toc}{\contentsline {subsubsection}{Cumulative, NonCumulative}{86}{subsubsection*.499}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulative-noncumulative}{{2.1.14}{86}{Cumulative, NonCumulative}{subsubsection*.499}{}}
\newlabel{addendum/universe-polymorphism:cumulative}{{2.1.14}{86}{Cumulative, NonCumulative}{subsubsection*.499}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.universes(cumulative)}{{2.1.14}{86}{Cumulative, NonCumulative}{section*.500}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.Cumulative}{{2.1.14}{86}{Cumulative, NonCumulative}{section*.501}{}}
\newlabel{addendum/universe-polymorphism:coq:attr.NonCumulative}{{2.1.14}{86}{Cumulative, NonCumulative}{section*.502}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context}{{2.1.14}{86}{Cumulative, NonCumulative}{section*.503}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Polymorphic-Inductive-Cumulativity}{{2.1.14}{87}{Cumulative, NonCumulative}{section*.504}{}}
\@writefile{toc}{\contentsline {paragraph}{Specifying cumulativity}{88}{paragraph*.505}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:specifying-cumulativity}{{2.1.14}{88}{Specifying cumulativity}{paragraph*.505}{}}
\@writefile{toc}{\contentsline {paragraph}{An example of a proof using cumulativity}{88}{paragraph*.506}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:an-example-of-a-proof-using-cumulativity}{{2.1.14}{88}{An example of a proof using cumulativity}{paragraph*.506}{}}
\@writefile{toc}{\contentsline {paragraph}{Cumulativity Weak Constraints}{89}{paragraph*.507}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:cumulativity-weak-constraints}{{2.1.14}{89}{Cumulativity Weak Constraints}{paragraph*.507}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Cumulativity-Weak-Constraints}{{2.1.14}{89}{Cumulativity Weak Constraints}{section*.508}{}}
\@writefile{toc}{\contentsline {subsubsection}{Global and local universes}{89}{subsubsection*.509}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:global-and-local-universes}{{2.1.14}{89}{Global and local universes}{subsubsection*.509}{}}
\@writefile{toc}{\contentsline {subsubsection}{Conversion and unification}{89}{subsubsection*.510}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:conversion-and-unification}{{2.1.14}{89}{Conversion and unification}{subsubsection*.510}{}}
\@writefile{toc}{\contentsline {subsubsection}{Minimization}{89}{subsubsection*.511}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:minimization}{{2.1.14}{89}{Minimization}{subsubsection*.511}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Universe-Minimization-ToSet}{{2.1.14}{89}{Minimization}{section*.512}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit Universes}{90}{subsubsection*.513}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:explicit-universes}{{2.1.14}{90}{Explicit Universes}{subsubsection*.513}{}}
\newlabel{addendum/universe-polymorphism:id1}{{2.1.14}{90}{Explicit Universes}{subsubsection*.513}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe_name}{{2.1.14}{90}{Explicit Universes}{section*.520}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_annot}{{2.1.14}{90}{Explicit Universes}{section*.521}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-universe_level}{{2.1.14}{90}{Explicit Universes}{section*.522}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_decl}{{2.1.14}{90}{Explicit Universes}{section*.523}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-cumul_univ_decl}{{2.1.14}{90}{Explicit Universes}{section*.524}{}}
\newlabel{addendum/universe-polymorphism:grammar-token-univ_constraint}{{2.1.14}{90}{Explicit Universes}{section*.525}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Universe}{{2.1.14}{90}{Explicit Universes}{section*.526}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead}{{2.1.14}{90}{Explicit Universes}{section*.527}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Constraint}{{2.1.14}{90}{Explicit Universes}{section*.528}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Undeclared-universe-_u2018ident_u2019}{{2.1.14}{90}{Explicit Universes}{section*.529}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Universe-inconsistency}{{2.1.14}{90}{Explicit Universes}{section*.530}{}}
\newlabel{addendum/universe-polymorphism:coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead}{{2.1.14}{90}{Explicit Universes}{section*.531}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing universes}{91}{subsubsection*.532}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:printing-universes}{{2.1.14}{91}{Printing universes}{subsubsection*.532}{}}
\newlabel{addendum/universe-polymorphism:id2}{{2.1.14}{91}{Printing universes}{subsubsection*.532}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Printing-Universes}{{2.1.14}{91}{Printing universes}{section*.533}{}}
\newlabel{addendum/universe-polymorphism:coq:cmd.Print-Universes}{{2.1.14}{91}{Printing universes}{section*.534}{}}
\@writefile{toc}{\contentsline {paragraph}{Polymorphic definitions}{91}{paragraph*.535}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:polymorphic-definitions}{{2.1.14}{91}{Polymorphic definitions}{paragraph*.535}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Strict-Universe-Declaration}{{2.1.14}{92}{Polymorphic definitions}{section*.536}{}}
\newlabel{addendum/universe-polymorphism:coq:flag.Private-Polymorphic-Universes}{{2.1.14}{92}{Polymorphic definitions}{section*.537}{}}
\@writefile{toc}{\contentsline {subsubsection}{Universe polymorphism and sections}{94}{subsubsection*.538}\protected@file@percent }
\newlabel{addendum/universe-polymorphism:universe-polymorphism-and-sections}{{2.1.14}{94}{Universe polymorphism and sections}{subsubsection*.538}{}}
\newlabel{addendum/universe-polymorphism:universe-polymorphism-in-sections}{{2.1.14}{94}{Universe polymorphism and sections}{subsubsection*.538}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.15}SProp (proof irrelevant propositions)}{95}{subsection.2.1.15}\protected@file@percent }
\newlabel{addendum/sprop:sprop-proof-irrelevant-propositions}{{2.1.15}{95}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:sprop}{{2.1.15}{95}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop::doc}{{2.1.15}{95}{SProp (proof irrelevant propositions)}{subsection.2.1.15}{}}
\newlabel{addendum/sprop:coq:flag.Allow-StrictProp}{{2.1.15}{95}{SProp (proof irrelevant propositions)}{section*.539}{}}
\newlabel{addendum/sprop:coq:exn.SProp-is-disallowed-because-the-"Allow-StrictProp"-flag-is-off}{{2.1.15}{95}{SProp (proof irrelevant propositions)}{section*.540}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic constructs}{95}{subsubsection*.541}\protected@file@percent }
\newlabel{addendum/sprop:basic-constructs}{{2.1.15}{95}{Basic constructs}{subsubsection*.541}{}}
\@writefile{toc}{\contentsline {subsubsection}{Encodings for strict propositions}{97}{subsubsection*.542}\protected@file@percent }
\newlabel{addendum/sprop:encodings-for-strict-propositions}{{2.1.15}{97}{Encodings for strict propositions}{subsubsection*.542}{}}
\@writefile{toc}{\contentsline {subsubsection}{Definitional UIP}{98}{subsubsection*.543}\protected@file@percent }
\newlabel{addendum/sprop:definitional-uip}{{2.1.15}{98}{Definitional UIP}{subsubsection*.543}{}}
\newlabel{addendum/sprop:coq:flag.Definitional-UIP}{{2.1.15}{98}{Definitional UIP}{section*.544}{}}
\@writefile{toc}{\contentsline {paragraph}{Non Termination with UIP}{98}{paragraph*.545}\protected@file@percent }
\newlabel{addendum/sprop:non-termination-with-uip}{{2.1.15}{98}{Non Termination with UIP}{paragraph*.545}{}}
\@writefile{toc}{\contentsline {subsubsection}{Issues with non\sphinxhyphen {}cumulativity}{99}{subsubsection*.546}\protected@file@percent }
\newlabel{addendum/sprop:issues-with-non-cumulativity}{{2.1.15}{99}{Issues with non\sphinxhyphen {}cumulativity}{subsubsection*.546}{}}
\newlabel{addendum/sprop:coq:flag.Elaboration-StrictProp-Cumulativity}{{2.1.15}{99}{Issues with non\sphinxhyphen {}cumulativity}{section*.547}{}}
\newlabel{addendum/sprop:coq:warn.Bad-relevance}{{2.1.15}{100}{Issues with non\sphinxhyphen {}cumulativity}{section*.548}{}}
\newlabel{addendum/sprop:coq:flag.Cumulative-StrictProp}{{2.1.15}{100}{Issues with non\sphinxhyphen {}cumulativity}{section*.549}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Language extensions}{100}{section.2.2}\protected@file@percent }
\newlabel{language/extensions/index:language-extensions}{{2.2}{100}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index:extensions}{{2.2}{100}{Language extensions}{section.2.2}{}}
\newlabel{language/extensions/index::doc}{{2.2}{100}{Language extensions}{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Existential variables}{100}{subsection.2.2.1}\protected@file@percent }
\newlabel{language/extensions/evars:existential-variables}{{2.2.1}{100}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:id1}{{2.2.1}{100}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars::doc}{{2.2.1}{100}{Existential variables}{subsection.2.2.1}{}}
\newlabel{language/extensions/evars:term-existential-variable}{{2.2.1}{100}{Existential variables}{section*.550}{}}
\newlabel{language/extensions/evars:grammar-token-term_evar}{{2.2.1}{100}{Existential variables}{section*.552}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inferable subterms}{101}{subsubsection*.553}\protected@file@percent }
\newlabel{language/extensions/evars:inferable-subterms}{{2.2.1}{101}{Inferable subterms}{subsubsection*.553}{}}
\newlabel{language/extensions/evars:index-0}{{2.2.1}{101}{Inferable subterms}{subsubsection*.553}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{101}{subsubsection*.554}\protected@file@percent }
\newlabel{language/extensions/evars:explicit-displaying-of-existential-instances-for-pretty-printing}{{2.2.1}{101}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.554}{}}
\newlabel{language/extensions/evars:explicit-display-existentials}{{2.2.1}{101}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{subsubsection*.554}{}}
\newlabel{language/extensions/evars:coq:flag.Printing-Existential-Instances}{{2.2.1}{101}{Explicit displaying of existential instances for pretty\sphinxhyphen {}printing}{section*.555}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving existential variables using tactics}{102}{subsubsection*.556}\protected@file@percent }
\newlabel{language/extensions/evars:solving-existential-variables-using-tactics}{{2.2.1}{102}{Solving existential variables using tactics}{subsubsection*.556}{}}
\newlabel{language/extensions/evars:tactics-in-terms}{{2.2.1}{102}{Solving existential variables using tactics}{subsubsection*.556}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Implicit arguments}{102}{subsection.2.2.2}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments}{{2.2.2}{102}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments:implicitarguments}{{2.2.2}{102}{Implicit arguments}{subsection.2.2.2}{}}
\newlabel{language/extensions/implicit-arguments::doc}{{2.2.2}{102}{Implicit arguments}{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{The different kinds of implicit arguments}{102}{subsubsection*.557}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:the-different-kinds-of-implicit-arguments}{{2.2.2}{102}{The different kinds of implicit arguments}{subsubsection*.557}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable from the knowledge of other arguments of a function}{102}{paragraph*.558}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function}{{2.2.2}{102}{Implicit arguments inferable from the knowledge of other arguments of a function}{paragraph*.558}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit arguments inferable by resolution}{103}{paragraph*.559}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-arguments-inferable-by-resolution}{{2.2.2}{103}{Implicit arguments inferable by resolution}{paragraph*.559}{}}
\@writefile{toc}{\contentsline {subsubsection}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{104}{subsubsection*.560}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:maximal-and-non-maximal-insertion-of-implicit-arguments}{{2.2.2}{104}{Maximal and non\sphinxhyphen {}maximal insertion of implicit arguments}{subsubsection*.560}{}}
\@writefile{toc}{\contentsline {paragraph}{Trailing Implicit Arguments}{104}{paragraph*.561}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:trailing-implicit-arguments}{{2.2.2}{104}{Trailing Implicit Arguments}{paragraph*.561}{}}
\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}{104}{Trailing Implicit Arguments}{section*.562}{}}
\@writefile{toc}{\contentsline {subsubsection}{Casual use of implicit arguments}{104}{subsubsection*.563}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:casual-use-of-implicit-arguments}{{2.2.2}{104}{Casual use of implicit arguments}{subsubsection*.563}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)}{{2.2.2}{104}{Casual use of implicit arguments}{section*.564}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of implicit arguments}{104}{subsubsection*.565}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:declaration-of-implicit-arguments}{{2.2.2}{104}{Declaration of implicit arguments}{subsubsection*.565}{}}
\newlabel{language/extensions/implicit-arguments:declare-implicit-args}{{2.2.2}{104}{Declaration of implicit arguments}{subsubsection*.565}{}}
\@writefile{toc}{\contentsline {paragraph}{Implicit Argument Binders}{104}{paragraph*.566}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-argument-binders}{{2.2.2}{104}{Implicit Argument Binders}{paragraph*.566}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-implicit_binders}{{2.2.2}{104}{Implicit Argument Binders}{section*.568}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position}{{2.2.2}{106}{Implicit Argument Binders}{section*.569}{}}
\newlabel{language/extensions/implicit-arguments:coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position}{{2.2.2}{106}{Implicit Argument Binders}{section*.570}{}}
\@writefile{toc}{\contentsline {paragraph}{Mode for automatic declaration of implicit arguments}{107}{paragraph*.571}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:mode-for-automatic-declaration-of-implicit-arguments}{{2.2.2}{107}{Mode for automatic declaration of implicit arguments}{paragraph*.571}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Implicit-Arguments}{{2.2.2}{107}{Mode for automatic declaration of implicit arguments}{section*.572}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling strict implicit arguments}{107}{paragraph*.573}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-arguments}{{2.2.2}{107}{Controlling strict implicit arguments}{paragraph*.573}{}}
\newlabel{language/extensions/implicit-arguments:controlling-strict-implicit-args}{{2.2.2}{107}{Controlling strict implicit arguments}{paragraph*.573}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Strict-Implicit}{{2.2.2}{107}{Controlling strict implicit arguments}{section*.574}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Strongly-Strict-Implicit}{{2.2.2}{107}{Controlling strict implicit arguments}{section*.575}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling contextual implicit arguments}{107}{paragraph*.576}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-arguments}{{2.2.2}{107}{Controlling contextual implicit arguments}{paragraph*.576}{}}
\newlabel{language/extensions/implicit-arguments:controlling-contextual-implicit-args}{{2.2.2}{107}{Controlling contextual implicit arguments}{paragraph*.576}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Contextual-Implicit}{{2.2.2}{107}{Controlling contextual implicit arguments}{section*.577}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{107}{paragraph*.578}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-reversible-pattern-implicit-arguments}{{2.2.2}{107}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.578}{}}
\newlabel{language/extensions/implicit-arguments:controlling-rev-pattern-implicit-args}{{2.2.2}{107}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{paragraph*.578}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Reversible-Pattern-Implicit}{{2.2.2}{107}{Controlling reversible\sphinxhyphen {}pattern implicit arguments}{section*.579}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling the insertion of implicit arguments not followed by explicit arguments}{107}{paragraph*.580}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments}{{2.2.2}{107}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.580}{}}
\newlabel{language/extensions/implicit-arguments:controlling-insertion-implicit-args}{{2.2.2}{107}{Controlling the insertion of implicit arguments not followed by explicit arguments}{paragraph*.580}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Maximal-Implicit-Insertion}{{2.2.2}{107}{Controlling the insertion of implicit arguments not followed by explicit arguments}{section*.581}{}}
\@writefile{toc}{\contentsline {paragraph}{Combining manual declaration and automatic declaration}{107}{paragraph*.582}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:combining-manual-declaration-and-automatic-declaration}{{2.2.2}{107}{Combining manual declaration and automatic declaration}{paragraph*.582}{}}
\@writefile{toc}{\contentsline {subsubsection}{Explicit applications}{108}{subsubsection*.583}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:explicit-applications}{{2.2.2}{108}{Explicit applications}{subsubsection*.583}{}}
\newlabel{language/extensions/implicit-arguments:id1}{{2.2.2}{108}{Explicit applications}{subsubsection*.583}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Wrong-argument-name}{{2.2.2}{109}{Explicit applications}{section*.584}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Wrong-argument-position}{{2.2.2}{109}{Explicit applications}{section*.585}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Argument-at-position-_u2018natural_u2019-is-mentioned-more-than-once}{{2.2.2}{109}{Explicit applications}{section*.586}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Arguments-given-by-name-or-position-not-supported-in-explicit-mode}{{2.2.2}{109}{Explicit applications}{section*.587}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-_u2018ident_u2019}{{2.2.2}{109}{Explicit applications}{section*.588}{}}
\newlabel{language/extensions/implicit-arguments:coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-_u2018natural_u2019}{{2.2.2}{109}{Explicit applications}{section*.589}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments}{109}{subsubsection*.590}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments}{{2.2.2}{109}{Displaying implicit arguments}{subsubsection*.590}{}}
\newlabel{language/extensions/implicit-arguments:displaying-implicit-args}{{2.2.2}{109}{Displaying implicit arguments}{subsubsection*.590}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Print-Implicit}{{2.2.2}{109}{Displaying implicit arguments}{section*.591}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{109}{subsubsection*.592}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:displaying-implicit-arguments-when-pretty-printing}{{2.2.2}{109}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{subsubsection*.592}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Implicit}{{2.2.2}{109}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.593}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Implicit-Defensive}{{2.2.2}{109}{Displaying implicit arguments when pretty\sphinxhyphen {}printing}{section*.594}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interaction with subtyping}{110}{subsubsection*.595}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:interaction-with-subtyping}{{2.2.2}{110}{Interaction with subtyping}{subsubsection*.595}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deactivation of implicit arguments for parsing}{110}{subsubsection*.596}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:deactivation-of-implicit-arguments-for-parsing}{{2.2.2}{110}{Deactivation of implicit arguments for parsing}{subsubsection*.596}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term_explicit}{{2.2.2}{110}{Deactivation of implicit arguments for parsing}{section*.598}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Parsing-Explicit}{{2.2.2}{110}{Deactivation of implicit arguments for parsing}{section*.599}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit types of variables}{111}{subsubsection*.600}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-types-of-variables}{{2.2.2}{111}{Implicit types of variables}{subsubsection*.600}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Implicit-Type}{{2.2.2}{111}{Implicit types of variables}{section*.601}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Implicit-Types}{{2.2.2}{111}{Implicit types of variables}{section*.602}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-reserv_list}{{2.2.2}{111}{Implicit types of variables}{section*.605}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-simple_reserv}{{2.2.2}{111}{Implicit types of variables}{section*.606}{}}
\newlabel{language/extensions/implicit-arguments:coq:flag.Printing-Use-Implicit-Types}{{2.2.2}{111}{Implicit types of variables}{section*.607}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit generalization}{112}{subsubsection*.608}\protected@file@percent }
\newlabel{language/extensions/implicit-arguments:implicit-generalization}{{2.2.2}{112}{Implicit generalization}{subsubsection*.608}{}}
\newlabel{language/extensions/implicit-arguments:id2}{{2.2.2}{112}{Implicit generalization}{subsubsection*.608}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-generalizing_binder}{{2.2.2}{112}{Implicit generalization}{section*.612}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-typeclass_constraint}{{2.2.2}{112}{Implicit generalization}{section*.613}{}}
\newlabel{language/extensions/implicit-arguments:grammar-token-term_generalizing}{{2.2.2}{112}{Implicit generalization}{section*.614}{}}
\newlabel{language/extensions/implicit-arguments:coq:cmd.Generalizable}{{2.2.2}{113}{Implicit generalization}{section*.615}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Extended pattern matching}{114}{subsection.2.2.3}\protected@file@percent }
\newlabel{language/extensions/match:extended-pattern-matching}{{2.2.3}{114}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match:extendedpatternmatching}{{2.2.3}{114}{Extended pattern matching}{subsection.2.2.3}{}}
\newlabel{language/extensions/match::doc}{{2.2.3}{114}{Extended pattern matching}{subsection.2.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{114}{subsubsection*.616}\protected@file@percent }
\newlabel{language/extensions/match:variants-and-extensions-of-match}{{2.2.3}{114}{Variants and extensions of \sphinxstyleliteralintitle {\sphinxupquote {match}}}{subsubsection*.616}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple and nested pattern matching}{114}{paragraph*.617}\protected@file@percent }
\newlabel{language/extensions/match:multiple-and-nested-pattern-matching}{{2.2.3}{114}{Multiple and nested pattern matching}{paragraph*.617}{}}
\newlabel{language/extensions/match:mult-match}{{2.2.3}{114}{Multiple and nested pattern matching}{paragraph*.617}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{114}{paragraph*.618}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-boolean-values-the-if-expression}{{2.2.3}{114}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.618}{}}
\newlabel{language/extensions/match:if-then-else}{{2.2.3}{114}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{paragraph*.618}{}}
\newlabel{language/extensions/match:grammar-token-term_if}{{2.2.3}{114}{Pattern\sphinxhyphen {}matching on boolean values: the if expression}{section*.620}{}}
\@writefile{toc}{\contentsline {paragraph}{Irrefutable patterns: the destructuring let variants}{115}{paragraph*.621}\protected@file@percent }
\newlabel{language/extensions/match:irrefutable-patterns-the-destructuring-let-variants}{{2.2.3}{115}{Irrefutable patterns: the destructuring let variants}{paragraph*.621}{}}
\newlabel{language/extensions/match:irrefutable-patterns}{{2.2.3}{115}{Irrefutable patterns: the destructuring let variants}{paragraph*.621}{}}
\newlabel{language/extensions/match:grammar-token-destructuring_let}{{2.2.3}{115}{Irrefutable patterns: the destructuring let variants}{section*.623}{}}
\@writefile{toc}{\contentsline {subparagraph}{First destructuring let syntax}{115}{subparagraph*.624}\protected@file@percent }
\newlabel{language/extensions/match:first-destructuring-let-syntax}{{2.2.3}{115}{First destructuring let syntax}{subparagraph*.624}{}}
\@writefile{toc}{\contentsline {subparagraph}{Second destructuring let syntax}{116}{subparagraph*.625}\protected@file@percent }
\newlabel{language/extensions/match:second-destructuring-let-syntax}{{2.2.3}{116}{Second destructuring let syntax}{subparagraph*.625}{}}
\@writefile{toc}{\contentsline {paragraph}{Controlling pretty\sphinxhyphen {}printing of match expressions}{116}{paragraph*.626}\protected@file@percent }
\newlabel{language/extensions/match:controlling-pretty-printing-of-match-expressions}{{2.2.3}{116}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.626}{}}
\newlabel{language/extensions/match:controlling-match-pp}{{2.2.3}{116}{Controlling pretty\sphinxhyphen {}printing of match expressions}{paragraph*.626}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing nested patterns}{116}{subparagraph*.627}\protected@file@percent }
\newlabel{language/extensions/match:printing-nested-patterns}{{2.2.3}{116}{Printing nested patterns}{subparagraph*.627}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Matching}{{2.2.3}{116}{Printing nested patterns}{section*.628}{}}
\@writefile{toc}{\contentsline {subparagraph}{Factorization of clauses with same right\sphinxhyphen {}hand side}{116}{subparagraph*.629}\protected@file@percent }
\newlabel{language/extensions/match:factorization-of-clauses-with-same-right-hand-side}{{2.2.3}{116}{Factorization of clauses with same right\sphinxhyphen {}hand side}{subparagraph*.629}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Factorizable-Match-Patterns}{{2.2.3}{116}{Factorization of clauses with same right\sphinxhyphen {}hand side}{section*.630}{}}
\@writefile{toc}{\contentsline {subparagraph}{Use of a default clause}{117}{subparagraph*.631}\protected@file@percent }
\newlabel{language/extensions/match:use-of-a-default-clause}{{2.2.3}{117}{Use of a default clause}{subparagraph*.631}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Allow-Match-Default-Clause}{{2.2.3}{117}{Use of a default clause}{section*.632}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of wildcard patterns}{117}{subparagraph*.633}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-wildcard-patterns}{{2.2.3}{117}{Printing of wildcard patterns}{subparagraph*.633}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Wildcard}{{2.2.3}{117}{Printing of wildcard patterns}{section*.634}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing of the elimination predicate}{117}{subparagraph*.635}\protected@file@percent }
\newlabel{language/extensions/match:printing-of-the-elimination-predicate}{{2.2.3}{117}{Printing of the elimination predicate}{subparagraph*.635}{}}
\newlabel{language/extensions/match:coq:flag.Printing-Synth}{{2.2.3}{117}{Printing of the elimination predicate}{section*.636}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on irrefutable patterns}{117}{subparagraph*.637}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-irrefutable-patterns}{{2.2.3}{117}{Printing matching on irrefutable patterns}{subparagraph*.637}{}}
\newlabel{language/extensions/match:coq:table.Printing-Let}{{2.2.3}{117}{Printing matching on irrefutable patterns}{section*.638}{}}
\@writefile{toc}{\contentsline {subparagraph}{Printing matching on booleans}{117}{subparagraph*.639}\protected@file@percent }
\newlabel{language/extensions/match:printing-matching-on-booleans}{{2.2.3}{117}{Printing matching on booleans}{subparagraph*.639}{}}
\newlabel{language/extensions/match:coq:table.Printing-If}{{2.2.3}{117}{Printing matching on booleans}{section*.640}{}}
\@writefile{toc}{\contentsline {paragraph}{Conventions about unused pattern\sphinxhyphen {}matching variables}{118}{paragraph*.641}\protected@file@percent }
\newlabel{language/extensions/match:conventions-about-unused-pattern-matching-variables}{{2.2.3}{118}{Conventions about unused pattern\sphinxhyphen {}matching variables}{paragraph*.641}{}}
\newlabel{language/extensions/match:coq:warn.Unused-variable-_u2018ident_u2019-catches-more-than-one-case}{{2.2.3}{118}{Conventions about unused pattern\sphinxhyphen {}matching variables}{section*.642}{}}
\@writefile{toc}{\contentsline {subsubsection}{Patterns}{119}{subsubsection*.643}\protected@file@percent }
\newlabel{language/extensions/match:patterns}{{2.2.3}{119}{Patterns}{subsubsection*.643}{}}
\@writefile{toc}{\contentsline {subsubsection}{Multiple patterns}{119}{subsubsection*.644}\protected@file@percent }
\newlabel{language/extensions/match:multiple-patterns}{{2.2.3}{119}{Multiple patterns}{subsubsection*.644}{}}
\newlabel{language/extensions/match:id1}{{2.2.3}{119}{Multiple patterns}{subsubsection*.644}{}}
\@writefile{toc}{\contentsline {subsubsection}{Aliasing subpatterns}{120}{subsubsection*.645}\protected@file@percent }
\newlabel{language/extensions/match:aliasing-subpatterns}{{2.2.3}{120}{Aliasing subpatterns}{subsubsection*.645}{}}
\@writefile{toc}{\contentsline {subsubsection}{Nested patterns}{120}{subsubsection*.646}\protected@file@percent }
\newlabel{language/extensions/match:nested-patterns}{{2.2.3}{120}{Nested patterns}{subsubsection*.646}{}}
\newlabel{language/extensions/match:id2}{{2.2.3}{120}{Nested patterns}{subsubsection*.646}{}}
\@writefile{toc}{\contentsline {subsubsection}{Disjunctive patterns}{121}{subsubsection*.647}\protected@file@percent }
\newlabel{language/extensions/match:disjunctive-patterns}{{2.2.3}{121}{Disjunctive patterns}{subsubsection*.647}{}}
\@writefile{toc}{\contentsline {subsubsection}{About patterns of parametric types}{122}{subsubsection*.648}\protected@file@percent }
\newlabel{language/extensions/match:about-patterns-of-parametric-types}{{2.2.3}{122}{About patterns of parametric types}{subsubsection*.648}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters in patterns}{122}{paragraph*.649}\protected@file@percent }
\newlabel{language/extensions/match:parameters-in-patterns}{{2.2.3}{122}{Parameters in patterns}{paragraph*.649}{}}
\newlabel{language/extensions/match:coq:flag.Asymmetric-Patterns}{{2.2.3}{122}{Parameters in patterns}{section*.650}{}}
\@writefile{toc}{\contentsline {subsubsection}{Implicit arguments in patterns}{123}{subsubsection*.651}\protected@file@percent }
\newlabel{language/extensions/match:implicit-arguments-in-patterns}{{2.2.3}{123}{Implicit arguments in patterns}{subsubsection*.651}{}}
\@writefile{toc}{\contentsline {subsubsection}{Matching objects of dependent types}{123}{subsubsection*.652}\protected@file@percent }
\newlabel{language/extensions/match:matching-objects-of-dependent-types}{{2.2.3}{123}{Matching objects of dependent types}{subsubsection*.652}{}}
\newlabel{language/extensions/match:matching-dependent}{{2.2.3}{123}{Matching objects of dependent types}{subsubsection*.652}{}}
\@writefile{toc}{\contentsline {subsubsection}{Understanding dependencies in patterns}{123}{subsubsection*.653}\protected@file@percent }
\newlabel{language/extensions/match:understanding-dependencies-in-patterns}{{2.2.3}{123}{Understanding dependencies in patterns}{subsubsection*.653}{}}
\@writefile{toc}{\contentsline {subsubsection}{When the elimination predicate must be provided}{124}{subsubsection*.654}\protected@file@percent }
\newlabel{language/extensions/match:when-the-elimination-predicate-must-be-provided}{{2.2.3}{124}{When the elimination predicate must be provided}{subsubsection*.654}{}}
\@writefile{toc}{\contentsline {paragraph}{Dependent pattern matching}{124}{paragraph*.655}\protected@file@percent }
\newlabel{language/extensions/match:dependent-pattern-matching}{{2.2.3}{124}{Dependent pattern matching}{paragraph*.655}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple dependent pattern matching}{124}{paragraph*.656}\protected@file@percent }
\newlabel{language/extensions/match:multiple-dependent-pattern-matching}{{2.2.3}{124}{Multiple dependent pattern matching}{paragraph*.656}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{125}{paragraph*.657}\protected@file@percent }
\newlabel{language/extensions/match:patterns-in-in}{{2.2.3}{125}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.657}{}}
\newlabel{language/extensions/match:match-in-patterns}{{2.2.3}{125}{Patterns in \sphinxstyleliteralintitle {\sphinxupquote {in}}}{paragraph*.657}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using pattern matching to write proofs}{125}{subsubsection*.658}\protected@file@percent }
\newlabel{language/extensions/match:using-pattern-matching-to-write-proofs}{{2.2.3}{125}{Using pattern matching to write proofs}{subsubsection*.658}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{126}{subsubsection*.659}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-on-inductive-objects-involving-local-definitions}{{2.2.3}{126}{Pattern\sphinxhyphen {}matching on inductive objects involving local definitions}{subsubsection*.659}{}}
\@writefile{toc}{\contentsline {subsubsection}{Pattern\sphinxhyphen {}matching and coercions}{126}{subsubsection*.660}\protected@file@percent }
\newlabel{language/extensions/match:pattern-matching-and-coercions}{{2.2.3}{126}{Pattern\sphinxhyphen {}matching and coercions}{subsubsection*.660}{}}
\@writefile{toc}{\contentsline {subsubsection}{When does the expansion strategy fail?}{127}{subsubsection*.661}\protected@file@percent }
\newlabel{language/extensions/match:when-does-the-expansion-strategy-fail}{{2.2.3}{127}{When does the expansion strategy fail?}{subsubsection*.661}{}}
\newlabel{language/extensions/match:coq:exn.The-constructor-_u2018ident_u2019-expects-_u2018natural_u2019-arguments}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.662}{}}
\newlabel{language/extensions/match:coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.663}{}}
\newlabel{language/extensions/match:coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.664}{}}
\newlabel{language/extensions/match:coq:exn.Non-exhaustive-pattern-matching}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.665}{}}
\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}{127}{When does the expansion strategy fail?}{section*.666}{}}
\newlabel{language/extensions/match:coq:exn.Unable-to-infer-a-match-predicate}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.667}{}}
\newlabel{language/extensions/match:coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies}{{2.2.3}{127}{When does the expansion strategy fail?}{section*.668}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Syntax extensions and notation scopes}{127}{subsection.2.2.4}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax-extensions-and-notation-scopes}{{2.2.4}{127}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions:id1}{{2.2.4}{127}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\newlabel{user-extensions/syntax-extensions::doc}{{2.2.4}{127}{Syntax extensions and notation scopes}{subsection.2.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{128}{subsubsection*.669}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations}{{2.2.4}{128}{Notations}{subsubsection*.669}{}}
\newlabel{user-extensions/syntax-extensions:id2}{{2.2.4}{128}{Notations}{subsubsection*.669}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic notations}{128}{paragraph*.670}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:basic-notations}{{2.2.4}{128}{Basic notations}{paragraph*.670}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Notation}{{2.2.4}{128}{Basic notations}{section*.671}{}}
\@writefile{toc}{\contentsline {paragraph}{Precedences and associativity}{128}{paragraph*.672}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:precedences-and-associativity}{{2.2.4}{128}{Precedences and associativity}{paragraph*.672}{}}
\@writefile{toc}{\contentsline {paragraph}{Complex notations}{129}{paragraph*.673}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:complex-notations}{{2.2.4}{129}{Complex notations}{paragraph*.673}{}}
\@writefile{toc}{\contentsline {paragraph}{Simple factorization rules}{130}{paragraph*.674}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simple-factorization-rules}{{2.2.4}{130}{Simple factorization rules}{paragraph*.674}{}}
\@writefile{toc}{\contentsline {paragraph}{Use of notations for printing}{130}{paragraph*.675}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:use-of-notations-for-printing}{{2.2.4}{130}{Use of notations for printing}{paragraph*.675}{}}
\@writefile{toc}{\contentsline {paragraph}{The Infix command}{132}{paragraph*.676}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-infix-command}{{2.2.4}{132}{The Infix command}{paragraph*.676}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Infix}{{2.2.4}{132}{The Infix command}{section*.677}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserving notations}{132}{paragraph*.678}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:reserving-notations}{{2.2.4}{132}{Reserving notations}{paragraph*.678}{}}
\newlabel{user-extensions/syntax-extensions:reservingnotations}{{2.2.4}{132}{Reserving notations}{paragraph*.678}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Reserved-Notation}{{2.2.4}{132}{Reserving notations}{section*.679}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Reserved-Infix}{{2.2.4}{133}{Reserving notations}{section*.680}{}}
\@writefile{toc}{\contentsline {paragraph}{Simultaneous definition of terms and notations}{133}{paragraph*.681}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:simultaneous-definition-of-terms-and-notations}{{2.2.4}{133}{Simultaneous definition of terms and notations}{paragraph*.681}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl_notations}{{2.2.4}{133}{Simultaneous definition of terms and notations}{section*.684}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-decl_notation}{{2.2.4}{133}{Simultaneous definition of terms and notations}{section*.685}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about notations}{133}{paragraph*.686}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-notations}{{2.2.4}{133}{Displaying information about notations}{paragraph*.686}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.Printing-Notations}{{2.2.4}{133}{Displaying information about notations}{section*.687}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.Printing-Raw-Literals}{{2.2.4}{133}{Displaying information about notations}{section*.688}{}}
\newlabel{user-extensions/syntax-extensions:coq:flag.Printing-Parentheses}{{2.2.4}{133}{Displaying information about notations}{section*.689}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Grammar}{{2.2.4}{133}{Displaying information about notations}{section*.690}{}}
\@writefile{toc}{\contentsline {paragraph}{Locating notations}{135}{paragraph*.691}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:locating-notations}{{2.2.4}{135}{Locating notations}{paragraph*.691}{}}
\newlabel{user-extensions/syntax-extensions:id5}{{2.2.4}{135}{Locating notations}{paragraph*.691}{}}
\@writefile{toc}{\contentsline {paragraph}{Inheritance of the properties of arguments of constants bound to a notation}{136}{paragraph*.692}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:inheritance-of-the-properties-of-arguments-of-constants-bound-to-a-notation}{{2.2.4}{136}{Inheritance of the properties of arguments of constants bound to a notation}{paragraph*.692}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations and binders}{136}{paragraph*.693}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-and-binders}{{2.2.4}{136}{Notations and binders}{paragraph*.693}{}}
\newlabel{user-extensions/syntax-extensions:id6}{{2.2.4}{136}{Notations and binders}{paragraph*.693}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as identifiers}{136}{subparagraph*.694}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-identifiers}{{2.2.4}{136}{Binders bound in the notation and parsed as identifiers}{subparagraph*.694}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as patterns}{136}{subparagraph*.695}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-patterns}{{2.2.4}{136}{Binders bound in the notation and parsed as patterns}{subparagraph*.695}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as terms}{137}{subparagraph*.696}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-terms}{{2.2.4}{137}{Binders bound in the notation and parsed as terms}{subparagraph*.696}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders bound in the notation and parsed as general binders}{138}{subparagraph*.697}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-bound-in-the-notation-and-parsed-as-general-binders}{{2.2.4}{138}{Binders bound in the notation and parsed as general binders}{subparagraph*.697}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binders not bound in the notation}{138}{subparagraph*.698}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binders-not-bound-in-the-notation}{{2.2.4}{138}{Binders not bound in the notation}{subparagraph*.698}{}}
\newlabel{user-extensions/syntax-extensions:notationswithbinders}{{2.2.4}{138}{Binders not bound in the notation}{subparagraph*.698}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations with expressions used both as binder and term}{138}{subparagraph*.699}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-expressions-used-both-as-binder-and-term}{{2.2.4}{138}{Notations with expressions used both as binder and term}{subparagraph*.699}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns}{139}{paragraph*.700}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns}{{2.2.4}{139}{Notations with recursive patterns}{paragraph*.700}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotations}{{2.2.4}{139}{Notations with recursive patterns}{paragraph*.700}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations with recursive patterns involving binders}{140}{paragraph*.701}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notations-with-recursive-patterns-involving-binders}{{2.2.4}{140}{Notations with recursive patterns involving binders}{paragraph*.701}{}}
\newlabel{user-extensions/syntax-extensions:recursivenotationswithbinders}{{2.2.4}{140}{Notations with recursive patterns involving binders}{paragraph*.701}{}}
\@writefile{toc}{\contentsline {paragraph}{Predefined entries}{141}{paragraph*.702}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:predefined-entries}{{2.2.4}{141}{Predefined entries}{paragraph*.702}{}}
\@writefile{toc}{\contentsline {paragraph}{Custom entries}{141}{paragraph*.703}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:custom-entries}{{2.2.4}{141}{Custom entries}{paragraph*.703}{}}
\newlabel{user-extensions/syntax-extensions:id7}{{2.2.4}{141}{Custom entries}{paragraph*.703}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Declare-Custom-Entry}{{2.2.4}{141}{Custom entries}{section*.704}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Custom-Grammar}{{2.2.4}{143}{Custom entries}{section*.705}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{144}{paragraph*.706}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:syntax}{{2.2.4}{144}{Syntax}{paragraph*.706}{}}
\newlabel{user-extensions/syntax-extensions:notationsyntax}{{2.2.4}{144}{Syntax}{paragraph*.706}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-syntax_modifier}{{2.2.4}{144}{Syntax}{section*.711}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-explicit_subentry}{{2.2.4}{144}{Syntax}{section*.712}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-binder_interp}{{2.2.4}{144}{Syntax}{section*.713}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-level}{{2.2.4}{144}{Syntax}{section*.714}{}}
\newlabel{user-extensions/syntax-extensions:coq:warn.Use-of-_u2018string_u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax}{{2.2.4}{145}{Syntax}{section*.715}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation scopes}{145}{subsubsection*.716}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes}{{2.2.4}{145}{Notation scopes}{subsubsection*.716}{}}
\newlabel{user-extensions/syntax-extensions:scopes}{{2.2.4}{145}{Notation scopes}{subsubsection*.716}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope}{{2.2.4}{145}{Notation scopes}{section*.720}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope_name}{{2.2.4}{145}{Notation scopes}{section*.721}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-scope_key}{{2.2.4}{145}{Notation scopes}{section*.722}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Declare-Scope}{{2.2.4}{145}{Notation scopes}{section*.723}{}}
\@writefile{toc}{\contentsline {paragraph}{Global interpretation rules for notations}{146}{paragraph*.724}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:global-interpretation-rules-for-notations}{{2.2.4}{146}{Global interpretation rules for notations}{paragraph*.724}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Open-Scope}{{2.2.4}{146}{Global interpretation rules for notations}{section*.725}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Close-Scope}{{2.2.4}{146}{Global interpretation rules for notations}{section*.726}{}}
\@writefile{toc}{\contentsline {paragraph}{Local interpretation rules for notations}{146}{paragraph*.727}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:local-interpretation-rules-for-notations}{{2.2.4}{146}{Local interpretation rules for notations}{paragraph*.727}{}}
\newlabel{user-extensions/syntax-extensions:localinterpretationrulesfornotations}{{2.2.4}{146}{Local interpretation rules for notations}{paragraph*.727}{}}
\@writefile{toc}{\contentsline {subparagraph}{Opening a notation scope locally}{146}{subparagraph*.728}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:opening-a-notation-scope-locally}{{2.2.4}{146}{Opening a notation scope locally}{subparagraph*.728}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-term_scope}{{2.2.4}{146}{Opening a notation scope locally}{section*.730}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Delimit-Scope}{{2.2.4}{146}{Opening a notation scope locally}{section*.731}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Undelimit-Scope}{{2.2.4}{146}{Opening a notation scope locally}{section*.732}{}}
\@writefile{toc}{\contentsline {subparagraph}{Binding types or coercion classes to a notation scope}{147}{subparagraph*.733}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:binding-types-or-coercion-classes-to-a-notation-scope}{{2.2.4}{147}{Binding types or coercion classes to a notation scope}{subparagraph*.733}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Bind-Scope}{{2.2.4}{147}{Binding types or coercion classes to a notation scope}{section*.734}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{147}{paragraph*.735}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-type-scope-notation-scope}{{2.2.4}{147}{The \sphinxstyleliteralintitle {\sphinxupquote {type\_scope}} notation scope}{paragraph*.735}{}}
\@writefile{toc}{\contentsline {paragraph}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{148}{paragraph*.736}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:the-function-scope-notation-scope}{{2.2.4}{148}{The \sphinxstyleliteralintitle {\sphinxupquote {function\_scope}} notation scope}{paragraph*.736}{}}
\@writefile{toc}{\contentsline {paragraph}{Notation scopes used in the standard library of Coq}{148}{paragraph*.737}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:notation-scopes-used-in-the-standard-library-of-coq}{{2.2.4}{148}{Notation scopes used in the standard library of Coq}{paragraph*.737}{}}
\newlabel{user-extensions/syntax-extensions:id8}{{2.2.4}{148}{Notation scopes used in the standard library of Coq}{paragraph*.737}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying information about scopes}{149}{paragraph*.738}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:displaying-information-about-scopes}{{2.2.4}{149}{Displaying information about scopes}{paragraph*.738}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Visibility}{{2.2.4}{149}{Displaying information about scopes}{section*.739}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Scopes}{{2.2.4}{149}{Displaying information about scopes}{section*.740}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Print-Scope}{{2.2.4}{149}{Displaying information about scopes}{section*.741}{}}
\@writefile{toc}{\contentsline {subsubsection}{Abbreviations}{149}{subsubsection*.742}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:abbreviations}{{2.2.4}{149}{Abbreviations}{subsubsection*.742}{}}
\newlabel{user-extensions/syntax-extensions:id9}{{2.2.4}{149}{Abbreviations}{subsubsection*.742}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Notation-(abbreviation)}{{2.2.4}{149}{Abbreviations}{section*.743}{}}
\@writefile{toc}{\contentsline {subsubsection}{Numbers and strings}{150}{subsubsection*.744}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:numbers-and-strings}{{2.2.4}{150}{Numbers and strings}{subsubsection*.744}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-primitive_notations}{{2.2.4}{150}{Numbers and strings}{section*.746}{}}
\@writefile{toc}{\contentsline {paragraph}{Number notations}{151}{paragraph*.747}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:number-notations}{{2.2.4}{151}{Number notations}{paragraph*.747}{}}
\newlabel{user-extensions/syntax-extensions:id10}{{2.2.4}{151}{Number notations}{paragraph*.747}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Number-Notation}{{2.2.4}{151}{Number notations}{section*.748}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-number_modifier}{{2.2.4}{151}{Number notations}{section*.751}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-number_string_via}{{2.2.4}{151}{Number notations}{section*.752}{}}
\newlabel{user-extensions/syntax-extensions:number-string-via}{{2.2.4}{152}{Number notations}{section*.753}{}}
\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}{152}{Number notations}{section*.754}{}}
\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}{153}{Number notations}{section*.755}{}}
\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}{153}{Number notations}{section*.756}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.'via'-and-'abstract'-cannot-be-used-together}{{2.2.4}{153}{Number notations}{section*.757}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Cannot-interpret-this-number-as-a-value-of-type-_u2018type_u2019}{{2.2.4}{153}{Number notations}{section*.758}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.overflow-in-int63-literal-_u2018bigint_u2019}{{2.2.4}{153}{Number notations}{section*.759}{}}
\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-PrimInt63.pos_neg_int63-or-PrimFloat.float-or-Number.number-could-be-used-(you-may-need-to-require-BinNums-or-Number-or-PrimInt63-or-PrimFloat-first)}{{2.2.4}{153}{Number notations}{section*.760}{}}
\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-PrimInt63.pos_neg_int63-or-Number.number-could-be-used-(you-may-need-to-require-BinNums-or-Number-or-PrimInt63-first)}{{2.2.4}{153}{Number notations}{section*.761}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-term-_u2018term_u2019-while-parsing-a-number-notation}{{2.2.4}{153}{Number notations}{section*.762}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-non-option-term-_u2018term_u2019-while-parsing-a-number-notation}{{2.2.4}{153}{Number notations}{section*.763}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Multiple-'via'-options}{{2.2.4}{153}{Number notations}{section*.764}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Multiple-'warning-after'-or-'abstract-after'-options}{{2.2.4}{154}{Number notations}{section*.765}{}}
\@writefile{toc}{\contentsline {paragraph}{String notations}{154}{paragraph*.766}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:string-notations}{{2.2.4}{154}{String notations}{paragraph*.766}{}}
\newlabel{user-extensions/syntax-extensions:id11}{{2.2.4}{154}{String notations}{paragraph*.766}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.String-Notation}{{2.2.4}{154}{String notations}{section*.767}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Cannot-interpret-this-string-as-a-value-of-type-_u2018type_u2019}{{2.2.4}{154}{String notations}{section*.768}{}}
\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}{154}{String notations}{section*.769}{}}
\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}{154}{String notations}{section*.770}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-term-_u2018term_u2019-while-parsing-a-string-notation}{{2.2.4}{154}{String notations}{section*.771}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Unexpected-non-option-term-_u2018term_u2019-while-parsing-a-string-notation}{{2.2.4}{155}{String notations}{section*.772}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018type_u2019-is-not-an-inductive-type}{{2.2.4}{155}{String notations}{section*.773}{}}
\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}{155}{String notations}{section*.774}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Missing-mapping-for-constructor-_u2018qualid_u2019}{{2.2.4}{155}{String notations}{section*.775}{}}
\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}{155}{String notations}{section*.776}{}}
\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}{155}{String notations}{section*.777}{}}
\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}{155}{String notations}{section*.778}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Syntax-error:-_prim:reference_-expected-after-'Notation'-(in-_vernac:command_)}{{2.2.4}{155}{String notations}{section*.779}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn.Syntax-error:-_prim:reference_-expected-after-_prim:reference_-(in-_vernac:command_)}{{2.2.4}{155}{String notations}{section*.780}{}}
\newlabel{user-extensions/syntax-extensions:coq:exn._u2018qualid_u2019-is-bound-to-a-notation-that-does-not-denote-a-reference}{{2.2.4}{155}{String notations}{section*.781}{}}
\newlabel{user-extensions/syntax-extensions:example-number-notation-primitive-int}{{2.2.4}{157}{String notations}{section*.782}{}}
\newlabel{user-extensions/syntax-extensions:example-number-notation-non-inductive}{{2.2.4}{157}{String notations}{section*.783}{}}
\newlabel{user-extensions/syntax-extensions:example-number-notation-implicit-args}{{2.2.4}{158}{String notations}{section*.784}{}}
\newlabel{user-extensions/syntax-extensions:example-string-notation-parameterized-inductive}{{2.2.4}{159}{String notations}{section*.785}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic Notations}{159}{subsubsection*.786}\protected@file@percent }
\newlabel{user-extensions/syntax-extensions:tactic-notations}{{2.2.4}{159}{Tactic Notations}{subsubsection*.786}{}}
\newlabel{user-extensions/syntax-extensions:tacticnotation}{{2.2.4}{159}{Tactic Notations}{subsubsection*.786}{}}
\newlabel{user-extensions/syntax-extensions:coq:cmd.Tactic-Notation}{{2.2.4}{159}{Tactic Notations}{section*.787}{}}
\newlabel{user-extensions/syntax-extensions:grammar-token-ltac_production_item}{{2.2.4}{159}{Tactic Notations}{section*.789}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.5}Setting properties of a function's arguments}{161}{subsection.2.2.5}\protected@file@percent }
\newlabel{language/extensions/arguments-command:setting-properties-of-a-function-s-arguments}{{2.2.5}{161}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:argumentscommand}{{2.2.5}{161}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command::doc}{{2.2.5}{161}{Setting properties of a function's arguments}{subsection.2.2.5}{}}
\newlabel{language/extensions/arguments-command:coq:cmd.Arguments}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.790}{}}
\newlabel{language/extensions/arguments-command:grammar-token-argument_spec}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.795}{}}
\newlabel{language/extensions/arguments-command:grammar-token-arg_specs}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.796}{}}
\newlabel{language/extensions/arguments-command:grammar-token-implicits_alt}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.797}{}}
\newlabel{language/extensions/arguments-command:grammar-token-args_modifier}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.798}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-/-modifier-may-only-occur-once}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.799}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-_-modifier-may-only-occur-once}{{2.2.5}{161}{Setting properties of a function's arguments}{section*.800}{}}
\newlabel{language/extensions/arguments-command:coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified}{{2.2.5}{162}{Setting properties of a function's arguments}{section*.801}{}}
\newlabel{language/extensions/arguments-command:coq:exn.Flag-'rename'-expected-to-rename-_u2018name_u2019-into-_u2018name_u2019}{{2.2.5}{162}{Setting properties of a function's arguments}{section*.802}{}}
\newlabel{language/extensions/arguments-command:coq:exn.Arguments-of-section-variables-such-as-_u2018name_u2019-may-not-be-renamed}{{2.2.5}{162}{Setting properties of a function's arguments}{section*.803}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given}{{2.2.5}{162}{Setting properties of a function's arguments}{section*.804}{}}
\newlabel{language/extensions/arguments-command:coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations}{{2.2.5}{162}{Setting properties of a function's arguments}{section*.805}{}}
\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}{162}{Setting properties of a function's arguments}{section*.806}{}}
\@writefile{toc}{\contentsline {subsubsection}{Manual declaration of implicit arguments}{163}{subsubsection*.807}\protected@file@percent }
\newlabel{language/extensions/arguments-command:manual-declaration-of-implicit-arguments}{{2.2.5}{163}{Manual declaration of implicit arguments}{subsubsection*.807}{}}
\newlabel{language/extensions/arguments-command:example-more-implicits}{{2.2.5}{164}{Manual declaration of implicit arguments}{section*.808}{}}
\@writefile{toc}{\contentsline {subsubsection}{Automatic declaration of implicit arguments}{164}{subsubsection*.809}\protected@file@percent }
\newlabel{language/extensions/arguments-command:automatic-declaration-of-implicit-arguments}{{2.2.5}{164}{Automatic declaration of implicit arguments}{subsubsection*.809}{}}
\newlabel{language/extensions/arguments-command:auto-decl-implicit-args}{{2.2.5}{164}{Automatic declaration of implicit arguments}{subsubsection*.809}{}}
\@writefile{toc}{\contentsline {subsubsection}{Renaming implicit arguments}{166}{subsubsection*.810}\protected@file@percent }
\newlabel{language/extensions/arguments-command:renaming-implicit-arguments}{{2.2.5}{166}{Renaming implicit arguments}{subsubsection*.810}{}}
\newlabel{language/extensions/arguments-command:id1}{{2.2.5}{166}{Renaming implicit arguments}{subsubsection*.810}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding arguments to a scope}{166}{subsubsection*.811}\protected@file@percent }
\newlabel{language/extensions/arguments-command:binding-arguments-to-a-scope}{{2.2.5}{166}{Binding arguments to a scope}{subsubsection*.811}{}}
\newlabel{language/extensions/arguments-command:binding-to-scope}{{2.2.5}{166}{Binding arguments to a scope}{subsubsection*.811}{}}
\@writefile{toc}{\contentsline {subsubsection}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{167}{subsubsection*.812}\protected@file@percent }
\newlabel{language/extensions/arguments-command:effects-of-arguments-on-unfolding}{{2.2.5}{167}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.812}{}}
\newlabel{language/extensions/arguments-command:args-effect-on-unfolding}{{2.2.5}{167}{Effects of \sphinxstyleliteralintitle {\sphinxupquote {Arguments}} on unfolding}{subsubsection*.812}{}}
\@writefile{toc}{\contentsline {subsubsection}{Bidirectionality hints}{168}{subsubsection*.813}\protected@file@percent }
\newlabel{language/extensions/arguments-command:bidirectionality-hints}{{2.2.5}{168}{Bidirectionality hints}{subsubsection*.813}{}}
\newlabel{language/extensions/arguments-command:id2}{{2.2.5}{168}{Bidirectionality hints}{subsubsection*.813}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.6}Implicit Coercions}{169}{subsection.2.2.6}\protected@file@percent }
\newlabel{addendum/implicit-coercions:implicit-coercions}{{2.2.6}{169}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions:coercions}{{2.2.6}{169}{Implicit Coercions}{subsection.2.2.6}{}}
\newlabel{addendum/implicit-coercions::doc}{{2.2.6}{169}{Implicit Coercions}{subsection.2.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{General Presentation}{169}{subsubsection*.814}\protected@file@percent }
\newlabel{addendum/implicit-coercions:general-presentation}{{2.2.6}{169}{General Presentation}{subsubsection*.814}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes}{169}{subsubsection*.815}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes}{{2.2.6}{169}{Classes}{subsubsection*.815}{}}
\newlabel{addendum/implicit-coercions:grammar-token-class}{{2.2.6}{169}{Classes}{section*.817}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions}{169}{subsubsection*.818}\protected@file@percent }
\newlabel{addendum/implicit-coercions:id1}{{2.2.6}{169}{Coercions}{subsubsection*.818}{}}
\@writefile{toc}{\contentsline {subsubsection}{Identity Coercions}{170}{subsubsection*.819}\protected@file@percent }
\newlabel{addendum/implicit-coercions:identity-coercions}{{2.2.6}{170}{Identity Coercions}{subsubsection*.819}{}}
\@writefile{toc}{\contentsline {subsubsection}{Inheritance Graph}{170}{subsubsection*.820}\protected@file@percent }
\newlabel{addendum/implicit-coercions:inheritance-graph}{{2.2.6}{170}{Inheritance Graph}{subsubsection*.820}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaring Coercions}{170}{subsubsection*.821}\protected@file@percent }
\newlabel{addendum/implicit-coercions:declaring-coercions}{{2.2.6}{170}{Declaring Coercions}{subsubsection*.821}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Coercion}{{2.2.6}{170}{Declaring Coercions}{section*.822}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-not-declared}{{2.2.6}{171}{Declaring Coercions}{section*.823}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-is-already-a-coercion}{{2.2.6}{171}{Declaring Coercions}{section*.824}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Funclass-cannot-be-a-source-class}{{2.2.6}{171}{Declaring Coercions}{section*.825}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018qualid_u2019-is-not-a-function}{{2.2.6}{171}{Declaring Coercions}{section*.826}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Cannot-find-the-source-class-of-_u2018qualid_u2019}{{2.2.6}{171}{Declaring Coercions}{section*.827}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Cannot-recognize-_u2018class_u2019-as-a-source-class-of-_u2018qualid_u2019}{{2.2.6}{171}{Declaring Coercions}{section*.828}{}}
\newlabel{addendum/implicit-coercions:coq:warn._u2018qualid_u2019-does-not-respect-the-uniform-inheritance-condition}{{2.2.6}{171}{Declaring Coercions}{section*.829}{}}
\newlabel{addendum/implicit-coercions:coq:exn.Found-target-class-...-instead-of-...}{{2.2.6}{171}{Declaring Coercions}{section*.830}{}}
\newlabel{addendum/implicit-coercions:coq:warn.New-coercion-path-...-is-ambiguous-with-existing-...}{{2.2.6}{171}{Declaring Coercions}{section*.831}{}}
\newlabel{addendum/implicit-coercions:coq:warn....-is-not-definitionally-an-identity-function}{{2.2.6}{171}{Declaring Coercions}{section*.832}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Identity-Coercion}{{2.2.6}{171}{Declaring Coercions}{section*.833}{}}
\newlabel{addendum/implicit-coercions:coq:exn._u2018class_u2019-must-be-a-transparent-constant}{{2.2.6}{171}{Declaring Coercions}{section*.834}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.SubClass}{{2.2.6}{171}{Declaring Coercions}{section*.835}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying Available Coercions}{172}{subsubsection*.836}\protected@file@percent }
\newlabel{addendum/implicit-coercions:displaying-available-coercions}{{2.2.6}{172}{Displaying Available Coercions}{subsubsection*.836}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Classes}{{2.2.6}{172}{Displaying Available Coercions}{section*.837}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Coercions}{{2.2.6}{172}{Displaying Available Coercions}{section*.838}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Graph}{{2.2.6}{172}{Displaying Available Coercions}{section*.839}{}}
\newlabel{addendum/implicit-coercions:coq:cmd.Print-Coercion-Paths}{{2.2.6}{172}{Displaying Available Coercions}{section*.840}{}}
\@writefile{toc}{\contentsline {subsubsection}{Activating the Printing of Coercions}{172}{subsubsection*.841}\protected@file@percent }
\newlabel{addendum/implicit-coercions:activating-the-printing-of-coercions}{{2.2.6}{172}{Activating the Printing of Coercions}{subsubsection*.841}{}}
\newlabel{addendum/implicit-coercions:coq:flag.Printing-Coercions}{{2.2.6}{172}{Activating the Printing of Coercions}{section*.842}{}}
\newlabel{addendum/implicit-coercions:coq:table.Printing-Coercion}{{2.2.6}{172}{Activating the Printing of Coercions}{section*.843}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classes as Records}{172}{subsubsection*.844}\protected@file@percent }
\newlabel{addendum/implicit-coercions:classes-as-records}{{2.2.6}{172}{Classes as Records}{subsubsection*.844}{}}
\newlabel{addendum/implicit-coercions:coercions-classes-as-records}{{2.2.6}{172}{Classes as Records}{subsubsection*.844}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Sections}{172}{subsubsection*.845}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-sections}{{2.2.6}{172}{Coercions and Sections}{subsubsection*.845}{}}
\@writefile{toc}{\contentsline {subsubsection}{Coercions and Modules}{172}{subsubsection*.846}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercions-and-modules}{{2.2.6}{172}{Coercions and Modules}{subsubsection*.846}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples}{172}{subsubsection*.847}\protected@file@percent }
\newlabel{addendum/implicit-coercions:examples}{{2.2.6}{172}{Examples}{subsubsection*.847}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion at function application}{173}{paragraph*.848}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-at-function-application}{{2.2.6}{173}{Coercion at function application}{paragraph*.848}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a type}{175}{paragraph*.849}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-type}{{2.2.6}{175}{Coercion to a type}{paragraph*.849}{}}
\@writefile{toc}{\contentsline {paragraph}{Coercion to a function}{176}{paragraph*.850}\protected@file@percent }
\newlabel{addendum/implicit-coercions:coercion-to-a-function}{{2.2.6}{176}{Coercion to a function}{paragraph*.850}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.7}Typeclasses}{177}{subsection.2.2.7}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses}{{2.2.7}{177}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes:id1}{{2.2.7}{177}{Typeclasses}{subsection.2.2.7}{}}
\newlabel{addendum/type-classes::doc}{{2.2.7}{177}{Typeclasses}{subsection.2.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{Class and Instance declarations}{177}{subsubsection*.851}\protected@file@percent }
\newlabel{addendum/type-classes:class-and-instance-declarations}{{2.2.7}{177}{Class and Instance declarations}{subsubsection*.851}{}}
\@writefile{toc}{\contentsline {subsubsection}{Binding classes}{178}{subsubsection*.852}\protected@file@percent }
\newlabel{addendum/type-classes:binding-classes}{{2.2.7}{178}{Binding classes}{subsubsection*.852}{}}
\@writefile{toc}{\contentsline {subsubsection}{Parameterized Instances}{179}{subsubsection*.853}\protected@file@percent }
\newlabel{addendum/type-classes:parameterized-instances}{{2.2.7}{179}{Parameterized Instances}{subsubsection*.853}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sections and contexts}{179}{subsubsection*.854}\protected@file@percent }
\newlabel{addendum/type-classes:sections-and-contexts}{{2.2.7}{179}{Sections and contexts}{subsubsection*.854}{}}
\newlabel{addendum/type-classes:contexts}{{2.2.7}{179}{Sections and contexts}{subsubsection*.854}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building hierarchies}{180}{subsubsection*.855}\protected@file@percent }
\newlabel{addendum/type-classes:building-hierarchies}{{2.2.7}{180}{Building hierarchies}{subsubsection*.855}{}}
\@writefile{toc}{\contentsline {paragraph}{Superclasses}{180}{paragraph*.856}\protected@file@percent }
\newlabel{addendum/type-classes:superclasses}{{2.2.7}{180}{Superclasses}{paragraph*.856}{}}
\newlabel{addendum/type-classes:id3}{{2.2.7}{180}{Superclasses}{paragraph*.856}{}}
\@writefile{toc}{\contentsline {paragraph}{Substructures}{180}{paragraph*.857}\protected@file@percent }
\newlabel{addendum/type-classes:substructures}{{2.2.7}{180}{Substructures}{paragraph*.857}{}}
\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}{181}{Substructures}{section*.858}{}}
\@writefile{toc}{\contentsline {subsubsection}{Summary of the commands}{181}{subsubsection*.859}\protected@file@percent }
\newlabel{addendum/type-classes:summary-of-the-commands}{{2.2.7}{181}{Summary of the commands}{subsubsection*.859}{}}
\newlabel{addendum/type-classes:coq:cmd.Class}{{2.2.7}{181}{Summary of the commands}{section*.860}{}}
\newlabel{addendum/type-classes:grammar-token-singleton_class_definition}{{2.2.7}{181}{Summary of the commands}{section*.862}{}}
\newlabel{addendum/type-classes:singleton-class}{{2.2.7}{181}{Summary of the commands}{section*.863}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Class}{{2.2.7}{181}{Summary of the commands}{section*.864}{}}
\newlabel{addendum/type-classes:coq:warn._u2018ident_u2019-is-already-declared-as-a-typeclass}{{2.2.7}{181}{Summary of the commands}{section*.865}{}}
\newlabel{addendum/type-classes:coq:cmd.Instance}{{2.2.7}{181}{Summary of the commands}{section*.866}{}}
\newlabel{addendum/type-classes:coq:attr.refine}{{2.2.7}{182}{Summary of the commands}{section*.867}{}}
\newlabel{addendum/type-classes:coq:cmd.Declare-Instance}{{2.2.7}{182}{Summary of the commands}{section*.868}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Instance}{{2.2.7}{182}{Summary of the commands}{section*.869}{}}
\newlabel{addendum/type-classes:coq:cmd.Existing-Instances}{{2.2.7}{182}{Summary of the commands}{section*.870}{}}
\newlabel{addendum/type-classes:coq:cmd.Print-Instances}{{2.2.7}{182}{Summary of the commands}{section*.871}{}}
\newlabel{addendum/type-classes:coq:tacn.typeclasses-eauto}{{2.2.7}{182}{Summary of the commands}{section*.872}{}}
\newlabel{addendum/type-classes:typeclasseseautobesteffort}{{2.2.7}{182}{Summary of the commands}{section*.873}{}}
\newlabel{addendum/type-classes:coq:tacn.autoapply}{{2.2.7}{183}{Summary of the commands}{section*.874}{}}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses Transparent, Typeclasses Opaque}{183}{paragraph*.875}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-transparent-typeclasses-opaque}{{2.2.7}{183}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.875}{}}
\newlabel{addendum/type-classes:typeclassestransparent}{{2.2.7}{183}{Typeclasses Transparent, Typeclasses Opaque}{paragraph*.875}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-Transparent}{{2.2.7}{183}{Typeclasses Transparent, Typeclasses Opaque}{section*.876}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-Opaque}{{2.2.7}{183}{Typeclasses Transparent, Typeclasses Opaque}{section*.877}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{184}{paragraph*.878}\protected@file@percent }
\newlabel{addendum/type-classes:settings}{{2.2.7}{184}{Settings}{paragraph*.878}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Dependency-Order}{{2.2.7}{184}{Settings}{section*.879}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Filtered-Unification}{{2.2.7}{184}{Settings}{section*.880}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Limit-Intros}{{2.2.7}{184}{Settings}{section*.881}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclass-Resolution-For-Conversion}{{2.2.7}{184}{Settings}{section*.882}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Strict-Resolution}{{2.2.7}{184}{Settings}{section*.883}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Unique-Solutions}{{2.2.7}{184}{Settings}{section*.884}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Unique-Instances}{{2.2.7}{184}{Settings}{section*.885}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Iterative-Deepening}{{2.2.7}{185}{Settings}{section*.886}{}}
\newlabel{addendum/type-classes:coq:opt.Typeclasses-Depth}{{2.2.7}{185}{Settings}{section*.887}{}}
\newlabel{addendum/type-classes:coq:flag.Typeclasses-Debug}{{2.2.7}{185}{Settings}{section*.888}{}}
\newlabel{addendum/type-classes:coq:opt.Typeclasses-Debug-Verbosity}{{2.2.7}{185}{Settings}{section*.889}{}}
\@writefile{toc}{\contentsline {paragraph}{Typeclasses eauto}{185}{paragraph*.890}\protected@file@percent }
\newlabel{addendum/type-classes:typeclasses-eauto}{{2.2.7}{185}{Typeclasses eauto}{paragraph*.890}{}}
\newlabel{addendum/type-classes:coq:cmd.Typeclasses-eauto}{{2.2.7}{185}{Typeclasses eauto}{section*.891}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.8}Canonical Structures}{185}{subsection.2.2.8}\protected@file@percent }
\newlabel{language/extensions/canonical:canonical-structures}{{2.2.8}{185}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical:canonicalstructures}{{2.2.8}{185}{Canonical Structures}{subsection.2.2.8}{}}
\newlabel{language/extensions/canonical::doc}{{2.2.8}{185}{Canonical Structures}{subsection.2.2.8}{}}
\@writefile{toc}{\contentsline {subsubsection}{Declaration of canonical structures}{185}{subsubsection*.892}\protected@file@percent }
\newlabel{language/extensions/canonical:declaration-of-canonical-structures}{{2.2.8}{185}{Declaration of canonical structures}{subsubsection*.892}{}}
\newlabel{language/extensions/canonical:canonical-structure-declaration}{{2.2.8}{185}{Declaration of canonical structures}{subsubsection*.892}{}}
\newlabel{language/extensions/canonical:coq:cmd.Canonical-Structure}{{2.2.8}{185}{Declaration of canonical structures}{section*.893}{}}
\newlabel{language/extensions/canonical:id3}{{2.2.8}{185}{Declaration of canonical structures}{section*.894}{}}
\newlabel{language/extensions/canonical:coq:attr.canonical}{{2.2.8}{187}{Declaration of canonical structures}{section*.895}{}}
\newlabel{language/extensions/canonical:coq:cmd.Print-Canonical-Projections}{{2.2.8}{188}{Declaration of canonical structures}{section*.896}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notation overloading}{188}{subsubsection*.897}\protected@file@percent }
\newlabel{language/extensions/canonical:notation-overloading}{{2.2.8}{188}{Notation overloading}{subsubsection*.897}{}}
\@writefile{toc}{\contentsline {paragraph}{Derived Canonical Structures}{190}{paragraph*.898}\protected@file@percent }
\newlabel{language/extensions/canonical:derived-canonical-structures}{{2.2.8}{190}{Derived Canonical Structures}{paragraph*.898}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hierarchy of structures}{190}{subsubsection*.899}\protected@file@percent }
\newlabel{language/extensions/canonical:hierarchy-of-structures}{{2.2.8}{190}{Hierarchy of structures}{subsubsection*.899}{}}
\newlabel{language/extensions/canonical:id4}{{2.2.8}{190}{Hierarchy of structures}{subsubsection*.899}{}}
\@writefile{toc}{\contentsline {paragraph}{Compact declaration of Canonical Structures}{196}{paragraph*.900}\protected@file@percent }
\newlabel{language/extensions/canonical:compact-declaration-of-canonical-structures}{{2.2.8}{196}{Compact declaration of Canonical Structures}{paragraph*.900}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.9}Program}{198}{subsection.2.2.9}\protected@file@percent }
\newlabel{addendum/program:program}{{2.2.9}{198}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program:programs}{{2.2.9}{198}{Program}{subsection.2.2.9}{}}
\newlabel{addendum/program::doc}{{2.2.9}{198}{Program}{subsection.2.2.9}{}}
\@writefile{toc}{\contentsline {subsubsection}{Elaborating programs}{198}{subsubsection*.901}\protected@file@percent }
\newlabel{addendum/program:elaborating-programs}{{2.2.9}{198}{Elaborating programs}{subsubsection*.901}{}}
\newlabel{addendum/program:id4}{{2.2.9}{198}{Elaborating programs}{subsubsection*.901}{}}
\newlabel{addendum/program:coq:flag.Program-Cases}{{2.2.9}{199}{Elaborating programs}{section*.902}{}}
\newlabel{addendum/program:coq:flag.Program-Generalized-Coercion}{{2.2.9}{199}{Elaborating programs}{section*.903}{}}
\newlabel{addendum/program:coq:flag.Program-Mode}{{2.2.9}{199}{Elaborating programs}{section*.904}{}}
\newlabel{addendum/program:coq:attr.program}{{2.2.9}{199}{Elaborating programs}{section*.905}{}}
\newlabel{addendum/program:coq:attr.Program}{{2.2.9}{199}{Elaborating programs}{section*.906}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic control over equalities}{199}{paragraph*.907}\protected@file@percent }
\newlabel{addendum/program:syntactic-control-over-equalities}{{2.2.9}{199}{Syntactic control over equalities}{paragraph*.907}{}}
\newlabel{addendum/program:syntactic-control}{{2.2.9}{199}{Syntactic control over equalities}{paragraph*.907}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Definition}{200}{paragraph*.908}\protected@file@percent }
\newlabel{addendum/program:program-definition}{{2.2.9}{200}{Program Definition}{paragraph*.908}{}}
\newlabel{addendum/program:id5}{{2.2.9}{200}{Program Definition}{paragraph*.908}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Fixpoint}{200}{paragraph*.909}\protected@file@percent }
\newlabel{addendum/program:program-fixpoint}{{2.2.9}{200}{Program Fixpoint}{paragraph*.909}{}}
\newlabel{addendum/program:id6}{{2.2.9}{200}{Program Fixpoint}{paragraph*.909}{}}
\@writefile{toc}{\contentsline {paragraph}{Program Lemma}{201}{paragraph*.910}\protected@file@percent }
\newlabel{addendum/program:program-lemma}{{2.2.9}{201}{Program Lemma}{paragraph*.910}{}}
\newlabel{addendum/program:id7}{{2.2.9}{201}{Program Lemma}{paragraph*.910}{}}
\@writefile{toc}{\contentsline {subsubsection}{Solving obligations}{201}{subsubsection*.911}\protected@file@percent }
\newlabel{addendum/program:solving-obligations}{{2.2.9}{201}{Solving obligations}{subsubsection*.911}{}}
\newlabel{addendum/program:id8}{{2.2.9}{201}{Solving obligations}{subsubsection*.911}{}}
\newlabel{addendum/program:coq:cmd.Obligation-Tactic}{{2.2.9}{201}{Solving obligations}{section*.912}{}}
\newlabel{addendum/program:coq:cmd.Show-Obligation-Tactic}{{2.2.9}{201}{Solving obligations}{section*.913}{}}
\newlabel{addendum/program:coq:cmd.Obligations}{{2.2.9}{201}{Solving obligations}{section*.914}{}}
\newlabel{addendum/program:coq:cmd.Obligation}{{2.2.9}{201}{Solving obligations}{section*.915}{}}
\newlabel{addendum/program:coq:cmd.Next-Obligation}{{2.2.9}{202}{Solving obligations}{section*.916}{}}
\newlabel{addendum/program:coq:cmd.Solve-Obligations}{{2.2.9}{202}{Solving obligations}{section*.917}{}}
\newlabel{addendum/program:coq:cmd.Solve-All-Obligations}{{2.2.9}{202}{Solving obligations}{section*.918}{}}
\newlabel{addendum/program:coq:cmd.Admit-Obligations}{{2.2.9}{202}{Solving obligations}{section*.919}{}}
\newlabel{addendum/program:coq:cmd.Preterm}{{2.2.9}{202}{Solving obligations}{section*.920}{}}
\newlabel{addendum/program:coq:flag.Transparent-Obligations}{{2.2.9}{202}{Solving obligations}{section*.921}{}}
\@writefile{toc}{\contentsline {subsubsection}{Frequently Asked Questions}{202}{subsubsection*.922}\protected@file@percent }
\newlabel{addendum/program:frequently-asked-questions}{{2.2.9}{202}{Frequently Asked Questions}{subsubsection*.922}{}}
\newlabel{addendum/program:program-faq}{{2.2.9}{202}{Frequently Asked Questions}{subsubsection*.922}{}}
\newlabel{addendum/program:coq:exn.Ill-formed-recursive-definition}{{2.2.9}{202}{Frequently Asked Questions}{section*.923}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.10}Commands}{203}{subsection.2.2.10}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:commands}{{2.2.10}{203}{Commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands:vernacularcommands}{{2.2.10}{203}{Commands}{subsection.2.2.10}{}}
\newlabel{proof-engine/vernacular-commands::doc}{{2.2.10}{203}{Commands}{subsection.2.2.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying}{203}{subsubsection*.924}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:displaying}{{2.2.10}{203}{Displaying}{subsubsection*.924}{}}
\newlabel{proof-engine/vernacular-commands:id1}{{2.2.10}{203}{Displaying}{subsubsection*.924}{}}
\newlabel{proof-engine/vernacular-commands:print}{{2.2.10}{203}{Displaying}{section*.925}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print}{{2.2.10}{203}{Displaying}{section*.926}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-univ_name_list}{{2.2.10}{203}{Displaying}{section*.928}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn._u2018qualid_u2019-not-a-defined-object}{{2.2.10}{203}{Displaying}{section*.929}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Universe-instance-length-is-_u2018natural_u2019-but-should-be-_u2018natural_u2019}{{2.2.10}{203}{Displaying}{section*.930}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.This-object-does-not-support-universe-names}{{2.2.10}{203}{Displaying}{section*.931}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-All}{{2.2.10}{203}{Displaying}{section*.932}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Inspect}{{2.2.10}{203}{Displaying}{section*.933}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Section}{{2.2.10}{203}{Displaying}{section*.934}{}}
\@writefile{toc}{\contentsline {subsubsection}{Query commands}{203}{subsubsection*.935}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:query-commands}{{2.2.10}{203}{Query commands}{subsubsection*.935}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-query_command}{{2.2.10}{203}{Query commands}{section*.936}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.About}{{2.2.10}{203}{Query commands}{section*.937}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Check}{{2.2.10}{203}{Query commands}{section*.938}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Search}{{2.2.10}{203}{Query commands}{section*.939}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search_query}{{2.2.10}{204}{Query commands}{section*.941}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-search_item}{{2.2.10}{204}{Query commands}{section*.943}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-logical_kind}{{2.2.10}{205}{Query commands}{section*.945}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Module/section-_u2018qualid_u2019-not-found}{{2.2.10}{205}{Query commands}{section*.946}{}}
\newlabel{proof-engine/vernacular-commands:search-pattern}{{2.2.10}{205}{Query commands}{section*.947}{}}
\newlabel{proof-engine/vernacular-commands:search-part-ident}{{2.2.10}{205}{Query commands}{section*.948}{}}
\newlabel{proof-engine/vernacular-commands:search-by-notation}{{2.2.10}{205}{Query commands}{section*.949}{}}
\newlabel{proof-engine/vernacular-commands:search-disambiguate-notation}{{2.2.10}{206}{Query commands}{section*.950}{}}
\newlabel{proof-engine/vernacular-commands:search-hyp}{{2.2.10}{206}{Query commands}{section*.951}{}}
\newlabel{proof-engine/vernacular-commands:search-concl}{{2.2.10}{207}{Query commands}{section*.952}{}}
\newlabel{proof-engine/vernacular-commands:search-by-keyword}{{2.2.10}{207}{Query commands}{section*.953}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.SearchPattern}{{2.2.10}{208}{Query commands}{section*.954}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.SearchRewrite}{{2.2.10}{209}{Query commands}{section*.955}{}}
\newlabel{proof-engine/vernacular-commands:coq:table.Search-Blacklist}{{2.2.10}{209}{Query commands}{section*.956}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Search-Output-Name-Only}{{2.2.10}{210}{Query commands}{section*.957}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requests to the environment}{210}{subsubsection*.958}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:requests-to-the-environment}{{2.2.10}{210}{Requests to the environment}{subsubsection*.958}{}}
\newlabel{proof-engine/vernacular-commands:id2}{{2.2.10}{210}{Requests to the environment}{subsubsection*.958}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Assumptions}{{2.2.10}{210}{Requests to the environment}{section*.959}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Opaque-Dependencies}{{2.2.10}{210}{Requests to the environment}{section*.960}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Transparent-Dependencies}{{2.2.10}{210}{Requests to the environment}{section*.961}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-All-Dependencies}{{2.2.10}{210}{Requests to the environment}{section*.962}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate}{{2.2.10}{210}{Requests to the environment}{section*.963}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-reference}{{2.2.10}{210}{Requests to the environment}{section*.965}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Term}{{2.2.10}{210}{Requests to the environment}{section*.966}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Module}{{2.2.10}{210}{Requests to the environment}{section*.967}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Ltac}{{2.2.10}{210}{Requests to the environment}{section*.968}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-Library}{{2.2.10}{210}{Requests to the environment}{section*.969}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Locate-File}{{2.2.10}{210}{Requests to the environment}{section*.970}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing flags}{211}{subsubsection*.971}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-flags}{{2.2.10}{211}{Printing flags}{subsubsection*.971}{}}
\newlabel{proof-engine/vernacular-commands:id3}{{2.2.10}{211}{Printing flags}{subsubsection*.971}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Fast-Name-Printing}{{2.2.10}{211}{Printing flags}{section*.972}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loading files}{211}{subsubsection*.973}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loading-files}{{2.2.10}{211}{Loading files}{subsubsection*.973}{}}
\newlabel{proof-engine/vernacular-commands:id4}{{2.2.10}{211}{Loading files}{subsubsection*.973}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Load}{{2.2.10}{211}{Loading files}{section*.974}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Can_u2019t-find-file-_u2018ident_u2019-on-loadpath}{{2.2.10}{211}{Loading files}{section*.975}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Load-is-not-supported-inside-proofs}{{2.2.10}{212}{Loading files}{section*.976}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Files-processed-by-Load-cannot-leave-open-proofs}{{2.2.10}{212}{Loading files}{section*.977}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled files}{212}{subsubsection*.978}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:compiled-files}{{2.2.10}{212}{Compiled files}{subsubsection*.978}{}}
\newlabel{proof-engine/vernacular-commands:id5}{{2.2.10}{212}{Compiled files}{subsubsection*.978}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.From-_u2026-Require}{{2.2.10}{212}{Compiled files}{section*.979}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require}{{2.2.10}{212}{Compiled files}{section*.980}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require-Import}{{2.2.10}{212}{Compiled files}{section*.981}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Require-Export}{{2.2.10}{212}{Compiled files}{section*.982}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Cannot-load-_u2018qualid_u2019:-no-physical-path-bound-to-_u2018dirpath_u2019}{{2.2.10}{212}{Compiled files}{section*.983}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Cannot-find-library-foo-in-loadpath}{{2.2.10}{212}{Compiled files}{section*.984}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Required-library-_u2018qualid_u2019-matches-several-files-in-path-(found-file.vo,-file.vo,-...)}{{2.2.10}{212}{Compiled files}{section*.985}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Compiled-library-_u2018ident_u2019.vo-makes-inconsistent-assumptions-over-library-_u2018qualid_u2019}{{2.2.10}{212}{Compiled files}{section*.986}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Bad-magic-number}{{2.2.10}{213}{Compiled files}{section*.987}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-file-_u2018ident_u2019.vo-contains-library-_u2018qualid_u2019-and-not-library-_u2018qualid_u2019}{{2.2.10}{213}{Compiled files}{section*.988}{}}
\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}{213}{Compiled files}{section*.989}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Libraries}{{2.2.10}{213}{Compiled files}{section*.990}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Declare-ML-Module}{{2.2.10}{213}{Compiled files}{section*.991}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.File-not-found-on-loadpath:-_u2018string_u2019}{{2.2.10}{213}{Compiled files}{section*.992}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-ML-Modules}{{2.2.10}{213}{Compiled files}{section*.993}{}}
\@writefile{toc}{\contentsline {subsubsection}{Loadpath}{213}{subsubsection*.994}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:loadpath}{{2.2.10}{213}{Loadpath}{subsubsection*.994}{}}
\newlabel{proof-engine/vernacular-commands:id6}{{2.2.10}{213}{Loadpath}{subsubsection*.994}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Pwd}{{2.2.10}{213}{Loadpath}{section*.995}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Cd}{{2.2.10}{213}{Loadpath}{section*.996}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-LoadPath}{{2.2.10}{213}{Loadpath}{section*.997}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-dirpath}{{2.2.10}{213}{Loadpath}{section*.999}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-Rec-LoadPath}{{2.2.10}{214}{Loadpath}{section*.1000}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Remove-LoadPath}{{2.2.10}{214}{Loadpath}{section*.1001}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-LoadPath}{{2.2.10}{214}{Loadpath}{section*.1002}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Add-ML-Path}{{2.2.10}{214}{Loadpath}{section*.1003}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-ML-Path}{{2.2.10}{214}{Loadpath}{section*.1004}{}}
\@writefile{toc}{\contentsline {subsubsection}{Backtracking}{214}{subsubsection*.1005}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:backtracking}{{2.2.10}{214}{Backtracking}{subsubsection*.1005}{}}
\newlabel{proof-engine/vernacular-commands:backtracking-subsection}{{2.2.10}{214}{Backtracking}{subsubsection*.1005}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Reset}{{2.2.10}{214}{Backtracking}{section*.1006}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn._u2018ident_u2019:-no-such-entry}{{2.2.10}{214}{Backtracking}{section*.1007}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Reset-Initial}{{2.2.10}{214}{Backtracking}{section*.1008}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Back}{{2.2.10}{214}{Backtracking}{section*.1009}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.Invalid-backtrack}{{2.2.10}{214}{Backtracking}{section*.1010}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.BackTo}{{2.2.10}{214}{Backtracking}{section*.1011}{}}
\@writefile{toc}{\contentsline {subsubsection}{Quitting and debugging}{215}{subsubsection*.1012}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:quitting-and-debugging}{{2.2.10}{215}{Quitting and debugging}{subsubsection*.1012}{}}
\newlabel{proof-engine/vernacular-commands:id7}{{2.2.10}{215}{Quitting and debugging}{subsubsection*.1012}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Quit}{{2.2.10}{215}{Quitting and debugging}{section*.1013}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Drop}{{2.2.10}{215}{Quitting and debugging}{section*.1014}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Time}{{2.2.10}{215}{Quitting and debugging}{section*.1015}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Redirect}{{2.2.10}{215}{Quitting and debugging}{section*.1016}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Timeout}{{2.2.10}{215}{Quitting and debugging}{section*.1017}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Default-Timeout}{{2.2.10}{215}{Quitting and debugging}{section*.1018}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Fail}{{2.2.10}{215}{Quitting and debugging}{section*.1019}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-command-has-not-failed!}{{2.2.10}{215}{Quitting and debugging}{section*.1020}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Succeed}{{2.2.10}{215}{Quitting and debugging}{section*.1021}{}}
\newlabel{proof-engine/vernacular-commands:grammar-token-control_command}{{2.2.10}{215}{Quitting and debugging}{section*.1022}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling display}{216}{subsubsection*.1023}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-display}{{2.2.10}{216}{Controlling display}{subsubsection*.1023}{}}
\newlabel{proof-engine/vernacular-commands:id8}{{2.2.10}{216}{Controlling display}{subsubsection*.1023}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Silent}{{2.2.10}{216}{Controlling display}{section*.1024}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Warnings}{{2.2.10}{216}{Controlling display}{section*.1025}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Debug}{{2.2.10}{216}{Controlling display}{section*.1026}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Printing-Width}{{2.2.10}{216}{Controlling display}{section*.1027}{}}
\newlabel{proof-engine/vernacular-commands:coq:opt.Printing-Depth}{{2.2.10}{216}{Controlling display}{section*.1028}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Compact-Contexts}{{2.2.10}{216}{Controlling display}{section*.1029}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Unfocused}{{2.2.10}{216}{Controlling display}{section*.1030}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-Dependent-Evars-Line}{{2.2.10}{216}{Controlling display}{section*.1031}{}}
\@writefile{toc}{\contentsline {subsubsection}{Printing constructions in full}{216}{subsubsection*.1032}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:printing-constructions-in-full}{{2.2.10}{216}{Printing constructions in full}{subsubsection*.1032}{}}
\newlabel{proof-engine/vernacular-commands:printing-constructions-full}{{2.2.10}{216}{Printing constructions in full}{subsubsection*.1032}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Printing-All}{{2.2.10}{216}{Printing constructions in full}{section*.1033}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling Typing Flags}{217}{subsubsection*.1034}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:controlling-typing-flags}{{2.2.10}{217}{Controlling Typing Flags}{subsubsection*.1034}{}}
\newlabel{proof-engine/vernacular-commands:id9}{{2.2.10}{217}{Controlling Typing Flags}{subsubsection*.1034}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Guard-Checking}{{2.2.10}{217}{Controlling Typing Flags}{section*.1035}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(guard)}{{2.2.10}{217}{Controlling Typing Flags}{section*.1036}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Positivity-Checking}{{2.2.10}{217}{Controlling Typing Flags}{section*.1037}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(positivity)}{{2.2.10}{217}{Controlling Typing Flags}{section*.1038}{}}
\newlabel{proof-engine/vernacular-commands:coq:flag.Universe-Checking}{{2.2.10}{217}{Controlling Typing Flags}{section*.1039}{}}
\newlabel{proof-engine/vernacular-commands:coq:attr.bypass_check(universes)}{{2.2.10}{217}{Controlling Typing Flags}{section*.1040}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Print-Typing-Flags}{{2.2.10}{217}{Controlling Typing Flags}{section*.1041}{}}
\@writefile{toc}{\contentsline {subsubsection}{Internal registration commands}{218}{subsubsection*.1042}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:internal-registration-commands}{{2.2.10}{218}{Internal registration commands}{subsubsection*.1042}{}}
\newlabel{proof-engine/vernacular-commands:id10}{{2.2.10}{218}{Internal registration commands}{subsubsection*.1042}{}}
\@writefile{toc}{\contentsline {paragraph}{Exposing constants to OCaml libraries}{219}{paragraph*.1043}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:exposing-constants-to-ocaml-libraries}{{2.2.10}{219}{Exposing constants to OCaml libraries}{paragraph*.1043}{}}
\newlabel{proof-engine/vernacular-commands:id11}{{2.2.10}{219}{Exposing constants to OCaml libraries}{paragraph*.1043}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Register}{{2.2.10}{219}{Exposing constants to OCaml libraries}{section*.1044}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining hints for the fast reduction machines}{219}{paragraph*.1045}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:inlining-hints-for-the-fast-reduction-machines}{{2.2.10}{219}{Inlining hints for the fast reduction machines}{paragraph*.1045}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Register-Inline}{{2.2.10}{219}{Inlining hints for the fast reduction machines}{section*.1046}{}}
\@writefile{toc}{\contentsline {paragraph}{Registering primitive operations}{219}{paragraph*.1047}\protected@file@percent }
\newlabel{proof-engine/vernacular-commands:registering-primitive-operations}{{2.2.10}{219}{Registering primitive operations}{paragraph*.1047}{}}
\newlabel{proof-engine/vernacular-commands:coq:cmd.Primitive}{{2.2.10}{219}{Registering primitive operations}{section*.1048}{}}
\newlabel{proof-engine/vernacular-commands:coq:exn.The-type-_u2018ident_u2019-must-be-registered-before-this-construction-can-be-typechecked}{{2.2.10}{219}{Registering primitive operations}{section*.1049}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Proofs}{220}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:proofs}{{3}{220}{Proofs}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Basic proof writing}{220}{section.3.1}\protected@file@percent }
\newlabel{proofs/writing-proofs/index:basic-proof-writing}{{3.1}{220}{Basic proof writing}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index:writing-proofs}{{3.1}{220}{Basic proof writing}{section.3.1}{}}
\newlabel{proofs/writing-proofs/index::doc}{{3.1}{220}{Basic proof writing}{section.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Proof mode}{220}{subsection.3.1.1}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-mode}{{3.1.1}{220}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode:proofhandling}{{3.1.1}{220}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode::doc}{{3.1.1}{220}{Proof mode}{subsection.3.1.1}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-mode}{{3.1.1}{220}{Proof mode}{section*.1050}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof State}{220}{subsubsection*.1051}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-state}{{3.1.1}{220}{Proof State}{subsubsection*.1051}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-state}{{3.1.1}{220}{Proof State}{section*.1052}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-conclusion}{{3.1.1}{220}{Proof State}{section*.1053}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-local-context}{{3.1.1}{220}{Proof State}{section*.1054}{}}
\newlabel{proofs/writing-proofs/proof-mode:conclusion-meaning-2}{{3.1.1}{220}{Proof State}{section*.1055}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-goal}{{3.1.1}{220}{Proof State}{section*.1056}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-context-local-definition}{{3.1.1}{220}{Proof State}{section*.1057}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-global-environment}{{3.1.1}{221}{Proof State}{section*.1058}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-subgoal}{{3.1.1}{221}{Proof State}{section*.1059}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-hypothesis}{{3.1.1}{221}{Proof State}{section*.1060}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-proof-term}{{3.1.1}{221}{Proof State}{section*.1061}{}}
\@writefile{toc}{\contentsline {subsubsection}{Entering and exiting proof mode}{222}{subsubsection*.1062}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:entering-and-exiting-proof-mode}{{3.1.1}{222}{Entering and exiting proof mode}{subsubsection*.1062}{}}
\newlabel{proofs/writing-proofs/proof-mode:proof-editing-mode}{{3.1.1}{222}{Entering and exiting proof mode}{subsubsection*.1062}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Goal}{{3.1.1}{222}{Entering and exiting proof mode}{section*.1063}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Qed}{{3.1.1}{222}{Entering and exiting proof mode}{section*.1064}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Attempt-to-save-an-incomplete-proof}{{3.1.1}{222}{Entering and exiting proof mode}{section*.1065}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof-(No-proof-editing-in-progress)}{{3.1.1}{222}{Entering and exiting proof mode}{section*.1066}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Save}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1067}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Defined}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1068}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Admitted}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1069}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Abort}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1070}{}}
\newlabel{proofs/writing-proofs/proof-mode:id2}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1071}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof-`term`}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1072}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1073}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Proof-using}{{3.1.1}{223}{Entering and exiting proof mode}{section*.1074}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1079}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr50}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1080}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-section_var_expr0}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1081}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-starred_ident_ref}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1082}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:warn._u2018ident_u2019-is-both-name-of-a-Collection-and-Variable,-Collection-_u2018ident_u2019-takes-precedence-over-Variable}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1083}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:warn.Variable-All-is-shadowed-by-Collection-named-All-containing-all-variables}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1084}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:attr.using}{{3.1.1}{224}{Entering and exiting proof mode}{section*.1085}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof using options}{225}{paragraph*.1086}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-using-options}{{3.1.1}{225}{Proof using options}{paragraph*.1086}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Default-Proof-Using}{{3.1.1}{225}{Proof using options}{section*.1087}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Suggest-Proof-Using}{{3.1.1}{225}{Proof using options}{section*.1088}{}}
\@writefile{toc}{\contentsline {paragraph}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{225}{paragraph*.1089}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:name-a-set-of-section-hypotheses-for-proof-using}{{3.1.1}{225}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.1089}{}}
\newlabel{proofs/writing-proofs/proof-mode:nameaset}{{3.1.1}{225}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{paragraph*.1089}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Collection}{{3.1.1}{225}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1090}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn."All"-is-a-predefined-collection-containing-all-variables.-It-can't-be-redefined}{{3.1.1}{226}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1091}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:warn.New-Collection-definition-of-_u2018ident_u2019-shadows-the-previous-one}{{3.1.1}{226}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1092}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:warn._u2018ident_u2019-was-already-a-defined-Variable,-the-name-_u2018ident_u2019-will-refer-to-Collection-when-executing-"Proof-using"-command}{{3.1.1}{226}{Name a set of section hypotheses for \sphinxstyleliteralintitle {\sphinxupquote {Proof using}}}{section*.1093}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof modes}{226}{subsubsection*.1094}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-modes}{{3.1.1}{226}{Proof modes}{subsubsection*.1094}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Default-Proof-Mode}{{3.1.1}{226}{Proof modes}{section*.1095}{}}
\@writefile{toc}{\contentsline {subsubsection}{Navigation in the proof tree}{226}{subsubsection*.1096}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:navigation-in-the-proof-tree}{{3.1.1}{226}{Navigation in the proof tree}{subsubsection*.1096}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Undo}{{3.1.1}{226}{Navigation in the proof tree}{section*.1097}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Restart}{{3.1.1}{226}{Navigation in the proof tree}{section*.1098}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof-to-restart}{{3.1.1}{226}{Navigation in the proof tree}{section*.1099}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Focus}{{3.1.1}{226}{Navigation in the proof tree}{section*.1100}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unfocus}{{3.1.1}{227}{Navigation in the proof tree}{section*.1101}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unfocused}{{3.1.1}{227}{Navigation in the proof tree}{section*.1102}{}}
\newlabel{proofs/writing-proofs/proof-mode:curly-braces}{{3.1.1}{227}{Navigation in the proof tree}{section*.1103}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn._}{{3.1.1}{227}{Navigation in the proof tree}{section*.1104}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn._}{{3.1.1}{227}{Navigation in the proof tree}{section*.1105}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way}{{3.1.1}{229}{Navigation in the proof tree}{section*.1106}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal-(_u2018natural_u2019)}{{3.1.1}{229}{Navigation in the proof tree}{section*.1107}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal-(_u2018ident_u2019)}{{3.1.1}{229}{Navigation in the proof tree}{section*.1108}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Brackets-do-not-support-multi-goal-selectors}{{3.1.1}{229}{Navigation in the proof tree}{section*.1109}{}}
\@writefile{toc}{\contentsline {paragraph}{Bullets}{229}{paragraph*.1110}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:bullets}{{3.1.1}{229}{Bullets}{paragraph*.1110}{}}
\newlabel{proofs/writing-proofs/proof-mode:id3}{{3.1.1}{229}{Bullets}{paragraph*.1110}{}}
\newlabel{proofs/writing-proofs/proof-mode:grammar-token-bullet}{{3.1.1}{229}{Bullets}{section*.1112}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Wrong-bullet-_u2018bullet_u2019:-Current-bullet-_u2018bullet_u2019-is-not-finished}{{3.1.1}{233}{Bullets}{section*.1113}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Wrong-bullet-_u2018bullet_u2019:-Bullet-_u2018bullet_u2019-is-mandatory-here}{{3.1.1}{233}{Bullets}{section*.1114}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal.-Focus-next-goal-with-bullet-_u2018bullet_u2019}{{3.1.1}{233}{Bullets}{section*.1115}{}}
\@writefile{toc}{\contentsline {subparagraph}{Mandatory Bullets}{233}{subparagraph*.1116}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:mandatory-bullets}{{3.1.1}{233}{Mandatory Bullets}{subparagraph*.1116}{}}
\@writefile{toc}{\contentsline {subparagraph}{Set Bullet Behavior}{233}{subparagraph*.1117}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:set-bullet-behavior}{{3.1.1}{233}{Set Bullet Behavior}{subparagraph*.1117}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Bullet-Behavior}{{3.1.1}{233}{Set Bullet Behavior}{section*.1118}{}}
\@writefile{toc}{\contentsline {paragraph}{Modifying the order of goals}{233}{paragraph*.1119}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:modifying-the-order-of-goals}{{3.1.1}{233}{Modifying the order of goals}{paragraph*.1119}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.cycle}{{3.1.1}{233}{Modifying the order of goals}{section*.1120}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.swap}{{3.1.1}{234}{Modifying the order of goals}{section*.1121}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.revgoals}{{3.1.1}{235}{Modifying the order of goals}{section*.1122}{}}
\@writefile{toc}{\contentsline {paragraph}{Postponing the proof of some goals}{236}{paragraph*.1123}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:postponing-the-proof-of-some-goals}{{3.1.1}{236}{Postponing the proof of some goals}{paragraph*.1123}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-shelved}{{3.1.1}{236}{Postponing the proof of some goals}{section*.1124}{}}
\newlabel{proofs/writing-proofs/proof-mode:term-unshelved}{{3.1.1}{236}{Postponing the proof of some goals}{section*.1125}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.shelve}{{3.1.1}{236}{Postponing the proof of some goals}{section*.1126}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.shelve_unifiable}{{3.1.1}{236}{Postponing the proof of some goals}{section*.1127}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Unshelve}{{3.1.1}{237}{Postponing the proof of some goals}{section*.1128}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.unshelve}{{3.1.1}{237}{Postponing the proof of some goals}{section*.1129}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.give_up}{{3.1.1}{237}{Postponing the proof of some goals}{section*.1130}{}}
\@writefile{toc}{\contentsline {subsubsection}{Requesting information}{237}{subsubsection*.1131}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:requesting-information}{{3.1.1}{237}{Requesting information}{subsubsection*.1131}{}}
\newlabel{proofs/writing-proofs/proof-mode:requestinginformation}{{3.1.1}{237}{Requesting information}{subsubsection*.1131}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show}{{3.1.1}{237}{Requesting information}{section*.1132}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-focused-proof}{{3.1.1}{238}{Requesting information}{section*.1133}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.No-such-goal}{{3.1.1}{238}{Requesting information}{section*.1134}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Proof}{{3.1.1}{238}{Requesting information}{section*.1135}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Conjectures}{{3.1.1}{238}{Requesting information}{section*.1136}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Intro}{{3.1.1}{238}{Requesting information}{section*.1137}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Intros}{{3.1.1}{238}{Requesting information}{section*.1138}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Existentials}{{3.1.1}{238}{Requesting information}{section*.1139}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Match}{{3.1.1}{238}{Requesting information}{section*.1140}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:exn.Unknown-inductive-type}{{3.1.1}{238}{Requesting information}{section*.1141}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Universes}{{3.1.1}{238}{Requesting information}{section*.1142}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Show-Goal}{{3.1.1}{238}{Requesting information}{section*.1143}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Guarded}{{3.1.1}{239}{Requesting information}{section*.1144}{}}
\@writefile{toc}{\contentsline {subsubsection}{Showing differences between proof steps}{239}{subsubsection*.1145}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:showing-differences-between-proof-steps}{{3.1.1}{239}{Showing differences between proof steps}{subsubsection*.1145}{}}
\newlabel{proofs/writing-proofs/proof-mode:showing-diffs}{{3.1.1}{239}{Showing differences between proof steps}{subsubsection*.1145}{}}
\@writefile{toc}{\contentsline {paragraph}{How to enable diffs}{239}{paragraph*.1146}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:how-to-enable-diffs}{{3.1.1}{239}{How to enable diffs}{paragraph*.1146}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Diffs}{{3.1.1}{239}{How to enable diffs}{section*.1147}{}}
\@writefile{toc}{\contentsline {paragraph}{How diffs are calculated}{240}{paragraph*.1148}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:how-diffs-are-calculated}{{3.1.1}{240}{How diffs are calculated}{paragraph*.1148}{}}
\@writefile{toc}{\contentsline {paragraph}{"Show Proof" differences}{240}{paragraph*.1149}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:show-proof-differences}{{3.1.1}{240}{"Show Proof" differences}{paragraph*.1149}{}}
\newlabel{proofs/writing-proofs/proof-mode:id5}{{3.1.1}{240}{"Show Proof" differences}{paragraph*.1149}{}}
\@writefile{toc}{\contentsline {subsubsection}{Delaying solving unification constraints}{241}{subsubsection*.1150}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:delaying-solving-unification-constraints}{{3.1.1}{241}{Delaying solving unification constraints}{subsubsection*.1150}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:tacn.solve_constraints}{{3.1.1}{241}{Delaying solving unification constraints}{section*.1151}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Solve-Unification-Constraints}{{3.1.1}{241}{Delaying solving unification constraints}{section*.1152}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof maintenance}{241}{subsubsection*.1153}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:proof-maintenance}{{3.1.1}{241}{Proof maintenance}{subsubsection*.1153}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Mangle-Names}{{3.1.1}{241}{Proof maintenance}{section*.1154}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Mangle-Names-Prefix}{{3.1.1}{241}{Proof maintenance}{section*.1155}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Mangle-Names-Light}{{3.1.1}{241}{Proof maintenance}{section*.1156}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling proof mode}{241}{subsubsection*.1157}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:controlling-proof-mode}{{3.1.1}{241}{Controlling proof mode}{subsubsection*.1157}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:opt.Hyps-Limit}{{3.1.1}{241}{Controlling proof mode}{section*.1158}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Nested-Proofs-Allowed}{{3.1.1}{241}{Controlling proof mode}{section*.1159}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:flag.Printing-Goal-Names}{{3.1.1}{241}{Controlling proof mode}{section*.1160}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling memory usage}{242}{subsubsection*.1161}\protected@file@percent }
\newlabel{proofs/writing-proofs/proof-mode:controlling-memory-usage}{{3.1.1}{242}{Controlling memory usage}{subsubsection*.1161}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Print-Debug-GC}{{3.1.1}{242}{Controlling memory usage}{section*.1162}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Optimize-Proof}{{3.1.1}{242}{Controlling memory usage}{section*.1163}{}}
\newlabel{proofs/writing-proofs/proof-mode:coq:cmd.Optimize-Heap}{{3.1.1}{242}{Controlling memory usage}{section*.1164}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Tactics}{242}{subsection.3.1.2}\protected@file@percent }
\newlabel{proof-engine/tactics:tactics}{{3.1.2}{242}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics:id1}{{3.1.2}{242}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics::doc}{{3.1.2}{242}{Tactics}{subsection.3.1.2}{}}
\newlabel{proof-engine/tactics:term-forward-reasoning}{{3.1.2}{242}{Tactics}{section*.1165}{}}
\newlabel{proof-engine/tactics:term-backward-reasoning}{{3.1.2}{242}{Tactics}{section*.1166}{}}
\@writefile{toc}{\contentsline {subsubsection}{Common elements of tactics}{243}{subsubsection*.1167}\protected@file@percent }
\newlabel{proof-engine/tactics:common-elements-of-tactics}{{3.1.2}{243}{Common elements of tactics}{subsubsection*.1167}{}}
\@writefile{toc}{\contentsline {paragraph}{Reserved keywords}{243}{paragraph*.1168}\protected@file@percent }
\newlabel{proof-engine/tactics:reserved-keywords}{{3.1.2}{243}{Reserved keywords}{paragraph*.1168}{}}
\@writefile{toc}{\contentsline {paragraph}{Invocation of tactics}{243}{paragraph*.1169}\protected@file@percent }
\newlabel{proof-engine/tactics:invocation-of-tactics}{{3.1.2}{243}{Invocation of tactics}{paragraph*.1169}{}}
\newlabel{proof-engine/tactics:id2}{{3.1.2}{243}{Invocation of tactics}{paragraph*.1169}{}}
\newlabel{proof-engine/tactics:tactic-invocation-grammar}{{3.1.2}{243}{Invocation of tactics}{section*.1170}{}}
\newlabel{proof-engine/tactics:grammar-token-tactic_invocation}{{3.1.2}{243}{Invocation of tactics}{section*.1172}{}}
\newlabel{proof-engine/tactics:coq:opt.Default-Goal-Selector}{{3.1.2}{243}{Invocation of tactics}{section*.1173}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings}{243}{paragraph*.1174}\protected@file@percent }
\newlabel{proof-engine/tactics:bindings}{{3.1.2}{243}{Bindings}{paragraph*.1174}{}}
\newlabel{proof-engine/tactics:id3}{{3.1.2}{243}{Bindings}{paragraph*.1174}{}}
\newlabel{proof-engine/tactics:grammar-token-bindings}{{3.1.2}{243}{Bindings}{section*.1176}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-binder}{{3.1.2}{243}{Bindings}{section*.1177}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-the-right-number-of-missing-arguments}{{3.1.2}{243}{Bindings}{section*.1178}{}}
\@writefile{toc}{\contentsline {paragraph}{Intro patterns}{244}{paragraph*.1179}\protected@file@percent }
\newlabel{proof-engine/tactics:intro-patterns}{{3.1.2}{244}{Intro patterns}{paragraph*.1179}{}}
\newlabel{proof-engine/tactics:intropatterns}{{3.1.2}{244}{Intro patterns}{paragraph*.1179}{}}
\newlabel{proof-engine/tactics:grammar-token-intropattern}{{3.1.2}{244}{Intro patterns}{section*.1186}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern}{{3.1.2}{244}{Intro patterns}{section*.1187}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_intropattern_closed}{{3.1.2}{244}{Intro patterns}{section*.1188}{}}
\newlabel{proof-engine/tactics:grammar-token-naming_intropattern}{{3.1.2}{244}{Intro patterns}{section*.1189}{}}
\newlabel{proof-engine/tactics:grammar-token-or_and_intropattern}{{3.1.2}{244}{Intro patterns}{section*.1190}{}}
\newlabel{proof-engine/tactics:grammar-token-equality_intropattern}{{3.1.2}{244}{Intro patterns}{section*.1191}{}}
\newlabel{proof-engine/tactics:intropattern-cons-note}{{3.1.2}{246}{Intro patterns}{section*.1192}{}}
\newlabel{proof-engine/tactics:intropattern-conj-ex}{{3.1.2}{246}{Intro patterns}{section*.1193}{}}
\newlabel{proof-engine/tactics:intropattern-disj-ex}{{3.1.2}{246}{Intro patterns}{section*.1194}{}}
\newlabel{proof-engine/tactics:intropattern-rarrow-ex}{{3.1.2}{247}{Intro patterns}{section*.1195}{}}
\newlabel{proof-engine/tactics:intropattern-inj-discr-ex}{{3.1.2}{247}{Intro patterns}{section*.1196}{}}
\newlabel{proof-engine/tactics:intropattern-ampersand-ex}{{3.1.2}{248}{Intro patterns}{section*.1197}{}}
\newlabel{proof-engine/tactics:intropattern-star-ex}{{3.1.2}{248}{Intro patterns}{section*.1198}{}}
\newlabel{proof-engine/tactics:intropattern-2stars-ex}{{3.1.2}{248}{Intro patterns}{section*.1199}{}}
\newlabel{proof-engine/tactics:intropattern-injection-ex}{{3.1.2}{249}{Intro patterns}{section*.1200}{}}
\@writefile{toc}{\contentsline {paragraph}{Occurrence clauses}{250}{paragraph*.1201}\protected@file@percent }
\newlabel{proof-engine/tactics:occurrence-clauses}{{3.1.2}{250}{Occurrence clauses}{paragraph*.1201}{}}
\newlabel{proof-engine/tactics:occurrenceclauses}{{3.1.2}{250}{Occurrence clauses}{paragraph*.1201}{}}
\newlabel{proof-engine/tactics:term-occurrence}{{3.1.2}{250}{Occurrence clauses}{section*.1202}{}}
\newlabel{proof-engine/tactics:grammar-token-occurrences}{{3.1.2}{250}{Occurrence clauses}{section*.1211}{}}
\newlabel{proof-engine/tactics:grammar-token-simple_occurrences}{{3.1.2}{250}{Occurrence clauses}{section*.1212}{}}
\newlabel{proof-engine/tactics:grammar-token-occs_nums}{{3.1.2}{250}{Occurrence clauses}{section*.1213}{}}
\newlabel{proof-engine/tactics:grammar-token-nat_or_var}{{3.1.2}{250}{Occurrence clauses}{section*.1214}{}}
\newlabel{proof-engine/tactics:grammar-token-goal_occurrences}{{3.1.2}{250}{Occurrence clauses}{section*.1215}{}}
\newlabel{proof-engine/tactics:grammar-token-hyp_occs}{{3.1.2}{250}{Occurrence clauses}{section*.1216}{}}
\newlabel{proof-engine/tactics:grammar-token-hypident}{{3.1.2}{250}{Occurrence clauses}{section*.1217}{}}
\newlabel{proof-engine/tactics:grammar-token-concl_occs}{{3.1.2}{250}{Occurrence clauses}{section*.1218}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applying theorems}{251}{subsubsection*.1219}\protected@file@percent }
\newlabel{proof-engine/tactics:applying-theorems}{{3.1.2}{251}{Applying theorems}{subsubsection*.1219}{}}
\newlabel{proof-engine/tactics:applyingtheorems}{{3.1.2}{251}{Applying theorems}{subsubsection*.1219}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact}{{3.1.2}{251}{Applying theorems}{section*.1220}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-an-exact-proof}{{3.1.2}{251}{Applying theorems}{section*.1221}{}}
\newlabel{proof-engine/tactics:coq:tacv.eexact}{{3.1.2}{251}{Applying theorems}{section*.1222}{}}
\newlabel{proof-engine/tactics:coq:tacn.assumption}{{3.1.2}{251}{Applying theorems}{section*.1223}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-assumption}{{3.1.2}{251}{Applying theorems}{section*.1224}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassumption}{{3.1.2}{251}{Applying theorems}{section*.1225}{}}
\newlabel{proof-engine/tactics:coq:tacn.refine}{{3.1.2}{251}{Applying theorems}{section*.1226}{}}
\newlabel{proof-engine/tactics:coq:exn.Invalid-argument}{{3.1.2}{252}{Applying theorems}{section*.1227}{}}
\newlabel{proof-engine/tactics:coq:exn.Refine-passed-ill-formed-term}{{3.1.2}{252}{Applying theorems}{section*.1228}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)}{{3.1.2}{252}{Applying theorems}{section*.1229}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-refine}{{3.1.2}{252}{Applying theorems}{section*.1230}{}}
\newlabel{proof-engine/tactics:coq:tacv.notypeclasses-refine}{{3.1.2}{252}{Applying theorems}{section*.1231}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-notypeclasses-refine}{{3.1.2}{253}{Applying theorems}{section*.1232}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply}{{3.1.2}{253}{Applying theorems}{section*.1233}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-unify-_u2018term_u2019-with-_u2018term_u2019}{{3.1.2}{253}{Applying theorems}{section*.1234}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-find-an-instance-for-the-variables-_u2018ident_u2019_u2026_u2018ident_u2019}{{3.1.2}{253}{Applying theorems}{section*.1235}{}}
\newlabel{proof-engine/tactics:id4}{{3.1.2}{253}{Applying theorems}{section*.1236}{}}
\newlabel{proof-engine/tactics:coq:flag.Apply-With-Renaming}{{3.1.2}{253}{Applying theorems}{section*.1237}{}}
\newlabel{proof-engine/tactics:coq:tacv.eapply}{{3.1.2}{253}{Applying theorems}{section*.1238}{}}
\newlabel{proof-engine/tactics:coq:tacv.rapply}{{3.1.2}{253}{Applying theorems}{section*.1239}{}}
\newlabel{proof-engine/tactics:grammar-token-constr}{{3.1.2}{254}{Applying theorems}{section*.1240}{}}
\newlabel{proof-engine/tactics:grammar-token-uconstr}{{3.1.2}{254}{Applying theorems}{section*.1241}{}}
\newlabel{proof-engine/tactics:grammar-token-open_constr}{{3.1.2}{254}{Applying theorems}{section*.1242}{}}
\newlabel{proof-engine/tactics:simple-apply-ex}{{3.1.2}{254}{Applying theorems}{section*.1243}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-apply}{{3.1.2}{254}{Applying theorems}{section*.1244}{}}
\newlabel{proof-engine/tactics:coq:tacv.simple-eapply}{{3.1.2}{254}{Applying theorems}{section*.1245}{}}
\newlabel{proof-engine/tactics:coq:tacv.lapply}{{3.1.2}{254}{Applying theorems}{section*.1246}{}}
\newlabel{proof-engine/tactics:coq:flag.Universal-Lemma-Under-Conjunction}{{3.1.2}{256}{Applying theorems}{section*.1247}{}}
\newlabel{proof-engine/tactics:coq:tacn.apply-_u2026-in}{{3.1.2}{256}{Applying theorems}{section*.1248}{}}
\newlabel{proof-engine/tactics:coq:exn.Statement-without-assumptions}{{3.1.2}{256}{Applying theorems}{section*.1249}{}}
\newlabel{proof-engine/tactics:coq:exn.Unable-to-apply}{{3.1.2}{256}{Applying theorems}{section*.1250}{}}
\newlabel{proof-engine/tactics:coq:tacv.apply-_u2026-in-_u2026-as}{{3.1.2}{257}{Applying theorems}{section*.1251}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing the local context}{257}{subsubsection*.1252}\protected@file@percent }
\newlabel{proof-engine/tactics:managing-the-local-context}{{3.1.2}{257}{Managing the local context}{subsubsection*.1252}{}}
\newlabel{proof-engine/tactics:managingthelocalcontext}{{3.1.2}{257}{Managing the local context}{subsubsection*.1252}{}}
\newlabel{proof-engine/tactics:coq:tacn.intro}{{3.1.2}{257}{Managing the local context}{section*.1253}{}}
\newlabel{proof-engine/tactics:coq:exn.No-product-even-after-head-reduction}{{3.1.2}{257}{Managing the local context}{section*.1255}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-already-used}{{3.1.2}{257}{Managing the local context}{section*.1256}{}}
\newlabel{proof-engine/tactics:coq:tacv.intros}{{3.1.2}{258}{Managing the local context}{section*.1257}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis-in-current-goal}{{3.1.2}{258}{Managing the local context}{section*.1258}{}}
\newlabel{proof-engine/tactics:id6}{{3.1.2}{258}{Managing the local context}{section*.1259}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis:-_u2018ident_u2019}{{3.1.2}{258}{Managing the local context}{section*.1260}{}}
\newlabel{proof-engine/tactics:coq:tacn.intros-_u2026}{{3.1.2}{258}{Managing the local context}{section*.1261}{}}
\newlabel{proof-engine/tactics:coq:tacn.eintros}{{3.1.2}{258}{Managing the local context}{section*.1262}{}}
\newlabel{0.2.1}{{1}{258}{Managing the local context}{section*.1254}{}}
\newlabel{proof-engine/tactics:coq:tacn.clear}{{3.1.2}{259}{Managing the local context}{section*.1263}{}}
\newlabel{proof-engine/tactics:coq:exn.No-such-hypothesis}{{3.1.2}{259}{Managing the local context}{section*.1264}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-the-conclusion}{{3.1.2}{259}{Managing the local context}{section*.1265}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-the-hypothesis-_u2018ident_u2019}{{3.1.2}{259}{Managing the local context}{section*.1266}{}}
\newlabel{proof-engine/tactics:coq:tacv.clearbody}{{3.1.2}{259}{Managing the local context}{section*.1267}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-not-a-local-definition}{{3.1.2}{259}{Managing the local context}{section*.1268}{}}
\newlabel{proof-engine/tactics:coq:tacn.revert}{{3.1.2}{259}{Managing the local context}{section*.1269}{}}
\newlabel{proof-engine/tactics:id7}{{3.1.2}{259}{Managing the local context}{section*.1270}{}}
\newlabel{proof-engine/tactics:id8}{{3.1.2}{259}{Managing the local context}{section*.1271}{}}
\newlabel{proof-engine/tactics:coq:tacv.revert-dependent}{{3.1.2}{259}{Managing the local context}{section*.1272}{}}
\newlabel{proof-engine/tactics:coq:tacn.move}{{3.1.2}{259}{Managing the local context}{section*.1273}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-before-_u2026}{{3.1.2}{259}{Managing the local context}{section*.1274}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-at-top}{{3.1.2}{260}{Managing the local context}{section*.1275}{}}
\newlabel{proof-engine/tactics:coq:tacv.move-_u2026-at-bottom}{{3.1.2}{260}{Managing the local context}{section*.1276}{}}
\newlabel{proof-engine/tactics:id9}{{3.1.2}{260}{Managing the local context}{section*.1277}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-move-_u2018ident_u2019-after-_u2018ident_u2019:-it-occurs-in-the-type-of-_u2018ident_u2019}{{3.1.2}{260}{Managing the local context}{section*.1278}{}}
\newlabel{proof-engine/tactics:coq:exn.Cannot-move-_u2018ident_u2019-after-_u2018ident_u2019:-it-depends-on-_u2018ident_u2019}{{3.1.2}{260}{Managing the local context}{section*.1279}{}}
\newlabel{proof-engine/tactics:coq:tacn.rename}{{3.1.2}{261}{Managing the local context}{section*.1280}{}}
\newlabel{proof-engine/tactics:id10}{{3.1.2}{261}{Managing the local context}{section*.1281}{}}
\newlabel{proof-engine/tactics:id11}{{3.1.2}{261}{Managing the local context}{section*.1282}{}}
\newlabel{proof-engine/tactics:coq:tacn.set}{{3.1.2}{261}{Managing the local context}{section*.1283}{}}
\newlabel{proof-engine/tactics:coq:exn.The-variable-_u2018ident_u2019-is-already-defined}{{3.1.2}{262}{Managing the local context}{section*.1284}{}}
\newlabel{proof-engine/tactics:coq:tacv.eset}{{3.1.2}{262}{Managing the local context}{section*.1285}{}}
\newlabel{proof-engine/tactics:id12}{{3.1.2}{262}{Managing the local context}{section*.1286}{}}
\newlabel{proof-engine/tactics:coq:tacn.remember}{{3.1.2}{262}{Managing the local context}{section*.1287}{}}
\newlabel{proof-engine/tactics:coq:tacv.eremember}{{3.1.2}{262}{Managing the local context}{section*.1288}{}}
\newlabel{proof-engine/tactics:coq:tacn.pose}{{3.1.2}{262}{Managing the local context}{section*.1289}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose}{{3.1.2}{262}{Managing the local context}{section*.1290}{}}
\newlabel{proof-engine/tactics:id13}{{3.1.2}{262}{Managing the local context}{section*.1291}{}}
\newlabel{proof-engine/tactics:coq:tacn.decompose}{{3.1.2}{263}{Managing the local context}{section*.1292}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling the proof flow}{264}{subsubsection*.1293}\protected@file@percent }
\newlabel{proof-engine/tactics:controlling-the-proof-flow}{{3.1.2}{264}{Controlling the proof flow}{subsubsection*.1293}{}}
\newlabel{proof-engine/tactics:controllingtheproofflow}{{3.1.2}{264}{Controlling the proof flow}{subsubsection*.1293}{}}
\newlabel{proof-engine/tactics:coq:tacn.assert}{{3.1.2}{264}{Controlling the proof flow}{section*.1294}{}}
\newlabel{proof-engine/tactics:coq:exn.Not-a-proposition-or-a-type}{{3.1.2}{264}{Controlling the proof flow}{section*.1296}{}}
\newlabel{proof-engine/tactics:coq:exn.Proof-is-not-complete.-(assert)}{{3.1.2}{264}{Controlling the proof flow}{section*.1297}{}}
\newlabel{proof-engine/tactics:coq:exn.Variable-_u2018ident_u2019-is-already-declared}{{3.1.2}{264}{Controlling the proof flow}{section*.1298}{}}
\newlabel{proof-engine/tactics:coq:tacv.eassert}{{3.1.2}{264}{Controlling the proof flow}{section*.1299}{}}
\newlabel{proof-engine/tactics:coq:tacv.pose-proof}{{3.1.2}{264}{Controlling the proof flow}{section*.1300}{}}
\newlabel{proof-engine/tactics:coq:tacv.epose-proof}{{3.1.2}{264}{Controlling the proof flow}{section*.1301}{}}
\newlabel{proof-engine/tactics:coq:tacv.enough}{{3.1.2}{264}{Controlling the proof flow}{section*.1302}{}}
\newlabel{0.3.2}{{2}{264}{Controlling the proof flow}{section*.1295}{}}
\newlabel{proof-engine/tactics:coq:tacv.eenough}{{3.1.2}{265}{Controlling the proof flow}{section*.1303}{}}
\newlabel{proof-engine/tactics:id15}{{3.1.2}{265}{Controlling the proof flow}{section*.1304}{}}
\newlabel{proof-engine/tactics:coq:tacv.cut}{{3.1.2}{265}{Controlling the proof flow}{section*.1305}{}}
\newlabel{proof-engine/tactics:coq:tacv.specialize}{{3.1.2}{265}{Controlling the proof flow}{section*.1306}{}}
\newlabel{proof-engine/tactics:id16}{{3.1.2}{265}{Controlling the proof flow}{section*.1307}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-hypothesis-_u2018ident_u2019}{{3.1.2}{265}{Controlling the proof flow}{section*.1308}{}}
\newlabel{proof-engine/tactics:coq:exn._u2018ident_u2019-is-used-in-conclusion}{{3.1.2}{265}{Controlling the proof flow}{section*.1309}{}}
\newlabel{proof-engine/tactics:coq:tacn.generalize}{{3.1.2}{265}{Controlling the proof flow}{section*.1310}{}}
\newlabel{proof-engine/tactics:coq:tacn.evar}{{3.1.2}{266}{Controlling the proof flow}{section*.1311}{}}
\newlabel{proof-engine/tactics:coq:tacn.instantiate}{{3.1.2}{266}{Controlling the proof flow}{section*.1312}{}}
\newlabel{proof-engine/tactics:coq:tacn.admit}{{3.1.2}{267}{Controlling the proof flow}{section*.1313}{}}
\newlabel{proof-engine/tactics:coq:tacn.absurd}{{3.1.2}{267}{Controlling the proof flow}{section*.1314}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradiction}{{3.1.2}{267}{Controlling the proof flow}{section*.1315}{}}
\newlabel{proof-engine/tactics:id17}{{3.1.2}{267}{Controlling the proof flow}{section*.1316}{}}
\newlabel{proof-engine/tactics:coq:tacn.contradict}{{3.1.2}{267}{Controlling the proof flow}{section*.1317}{}}
\newlabel{proof-engine/tactics:coq:tacn.exfalso}{{3.1.2}{267}{Controlling the proof flow}{section*.1318}{}}
\@writefile{toc}{\contentsline {subsubsection}{Classical tactics}{267}{subsubsection*.1319}\protected@file@percent }
\newlabel{proof-engine/tactics:classical-tactics}{{3.1.2}{267}{Classical tactics}{subsubsection*.1319}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical_left}{{3.1.2}{267}{Classical tactics}{section*.1320}{}}
\newlabel{proof-engine/tactics:coq:tacn.classical_right}{{3.1.2}{267}{Classical tactics}{section*.1321}{}}
\@writefile{toc}{\contentsline {subsubsection}{Performance\sphinxhyphen {}oriented tactic variants}{268}{subsubsection*.1322}\protected@file@percent }
\newlabel{proof-engine/tactics:performance-oriented-tactic-variants}{{3.1.2}{268}{Performance\sphinxhyphen {}oriented tactic variants}{subsubsection*.1322}{}}
\newlabel{proof-engine/tactics:coq:tacn.exact_no_check}{{3.1.2}{268}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1323}{}}
\newlabel{proof-engine/tactics:coq:tacv.vm_cast_no_check}{{3.1.2}{268}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1324}{}}
\newlabel{proof-engine/tactics:coq:tacv.native_cast_no_check}{{3.1.2}{268}{Performance\sphinxhyphen {}oriented tactic variants}{section*.1325}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Reasoning with equalities}{269}{subsection.3.1.3}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:reasoning-with-equalities}{{3.1.3}{269}{Reasoning with equalities}{subsection.3.1.3}{}}
\newlabel{proofs/writing-proofs/equality::doc}{{3.1.3}{269}{Reasoning with equalities}{subsection.3.1.3}{}}
\newlabel{proofs/writing-proofs/equality:term-equality}{{3.1.3}{269}{Reasoning with equalities}{section*.1326}{}}
\newlabel{proofs/writing-proofs/equality:term-Leibniz-equality}{{3.1.3}{269}{Reasoning with equalities}{section*.1327}{}}
\newlabel{proofs/writing-proofs/equality:term-setoid-equality}{{3.1.3}{269}{Reasoning with equalities}{section*.1328}{}}
\newlabel{proofs/writing-proofs/equality:term-setoid}{{3.1.3}{269}{Reasoning with equalities}{section*.1329}{}}
\newlabel{proofs/writing-proofs/equality:term-quotient-set}{{3.1.3}{269}{Reasoning with equalities}{section*.1330}{}}
\newlabel{proofs/writing-proofs/equality:term-quotient}{{3.1.3}{269}{Reasoning with equalities}{section*.1331}{}}
\newlabel{proofs/writing-proofs/equality:term-definitional-equality}{{3.1.3}{269}{Reasoning with equalities}{section*.1332}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics for simple equalities}{269}{subsubsection*.1333}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:tactics-for-simple-equalities}{{3.1.3}{269}{Tactics for simple equalities}{subsubsection*.1333}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.reflexivity}{{3.1.3}{269}{Tactics for simple equalities}{section*.1334}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.The-relation-_u2018ident_u2019-is-not-a-declared-reflexive-relation.-Maybe-you-need-to-require-the-Coq.Classes.RelationClasses-library}{{3.1.3}{269}{Tactics for simple equalities}{section*.1335}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.symmetry}{{3.1.3}{269}{Tactics for simple equalities}{section*.1336}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.The-relation-_u2018ident_u2019-is-not-a-declared-symmetric-relation.-Maybe-you-need-to-require-the-Coq.Classes.RelationClasses-library}{{3.1.3}{269}{Tactics for simple equalities}{section*.1337}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.transitivity}{{3.1.3}{270}{Tactics for simple equalities}{section*.1338}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.etransitivity}{{3.1.3}{270}{Tactics for simple equalities}{section*.1339}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.The-relation-_u2018ident_u2019-is-not-a-declared-transitive-relation.-Maybe-you-need-to-require-the-Coq.Classes.RelationClasses-library}{{3.1.3}{270}{Tactics for simple equalities}{section*.1340}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.f_equal}{{3.1.3}{270}{Tactics for simple equalities}{section*.1341}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting with Leibniz and setoid equality}{270}{subsubsection*.1342}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:rewriting-with-leibniz-and-setoid-equality}{{3.1.3}{270}{Rewriting with Leibniz and setoid equality}{subsubsection*.1342}{}}
\newlabel{proofs/writing-proofs/equality:rewritingexpressions}{{3.1.3}{270}{Rewriting with Leibniz and setoid equality}{subsubsection*.1342}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.rewrite}{{3.1.3}{270}{Rewriting with Leibniz and setoid equality}{section*.1343}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-oriented_rewriter}{{3.1.3}{270}{Rewriting with Leibniz and setoid equality}{section*.1346}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-one_term_with_bindings}{{3.1.3}{270}{Rewriting with Leibniz and setoid equality}{section*.1347}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Tactic-failure:-Setoid-library-not-loaded}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1348}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Cannot-find-a-relation-to-rewrite}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1349}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1350}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Found-no-subterm-matching-_u2018term_u2019-in-_u2018ident_u2019}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1351}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Found-no-subterm-matching-_u2018term_u2019-in-the-current-goal}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1352}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.erewrite}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1353}{}}
\newlabel{proofs/writing-proofs/equality:coq:flag.Keyed-Unification}{{3.1.3}{271}{Rewriting with Leibniz and setoid equality}{section*.1354}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.rewrite-*}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1355}{}}
\newlabel{proofs/writing-proofs/equality:id1}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1356}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.rewrite_db}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1357}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.replace}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1358}{}}
\newlabel{proofs/writing-proofs/equality:id2}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1359}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Terms-do-not-have-convertible-types}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1360}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.cutrewrite}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1361}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.substitute}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1362}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.subst}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1363}{}}
\newlabel{proofs/writing-proofs/equality:coq:flag.Regular-Subst-Tactic}{{3.1.3}{272}{Rewriting with Leibniz and setoid equality}{section*.1364}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Cannot-find-any-non-recursive-equality-over-_u2018ident_u2019}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1365}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Section-variable-_u2018ident_u2019-occurs-implicitly-in-global-declaration-_u2018qualid_u2019-present-in-hypothesis-_u2018ident_u2019}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1366}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Section-variable-_u2018ident_u2019-occurs-implicitly-in-global-declaration-_u2018qualid_u2019-present-in-the-conclusion}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1367}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.simple-subst}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1368}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.stepl}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1369}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Declare-Left-Step}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1370}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.stepr}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1371}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Declare-Right-Step}{{3.1.3}{273}{Rewriting with Leibniz and setoid equality}{section*.1372}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting with definitional equality}{274}{subsubsection*.1373}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:rewriting-with-definitional-equality}{{3.1.3}{274}{Rewriting with definitional equality}{subsubsection*.1373}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.change}{{3.1.3}{274}{Rewriting with definitional equality}{section*.1374}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Not-convertible}{{3.1.3}{274}{Rewriting with definitional equality}{section*.1375}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Found-an-"at"-clause-without-"with"-clause}{{3.1.3}{274}{Rewriting with definitional equality}{section*.1376}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.now_show}{{3.1.3}{274}{Rewriting with definitional equality}{section*.1377}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.change_no_check}{{3.1.3}{274}{Rewriting with definitional equality}{section*.1378}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applying conversion rules}{276}{subsubsection*.1379}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:applying-conversion-rules}{{3.1.3}{276}{Applying conversion rules}{subsubsection*.1379}{}}
\newlabel{proofs/writing-proofs/equality:applyingconversionrules}{{3.1.3}{276}{Applying conversion rules}{subsubsection*.1379}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.lazy}{{3.1.3}{276}{Applying conversion rules}{section*.1380}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.cbv}{{3.1.3}{276}{Applying conversion rules}{section*.1381}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-reductions}{{3.1.3}{277}{Applying conversion rules}{section*.1385}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-reduction}{{3.1.3}{277}{Applying conversion rules}{section*.1386}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-delta_reductions}{{3.1.3}{277}{Applying conversion rules}{section*.1387}{}}
\newlabel{proofs/writing-proofs/equality:term-weak-head-normal-form}{{3.1.3}{277}{Applying conversion rules}{section*.1388}{}}
\newlabel{proofs/writing-proofs/equality:coq:flag.Kernel-Term-Sharing}{{3.1.3}{277}{Applying conversion rules}{section*.1389}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.compute}{{3.1.3}{277}{Applying conversion rules}{section*.1390}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.simpl}{{3.1.3}{278}{Applying conversion rules}{section*.1391}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-reference_occs}{{3.1.3}{278}{Applying conversion rules}{section*.1394}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-pattern_occs}{{3.1.3}{278}{Applying conversion rules}{section*.1395}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.cbn}{{3.1.3}{278}{Applying conversion rules}{section*.1396}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.hnf}{{3.1.3}{278}{Applying conversion rules}{section*.1397}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.red}{{3.1.3}{278}{Applying conversion rules}{section*.1398}{}}
\newlabel{proofs/writing-proofs/equality:term-head-constant}{{3.1.3}{279}{Applying conversion rules}{section*.1399}{}}
\newlabel{proofs/writing-proofs/equality:term-head}{{3.1.3}{279}{Applying conversion rules}{section*.1400}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.No-head-constant-to-reduce}{{3.1.3}{279}{Applying conversion rules}{section*.1401}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.unfold}{{3.1.3}{279}{Applying conversion rules}{section*.1402}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Cannot-turn-_inductive|constructor_-into-an-evaluable-reference}{{3.1.3}{279}{Applying conversion rules}{section*.1403}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn._u2018ident_u2019-is-opaque}{{3.1.3}{279}{Applying conversion rules}{section*.1404}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.Bad-occurrence-number-of-_u2018qualid_u2019}{{3.1.3}{280}{Applying conversion rules}{section*.1405}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn._u2018qualid_u2019-does-not-occur}{{3.1.3}{280}{Applying conversion rules}{section*.1406}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.fold}{{3.1.3}{280}{Applying conversion rules}{section*.1407}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.pattern}{{3.1.3}{281}{Applying conversion rules}{section*.1408}{}}
\@writefile{toc}{\contentsline {paragraph}{Fast reduction tactics: vm\_compute and native\_compute}{282}{paragraph*.1409}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:fast-reduction-tactics-vm-compute-and-native-compute}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{paragraph*.1409}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.vm_compute}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{section*.1410}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.native_compute}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{section*.1411}{}}
\newlabel{proofs/writing-proofs/equality:coq:flag.NativeCompute-Timing}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{section*.1412}{}}
\newlabel{proofs/writing-proofs/equality:coq:flag.NativeCompute-Profiling}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{section*.1413}{}}
\newlabel{proofs/writing-proofs/equality:coq:opt.NativeCompute-Profile-Filename}{{3.1.3}{282}{Fast reduction tactics: vm\_compute and native\_compute}{section*.1414}{}}
\@writefile{toc}{\contentsline {paragraph}{Computing in a term: eval and Eval}{283}{paragraph*.1415}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:computing-in-a-term-eval-and-eval}{{3.1.3}{283}{Computing in a term: eval and Eval}{paragraph*.1415}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.eval}{{3.1.3}{283}{Computing in a term: eval and Eval}{section*.1416}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-red_expr}{{3.1.3}{283}{Computing in a term: eval and Eval}{section*.1418}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Eval}{{3.1.3}{283}{Computing in a term: eval and Eval}{section*.1419}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Compute}{{3.1.3}{283}{Computing in a term: eval and Eval}{section*.1420}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Declare-Reduction}{{3.1.3}{283}{Computing in a term: eval and Eval}{section*.1421}{}}
\@writefile{toc}{\contentsline {subsubsection}{Controlling reduction strategies and the conversion algorithm}{284}{subsubsection*.1422}\protected@file@percent }
\newlabel{proofs/writing-proofs/equality:controlling-reduction-strategies-and-the-conversion-algorithm}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{subsubsection*.1422}{}}
\newlabel{proofs/writing-proofs/equality:controlling-the-reduction-strategies}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{subsubsection*.1422}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Opaque}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1423}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Transparent}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1424}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.The-reference-_u2018qualid_u2019-was-not-found-in-the-current-environment}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1425}{}}
\newlabel{proofs/writing-proofs/equality:vernac-strategy}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1426}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Strategy}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1427}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-strategy_level}{{3.1.3}{284}{Controlling reduction strategies and the conversion algorithm}{section*.1429}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Print-Strategy}{{3.1.3}{285}{Controlling reduction strategies and the conversion algorithm}{section*.1430}{}}
\newlabel{proofs/writing-proofs/equality:coq:exn.The-reference-is-not-unfoldable}{{3.1.3}{285}{Controlling reduction strategies and the conversion algorithm}{section*.1431}{}}
\newlabel{proofs/writing-proofs/equality:coq:cmd.Print-Strategies}{{3.1.3}{285}{Controlling reduction strategies and the conversion algorithm}{section*.1432}{}}
\newlabel{proofs/writing-proofs/equality:coq:tacn.with_strategy}{{3.1.3}{285}{Controlling reduction strategies and the conversion algorithm}{section*.1433}{}}
\newlabel{proofs/writing-proofs/equality:grammar-token-strategy_level_or_var}{{3.1.3}{285}{Controlling reduction strategies and the conversion algorithm}{section*.1435}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Reasoning with inductive types}{287}{subsection.3.1.4}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:reasoning-with-inductive-types}{{3.1.4}{287}{Reasoning with inductive types}{subsection.3.1.4}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives::doc}{{3.1.4}{287}{Reasoning with inductive types}{subsection.3.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Applying constructors}{287}{subsubsection*.1436}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:applying-constructors}{{3.1.4}{287}{Applying constructors}{subsubsection*.1436}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.constructor}{{3.1.4}{287}{Applying constructors}{section*.1437}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-an-inductive-product}{{3.1.4}{288}{Applying constructors}{section*.1438}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-enough-constructors}{{3.1.4}{288}{Applying constructors}{section*.1439}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.The-type-has-no-constructors}{{3.1.4}{288}{Applying constructors}{section*.1440}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.split}{{3.1.4}{288}{Applying constructors}{section*.1441}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.exists}{{3.1.4}{288}{Applying constructors}{section*.1442}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-an-inductive-goal-with-1-constructor}{{3.1.4}{288}{Applying constructors}{section*.1443}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.left}{{3.1.4}{288}{Applying constructors}{section*.1444}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.right}{{3.1.4}{288}{Applying constructors}{section*.1445}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-an-inductive-goal-with-2-constructors}{{3.1.4}{288}{Applying constructors}{section*.1446}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.econstructor}{{3.1.4}{288}{Applying constructors}{section*.1447}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.eexists}{{3.1.4}{288}{Applying constructors}{section*.1448}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.esplit}{{3.1.4}{288}{Applying constructors}{section*.1449}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.eleft}{{3.1.4}{288}{Applying constructors}{section*.1450}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.eright}{{3.1.4}{288}{Applying constructors}{section*.1451}{}}
\@writefile{toc}{\contentsline {subsubsection}{Case analysis}{289}{subsubsection*.1452}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:case-analysis}{{3.1.4}{289}{Case analysis}{subsubsection*.1452}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:caseanalysisandinduction}{{3.1.4}{289}{Case analysis}{subsubsection*.1452}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.destruct}{{3.1.4}{289}{Case analysis}{section*.1453}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-induction_clause}{{3.1.4}{289}{Case analysis}{section*.1456}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-induction_arg}{{3.1.4}{289}{Case analysis}{section*.1457}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:example-destruct-ind-concl}{{3.1.4}{290}{Case analysis}{section*.1458}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.edestruct}{{3.1.4}{291}{Case analysis}{section*.1459}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.case}{{3.1.4}{291}{Case analysis}{section*.1460}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.ecase}{{3.1.4}{291}{Case analysis}{section*.1461}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.case_eq}{{3.1.4}{291}{Case analysis}{section*.1462}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.casetype}{{3.1.4}{291}{Case analysis}{section*.1463}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.simple-destruct}{{3.1.4}{291}{Case analysis}{section*.1464}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-destruction}{{3.1.4}{292}{Case analysis}{section*.1465}{}}
\@writefile{toc}{\contentsline {subsubsection}{Induction}{292}{subsubsection*.1466}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:induction}{{3.1.4}{292}{Induction}{subsubsection*.1466}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.induction}{{3.1.4}{292}{Induction}{section*.1467}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-induction_principle}{{3.1.4}{292}{Induction}{section*.1469}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:id1}{{3.1.4}{292}{Induction}{section*.1470}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Unable-to-find-an-instance-for-the-variables-_u2018ident_u2019-_u2026-_u2018ident_u2019}{{3.1.4}{292}{Induction}{section*.1471}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.einduction}{{3.1.4}{293}{Induction}{section*.1472}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.elim}{{3.1.4}{294}{Induction}{section*.1473}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.eelim}{{3.1.4}{294}{Induction}{section*.1474}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.elimtype}{{3.1.4}{294}{Induction}{section*.1475}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.simple-induction}{{3.1.4}{294}{Induction}{section*.1476}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-induction}{{3.1.4}{294}{Induction}{section*.1477}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.fix}{{3.1.4}{295}{Induction}{section*.1478}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-simple_binder}{{3.1.4}{296}{Induction}{section*.1480}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.cofix}{{3.1.4}{296}{Induction}{section*.1481}{}}
\@writefile{toc}{\contentsline {subsubsection}{Equality of inductive types}{296}{subsubsection*.1482}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:equality-of-inductive-types}{{3.1.4}{296}{Equality of inductive types}{subsubsection*.1482}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:equality-inductive-types}{{3.1.4}{296}{Equality of inductive types}{subsubsection*.1482}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.discriminate}{{3.1.4}{296}{Equality of inductive types}{section*.1483}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.No-primitive-equality-found}{{3.1.4}{297}{Equality of inductive types}{section*.1484}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-a-discriminable-equality}{{3.1.4}{297}{Equality of inductive types}{section*.1485}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.ediscriminate}{{3.1.4}{297}{Equality of inductive types}{section*.1486}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.injection}{{3.1.4}{297}{Equality of inductive types}{section*.1487}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.No-information-can-be-deduced-from-this-equality-and-the-injectivity-of-constructors.-This-may-be-because-the-terms-are-convertible,-or-due-to-pattern-matching-restrictions-in-the-sort-Prop.-You-can-try-to-use-option-Set-Keep-Proof-Equalities}{{3.1.4}{298}{Equality of inductive types}{section*.1488}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:id4}{{3.1.4}{298}{Equality of inductive types}{section*.1489}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Not-a-negated-primitive-equality}{{3.1.4}{298}{Equality of inductive types}{section*.1490}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Nothing-to-inject}{{3.1.4}{298}{Equality of inductive types}{section*.1491}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.einjection}{{3.1.4}{298}{Equality of inductive types}{section*.1492}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Structural-Injection}{{3.1.4}{298}{Equality of inductive types}{section*.1493}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Keep-Proof-Equalities}{{3.1.4}{299}{Equality of inductive types}{section*.1494}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:table.Keep-Equalities}{{3.1.4}{299}{Equality of inductive types}{section*.1495}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.simplify_eq}{{3.1.4}{299}{Equality of inductive types}{section*.1496}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.esimplify_eq}{{3.1.4}{299}{Equality of inductive types}{section*.1497}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.inversion}{{3.1.4}{299}{Equality of inductive types}{section*.1498}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:id5}{{3.1.4}{299}{Equality of inductive types}{section*.1499}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:term-inductively-defined-proposition}{{3.1.4}{299}{Equality of inductive types}{section*.1500}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:inversion-intropattern-ex}{{3.1.4}{300}{Equality of inductive types}{section*.1501}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.inversion_clear}{{3.1.4}{300}{Equality of inductive types}{section*.1502}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.simple-inversion}{{3.1.4}{300}{Equality of inductive types}{section*.1503}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-inversion}{{3.1.4}{301}{Equality of inductive types}{section*.1504}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-inversion_clear}{{3.1.4}{301}{Equality of inductive types}{section*.1505}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-simple-inversion}{{3.1.4}{301}{Equality of inductive types}{section*.1506}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.inversion_sigma}{{3.1.4}{301}{Equality of inductive types}{section*.1507}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn.Type-of-_u2018ident_u2019-is-not-an-equality-of-recognized-_u03a3-types:-expected-one-of-sig-sig2-sigT-sigT2-sigT2-ex-or-ex2-but-got-_u2018term_u2019}{{3.1.4}{301}{Equality of inductive types}{section*.1508}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:exn._u2018ident_u2019-is-not-an-equality-of-_u03a3-types}{{3.1.4}{301}{Equality of inductive types}{section*.1509}{}}
\@writefile{toc}{\contentsline {paragraph}{Helper tactics}{305}{paragraph*.1510}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:helper-tactics}{{3.1.4}{305}{Helper tactics}{paragraph*.1510}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.decide-equality}{{3.1.4}{305}{Helper tactics}{section*.1511}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.compare}{{3.1.4}{305}{Helper tactics}{section*.1512}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:tacn.dependent-rewrite}{{3.1.4}{305}{Helper tactics}{section*.1513}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{305}{subsubsection*.1514}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:generation-of-induction-principles-with-scheme}{{3.1.4}{305}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1514}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:proofschemes-induction-principles}{{3.1.4}{305}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.1514}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Scheme}{{3.1.4}{305}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1515}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-scheme_kind}{{3.1.4}{305}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1518}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:grammar-token-sort_family}{{3.1.4}{305}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.1519}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic declaration of schemes}{307}{paragraph*.1520}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:automatic-declaration-of-schemes}{{3.1.4}{307}{Automatic declaration of schemes}{paragraph*.1520}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Elimination-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1521}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Nonrecursive-Elimination-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1522}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Case-Analysis-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1523}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Boolean-Equality-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1524}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Decidable-Equality-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1525}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:flag.Rewriting-Schemes}{{3.1.4}{307}{Automatic declaration of schemes}{section*.1526}{}}
\@writefile{toc}{\contentsline {paragraph}{Combined Scheme}{307}{paragraph*.1527}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:combined-scheme}{{3.1.4}{307}{Combined Scheme}{paragraph*.1527}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Combined-Scheme}{{3.1.4}{307}{Combined Scheme}{section*.1528}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{309}{subsubsection*.1529}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:generation-of-inversion-principles-with-derive-inversion}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1529}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:derive-inversion}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{subsubsection*.1529}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Derive-Inversion}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1530}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Derive-Inversion_clear}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1531}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Derive-Dependent-Inversion}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1532}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:coq:cmd.Derive-Dependent-Inversion_clear}{{3.1.4}{309}{Generation of inversion principles with \sphinxstyleliteralintitle {\sphinxupquote {Derive}} \sphinxstyleliteralintitle {\sphinxupquote {Inversion}}}{section*.1533}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples of \sphinxstyleliteralintitle {\sphinxupquote {dependent destruction}} / \sphinxstyleliteralintitle {\sphinxupquote {dependent induction}}}{310}{subsubsection*.1534}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:examples-of-dependent-destruction-dependent-induction}{{3.1.4}{310}{Examples of \sphinxstyleliteralintitle {\sphinxupquote {dependent destruction}} / \sphinxstyleliteralintitle {\sphinxupquote {dependent induction}}}{subsubsection*.1534}{}}
\newlabel{proofs/writing-proofs/reasoning-inductives:dependent-induction-examples}{{3.1.4}{310}{Examples of \sphinxstyleliteralintitle {\sphinxupquote {dependent destruction}} / \sphinxstyleliteralintitle {\sphinxupquote {dependent induction}}}{subsubsection*.1534}{}}
\@writefile{toc}{\contentsline {paragraph}{A larger example}{312}{paragraph*.1535}\protected@file@percent }
\newlabel{proofs/writing-proofs/reasoning-inductives:a-larger-example}{{3.1.4}{312}{A larger example}{paragraph*.1535}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}The SSReflect proof language}{315}{subsection.3.1.5}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-ssr-proof-language}{{3.1.5}{315}{The SSReflect proof language}{subsection.3.1.5}{}}
\newlabel{proof-engine/ssreflect-proof-language:thessreflectprooflanguage}{{3.1.5}{315}{The SSReflect proof language}{subsection.3.1.5}{}}
\newlabel{proof-engine/ssreflect-proof-language::doc}{{3.1.5}{315}{The SSReflect proof language}{subsection.3.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction}{315}{subsubsection*.1536}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction}{{3.1.5}{315}{Introduction}{subsubsection*.1536}{}}
\@writefile{toc}{\contentsline {paragraph}{Acknowledgments}{316}{paragraph*.1537}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:acknowledgments}{{3.1.5}{316}{Acknowledgments}{paragraph*.1537}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{316}{subsubsection*.1538}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:usage}{{3.1.5}{316}{Usage}{subsubsection*.1538}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting started}{316}{paragraph*.1539}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:getting-started}{{3.1.5}{316}{Getting started}{paragraph*.1539}{}}
\@writefile{toc}{\contentsline {paragraph}{Compatibility issues}{317}{paragraph*.1540}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues}{{3.1.5}{317}{Compatibility issues}{paragraph*.1540}{}}
\newlabel{proof-engine/ssreflect-proof-language:compatibility-issues-ssr}{{3.1.5}{317}{Compatibility issues}{paragraph*.1540}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrRewrite}{{3.1.5}{317}{Compatibility issues}{section*.1541}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrIdents}{{3.1.5}{317}{Compatibility issues}{section*.1542}{}}
\@writefile{toc}{\contentsline {subsubsection}{Gallina extensions}{318}{subsubsection*.1543}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:gallina-extensions}{{3.1.5}{318}{Gallina extensions}{subsubsection*.1543}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern assignment}{318}{paragraph*.1544}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-assignment}{{3.1.5}{318}{Pattern assignment}{paragraph*.1544}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.5}{318}{Pattern assignment}{section*.1546}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.5}{318}{Pattern assignment}{section*.1548}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern conditional}{319}{paragraph*.1549}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional}{{3.1.5}{319}{Pattern conditional}{paragraph*.1549}{}}
\newlabel{proof-engine/ssreflect-proof-language:pattern-conditional-ssr}{{3.1.5}{319}{Pattern conditional}{paragraph*.1549}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.5}{319}{Pattern conditional}{section*.1551}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.5}{320}{Pattern conditional}{section*.1553}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-term}{{3.1.5}{320}{Pattern conditional}{section*.1555}{}}
\@writefile{toc}{\contentsline {paragraph}{Parametric polymorphism}{320}{paragraph*.1556}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism}{{3.1.5}{320}{Parametric polymorphism}{paragraph*.1556}{}}
\newlabel{proof-engine/ssreflect-proof-language:parametric-polymorphism-ssr}{{3.1.5}{320}{Parametric polymorphism}{paragraph*.1556}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Prenex-Implicits}{{3.1.5}{320}{Parametric polymorphism}{section*.1557}{}}
\@writefile{toc}{\contentsline {paragraph}{Anonymous arguments}{321}{paragraph*.1558}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:anonymous-arguments}{{3.1.5}{321}{Anonymous arguments}{paragraph*.1558}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-binder}{{3.1.5}{321}{Anonymous arguments}{section*.1560}{}}
\@writefile{toc}{\contentsline {paragraph}{Wildcards}{321}{paragraph*.1561}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards}{{3.1.5}{321}{Wildcards}{paragraph*.1561}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{321}{paragraph*.1562}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:definitions}{{3.1.5}{321}{Definitions}{paragraph*.1562}{}}
\newlabel{proof-engine/ssreflect-proof-language:definitions-ssr}{{3.1.5}{321}{Definitions}{paragraph*.1562}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.pose-(ssreflect)}{{3.1.5}{321}{Definitions}{section*.1563}{}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{323}{paragraph*.1564}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:abbreviations}{{3.1.5}{323}{Abbreviations}{paragraph*.1564}{}}
\newlabel{proof-engine/ssreflect-proof-language:abbreviations-ssr}{{3.1.5}{323}{Abbreviations}{paragraph*.1564}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.set-(ssreflect)}{{3.1.5}{323}{Abbreviations}{section*.1565}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ_switch}{{3.1.5}{323}{Abbreviations}{section*.1567}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching}{324}{subparagraph*.1568}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching}{{3.1.5}{324}{Matching}{subparagraph*.1568}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection}{326}{subparagraph*.1569}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection}{{3.1.5}{326}{Occurrence selection}{subparagraph*.1569}{}}
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-ssr}{{3.1.5}{326}{Occurrence selection}{subparagraph*.1569}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic localization}{328}{paragraph*.1570}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-localization}{{3.1.5}{328}{Basic localization}{paragraph*.1570}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-localization-ssr}{{3.1.5}{328}{Basic localization}{paragraph*.1570}{}}
\@writefile{toc}{\contentsline {subsubsection}{Basic tactics}{329}{subsubsection*.1571}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics}{{3.1.5}{329}{Basic tactics}{subsubsection*.1571}{}}
\newlabel{proof-engine/ssreflect-proof-language:basic-tactics-ssr}{{3.1.5}{329}{Basic tactics}{subsubsection*.1571}{}}
\@writefile{toc}{\contentsline {paragraph}{Bookkeeping}{329}{paragraph*.1572}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping}{{3.1.5}{329}{Bookkeeping}{paragraph*.1572}{}}
\newlabel{proof-engine/ssreflect-proof-language:bookkeeping-ssr}{{3.1.5}{329}{Bookkeeping}{paragraph*.1572}{}}
\@writefile{toc}{\contentsline {paragraph}{The defective tactics}{332}{paragraph*.1573}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics}{{3.1.5}{332}{The defective tactics}{paragraph*.1573}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-defective-tactics-ssr}{{3.1.5}{332}{The defective tactics}{paragraph*.1573}{}}
\@writefile{toc}{\contentsline {subparagraph}{The move tactic.}{332}{subparagraph*.1574}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-move-tactic}{{3.1.5}{332}{The move tactic}{subparagraph*.1574}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.move-(ssreflect)}{{3.1.5}{332}{The move tactic}{section*.1575}{}}
\@writefile{toc}{\contentsline {subparagraph}{The case tactic}{333}{subparagraph*.1576}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic}{{3.1.5}{333}{The case tactic}{subparagraph*.1576}{}}
\newlabel{proof-engine/ssreflect-proof-language:the-case-tactic-ssr}{{3.1.5}{333}{The case tactic}{subparagraph*.1576}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.case-(ssreflect)}{{3.1.5}{333}{The case tactic}{section*.1577}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-...}{{3.1.5}{333}{The case tactic}{section*.1578}{}}
\@writefile{toc}{\contentsline {subparagraph}{The elim tactic}{333}{subparagraph*.1579}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-elim-tactic}{{3.1.5}{333}{The elim tactic}{subparagraph*.1579}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.elim-(ssreflect)}{{3.1.5}{333}{The elim tactic}{section*.1580}{}}
\@writefile{toc}{\contentsline {subparagraph}{The apply tactic}{334}{subparagraph*.1581}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-apply-tactic}{{3.1.5}{334}{The apply tactic}{subparagraph*.1581}{}}
\newlabel{proof-engine/ssreflect-proof-language:apply-ssr}{{3.1.5}{334}{The apply tactic}{subparagraph*.1581}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.apply-(ssreflect)}{{3.1.5}{334}{The apply tactic}{section*.1582}{}}
\@writefile{toc}{\contentsline {paragraph}{Discharge}{335}{paragraph*.1583}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:discharge}{{3.1.5}{335}{Discharge}{paragraph*.1583}{}}
\newlabel{proof-engine/ssreflect-proof-language:discharge-ssr}{{3.1.5}{335}{Discharge}{paragraph*.1583}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn._u2026-:-_u2026-(ssreflect)}{{3.1.5}{335}{Discharge}{section*.1584}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_item}{{3.1.5}{335}{Discharge}{section*.1586}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear_switch}{{3.1.5}{335}{Discharge}{section*.1588}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear rules}{336}{subparagraph*.1589}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-rules}{{3.1.5}{336}{Clear rules}{subparagraph*.1589}{}}
\@writefile{toc}{\contentsline {subparagraph}{Matching for apply and exact}{336}{subparagraph*.1590}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-for-apply-and-exact}{{3.1.5}{336}{Matching for apply and exact}{subparagraph*.1590}{}}
\@writefile{toc}{\contentsline {subparagraph}{The abstract tactic}{337}{subparagraph*.1591}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-abstract-tactic}{{3.1.5}{337}{The abstract tactic}{subparagraph*.1591}{}}
\newlabel{proof-engine/ssreflect-proof-language:abstract-ssr}{{3.1.5}{337}{The abstract tactic}{subparagraph*.1591}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.abstract-(ssreflect)}{{3.1.5}{337}{The abstract tactic}{section*.1592}{}}
\@writefile{toc}{\contentsline {paragraph}{Introduction in the context}{338}{paragraph*.1593}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:introduction-in-the-context}{{3.1.5}{338}{Introduction in the context}{paragraph*.1593}{}}
\newlabel{proof-engine/ssreflect-proof-language:introduction-ssr}{{3.1.5}{338}{Introduction in the context}{paragraph*.1593}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.=>}{{3.1.5}{338}{Introduction in the context}{section*.1594}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_item}{{3.1.5}{338}{Introduction in the context}{section*.1596}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s_item}{{3.1.5}{338}{Introduction in the context}{section*.1598}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_view}{{3.1.5}{338}{Introduction in the context}{section*.1600}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_pattern}{{3.1.5}{338}{Introduction in the context}{section*.1602}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_block}{{3.1.5}{338}{Introduction in the context}{section*.1604}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simplification items}{338}{subparagraph*.1605}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:simplification-items}{{3.1.5}{338}{Simplification items}{subparagraph*.1605}{}}
\@writefile{toc}{\contentsline {subparagraph}{Views}{339}{subparagraph*.1606}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views}{{3.1.5}{339}{Views}{subparagraph*.1606}{}}
\@writefile{toc}{\contentsline {subparagraph}{Intro patterns}{339}{subparagraph*.1607}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:intro-patterns}{{3.1.5}{339}{Intro patterns}{subparagraph*.1607}{}}
\@writefile{toc}{\contentsline {subparagraph}{Clear switch}{340}{subparagraph*.1608}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:clear-switch}{{3.1.5}{340}{Clear switch}{subparagraph*.1608}{}}
\@writefile{toc}{\contentsline {subparagraph}{Branching and destructuring}{341}{subparagraph*.1609}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:branching-and-destructuring}{{3.1.5}{341}{Branching and destructuring}{subparagraph*.1609}{}}
\@writefile{toc}{\contentsline {subparagraph}{Block introduction}{341}{subparagraph*.1610}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:block-introduction}{{3.1.5}{341}{Block introduction}{subparagraph*.1610}{}}
\@writefile{toc}{\contentsline {paragraph}{Generation of equations}{342}{paragraph*.1611}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations}{{3.1.5}{342}{Generation of equations}{paragraph*.1611}{}}
\newlabel{proof-engine/ssreflect-proof-language:generation-of-equations-ssr}{{3.1.5}{342}{Generation of equations}{paragraph*.1611}{}}
\@writefile{toc}{\contentsline {paragraph}{Type families}{344}{paragraph*.1612}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:type-families}{{3.1.5}{344}{Type families}{paragraph*.1612}{}}
\newlabel{proof-engine/ssreflect-proof-language:type-families-ssr}{{3.1.5}{344}{Type families}{paragraph*.1612}{}}
\@writefile{toc}{\contentsline {subsubsection}{Control flow}{347}{subsubsection*.1613}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:control-flow}{{3.1.5}{347}{Control flow}{subsubsection*.1613}{}}
\@writefile{toc}{\contentsline {paragraph}{Indentation and bullets}{347}{paragraph*.1614}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:indentation-and-bullets}{{3.1.5}{347}{Indentation and bullets}{paragraph*.1614}{}}
\newlabel{proof-engine/ssreflect-proof-language:indentation-ssr}{{3.1.5}{347}{Indentation and bullets}{paragraph*.1614}{}}
\@writefile{toc}{\contentsline {paragraph}{Terminators}{347}{paragraph*.1615}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:terminators}{{3.1.5}{347}{Terminators}{paragraph*.1615}{}}
\newlabel{proof-engine/ssreflect-proof-language:terminators-ssr}{{3.1.5}{347}{Terminators}{paragraph*.1615}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.by}{{3.1.5}{347}{Terminators}{section*.1616}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.done}{{3.1.5}{347}{Terminators}{section*.1617}{}}
\@writefile{toc}{\contentsline {paragraph}{Selectors}{349}{paragraph*.1618}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:selectors}{{3.1.5}{349}{Selectors}{paragraph*.1618}{}}
\newlabel{proof-engine/ssreflect-proof-language:selectors-ssr}{{3.1.5}{349}{Selectors}{paragraph*.1618}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.last}{{3.1.5}{349}{Selectors}{section*.1619}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.first-(ssreflect)}{{3.1.5}{349}{Selectors}{section*.1620}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.last-first}{{3.1.5}{349}{Selectors}{section*.1621}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacv.first-last}{{3.1.5}{349}{Selectors}{section*.1622}{}}
\newlabel{proof-engine/ssreflect-proof-language:id11}{{3.1.5}{349}{Selectors}{section*.1623}{}}
\@writefile{toc}{\contentsline {paragraph}{Iteration}{350}{paragraph*.1624}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:iteration}{{3.1.5}{350}{Iteration}{paragraph*.1624}{}}
\newlabel{proof-engine/ssreflect-proof-language:iteration-ssr}{{3.1.5}{350}{Iteration}{paragraph*.1624}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.do-(ssreflect)}{{3.1.5}{350}{Iteration}{section*.1625}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.5}{350}{Iteration}{section*.1627}{}}
\@writefile{toc}{\contentsline {paragraph}{Localization}{351}{paragraph*.1628}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:localization}{{3.1.5}{351}{Localization}{paragraph*.1628}{}}
\newlabel{proof-engine/ssreflect-proof-language:localization-ssr}{{3.1.5}{351}{Localization}{paragraph*.1628}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.in}{{3.1.5}{351}{Localization}{section*.1629}{}}
\@writefile{toc}{\contentsline {paragraph}{Structure}{352}{paragraph*.1630}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:structure}{{3.1.5}{352}{Structure}{paragraph*.1630}{}}
\newlabel{proof-engine/ssreflect-proof-language:structure-ssr}{{3.1.5}{352}{Structure}{paragraph*.1630}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic.}{352}{subparagraph*.1631}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic}{{3.1.5}{352}{The have tactic}{subparagraph*.1631}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.have}{{3.1.5}{352}{The have tactic}{section*.1632}{}}
\newlabel{proof-engine/ssreflect-proof-language:id12}{{3.1.5}{353}{The have tactic}{section*.1633}{}}
\@writefile{toc}{\contentsline {subparagraph}{Generating let in context entries with have}{356}{subparagraph*.1634}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:generating-let-in-context-entries-with-have}{{3.1.5}{356}{Generating let in context entries with have}{subparagraph*.1634}{}}
\newlabel{proof-engine/ssreflect-proof-language:generating-let-ssr}{{3.1.5}{356}{Generating let in context entries with have}{subparagraph*.1634}{}}
\@writefile{toc}{\contentsline {subparagraph}{The have tactic and typeclass resolution}{358}{subparagraph*.1635}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-have-tactic-and-typeclass-resolution}{{3.1.5}{358}{The have tactic and typeclass resolution}{subparagraph*.1635}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrHave-NoTCResolution}{{3.1.5}{359}{The have tactic and typeclass resolution}{section*.1636}{}}
\@writefile{toc}{\contentsline {subparagraph}{Variants: the suff and wlog tactics}{359}{subparagraph*.1637}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:variants-the-suff-and-wlog-tactics}{{3.1.5}{359}{Variants: the suff and wlog tactics}{subparagraph*.1637}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.wlog}{{3.1.5}{360}{Variants: the suff and wlog tactics}{section*.1638}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.without-loss}{{3.1.5}{360}{Variants: the suff and wlog tactics}{section*.1639}{}}
\@writefile{toc}{\contentsline {subparagraph}{Advanced generalization}{361}{subparagraph*.1640}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization}{{3.1.5}{361}{Advanced generalization}{subparagraph*.1640}{}}
\newlabel{proof-engine/ssreflect-proof-language:advanced-generalization-ssr}{{3.1.5}{361}{Advanced generalization}{subparagraph*.1640}{}}
\@writefile{toc}{\contentsline {subsubsection}{Rewriting}{363}{subsubsection*.1641}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting}{{3.1.5}{363}{Rewriting}{subsubsection*.1641}{}}
\newlabel{proof-engine/ssreflect-proof-language:rewriting-ssr}{{3.1.5}{363}{Rewriting}{subsubsection*.1641}{}}
\@writefile{toc}{\contentsline {paragraph}{An extended rewrite tactic}{363}{paragraph*.1642}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:an-extended-rewrite-tactic}{{3.1.5}{363}{An extended rewrite tactic}{paragraph*.1642}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.rewrite-(ssreflect)}{{3.1.5}{363}{An extended rewrite tactic}{section*.1643}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-rstep}{{3.1.5}{363}{An extended rewrite tactic}{section*.1645}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_prefix}{{3.1.5}{363}{An extended rewrite tactic}{section*.1647}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_pattern}{{3.1.5}{363}{An extended rewrite tactic}{section*.1649}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_item}{{3.1.5}{363}{An extended rewrite tactic}{section*.1651}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.SsrOldRewriteGoalsOrder}{{3.1.5}{365}{An extended rewrite tactic}{section*.1652}{}}
\@writefile{toc}{\contentsline {paragraph}{Remarks and examples}{365}{paragraph*.1653}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:remarks-and-examples}{{3.1.5}{365}{Remarks and examples}{paragraph*.1653}{}}
\@writefile{toc}{\contentsline {subparagraph}{Rewrite redex selection}{365}{subparagraph*.1654}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewrite-redex-selection}{{3.1.5}{365}{Rewrite redex selection}{subparagraph*.1654}{}}
\@writefile{toc}{\contentsline {subparagraph}{Chained rewrite steps}{366}{subparagraph*.1655}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:chained-rewrite-steps}{{3.1.5}{366}{Chained rewrite steps}{subparagraph*.1655}{}}
\@writefile{toc}{\contentsline {subparagraph}{Explicit redex switches are matched first}{367}{subparagraph*.1656}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:explicit-redex-switches-are-matched-first}{{3.1.5}{367}{Explicit redex switches are matched first}{subparagraph*.1656}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence switches and redex switches}{367}{subparagraph*.1657}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-switches-and-redex-switches}{{3.1.5}{367}{Occurrence switches and redex switches}{subparagraph*.1657}{}}
\newlabel{proof-engine/ssreflect-proof-language:ssr-rewrite-occ-switch}{{3.1.5}{367}{Occurrence switches and redex switches}{subparagraph*.1657}{}}
\@writefile{toc}{\contentsline {subparagraph}{Occurrence selection and repetition}{368}{subparagraph*.1658}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:occurrence-selection-and-repetition}{{3.1.5}{368}{Occurrence selection and repetition}{subparagraph*.1658}{}}
\@writefile{toc}{\contentsline {subparagraph}{Multi\sphinxhyphen {}rule rewriting}{369}{subparagraph*.1659}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multi-rule-rewriting}{{3.1.5}{369}{Multi\sphinxhyphen {}rule rewriting}{subparagraph*.1659}{}}
\@writefile{toc}{\contentsline {subparagraph}{Wildcards vs abstractions}{372}{subparagraph*.1660}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:wildcards-vs-abstractions}{{3.1.5}{372}{Wildcards vs abstractions}{subparagraph*.1660}{}}
\@writefile{toc}{\contentsline {subparagraph}{When SSReflect rewrite fails on standard Coq licit rewrite}{373}{subparagraph*.1661}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:when-ssr-rewrite-fails-on-standard-coq-licit-rewrite}{{3.1.5}{373}{When SSReflect rewrite fails on standard Coq licit rewrite}{subparagraph*.1661}{}}
\@writefile{toc}{\contentsline {subparagraph}{Existential metavariables and rewriting}{374}{subparagraph*.1662}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:existential-metavariables-and-rewriting}{{3.1.5}{374}{Existential metavariables and rewriting}{subparagraph*.1662}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{375}{paragraph*.1663}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:rewriting-under-binders}{{3.1.5}{375}{Rewriting under binders}{paragraph*.1663}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-ssr}{{3.1.5}{375}{Rewriting under binders}{paragraph*.1663}{}}
\@writefile{toc}{\contentsline {subparagraph}{The under tactic}{377}{subparagraph*.1664}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-under-tactic}{{3.1.5}{377}{The under tactic}{subparagraph*.1664}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.under}{{3.1.5}{377}{The under tactic}{section*.1665}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)}{{3.1.5}{377}{The under tactic}{section*.1666}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interactive mode}{377}{subparagraph*.1667}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interactive-mode}{{3.1.5}{377}{Interactive mode}{subparagraph*.1667}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-interactive}{{3.1.5}{377}{Interactive mode}{subparagraph*.1667}{}}
\@writefile{toc}{\contentsline {subparagraph}{The over tactic}{378}{subparagraph*.1668}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-over-tactic}{{3.1.5}{378}{The over tactic}{subparagraph*.1668}{}}
\newlabel{proof-engine/ssreflect-proof-language:over-ssr}{{3.1.5}{378}{The over tactic}{subparagraph*.1668}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.over}{{3.1.5}{378}{The over tactic}{section*.1669}{}}
\@writefile{toc}{\contentsline {subparagraph}{One\sphinxhyphen {}liner mode}{379}{subparagraph*.1670}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:one-liner-mode}{{3.1.5}{379}{One\sphinxhyphen {}liner mode}{subparagraph*.1670}{}}
\newlabel{proof-engine/ssreflect-proof-language:under-one-liner}{{3.1.5}{379}{One\sphinxhyphen {}liner mode}{subparagraph*.1670}{}}
\@writefile{toc}{\contentsline {paragraph}{Locking, unlocking}{380}{paragraph*.1671}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:locking-unlocking}{{3.1.5}{380}{Locking, unlocking}{paragraph*.1671}{}}
\newlabel{proof-engine/ssreflect-proof-language:locking-ssr}{{3.1.5}{380}{Locking, unlocking}{paragraph*.1671}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.unlock}{{3.1.5}{381}{Locking, unlocking}{section*.1672}{}}
\@writefile{toc}{\contentsline {paragraph}{Congruence}{382}{paragraph*.1673}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:congruence}{{3.1.5}{382}{Congruence}{paragraph*.1673}{}}
\newlabel{proof-engine/ssreflect-proof-language:congruence-ssr}{{3.1.5}{382}{Congruence}{paragraph*.1673}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.congr}{{3.1.5}{382}{Congruence}{section*.1674}{}}
\@writefile{toc}{\contentsline {subsubsection}{Contextual patterns}{384}{subsubsection*.1675}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns}{{3.1.5}{384}{Contextual patterns}{subsubsection*.1675}{}}
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-ssr}{{3.1.5}{384}{Contextual patterns}{subsubsection*.1675}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax}{385}{paragraph*.1676}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:syntax}{{3.1.5}{385}{Syntax}{paragraph*.1676}{}}
\@writefile{toc}{\contentsline {paragraph}{Matching contextual patterns}{385}{paragraph*.1677}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:matching-contextual-patterns}{{3.1.5}{385}{Matching contextual patterns}{paragraph*.1677}{}}
\@writefile{toc}{\contentsline {paragraph}{Examples}{386}{paragraph*.1678}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:examples}{{3.1.5}{386}{Examples}{paragraph*.1678}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual pattern in set and the : tactical}{386}{subparagraph*.1679}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-pattern-in-set-and-the-tactical}{{3.1.5}{386}{Contextual pattern in set and the : tactical}{subparagraph*.1679}{}}
\@writefile{toc}{\contentsline {subparagraph}{Contextual patterns in rewrite}{387}{subparagraph*.1680}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:contextual-patterns-in-rewrite}{{3.1.5}{387}{Contextual patterns in rewrite}{subparagraph*.1680}{}}
\@writefile{toc}{\contentsline {paragraph}{Patterns for recurrent contexts}{388}{paragraph*.1681}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:patterns-for-recurrent-contexts}{{3.1.5}{388}{Patterns for recurrent contexts}{paragraph*.1681}{}}
\@writefile{toc}{\contentsline {subsubsection}{Views and reflection}{389}{subsubsection*.1682}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection}{{3.1.5}{389}{Views and reflection}{subsubsection*.1682}{}}
\newlabel{proof-engine/ssreflect-proof-language:views-and-reflection-ssr}{{3.1.5}{389}{Views and reflection}{subsubsection*.1682}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting eliminations}{389}{paragraph*.1683}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-eliminations}{{3.1.5}{389}{Interpreting eliminations}{paragraph*.1683}{}}
\newlabel{proof-engine/ssreflect-proof-language:custom-elim-ssr}{{3.1.5}{389}{Interpreting eliminations}{paragraph*.1683}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting assumptions}{393}{paragraph*.1684}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions}{{3.1.5}{393}{Interpreting assumptions}{paragraph*.1684}{}}
\newlabel{proof-engine/ssreflect-proof-language:interpreting-assumptions-ssr}{{3.1.5}{393}{Interpreting assumptions}{paragraph*.1684}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{395}{subparagraph*.1685}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:specializing-assumptions}{{3.1.5}{395}{Specializing assumptions}{subparagraph*.1685}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting goals}{396}{paragraph*.1686}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-goals}{{3.1.5}{396}{Interpreting goals}{paragraph*.1686}{}}
\@writefile{toc}{\contentsline {paragraph}{Boolean reflection}{397}{paragraph*.1687}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:boolean-reflection}{{3.1.5}{397}{Boolean reflection}{paragraph*.1687}{}}
\@writefile{toc}{\contentsline {paragraph}{The reflect predicate}{398}{paragraph*.1688}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:the-reflect-predicate}{{3.1.5}{398}{The reflect predicate}{paragraph*.1688}{}}
\@writefile{toc}{\contentsline {paragraph}{General mechanism for interpreting goals and assumptions}{400}{paragraph*.1689}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:general-mechanism-for-interpreting-goals-and-assumptions}{{3.1.5}{400}{General mechanism for interpreting goals and assumptions}{paragraph*.1689}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specializing assumptions}{400}{subparagraph*.1690}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id15}{{3.1.5}{400}{Specializing assumptions}{subparagraph*.1690}{}}
\@writefile{toc}{\contentsline {subparagraph}{Interpreting assumptions}{400}{subparagraph*.1691}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:id16}{{3.1.5}{400}{Interpreting assumptions}{subparagraph*.1691}{}}
\@writefile{toc}{\contentsline {paragraph}{Interpreting equivalences}{402}{paragraph*.1692}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:interpreting-equivalences}{{3.1.5}{402}{Interpreting equivalences}{paragraph*.1692}{}}
\@writefile{toc}{\contentsline {paragraph}{Declaring new Hint Views}{403}{paragraph*.1693}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hint-views}{{3.1.5}{403}{Declaring new Hint Views}{paragraph*.1693}{}}
\newlabel{proof-engine/ssreflect-proof-language:declaring-new-hints-ssr}{{3.1.5}{403}{Declaring new Hint Views}{paragraph*.1693}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for-move}{{3.1.5}{403}{Declaring new Hint Views}{section*.1694}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for-apply}{{3.1.5}{403}{Declaring new Hint Views}{section*.1695}{}}
\@writefile{toc}{\contentsline {paragraph}{Multiple views}{403}{paragraph*.1696}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:multiple-views}{{3.1.5}{403}{Multiple views}{paragraph*.1696}{}}
\@writefile{toc}{\contentsline {subsubsection}{Synopsis and Index}{404}{subsubsection*.1697}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:synopsis-and-index}{{3.1.5}{404}{Synopsis and Index}{subsubsection*.1697}{}}
\@writefile{toc}{\contentsline {paragraph}{Parameters}{404}{paragraph*.1698}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:parameters}{{3.1.5}{404}{Parameters}{paragraph*.1698}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_tactic}{{3.1.5}{404}{Parameters}{section*.1700}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-key}{{3.1.5}{404}{Parameters}{section*.1702}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-modname}{{3.1.5}{404}{Parameters}{section*.1704}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-nat_or_ident}{{3.1.5}{405}{Parameters}{section*.1706}{}}
\@writefile{toc}{\contentsline {paragraph}{Items and switches}{405}{paragraph*.1707}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:items-and-switches}{{3.1.5}{405}{Items and switches}{paragraph*.1707}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-ssr_binder}{{3.1.5}{405}{Items and switches}{section*.1709}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-clear_switch}{{3.1.5}{405}{Items and switches}{section*.1711}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-c_pattern}{{3.1.5}{405}{Items and switches}{section*.1713}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-d_item}{{3.1.5}{405}{Items and switches}{section*.1715}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-gen_item}{{3.1.5}{405}{Items and switches}{section*.1717}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_pattern}{{3.1.5}{405}{Items and switches}{section*.1719}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_item}{{3.1.5}{405}{Items and switches}{section*.1721}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_view}{{3.1.5}{405}{Items and switches}{section*.1723}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-i_block}{{3.1.5}{405}{Items and switches}{section*.1725}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-int_mult}{{3.1.5}{405}{Items and switches}{section*.1727}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-occ_switch}{{3.1.5}{406}{Items and switches}{section*.1729}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult}{{3.1.5}{406}{Items and switches}{section*.1731}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-mult_mark}{{3.1.5}{406}{Items and switches}{section*.1733}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_item}{{3.1.5}{406}{Items and switches}{section*.1735}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_prefix}{{3.1.5}{406}{Items and switches}{section*.1737}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_pattern}{{3.1.5}{406}{Items and switches}{section*.1739}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-r_step}{{3.1.5}{406}{Items and switches}{section*.1741}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-s_item}{{3.1.5}{406}{Items and switches}{section*.1743}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{406}{paragraph*.1744}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tactics}{{3.1.5}{406}{Tactics}{paragraph*.1744}{}}
\newlabel{proof-engine/ssreflect-proof-language:id29}{{3.1.5}{406}{Tactics}{section*.1745}{}}
\newlabel{proof-engine/ssreflect-proof-language:id30}{{3.1.5}{406}{Tactics}{section*.1746}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.exact-(ssreflect)}{{3.1.5}{406}{Tactics}{section*.1747}{}}
\newlabel{proof-engine/ssreflect-proof-language:id31}{{3.1.5}{407}{Tactics}{section*.1748}{}}
\newlabel{proof-engine/ssreflect-proof-language:id32}{{3.1.5}{407}{Tactics}{section*.1749}{}}
\newlabel{proof-engine/ssreflect-proof-language:id33}{{3.1.5}{407}{Tactics}{section*.1750}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.generally-have}{{3.1.5}{407}{Tactics}{section*.1751}{}}
\newlabel{proof-engine/ssreflect-proof-language:id34}{{3.1.5}{407}{Tactics}{section*.1752}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suff}{{3.1.5}{407}{Tactics}{section*.1753}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:tacn.suffices}{{3.1.5}{407}{Tactics}{section*.1754}{}}
\newlabel{proof-engine/ssreflect-proof-language:id35}{{3.1.5}{407}{Tactics}{section*.1755}{}}
\newlabel{proof-engine/ssreflect-proof-language:id36}{{3.1.5}{407}{Tactics}{section*.1756}{}}
\newlabel{proof-engine/ssreflect-proof-language:id37}{{3.1.5}{407}{Tactics}{section*.1757}{}}
\newlabel{proof-engine/ssreflect-proof-language:id38}{{3.1.5}{407}{Tactics}{section*.1758}{}}
\@writefile{toc}{\contentsline {paragraph}{Tacticals}{408}{paragraph*.1759}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:tacticals}{{3.1.5}{408}{Tacticals}{paragraph*.1759}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1761}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1763}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1765}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1767}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1769}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1771}{}}
\newlabel{proof-engine/ssreflect-proof-language:grammar-token-tactic}{{3.1.5}{408}{Tacticals}{section*.1773}{}}
\@writefile{toc}{\contentsline {paragraph}{Commands}{408}{paragraph*.1774}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:commands}{{3.1.5}{408}{Commands}{paragraph*.1774}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:cmd.Hint-View-for}{{3.1.5}{408}{Commands}{section*.1775}{}}
\newlabel{proof-engine/ssreflect-proof-language:id39}{{3.1.5}{408}{Commands}{section*.1776}{}}
\newlabel{proof-engine/ssreflect-proof-language:id40}{{3.1.5}{408}{Commands}{section*.1777}{}}
\@writefile{toc}{\contentsline {paragraph}{Settings}{409}{paragraph*.1778}\protected@file@percent }
\newlabel{proof-engine/ssreflect-proof-language:settings}{{3.1.5}{409}{Settings}{paragraph*.1778}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.Debug-Ssreflect}{{3.1.5}{409}{Settings}{section*.1779}{}}
\newlabel{proof-engine/ssreflect-proof-language:coq:flag.Debug-SsrMatching}{{3.1.5}{409}{Settings}{section*.1780}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Automatic solvers and programmable tactics}{409}{section.3.2}\protected@file@percent }
\newlabel{proofs/automatic-tactics/index:automatic-solvers-and-programmable-tactics}{{3.2}{409}{Automatic solvers and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index:automatic-tactics}{{3.2}{409}{Automatic solvers and programmable tactics}{section.3.2}{}}
\newlabel{proofs/automatic-tactics/index::doc}{{3.2}{409}{Automatic solvers and programmable tactics}{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Solvers for logic and equality}{409}{subsection.3.2.1}\protected@file@percent }
\newlabel{proofs/automatic-tactics/logic:solvers-for-logic-and-equality}{{3.2.1}{409}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic:decisionprocedures}{{3.2.1}{409}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic::doc}{{3.2.1}{409}{Solvers for logic and equality}{subsection.3.2.1}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.tauto}{{3.2.1}{409}{Solvers for logic and equality}{section*.1781}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.dtauto}{{3.2.1}{410}{Solvers for logic and equality}{section*.1782}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.intuition}{{3.2.1}{410}{Solvers for logic and equality}{section*.1783}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.dintuition}{{3.2.1}{410}{Solvers for logic and equality}{section*.1784}{}}
\newlabel{proofs/automatic-tactics/logic:coq:flag.Intuition-Negation-Unfolding}{{3.2.1}{410}{Solvers for logic and equality}{section*.1785}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.rtauto}{{3.2.1}{410}{Solvers for logic and equality}{section*.1786}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.firstorder}{{3.2.1}{411}{Solvers for logic and equality}{section*.1787}{}}
\newlabel{proofs/automatic-tactics/logic:coq:opt.Firstorder-Solver}{{3.2.1}{411}{Solvers for logic and equality}{section*.1788}{}}
\newlabel{proofs/automatic-tactics/logic:coq:cmd.Print-Firstorder-Solver}{{3.2.1}{411}{Solvers for logic and equality}{section*.1789}{}}
\newlabel{proofs/automatic-tactics/logic:coq:opt.Firstorder-Depth}{{3.2.1}{411}{Solvers for logic and equality}{section*.1790}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.congruence}{{3.2.1}{411}{Solvers for logic and equality}{section*.1791}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.simple-congruence}{{3.2.1}{411}{Solvers for logic and equality}{section*.1792}{}}
\newlabel{proofs/automatic-tactics/logic:coq:exn.I-don_u2019t-know-how-to-handle-dependent-equality}{{3.2.1}{412}{Solvers for logic and equality}{section*.1793}{}}
\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}{413}{Solvers for logic and equality}{section*.1794}{}}
\newlabel{proofs/automatic-tactics/logic:coq:tacn.btauto}{{3.2.1}{413}{Solvers for logic and equality}{section*.1795}{}}
\newlabel{proofs/automatic-tactics/logic:grammar-token-btauto_term}{{3.2.1}{413}{Solvers for logic and equality}{section*.1797}{}}
\newlabel{proofs/automatic-tactics/logic:coq:exn.Cannot-recognize-a-boolean-equality}{{3.2.1}{413}{Solvers for logic and equality}{section*.1798}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Micromega: solvers for arithmetic goals over ordered rings}{413}{subsection.3.2.2}\protected@file@percent }
\newlabel{addendum/micromega:micromega-solvers-for-arithmetic-goals-over-ordered-rings}{{3.2.2}{413}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\newlabel{addendum/micromega:micromega}{{3.2.2}{413}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\newlabel{addendum/micromega::doc}{{3.2.2}{413}{Micromega: solvers for arithmetic goals over ordered rings}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Short description of the tactics}{413}{subsubsection*.1799}\protected@file@percent }
\newlabel{addendum/micromega:short-description-of-the-tactics}{{3.2.2}{413}{Short description of the tactics}{subsubsection*.1799}{}}
\newlabel{addendum/micromega:coq:flag.Simplex}{{3.2.2}{413}{Short description of the tactics}{section*.1800}{}}
\newlabel{addendum/micromega:coq:opt.Dump-Arith}{{3.2.2}{414}{Short description of the tactics}{section*.1801}{}}
\newlabel{addendum/micromega:coq:cmd.Show-Lia-Profile}{{3.2.2}{414}{Short description of the tactics}{section*.1802}{}}
\newlabel{addendum/micromega:coq:flag.Lia-Cache}{{3.2.2}{414}{Short description of the tactics}{section*.1803}{}}
\newlabel{addendum/micromega:coq:flag.Nia-Cache}{{3.2.2}{414}{Short description of the tactics}{section*.1804}{}}
\newlabel{addendum/micromega:coq:flag.Nra-Cache}{{3.2.2}{414}{Short description of the tactics}{section*.1805}{}}
\newlabel{addendum/micromega:grammar-token-F}{{3.2.2}{414}{Short description of the tactics}{section*.1809}{}}
\newlabel{addendum/micromega:grammar-token-A}{{3.2.2}{414}{Short description of the tactics}{section*.1810}{}}
\newlabel{addendum/micromega:grammar-token-p}{{3.2.2}{414}{Short description of the tactics}{section*.1811}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleemphasis {Positivstellensatz} refutations}{415}{subsubsection*.1812}\protected@file@percent }
\newlabel{addendum/micromega:positivstellensatz-refutations}{{3.2.2}{415}{\sphinxstyleemphasis {Positivstellensatz} refutations}{subsubsection*.1812}{}}
\newlabel{addendum/micromega:psatz-thm}{{3.2.2}{415}{\sphinxstyleemphasis {Positivstellensatz} refutations}{section*.1813}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{415}{subsubsection*.1814}\protected@file@percent }
\newlabel{addendum/micromega:lra-a-decision-procedure-for-linear-real-and-rational-arithmetic}{{3.2.2}{415}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{subsubsection*.1814}{}}
\newlabel{addendum/micromega:coq:tacn.lra}{{3.2.2}{415}{\sphinxstyleliteralintitle {\sphinxupquote {lra}}: a decision procedure for linear real and rational arithmetic}{section*.1815}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{415}{subsubsection*.1816}\protected@file@percent }
\newlabel{addendum/micromega:lia-a-tactic-for-linear-integer-arithmetic}{{3.2.2}{415}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{subsubsection*.1816}{}}
\newlabel{addendum/micromega:coq:tacn.lia}{{3.2.2}{415}{\sphinxstyleliteralintitle {\sphinxupquote {lia}}: a tactic for linear integer arithmetic}{section*.1817}{}}
\@writefile{toc}{\contentsline {paragraph}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{415}{paragraph*.1818}\protected@file@percent }
\newlabel{addendum/micromega:high-level-view-of-lia}{{3.2.2}{415}{High level view of \sphinxstyleliteralintitle {\sphinxupquote {lia}}}{paragraph*.1818}{}}
\@writefile{toc}{\contentsline {paragraph}{Cutting plane proofs}{416}{paragraph*.1819}\protected@file@percent }
\newlabel{addendum/micromega:cutting-plane-proofs}{{3.2.2}{416}{Cutting plane proofs}{paragraph*.1819}{}}
\newlabel{addendum/micromega:ceil-thm}{{3.2.2}{416}{Cutting plane proofs}{section*.1820}{}}
\newlabel{addendum/micromega:coq:thm.Bound-on-the-ceiling-function}{{3.2.2}{416}{Cutting plane proofs}{section*.1821}{}}
\@writefile{toc}{\contentsline {paragraph}{Case split}{416}{paragraph*.1822}\protected@file@percent }
\newlabel{addendum/micromega:case-split}{{3.2.2}{416}{Case split}{paragraph*.1822}{}}
\newlabel{addendum/micromega:casesplit-thm}{{3.2.2}{416}{Case split}{section*.1823}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{416}{subsubsection*.1824}\protected@file@percent }
\newlabel{addendum/micromega:nra-a-proof-procedure-for-non-linear-arithmetic}{{3.2.2}{416}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1824}{}}
\newlabel{addendum/micromega:coq:tacn.nra}{{3.2.2}{416}{\sphinxstyleliteralintitle {\sphinxupquote {nra}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1825}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{416}{subsubsection*.1826}\protected@file@percent }
\newlabel{addendum/micromega:nia-a-proof-procedure-for-non-linear-integer-arithmetic}{{3.2.2}{416}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{subsubsection*.1826}{}}
\newlabel{addendum/micromega:coq:tacn.nia}{{3.2.2}{416}{\sphinxstyleliteralintitle {\sphinxupquote {nia}}: a proof procedure for non\sphinxhyphen {}linear integer arithmetic}{section*.1827}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{417}{subsubsection*.1828}\protected@file@percent }
\newlabel{addendum/micromega:psatz-a-proof-procedure-for-non-linear-arithmetic}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{subsubsection*.1828}{}}
\newlabel{addendum/micromega:coq:tacn.psatz}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {psatz}}: a proof procedure for non\sphinxhyphen {}linear arithmetic}{section*.1829}{}}
\@writefile{toc}{\contentsline {subsubsection}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{417}{subsubsection*.1830}\protected@file@percent }
\newlabel{addendum/micromega:zify-pre-processing-of-arithmetic-goals}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{subsubsection*.1830}{}}
\newlabel{addendum/micromega:coq:tacn.zify}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1831}{}}
\newlabel{addendum/micromega:coq:cmd.Add-Zify}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1832}{}}
\newlabel{addendum/micromega:grammar-token-add_zify}{{3.2.2}{417}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1834}{}}
\newlabel{addendum/micromega:coq:cmd.Show-Zify}{{3.2.2}{418}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1835}{}}
\newlabel{addendum/micromega:grammar-token-show_zify}{{3.2.2}{418}{\sphinxstyleliteralintitle {\sphinxupquote {zify}}: pre\sphinxhyphen {}processing of arithmetic goals}{section*.1837}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}ring and field: solvers for polynomial and rational equations}{418}{subsection.3.2.3}\protected@file@percent }
\newlabel{addendum/ring:ring-and-field-solvers-for-polynomial-and-rational-equations}{{3.2.3}{418}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.3}{}}
\newlabel{addendum/ring:theringandfieldtacticfamilies}{{3.2.3}{418}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.3}{}}
\newlabel{addendum/ring::doc}{{3.2.3}{418}{ring and field: solvers for polynomial and rational equations}{subsection.3.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{What does this tactic do?}{418}{subsubsection*.1838}\protected@file@percent }
\newlabel{addendum/ring:what-does-this-tactic-do}{{3.2.3}{418}{What does this tactic do?}{subsubsection*.1838}{}}
\@writefile{toc}{\contentsline {subsubsection}{The variables map}{419}{subsubsection*.1839}\protected@file@percent }
\newlabel{addendum/ring:the-variables-map}{{3.2.3}{419}{The variables map}{subsubsection*.1839}{}}
\@writefile{toc}{\contentsline {subsubsection}{Is it automatic?}{419}{subsubsection*.1840}\protected@file@percent }
\newlabel{addendum/ring:is-it-automatic}{{3.2.3}{419}{Is it automatic?}{subsubsection*.1840}{}}
\@writefile{toc}{\contentsline {subsubsection}{Concrete usage in Coq}{419}{subsubsection*.1841}\protected@file@percent }
\newlabel{addendum/ring:concrete-usage-in-coq}{{3.2.3}{419}{Concrete usage in Coq}{subsubsection*.1841}{}}
\newlabel{addendum/ring:coq:tacn.ring}{{3.2.3}{419}{Concrete usage in Coq}{section*.1842}{}}
\newlabel{addendum/ring:coq:tacn.ring_simplify}{{3.2.3}{419}{Concrete usage in Coq}{section*.1843}{}}
\newlabel{addendum/ring:coq:cmd.Print-Rings}{{3.2.3}{420}{Concrete usage in Coq}{section*.1844}{}}
\newlabel{addendum/ring:coq:exn.Not-a-valid-ring-equation}{{3.2.3}{420}{Concrete usage in Coq}{section*.1845}{}}
\newlabel{addendum/ring:coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type}{{3.2.3}{420}{Concrete usage in Coq}{section*.1846}{}}
\newlabel{addendum/ring:coq:exn.Cannot-find-a-declared-ring-structure-over-_u2018term_u2019}{{3.2.3}{420}{Concrete usage in Coq}{section*.1847}{}}
\newlabel{addendum/ring:coq:exn.Cannot-find-a-declared-ring-structure-for-equality-_u2018term_u2019}{{3.2.3}{421}{Concrete usage in Coq}{section*.1848}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a ring structure}{421}{subsubsection*.1849}\protected@file@percent }
\newlabel{addendum/ring:adding-a-ring-structure}{{3.2.3}{421}{Adding a ring structure}{subsubsection*.1849}{}}
\newlabel{addendum/ring:coq:cmd.Add-Ring}{{3.2.3}{422}{Adding a ring structure}{section*.1850}{}}
\newlabel{addendum/ring:grammar-token-ring_mod}{{3.2.3}{422}{Adding a ring structure}{section*.1852}{}}
\newlabel{addendum/ring:coq:exn.Bad-ring-structure}{{3.2.3}{423}{Adding a ring structure}{section*.1853}{}}
\newlabel{addendum/ring:coq:exn.Bad-lemma-for-decidability-of-equality}{{3.2.3}{423}{Adding a ring structure}{section*.1854}{}}
\newlabel{addendum/ring:coq:exn.Ring-operation-should-be-declared-as-a-morphism}{{3.2.3}{423}{Adding a ring structure}{section*.1855}{}}
\@writefile{toc}{\contentsline {subsubsection}{How does it work?}{424}{subsubsection*.1856}\protected@file@percent }
\newlabel{addendum/ring:how-does-it-work}{{3.2.3}{424}{How does it work?}{subsubsection*.1856}{}}
\@writefile{toc}{\contentsline {subsubsection}{Dealing with fields}{425}{subsubsection*.1857}\protected@file@percent }
\newlabel{addendum/ring:dealing-with-fields}{{3.2.3}{425}{Dealing with fields}{subsubsection*.1857}{}}
\newlabel{addendum/ring:coq:tacn.field}{{3.2.3}{425}{Dealing with fields}{section*.1858}{}}
\newlabel{addendum/ring:coq:tacn.field_simplify}{{3.2.3}{426}{Dealing with fields}{section*.1859}{}}
\newlabel{addendum/ring:coq:tacn.field_simplify_eq}{{3.2.3}{426}{Dealing with fields}{section*.1860}{}}
\@writefile{toc}{\contentsline {subsubsection}{Adding a new field structure}{427}{subsubsection*.1861}\protected@file@percent }
\newlabel{addendum/ring:adding-a-new-field-structure}{{3.2.3}{427}{Adding a new field structure}{subsubsection*.1861}{}}
\newlabel{addendum/ring:coq:cmd.Add-Field}{{3.2.3}{427}{Adding a new field structure}{section*.1862}{}}
\newlabel{addendum/ring:grammar-token-field_mod}{{3.2.3}{427}{Adding a new field structure}{section*.1864}{}}
\@writefile{toc}{\contentsline {subsubsection}{History of ring}{428}{subsubsection*.1865}\protected@file@percent }
\newlabel{addendum/ring:history-of-ring}{{3.2.3}{428}{History of ring}{subsubsection*.1865}{}}
\@writefile{toc}{\contentsline {subsubsection}{Discussion}{428}{subsubsection*.1866}\protected@file@percent }
\newlabel{addendum/ring:discussion}{{3.2.3}{428}{Discussion}{subsubsection*.1866}{}}
\newlabel{addendum/ring:discussion-reflection}{{3.2.3}{428}{Discussion}{subsubsection*.1866}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Nsatz: a solver for equalities in integral domains}{429}{subsection.3.2.4}\protected@file@percent }
\newlabel{addendum/nsatz:nsatz-a-solver-for-equalities-in-integral-domains}{{3.2.4}{429}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz:nsatz-chapter}{{3.2.4}{429}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz::doc}{{3.2.4}{429}{Nsatz: a solver for equalities in integral domains}{subsection.3.2.4}{}}
\newlabel{addendum/nsatz:coq:tacn.nsatz}{{3.2.4}{429}{Nsatz: a solver for equalities in integral domains}{section*.1867}{}}
\@writefile{toc}{\contentsline {subsubsection}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{430}{subsubsection*.1868}\protected@file@percent }
\newlabel{addendum/nsatz:more-about-nsatz}{{3.2.4}{430}{More about \sphinxstyleliteralintitle {\sphinxupquote {nsatz}}}{subsubsection*.1868}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Programmable proof search}{430}{subsection.3.2.5}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:programmable-proof-search}{{3.2.5}{430}{Programmable proof search}{subsection.3.2.5}{}}
\newlabel{proofs/automatic-tactics/auto:automation}{{3.2.5}{430}{Programmable proof search}{subsection.3.2.5}{}}
\newlabel{proofs/automatic-tactics/auto::doc}{{3.2.5}{430}{Programmable proof search}{subsection.3.2.5}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.auto}{{3.2.5}{430}{Programmable proof search}{section*.1869}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-auto_using}{{3.2.5}{430}{Programmable proof search}{section*.1872}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hintbases}{{3.2.5}{430}{Programmable proof search}{section*.1873}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_auto}{{3.2.5}{431}{Programmable proof search}{section*.1874}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-auto}{{3.2.5}{431}{Programmable proof search}{section*.1875}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.trivial}{{3.2.5}{431}{Programmable proof search}{section*.1876}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-trivial}{{3.2.5}{431}{Programmable proof search}{section*.1877}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_trivial}{{3.2.5}{431}{Programmable proof search}{section*.1878}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Auto}{{3.2.5}{431}{Programmable proof search}{section*.1879}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Auto}{{3.2.5}{431}{Programmable proof search}{section*.1880}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Trivial}{{3.2.5}{431}{Programmable proof search}{section*.1881}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Trivial}{{3.2.5}{431}{Programmable proof search}{section*.1882}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.eauto}{{3.2.5}{431}{Programmable proof search}{section*.1883}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.info_eauto}{{3.2.5}{431}{Programmable proof search}{section*.1884}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Info-Eauto}{{3.2.5}{432}{Programmable proof search}{section*.1885}{}}
\newlabel{proofs/automatic-tactics/auto:coq:flag.Debug-Eauto}{{3.2.5}{432}{Programmable proof search}{section*.1886}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.debug-eauto}{{3.2.5}{432}{Programmable proof search}{section*.1887}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.bfs-eauto}{{3.2.5}{432}{Programmable proof search}{section*.1888}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.autounfold}{{3.2.5}{432}{Programmable proof search}{section*.1889}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.autorewrite}{{3.2.5}{432}{Programmable proof search}{section*.1890}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn.The-"at"-syntax-isn't-available-yet-for-the-autorewrite-tactic}{{3.2.5}{432}{Programmable proof search}{section*.1891}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.easy}{{3.2.5}{433}{Programmable proof search}{section*.1892}{}}
\newlabel{proofs/automatic-tactics/auto:coq:tacn.now}{{3.2.5}{434}{Programmable proof search}{section*.1893}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint databases}{434}{subsubsection*.1894}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:hint-databases}{{3.2.5}{434}{Hint databases}{subsubsection*.1894}{}}
\newlabel{proofs/automatic-tactics/auto:hintdatabases}{{3.2.5}{434}{Hint databases}{subsubsection*.1894}{}}
\@writefile{toc}{\contentsline {subsubsection}{Creating Hint databases}{434}{subsubsection*.1895}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:creating-hint-databases}{{3.2.5}{434}{Creating Hint databases}{subsubsection*.1895}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Create-HintDb}{{3.2.5}{434}{Creating Hint databases}{section*.1896}{}}
\@writefile{toc}{\contentsline {subsubsection}{Creating Hints}{434}{subsubsection*.1897}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:creating-hints}{{3.2.5}{434}{Creating Hints}{subsubsection*.1897}{}}
\newlabel{proofs/automatic-tactics/auto:id1}{{3.2.5}{434}{Creating Hints}{subsubsection*.1897}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Resolve}{{3.2.5}{435}{Creating Hints}{section*.1898}{}}
\newlabel{proofs/automatic-tactics/auto:id2}{{3.2.5}{435}{Creating Hints}{section*.1899}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hint_info}{{3.2.5}{435}{Creating Hints}{section*.1902}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-one_pattern}{{3.2.5}{435}{Creating Hints}{section*.1903}{}}
\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.5}{435}{Creating Hints}{section*.1904}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn._u2018qualid_u2019-cannot-be-used-as-a-hint}{{3.2.5}{435}{Creating Hints}{section*.1905}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Immediate}{{3.2.5}{435}{Creating Hints}{section*.1906}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Constructors}{{3.2.5}{435}{Creating Hints}{section*.1907}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn._u2018qualid_u2019-is-not-an-inductive-type}{{3.2.5}{436}{Creating Hints}{section*.1908}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Unfold}{{3.2.5}{436}{Creating Hints}{section*.1909}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Transparent}{{3.2.5}{436}{Creating Hints}{section*.1910}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Opaque}{{3.2.5}{436}{Creating Hints}{section*.1911}{}}
\newlabel{proofs/automatic-tactics/auto:coq:exn.Cannot-coerce-_u2018qualid_u2019-to-an-evaluable-reference}{{3.2.5}{436}{Creating Hints}{section*.1912}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Constants}{{3.2.5}{436}{Creating Hints}{section*.1913}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Variables}{{3.2.5}{436}{Creating Hints}{section*.1914}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Extern}{{3.2.5}{436}{Creating Hints}{section*.1915}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Cut}{{3.2.5}{437}{Creating Hints}{section*.1916}{}}
\newlabel{proofs/automatic-tactics/auto:grammar-token-hints_regexp}{{3.2.5}{437}{Creating Hints}{section*.1918}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Mode}{{3.2.5}{437}{Creating Hints}{section*.1919}{}}
\newlabel{proofs/automatic-tactics/auto:coq:warn.This-hint-is-not-local-but-depends-on-a-section-variable.-It-will-disappear-when-the-section-is-closed}{{3.2.5}{438}{Creating Hints}{section*.1920}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Hint-Rewrite}{{3.2.5}{438}{Creating Hints}{section*.1921}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-Rewrite-HintDb}{{3.2.5}{438}{Creating Hints}{section*.1922}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Remove-Hints}{{3.2.5}{438}{Creating Hints}{section*.1923}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-Hint}{{3.2.5}{438}{Creating Hints}{section*.1924}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Print-HintDb}{{3.2.5}{438}{Creating Hints}{section*.1925}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint databases defined in the Coq standard library}{439}{subsubsection*.1926}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:hint-databases-defined-in-the-coq-standard-library}{{3.2.5}{439}{Hint databases defined in the Coq standard library}{subsubsection*.1926}{}}
\@writefile{toc}{\contentsline {subsubsection}{Hint locality}{439}{subsubsection*.1927}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:hint-locality}{{3.2.5}{439}{Hint locality}{subsubsection*.1927}{}}
\newlabel{proofs/automatic-tactics/auto:coq:opt.Loose-Hint-Behavior}{{3.2.5}{439}{Hint locality}{section*.1928}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setting implicit automation tactics}{440}{subsubsection*.1929}\protected@file@percent }
\newlabel{proofs/automatic-tactics/auto:setting-implicit-automation-tactics}{{3.2.5}{440}{Setting implicit automation tactics}{subsubsection*.1929}{}}
\newlabel{proofs/automatic-tactics/auto:tactics-implicit-automation}{{3.2.5}{440}{Setting implicit automation tactics}{subsubsection*.1929}{}}
\newlabel{proofs/automatic-tactics/auto:coq:cmd.Proof-with}{{3.2.5}{440}{Setting implicit automation tactics}{section*.1930}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.6}Generalized rewriting}{440}{subsection.3.2.6}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:generalized-rewriting}{{3.2.6}{440}{Generalized rewriting}{subsection.3.2.6}{}}
\newlabel{addendum/generalized-rewriting:generalizedrewriting}{{3.2.6}{440}{Generalized rewriting}{subsection.3.2.6}{}}
\newlabel{addendum/generalized-rewriting::doc}{{3.2.6}{440}{Generalized rewriting}{subsection.3.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{Introduction to generalized rewriting}{440}{subsubsection*.1931}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:introduction-to-generalized-rewriting}{{3.2.6}{440}{Introduction to generalized rewriting}{subsubsection*.1931}{}}
\@writefile{toc}{\contentsline {paragraph}{Relations and morphisms}{440}{paragraph*.1932}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:relations-and-morphisms}{{3.2.6}{440}{Relations and morphisms}{paragraph*.1932}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding new relations and morphisms}{442}{paragraph*.1933}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:adding-new-relations-and-morphisms}{{3.2.6}{442}{Adding new relations and morphisms}{paragraph*.1933}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Parametric-Relation}{{3.2.6}{442}{Adding new relations and morphisms}{section*.1934}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Relation}{{3.2.6}{442}{Adding new relations and morphisms}{section*.1935}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Parametric-Morphism}{{3.2.6}{443}{Adding new relations and morphisms}{section*.1936}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and nonreflexive relations}{444}{paragraph*.1937}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-nonreflexive-relations}{{3.2.6}{444}{Rewriting and nonreflexive relations}{paragraph*.1937}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting and nonsymmetric relations}{445}{paragraph*.1938}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-and-nonsymmetric-relations}{{3.2.6}{445}{Rewriting and nonsymmetric relations}{paragraph*.1938}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting in ambiguous setoid contexts}{445}{paragraph*.1939}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-in-ambiguous-setoid-contexts}{{3.2.6}{445}{Rewriting in ambiguous setoid contexts}{paragraph*.1939}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands and tactics}{446}{subsubsection*.1940}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:commands-and-tactics}{{3.2.6}{446}{Commands and tactics}{subsubsection*.1940}{}}
\@writefile{toc}{\contentsline {paragraph}{First class setoids and morphisms}{446}{paragraph*.1941}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:first-class-setoids-and-morphisms}{{3.2.6}{446}{First class setoids and morphisms}{paragraph*.1941}{}}
\newlabel{addendum/generalized-rewriting:id2}{{3.2.6}{446}{First class setoids and morphisms}{paragraph*.1941}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics enabled on user provided relations}{447}{paragraph*.1942}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:tactics-enabled-on-user-provided-relations}{{3.2.6}{447}{Tactics enabled on user provided relations}{paragraph*.1942}{}}
\newlabel{addendum/generalized-rewriting:id3}{{3.2.6}{447}{Tactics enabled on user provided relations}{paragraph*.1942}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_reflexivity}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1943}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_symmetry}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1944}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_transitivity}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1945}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_rewrite}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1946}{}}
\newlabel{addendum/generalized-rewriting:id4}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1947}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.setoid_replace}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1948}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-rewrite_occs}{{3.2.6}{447}{Tactics enabled on user provided relations}{section*.1950}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing relations and morphisms}{448}{paragraph*.1951}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:printing-relations-and-morphisms}{{3.2.6}{448}{Printing relations and morphisms}{paragraph*.1951}{}}
\@writefile{toc}{\contentsline {paragraph}{Deprecated syntax and backward incompatibilities}{448}{paragraph*.1952}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:deprecated-syntax-and-backward-incompatibilities}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{paragraph*.1952}{}}
\newlabel{addendum/generalized-rewriting:deprecated-syntax-for-generalized-rewriting}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{paragraph*.1952}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Setoid}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{section*.1953}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Add-Morphism}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{section*.1954}{}}
\newlabel{addendum/generalized-rewriting:id5}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{section*.1955}{}}
\newlabel{addendum/generalized-rewriting:coq:cmd.Declare-Morphism}{{3.2.6}{448}{Deprecated syntax and backward incompatibilities}{section*.1956}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extensions}{448}{subsubsection*.1957}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:extensions}{{3.2.6}{448}{Extensions}{subsubsection*.1957}{}}
\@writefile{toc}{\contentsline {paragraph}{Rewriting under binders}{448}{paragraph*.1958}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:rewriting-under-binders}{{3.2.6}{448}{Rewriting under binders}{paragraph*.1958}{}}
\@writefile{toc}{\contentsline {paragraph}{Subrelations}{449}{paragraph*.1959}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:subrelations}{{3.2.6}{449}{Subrelations}{paragraph*.1959}{}}
\@writefile{toc}{\contentsline {paragraph}{Constant unfolding}{450}{paragraph*.1960}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:constant-unfolding}{{3.2.6}{450}{Constant unfolding}{paragraph*.1960}{}}
\@writefile{toc}{\contentsline {subsubsection}{Strategies for rewriting}{450}{subsubsection*.1961}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:strategies-for-rewriting}{{3.2.6}{450}{Strategies for rewriting}{subsubsection*.1961}{}}
\newlabel{addendum/generalized-rewriting:strategies4rewriting}{{3.2.6}{450}{Strategies for rewriting}{subsubsection*.1961}{}}
\@writefile{toc}{\contentsline {paragraph}{Usage}{450}{paragraph*.1962}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:usage}{{3.2.6}{450}{Usage}{paragraph*.1962}{}}
\newlabel{addendum/generalized-rewriting:coq:tacn.rewrite_strat}{{3.2.6}{450}{Usage}{section*.1963}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.Nothing-to-rewrite}{{3.2.6}{450}{Usage}{section*.1964}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.No-progress-made}{{3.2.6}{450}{Usage}{section*.1965}{}}
\newlabel{addendum/generalized-rewriting:coq:exn.Unable-to-satisfy-the-rewriting-constraints}{{3.2.6}{450}{Usage}{section*.1966}{}}
\@writefile{toc}{\contentsline {paragraph}{Definitions}{450}{paragraph*.1967}\protected@file@percent }
\newlabel{addendum/generalized-rewriting:definitions}{{3.2.6}{450}{Definitions}{paragraph*.1967}{}}
\newlabel{addendum/generalized-rewriting:grammar-token-rewstrategy}{{3.2.6}{451}{Definitions}{section*.1969}{}}
\newlabel{addendum/generalized-rewriting:rewrite-strat-innermost-outermost}{{3.2.6}{452}{Definitions}{section*.1970}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Creating new tactics}{453}{section.3.3}\protected@file@percent }
\newlabel{proofs/creating-tactics/index:creating-new-tactics}{{3.3}{453}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index:writing-tactics}{{3.3}{453}{Creating new tactics}{section.3.3}{}}
\newlabel{proofs/creating-tactics/index::doc}{{3.3}{453}{Creating new tactics}{section.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Ltac}{453}{subsection.3.3.1}\protected@file@percent }
\newlabel{proof-engine/ltac:ltac}{{3.3.1}{453}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac:id1}{{3.3.1}{453}{Ltac}{subsection.3.3.1}{}}
\newlabel{proof-engine/ltac::doc}{{3.3.1}{453}{Ltac}{subsection.3.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syntax}{454}{subsubsection*.1971}\protected@file@percent }
\newlabel{proof-engine/ltac:syntax}{{3.3.1}{454}{Syntax}{subsubsection*.1971}{}}
\newlabel{proof-engine/ltac:ltac-syntax}{{3.3.1}{454}{Syntax}{subsubsection*.1971}{}}
\newlabel{proof-engine/ltac:term-left-associative}{{3.3.1}{454}{Syntax}{section*.1972}{}}
\newlabel{proof-engine/ltac:term-right-associative}{{3.3.1}{454}{Syntax}{section*.1973}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr}{{3.3.1}{454}{Syntax}{section*.1983}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr4}{{3.3.1}{454}{Syntax}{section*.1984}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr3}{{3.3.1}{454}{Syntax}{section*.1985}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr2}{{3.3.1}{454}{Syntax}{section*.1986}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr1}{{3.3.1}{454}{Syntax}{section*.1987}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_value}{{3.3.1}{454}{Syntax}{section*.1988}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_arg}{{3.3.1}{454}{Syntax}{section*.1989}{}}
\newlabel{proof-engine/ltac:grammar-token-ltac_expr0}{{3.3.1}{454}{Syntax}{section*.1990}{}}
\newlabel{proof-engine/ltac:grammar-token-tactic_atom}{{3.3.1}{454}{Syntax}{section*.1991}{}}
\newlabel{proof-engine/ltac:grammar-token-simple_tactic}{{3.3.1}{454}{Syntax}{section*.1992}{}}
\newlabel{proof-engine/ltac:grammar-token-binder_tactic}{{3.3.1}{454}{Syntax}{section*.1993}{}}
\newlabel{proof-engine/ltac:grammar-token-l3_tactic}{{3.3.1}{455}{Syntax}{section*.1994}{}}
\newlabel{proof-engine/ltac:grammar-token-l2_tactic}{{3.3.1}{455}{Syntax}{section*.1995}{}}
\newlabel{proof-engine/ltac:grammar-token-l1_tactic}{{3.3.1}{455}{Syntax}{section*.1996}{}}
\newlabel{proof-engine/ltac:grammar-token-value_tactic}{{3.3.1}{455}{Syntax}{section*.1997}{}}
\@writefile{toc}{\contentsline {subsubsection}{Semantics}{455}{subsubsection*.1998}\protected@file@percent }
\newlabel{proof-engine/ltac:semantics}{{3.3.1}{455}{Semantics}{subsubsection*.1998}{}}
\newlabel{proof-engine/ltac:ltac-semantics}{{3.3.1}{455}{Semantics}{subsubsection*.1998}{}}
\@writefile{toc}{\contentsline {paragraph}{Types of values}{455}{paragraph*.1999}\protected@file@percent }
\newlabel{proof-engine/ltac:types-of-values}{{3.3.1}{455}{Types of values}{paragraph*.1999}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic values}{455}{paragraph*.2000}\protected@file@percent }
\newlabel{proof-engine/ltac:syntactic-values}{{3.3.1}{455}{Syntactic values}{paragraph*.2000}{}}
\newlabel{proof-engine/ltac:grammar-token-syn_value}{{3.3.1}{455}{Syntactic values}{section*.2002}{}}
\newlabel{proof-engine/ltac:grammar-token-nonterminal}{{3.3.1}{455}{\DUrole {inline-grammar-production}{\phantomsection \label {\detokenize {proof-engine/ltac:grammar-token-nonterminal}}\sphinxcode {\sphinxupquote {nonterminal}}}}{section*.2003}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics in terms}{456}{paragraph*.2004}\protected@file@percent }
\newlabel{proof-engine/ltac:tactics-in-terms}{{3.3.1}{456}{Tactics in terms}{paragraph*.2004}{}}
\newlabel{proof-engine/ltac:grammar-token-term_ltac}{{3.3.1}{456}{Tactics in terms}{section*.2006}{}}
\@writefile{toc}{\contentsline {paragraph}{Substitution}{456}{paragraph*.2007}\protected@file@percent }
\newlabel{proof-engine/ltac:substitution}{{3.3.1}{456}{Substitution}{paragraph*.2007}{}}
\@writefile{toc}{\contentsline {paragraph}{Sequence: ;}{457}{paragraph*.2008}\protected@file@percent }
\newlabel{proof-engine/ltac:sequence}{{3.3.1}{457}{Sequence: ;}{paragraph*.2008}{}}
\newlabel{proof-engine/ltac:coq:tacn.ltac-seq}{{3.3.1}{457}{Sequence: ;}{section*.2009}{}}
\@writefile{toc}{\contentsline {paragraph}{Local application of tactics: {[}> ... {]}}{457}{paragraph*.2010}\protected@file@percent }
\newlabel{proof-engine/ltac:local-application-of-tactics}{{3.3.1}{457}{Local application of tactics: {[}> ... {]}}{paragraph*.2010}{}}
\newlabel{proof-engine/ltac:coq:tacn._>-_u2026-|-_u2026-|-_u2026-_-(dispatch)}{{3.3.1}{457}{Local application of tactics: {[}> ... {]}}{section*.2011}{}}
\newlabel{proof-engine/ltac:grammar-token-for_each_goal}{{3.3.1}{457}{Local application of tactics: {[}> ... {]}}{section*.2014}{}}
\newlabel{proof-engine/ltac:grammar-token-goal_tactics}{{3.3.1}{457}{Local application of tactics: {[}> ... {]}}{section*.2015}{}}
\newlabel{proof-engine/ltac:coq:tacn._-_u2026-|-_u2026-|-_u2026-_-(dispatch)}{{3.3.1}{457}{Local application of tactics: {[}> ... {]}}{section*.2016}{}}
\@writefile{toc}{\contentsline {paragraph}{Goal selectors}{458}{paragraph*.2017}\protected@file@percent }
\newlabel{proof-engine/ltac:goal-selectors}{{3.3.1}{458}{Goal selectors}{paragraph*.2017}{}}
\newlabel{proof-engine/ltac:id3}{{3.3.1}{458}{Goal selectors}{paragraph*.2017}{}}
\newlabel{proof-engine/ltac:coq:tacn._u2026-:-_u2026-(goal-selector)}{{3.3.1}{458}{Goal selectors}{section*.2018}{}}
\newlabel{proof-engine/ltac:grammar-token-toplevel_selector}{{3.3.1}{458}{Goal selectors}{section*.2020}{}}
\newlabel{proof-engine/ltac:coq:tacn.only}{{3.3.1}{458}{Goal selectors}{section*.2021}{}}
\newlabel{proof-engine/ltac:grammar-token-selector}{{3.3.1}{458}{Goal selectors}{section*.2024}{}}
\newlabel{proof-engine/ltac:grammar-token-range_selector}{{3.3.1}{458}{Goal selectors}{section*.2025}{}}
\newlabel{proof-engine/ltac:coq:exn.No-such-goal.-(Goal-selector)}{{3.3.1}{458}{Goal selectors}{section*.2026}{}}
\newlabel{proof-engine/ltac:reordering-goals-ex}{{3.3.1}{458}{Goal selectors}{section*.2027}{}}
\@writefile{toc}{\contentsline {paragraph}{Processing multiple goals}{459}{paragraph*.2028}\protected@file@percent }
\newlabel{proof-engine/ltac:processing-multiple-goals}{{3.3.1}{459}{Processing multiple goals}{paragraph*.2028}{}}
\@writefile{toc}{\contentsline {paragraph}{Do loop}{460}{paragraph*.2029}\protected@file@percent }
\newlabel{proof-engine/ltac:do-loop}{{3.3.1}{460}{Do loop}{paragraph*.2029}{}}
\newlabel{proof-engine/ltac:coq:tacn.do}{{3.3.1}{460}{Do loop}{section*.2030}{}}
\@writefile{toc}{\contentsline {paragraph}{Repeat loop}{460}{paragraph*.2031}\protected@file@percent }
\newlabel{proof-engine/ltac:repeat-loop}{{3.3.1}{460}{Repeat loop}{paragraph*.2031}{}}
\newlabel{proof-engine/ltac:coq:tacn.repeat}{{3.3.1}{460}{Repeat loop}{section*.2032}{}}
\@writefile{toc}{\contentsline {paragraph}{Catching errors: try}{460}{paragraph*.2033}\protected@file@percent }
\newlabel{proof-engine/ltac:catching-errors-try}{{3.3.1}{460}{Catching errors: try}{paragraph*.2033}{}}
\newlabel{proof-engine/ltac:coq:tacn.try}{{3.3.1}{460}{Catching errors: try}{section*.2034}{}}
\@writefile{toc}{\contentsline {paragraph}{Detecting progress}{460}{paragraph*.2035}\protected@file@percent }
\newlabel{proof-engine/ltac:detecting-progress}{{3.3.1}{460}{Detecting progress}{paragraph*.2035}{}}
\newlabel{proof-engine/ltac:coq:tacn.progress}{{3.3.1}{460}{Detecting progress}{section*.2036}{}}
\newlabel{proof-engine/ltac:coq:exn.Failed-to-progress}{{3.3.1}{460}{Detecting progress}{section*.2037}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching and backtracking}{461}{paragraph*.2038}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-and-backtracking}{{3.3.1}{461}{Branching and backtracking}{paragraph*.2038}{}}
\newlabel{proof-engine/ltac:id5}{{3.3.1}{461}{Branching and backtracking}{paragraph*.2038}{}}
\newlabel{proof-engine/ltac:term-branching}{{3.3.1}{461}{Branching and backtracking}{section*.2039}{}}
\newlabel{proof-engine/ltac:term-backtracking}{{3.3.1}{461}{Branching and backtracking}{section*.2040}{}}
\newlabel{proof-engine/ltac:term-backtracking-point}{{3.3.1}{461}{Branching and backtracking}{section*.2041}{}}
\newlabel{proof-engine/ltac:term-first-success}{{3.3.1}{461}{Branching and backtracking}{section*.2042}{}}
\@writefile{toc}{\contentsline {paragraph}{Branching with backtracking: +}{461}{paragraph*.2043}\protected@file@percent }
\newlabel{proof-engine/ltac:branching-with-backtracking}{{3.3.1}{461}{Branching with backtracking: +}{paragraph*.2043}{}}
\newlabel{proof-engine/ltac:coq:tacn.+-(backtracking-branching)}{{3.3.1}{461}{Branching with backtracking: +}{section*.2044}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to succeed}{462}{paragraph*.2045}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-succeed}{{3.3.1}{462}{First tactic to succeed}{paragraph*.2045}{}}
\newlabel{proof-engine/ltac:coq:tacn.first}{{3.3.1}{462}{First tactic to succeed}{section*.2046}{}}
\newlabel{proof-engine/ltac:coq:exn.No-applicable-tactic}{{3.3.1}{462}{First tactic to succeed}{section*.2047}{}}
\@writefile{toc}{\contentsline {paragraph}{Solving}{463}{paragraph*.2048}\protected@file@percent }
\newlabel{proof-engine/ltac:solving}{{3.3.1}{463}{Solving}{paragraph*.2048}{}}
\newlabel{proof-engine/ltac:coq:tacn.solve}{{3.3.1}{463}{Solving}{section*.2049}{}}
\@writefile{toc}{\contentsline {paragraph}{First tactic to make progress: ||}{463}{paragraph*.2050}\protected@file@percent }
\newlabel{proof-engine/ltac:first-tactic-to-make-progress}{{3.3.1}{463}{First tactic to make progress: ||}{paragraph*.2050}{}}
\newlabel{proof-engine/ltac:coq:tacn.||-(first-tactic-making-progress)}{{3.3.1}{463}{First tactic to make progress: ||}{section*.2051}{}}
\@writefile{toc}{\contentsline {paragraph}{Conditional branching: tryif}{463}{paragraph*.2052}\protected@file@percent }
\newlabel{proof-engine/ltac:conditional-branching-tryif}{{3.3.1}{463}{Conditional branching: tryif}{paragraph*.2052}{}}
\newlabel{proof-engine/ltac:coq:tacn.tryif}{{3.3.1}{463}{Conditional branching: tryif}{section*.2053}{}}
\@writefile{toc}{\contentsline {paragraph}{Soft cut: once}{464}{paragraph*.2054}\protected@file@percent }
\newlabel{proof-engine/ltac:soft-cut-once}{{3.3.1}{464}{Soft cut: once}{paragraph*.2054}{}}
\newlabel{proof-engine/ltac:coq:tacn.once}{{3.3.1}{464}{Soft cut: once}{section*.2055}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for a single success: exactly\_once}{464}{paragraph*.2056}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-a-single-success-exactly-once}{{3.3.1}{464}{Checking for a single success: exactly\_once}{paragraph*.2056}{}}
\newlabel{proof-engine/ltac:coq:tacn.exactly_once}{{3.3.1}{464}{Checking for a single success: exactly\_once}{section*.2057}{}}
\newlabel{proof-engine/ltac:coq:exn.This-tactic-has-more-than-one-success}{{3.3.1}{464}{Checking for a single success: exactly\_once}{section*.2058}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for failure: assert\_fails}{464}{paragraph*.2059}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-failure-assert-fails}{{3.3.1}{464}{Checking for failure: assert\_fails}{paragraph*.2059}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert_fails}{{3.3.1}{464}{Checking for failure: assert\_fails}{section*.2060}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure:-<tactic-closure>-succeeds}{{3.3.1}{464}{Checking for failure: assert\_fails}{section*.2061}{}}
\@writefile{toc}{\contentsline {paragraph}{Checking for success: assert\_succeeds}{465}{paragraph*.2062}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-for-success-assert-succeeds}{{3.3.1}{465}{Checking for success: assert\_succeeds}{paragraph*.2062}{}}
\newlabel{proof-engine/ltac:coq:tacn.assert_succeeds}{{3.3.1}{465}{Checking for success: assert\_succeeds}{section*.2063}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure:-<tactic-closure>-fails}{{3.3.1}{465}{Checking for success: assert\_succeeds}{section*.2064}{}}
\@writefile{toc}{\contentsline {paragraph}{Print/identity tactic: idtac}{465}{paragraph*.2065}\protected@file@percent }
\newlabel{proof-engine/ltac:print-identity-tactic-idtac}{{3.3.1}{465}{Print/identity tactic: idtac}{paragraph*.2065}{}}
\newlabel{proof-engine/ltac:coq:tacn.idtac}{{3.3.1}{465}{Print/identity tactic: idtac}{section*.2066}{}}
\@writefile{toc}{\contentsline {paragraph}{Failing}{465}{paragraph*.2067}\protected@file@percent }
\newlabel{proof-engine/ltac:failing}{{3.3.1}{465}{Failing}{paragraph*.2067}{}}
\newlabel{proof-engine/ltac:coq:tacn.fail}{{3.3.1}{465}{Failing}{section*.2068}{}}
\newlabel{proof-engine/ltac:coq:tacn.gfail}{{3.3.1}{465}{Failing}{section*.2069}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure}{{3.3.1}{465}{Failing}{section*.2070}{}}
\newlabel{proof-engine/ltac:coq:exn.Tactic-failure-(level-_u2018natural_u2019)}{{3.3.1}{465}{Failing}{section*.2071}{}}
\newlabel{proof-engine/ltac:coq:exn.No-such-goal.-(fail)}{{3.3.1}{466}{Failing}{section*.2072}{}}
\@writefile{toc}{\contentsline {paragraph}{Timeout}{468}{paragraph*.2073}\protected@file@percent }
\newlabel{proof-engine/ltac:timeout}{{3.3.1}{468}{Timeout}{paragraph*.2073}{}}
\newlabel{proof-engine/ltac:coq:tacn.timeout}{{3.3.1}{468}{Timeout}{section*.2074}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic}{468}{paragraph*.2075}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic}{{3.3.1}{468}{Timing a tactic}{paragraph*.2075}{}}
\newlabel{proof-engine/ltac:coq:tacn.time}{{3.3.1}{468}{Timing a tactic}{section*.2076}{}}
\@writefile{toc}{\contentsline {paragraph}{Timing a tactic that evaluates to a term: time\_constr}{468}{paragraph*.2077}\protected@file@percent }
\newlabel{proof-engine/ltac:timing-a-tactic-that-evaluates-to-a-term-time-constr}{{3.3.1}{468}{Timing a tactic that evaluates to a term: time\_constr}{paragraph*.2077}{}}
\newlabel{proof-engine/ltac:coq:tacn.time_constr}{{3.3.1}{468}{Timing a tactic that evaluates to a term: time\_constr}{section*.2078}{}}
\newlabel{proof-engine/ltac:coq:tacn.restart_timer}{{3.3.1}{468}{Timing a tactic that evaluates to a term: time\_constr}{section*.2079}{}}
\newlabel{proof-engine/ltac:coq:tacn.finish_timing}{{3.3.1}{468}{Timing a tactic that evaluates to a term: time\_constr}{section*.2080}{}}
\@writefile{toc}{\contentsline {paragraph}{Local definitions: let}{469}{paragraph*.2081}\protected@file@percent }
\newlabel{proof-engine/ltac:local-definitions-let}{{3.3.1}{469}{Local definitions: let}{paragraph*.2081}{}}
\newlabel{proof-engine/ltac:coq:tacn.let}{{3.3.1}{469}{Local definitions: let}{section*.2082}{}}
\newlabel{proof-engine/ltac:grammar-token-let_clause}{{3.3.1}{469}{Local definitions: let}{section*.2084}{}}
\@writefile{toc}{\contentsline {paragraph}{Function construction and application}{469}{paragraph*.2085}\protected@file@percent }
\newlabel{proof-engine/ltac:function-construction-and-application}{{3.3.1}{469}{Function construction and application}{paragraph*.2085}{}}
\newlabel{proof-engine/ltac:coq:tacn.fun}{{3.3.1}{469}{Function construction and application}{section*.2086}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on terms: match}{470}{paragraph*.2087}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-terms-match}{{3.3.1}{470}{Pattern matching on terms: match}{paragraph*.2087}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2088}{}}
\newlabel{proof-engine/ltac:coq:tacn.match}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2089}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2090}{}}
\newlabel{proof-engine/ltac:grammar-token-match_key}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2094}{}}
\newlabel{proof-engine/ltac:grammar-token-match_pattern}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2095}{}}
\newlabel{proof-engine/ltac:grammar-token-cpattern}{{3.3.1}{470}{Pattern matching on terms: match}{section*.2096}{}}
\newlabel{proof-engine/ltac:match-term-context}{{3.3.1}{471}{Pattern matching on terms: match}{section*.2097}{}}
\newlabel{proof-engine/ltac:coq:exn.Expression-does-not-evaluate-to-a-tactic}{{3.3.1}{471}{Pattern matching on terms: match}{section*.2098}{}}
\newlabel{proof-engine/ltac:coq:exn.No-matching-clauses-for-match}{{3.3.1}{471}{Pattern matching on terms: match}{section*.2099}{}}
\newlabel{proof-engine/ltac:coq:exn.Argument-of-match-does-not-evaluate-to-a-term}{{3.3.1}{471}{Pattern matching on terms: match}{section*.2100}{}}
\newlabel{proof-engine/ltac:match-vs-lazymatch-ex}{{3.3.1}{471}{Pattern matching on terms: match}{section*.2101}{}}
\newlabel{proof-engine/ltac:match-vs-multimatch-ex}{{3.3.1}{472}{Pattern matching on terms: match}{section*.2102}{}}
\newlabel{proof-engine/ltac:match-with-holes-ex}{{3.3.1}{472}{Pattern matching on terms: match}{section*.2103}{}}
\newlabel{proof-engine/ltac:match-term-context-ex}{{3.3.1}{472}{Pattern matching on terms: match}{section*.2104}{}}
\@writefile{toc}{\contentsline {paragraph}{Pattern matching on goals and hypotheses: match goal}{473}{paragraph*.2105}\protected@file@percent }
\newlabel{proof-engine/ltac:pattern-matching-on-goals-and-hypotheses-match-goal}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{paragraph*.2105}{}}
\newlabel{proof-engine/ltac:ltac-match-goal}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{paragraph*.2105}{}}
\newlabel{proof-engine/ltac:coq:tacn.lazymatch-goal}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{section*.2106}{}}
\newlabel{proof-engine/ltac:coq:tacn.match-goal}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{section*.2107}{}}
\newlabel{proof-engine/ltac:coq:tacn.multimatch-goal}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{section*.2108}{}}
\newlabel{proof-engine/ltac:grammar-token-goal_pattern}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{section*.2111}{}}
\newlabel{proof-engine/ltac:grammar-token-match_hyp}{{3.3.1}{473}{Pattern matching on goals and hypotheses: match goal}{section*.2112}{}}
\newlabel{proof-engine/ltac:coq:exn.No-matching-clauses-for-match-goal}{{3.3.1}{474}{Pattern matching on goals and hypotheses: match goal}{section*.2113}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-ex}{{3.3.1}{474}{Pattern matching on goals and hypotheses: match goal}{section*.2114}{}}
\newlabel{proof-engine/ltac:match-goal-hyps-rev-ex}{{3.3.1}{474}{Pattern matching on goals and hypotheses: match goal}{section*.2115}{}}
\newlabel{proof-engine/ltac:match-goal-multiple-hyps-ex}{{3.3.1}{475}{Pattern matching on goals and hypotheses: match goal}{section*.2116}{}}
\@writefile{toc}{\contentsline {paragraph}{Filling a term context}{476}{paragraph*.2117}\protected@file@percent }
\newlabel{proof-engine/ltac:filling-a-term-context}{{3.3.1}{476}{Filling a term context}{paragraph*.2117}{}}
\newlabel{proof-engine/ltac:coq:tacn.context}{{3.3.1}{476}{Filling a term context}{section*.2118}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-a-context-variable}{{3.3.1}{476}{Filling a term context}{section*.2119}{}}
\newlabel{proof-engine/ltac:coq:exn.Unbound-context-identifier-_u2018ident_u2019}{{3.3.1}{476}{Filling a term context}{section*.2120}{}}
\@writefile{toc}{\contentsline {paragraph}{Generating fresh hypothesis names}{476}{paragraph*.2121}\protected@file@percent }
\newlabel{proof-engine/ltac:generating-fresh-hypothesis-names}{{3.3.1}{476}{Generating fresh hypothesis names}{paragraph*.2121}{}}
\newlabel{proof-engine/ltac:coq:tacn.fresh}{{3.3.1}{476}{Generating fresh hypothesis names}{section*.2122}{}}
\@writefile{toc}{\contentsline {paragraph}{Computing in a term: eval}{477}{paragraph*.2123}\protected@file@percent }
\newlabel{proof-engine/ltac:computing-in-a-term-eval}{{3.3.1}{477}{Computing in a term: eval}{paragraph*.2123}{}}
\@writefile{toc}{\contentsline {paragraph}{Getting the type of a term}{477}{paragraph*.2124}\protected@file@percent }
\newlabel{proof-engine/ltac:getting-the-type-of-a-term}{{3.3.1}{477}{Getting the type of a term}{paragraph*.2124}{}}
\newlabel{proof-engine/ltac:coq:tacn.type-of}{{3.3.1}{477}{Getting the type of a term}{section*.2125}{}}
\@writefile{toc}{\contentsline {paragraph}{Manipulating untyped terms: type\_term}{477}{paragraph*.2126}\protected@file@percent }
\newlabel{proof-engine/ltac:manipulating-untyped-terms-type-term}{{3.3.1}{477}{Manipulating untyped terms: type\_term}{paragraph*.2126}{}}
\newlabel{proof-engine/ltac:coq:tacn.type_term}{{3.3.1}{477}{Manipulating untyped terms: type\_term}{section*.2127}{}}
\@writefile{toc}{\contentsline {paragraph}{Counting goals: numgoals}{478}{paragraph*.2128}\protected@file@percent }
\newlabel{proof-engine/ltac:counting-goals-numgoals}{{3.3.1}{478}{Counting goals: numgoals}{paragraph*.2128}{}}
\newlabel{proof-engine/ltac:coq:tacn.numgoals}{{3.3.1}{478}{Counting goals: numgoals}{section*.2129}{}}
\@writefile{toc}{\contentsline {paragraph}{Testing boolean expressions: guard}{478}{paragraph*.2130}\protected@file@percent }
\newlabel{proof-engine/ltac:testing-boolean-expressions-guard}{{3.3.1}{478}{Testing boolean expressions: guard}{paragraph*.2130}{}}
\newlabel{proof-engine/ltac:coq:tacn.guard}{{3.3.1}{478}{Testing boolean expressions: guard}{section*.2131}{}}
\newlabel{proof-engine/ltac:grammar-token-int_or_var}{{3.3.1}{478}{Testing boolean expressions: guard}{section*.2134}{}}
\newlabel{proof-engine/ltac:grammar-token-comparison}{{3.3.1}{478}{Testing boolean expressions: guard}{section*.2135}{}}
\newlabel{proof-engine/ltac:coq:exn.Condition-not-satisfied}{{3.3.1}{478}{Testing boolean expressions: guard}{section*.2136}{}}
\@writefile{toc}{\contentsline {subsubsection}{Checking properties of terms}{479}{subsubsection*.2137}\protected@file@percent }
\newlabel{proof-engine/ltac:checking-properties-of-terms}{{3.3.1}{479}{Checking properties of terms}{subsubsection*.2137}{}}
\newlabel{proof-engine/ltac:coq:tacn.constr_eq_strict}{{3.3.1}{479}{Checking properties of terms}{section*.2138}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-equal}{{3.3.1}{479}{Checking properties of terms}{section*.2139}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-equal-(due-to-universes)}{{3.3.1}{479}{Checking properties of terms}{section*.2140}{}}
\newlabel{proof-engine/ltac:coq:tacn.constr_eq}{{3.3.1}{479}{Checking properties of terms}{section*.2141}{}}
\newlabel{proof-engine/ltac:id6}{{3.3.1}{479}{Checking properties of terms}{section*.2142}{}}
\newlabel{proof-engine/ltac:id7}{{3.3.1}{479}{Checking properties of terms}{section*.2143}{}}
\newlabel{proof-engine/ltac:coq:tacn.constr_eq_nounivs}{{3.3.1}{479}{Checking properties of terms}{section*.2144}{}}
\newlabel{proof-engine/ltac:coq:tacn.unify}{{3.3.1}{479}{Checking properties of terms}{section*.2145}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_evar}{{3.3.1}{479}{Checking properties of terms}{section*.2146}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-an-evar}{{3.3.1}{479}{Checking properties of terms}{section*.2147}{}}
\newlabel{proof-engine/ltac:coq:tacn.has_evar}{{3.3.1}{479}{Checking properties of terms}{section*.2148}{}}
\newlabel{proof-engine/ltac:coq:exn.No-evars}{{3.3.1}{479}{Checking properties of terms}{section*.2149}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_ground}{{3.3.1}{479}{Checking properties of terms}{section*.2150}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-ground}{{3.3.1}{479}{Checking properties of terms}{section*.2151}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_var}{{3.3.1}{479}{Checking properties of terms}{section*.2152}{}}
\newlabel{proof-engine/ltac:coq:exn.Not-a-variable-or-hypothesis}{{3.3.1}{479}{Checking properties of terms}{section*.2153}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_const}{{3.3.1}{479}{Checking properties of terms}{section*.2154}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-constant}{{3.3.1}{479}{Checking properties of terms}{section*.2155}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_fix}{{3.3.1}{479}{Checking properties of terms}{section*.2156}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-fix-definition}{{3.3.1}{479}{Checking properties of terms}{section*.2157}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_cofix}{{3.3.1}{480}{Checking properties of terms}{section*.2158}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-cofix-definition}{{3.3.1}{480}{Checking properties of terms}{section*.2159}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_constructor}{{3.3.1}{480}{Checking properties of terms}{section*.2160}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-constructor}{{3.3.1}{480}{Checking properties of terms}{section*.2161}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_ind}{{3.3.1}{480}{Checking properties of terms}{section*.2162}{}}
\newlabel{proof-engine/ltac:coq:exn.not-an-(co)inductive-datatype}{{3.3.1}{480}{Checking properties of terms}{section*.2163}{}}
\newlabel{proof-engine/ltac:coq:tacn.is_proj}{{3.3.1}{480}{Checking properties of terms}{section*.2164}{}}
\newlabel{proof-engine/ltac:coq:exn.not-a-primitive-projection}{{3.3.1}{480}{Checking properties of terms}{section*.2165}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving a subgoal as a separate lemma: abstract}{480}{paragraph*.2166}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-a-subgoal-as-a-separate-lemma-abstract}{{3.3.1}{480}{Proving a subgoal as a separate lemma: abstract}{paragraph*.2166}{}}
\newlabel{proof-engine/ltac:coq:tacn.abstract}{{3.3.1}{480}{Proving a subgoal as a separate lemma: abstract}{section*.2167}{}}
\newlabel{proof-engine/ltac:coq:tacn.transparent_abstract}{{3.3.1}{481}{Proving a subgoal as a separate lemma: abstract}{section*.2168}{}}
\newlabel{proof-engine/ltac:coq:exn.Proof-is-not-complete.-(abstract)}{{3.3.1}{481}{Proving a subgoal as a separate lemma: abstract}{section*.2169}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactic toplevel definitions}{481}{subsubsection*.2170}\protected@file@percent }
\newlabel{proof-engine/ltac:tactic-toplevel-definitions}{{3.3.1}{481}{Tactic toplevel definitions}{subsubsection*.2170}{}}
\@writefile{toc}{\contentsline {paragraph}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ symbols}{481}{paragraph*.2171}\protected@file@percent }
\newlabel{proof-engine/ltac:defining-ltac-symbols}{{3.3.1}{481}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{paragraph*.2171}{}}
\newlabel{proof-engine/ltac:coq:cmd.Ltac}{{3.3.1}{481}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2172}{}}
\newlabel{proof-engine/ltac:grammar-token-tacdef_body}{{3.3.1}{481}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2174}{}}
\newlabel{proof-engine/ltac:coq:exn.There-is-already-an-Ltac-named-_u2018qualid_u2019}{{3.3.1}{481}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2175}{}}
\newlabel{proof-engine/ltac:coq:exn.There-is-no-Ltac-named-_u2018qualid_u2019}{{3.3.1}{481}{Defining \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ symbols}{section*.2176}{}}
\@writefile{toc}{\contentsline {paragraph}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{482}{paragraph*.2177}\protected@file@percent }
\newlabel{proof-engine/ltac:printing-ltac-tactics}{{3.3.1}{482}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.2177}{}}
\newlabel{proof-engine/ltac:coq:cmd.Print-Ltac}{{3.3.1}{482}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2178}{}}
\newlabel{proof-engine/ltac:coq:cmd.Print-Ltac-Signatures}{{3.3.1}{482}{Printing \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2179}{}}
\@writefile{toc}{\contentsline {subsubsection}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$}{482}{subsubsection*.2180}\protected@file@percent }
\newlabel{proof-engine/ltac:examples-of-using-ltac}{{3.3.1}{482}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.2180}{}}
\newlabel{proof-engine/ltac:ltac-examples}{{3.3.1}{482}{Examples of using \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$}{subsubsection*.2180}{}}
\@writefile{toc}{\contentsline {paragraph}{Proof that the natural numbers have at least two elements}{482}{paragraph*.2181}\protected@file@percent }
\newlabel{proof-engine/ltac:proof-that-the-natural-numbers-have-at-least-two-elements}{{3.3.1}{482}{Proof that the natural numbers have at least two elements}{paragraph*.2181}{}}
\@writefile{toc}{\contentsline {paragraph}{Proving that a list is a permutation of a second list}{484}{paragraph*.2182}\protected@file@percent }
\newlabel{proof-engine/ltac:proving-that-a-list-is-a-permutation-of-a-second-list}{{3.3.1}{484}{Proving that a list is a permutation of a second list}{paragraph*.2182}{}}
\@writefile{toc}{\contentsline {paragraph}{Deciding intuitionistic propositional logic}{485}{paragraph*.2183}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-intuitionistic-propositional-logic}{{3.3.1}{485}{Deciding intuitionistic propositional logic}{paragraph*.2183}{}}
\@writefile{toc}{\contentsline {paragraph}{Deciding type isomorphisms}{486}{paragraph*.2184}\protected@file@percent }
\newlabel{proof-engine/ltac:deciding-type-isomorphisms}{{3.3.1}{486}{Deciding type isomorphisms}{paragraph*.2184}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{489}{subsubsection*.2185}\protected@file@percent }
\newlabel{proof-engine/ltac:debugging-ltac-tactics}{{3.3.1}{489}{Debugging \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{subsubsection*.2185}{}}
\@writefile{toc}{\contentsline {paragraph}{Backtraces}{489}{paragraph*.2186}\protected@file@percent }
\newlabel{proof-engine/ltac:backtraces}{{3.3.1}{489}{Backtraces}{paragraph*.2186}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Backtrace}{{3.3.1}{489}{Backtraces}{section*.2187}{}}
\@writefile{toc}{\contentsline {paragraph}{Tracing execution}{489}{paragraph*.2188}\protected@file@percent }
\newlabel{proof-engine/ltac:tracing-execution}{{3.3.1}{489}{Tracing execution}{paragraph*.2188}{}}
\newlabel{proof-engine/ltac:coq:cmd.Info}{{3.3.1}{489}{Tracing execution}{section*.2189}{}}
\newlabel{proof-engine/ltac:coq:opt.Info-Level}{{3.3.1}{489}{Tracing execution}{section*.2190}{}}
\@writefile{toc}{\contentsline {paragraph}{Interactive debugger}{490}{paragraph*.2191}\protected@file@percent }
\newlabel{proof-engine/ltac:interactive-debugger}{{3.3.1}{490}{Interactive debugger}{paragraph*.2191}{}}
\newlabel{proof-engine/ltac:id11}{{3.3.1}{490}{Interactive debugger}{paragraph*.2191}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Debug}{{3.3.1}{490}{Interactive debugger}{section*.2192}{}}
\newlabel{proof-engine/ltac:coq:exn.Debug-mode-not-available-in-the-IDE}{{3.3.1}{490}{Interactive debugger}{section*.2193}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Batch-Debug}{{3.3.1}{490}{Interactive debugger}{section*.2194}{}}
\@writefile{toc}{\contentsline {paragraph}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text  {tac}}$ tactics}{490}{paragraph*.2195}\protected@file@percent }
\newlabel{proof-engine/ltac:profiling-ltac-tactics}{{3.3.1}{490}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{paragraph*.2195}{}}
\newlabel{proof-engine/ltac:coq:flag.Ltac-Profiling}{{3.3.1}{490}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2196}{}}
\newlabel{proof-engine/ltac:coq:cmd.Show-Ltac-Profile}{{3.3.1}{490}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2197}{}}
\newlabel{proof-engine/ltac:coq:cmd.Reset-Ltac-Profile}{{3.3.1}{490}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2198}{}}
\newlabel{proof-engine/ltac:coq:tacn.start-ltac-profiling}{{3.3.1}{492}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2199}{}}
\newlabel{proof-engine/ltac:coq:tacn.stop-ltac-profiling}{{3.3.1}{492}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2200}{}}
\newlabel{proof-engine/ltac:coq:tacn.reset-ltac-profile}{{3.3.1}{492}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2201}{}}
\newlabel{proof-engine/ltac:coq:tacn.show-ltac-profile}{{3.3.1}{492}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2202}{}}
\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}{492}{Profiling \sphinxstyleliteralintitle {\sphinxupquote {L}}$_{\text {tac}}$ tactics}{section*.2203}{}}
\@writefile{toc}{\contentsline {paragraph}{Run\sphinxhyphen {}time optimization tactic}{492}{paragraph*.2204}\protected@file@percent }
\newlabel{proof-engine/ltac:run-time-optimization-tactic}{{3.3.1}{492}{Run\sphinxhyphen {}time optimization tactic}{paragraph*.2204}{}}
\newlabel{proof-engine/ltac:coq:tacn.optimize_heap}{{3.3.1}{492}{Run\sphinxhyphen {}time optimization tactic}{section*.2205}{}}
\newlabel{proof-engine/ltac:coq:cmd.infoH}{{3.3.1}{492}{Run\sphinxhyphen {}time optimization tactic}{section*.2206}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Ltac2}{492}{subsection.3.3.2}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2}{{3.3.2}{492}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2:id1}{{3.3.2}{492}{Ltac2}{subsection.3.3.2}{}}
\newlabel{proof-engine/ltac2::doc}{{3.3.2}{492}{Ltac2}{subsection.3.3.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{General design}{493}{subsubsection*.2207}\protected@file@percent }
\newlabel{proof-engine/ltac2:general-design}{{3.3.2}{493}{General design}{subsubsection*.2207}{}}
\newlabel{proof-engine/ltac2:ltac2-design}{{3.3.2}{493}{General design}{subsubsection*.2207}{}}
\@writefile{toc}{\contentsline {subsubsection}{ML component}{494}{subsubsection*.2208}\protected@file@percent }
\newlabel{proof-engine/ltac2:ml-component}{{3.3.2}{494}{ML component}{subsubsection*.2208}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{494}{paragraph*.2209}\protected@file@percent }
\newlabel{proof-engine/ltac2:overview}{{3.3.2}{494}{Overview}{paragraph*.2209}{}}
\@writefile{toc}{\contentsline {paragraph}{Type Syntax}{494}{paragraph*.2210}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-syntax}{{3.3.2}{494}{Type Syntax}{paragraph*.2210}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type}{{3.3.2}{494}{Type Syntax}{section*.2216}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type2}{{3.3.2}{494}{Type Syntax}{section*.2217}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type1}{{3.3.2}{494}{Type Syntax}{section*.2218}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_type0}{{3.3.2}{494}{Type Syntax}{section*.2219}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_typevar}{{3.3.2}{494}{Type Syntax}{section*.2220}{}}
\@writefile{toc}{\contentsline {paragraph}{Type declarations}{495}{paragraph*.2221}\protected@file@percent }
\newlabel{proof-engine/ltac2:type-declarations}{{3.3.2}{495}{Type declarations}{paragraph*.2221}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Type}{{3.3.2}{495}{Type declarations}{section*.2222}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_def}{{3.3.2}{495}{Type declarations}{section*.2228}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_prm}{{3.3.2}{495}{Type declarations}{section*.2229}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2typ_knd}{{3.3.2}{495}{Type declarations}{section*.2230}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2alg_constructor}{{3.3.2}{495}{Type declarations}{section*.2231}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2rec_field}{{3.3.2}{495}{Type declarations}{section*.2232}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-external}{{3.3.2}{496}{Type declarations}{section*.2233}{}}
\@writefile{toc}{\contentsline {paragraph}{APIs}{496}{paragraph*.2234}\protected@file@percent }
\newlabel{proof-engine/ltac2:apis}{{3.3.2}{496}{APIs}{paragraph*.2234}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Syntax}{496}{paragraph*.2235}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-syntax}{{3.3.2}{496}{Term Syntax}{paragraph*.2235}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr}{{3.3.2}{497}{Term Syntax}{section*.2245}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr5}{{3.3.2}{497}{Term Syntax}{section*.2246}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_let_clause}{{3.3.2}{497}{Term Syntax}{section*.2247}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr3}{{3.3.2}{497}{Term Syntax}{section*.2248}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr2}{{3.3.2}{497}{Term Syntax}{section*.2249}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr1}{{3.3.2}{497}{Term Syntax}{section*.2250}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2rec_fieldexpr}{{3.3.2}{497}{Term Syntax}{section*.2251}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_expr0}{{3.3.2}{497}{Term Syntax}{section*.2252}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_tactic_atom}{{3.3.2}{497}{Term Syntax}{section*.2253}{}}
\newlabel{proof-engine/ltac2:grammar-token-lident}{{3.3.2}{497}{Term Syntax}{section*.2254}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac2 Definitions}{497}{paragraph*.2255}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2-definitions}{{3.3.2}{497}{Ltac2 Definitions}{paragraph*.2255}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2}{{3.3.2}{497}{Ltac2 Definitions}{section*.2256}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2def_body}{{3.3.2}{497}{Ltac2 Definitions}{section*.2258}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Set}{{3.3.2}{498}{Ltac2 Definitions}{section*.2259}{}}
\@writefile{toc}{\contentsline {paragraph}{Reduction}{498}{paragraph*.2260}\protected@file@percent }
\newlabel{proof-engine/ltac2:reduction}{{3.3.2}{498}{Reduction}{paragraph*.2260}{}}
\@writefile{toc}{\contentsline {paragraph}{Typing}{499}{paragraph*.2261}\protected@file@percent }
\newlabel{proof-engine/ltac2:typing}{{3.3.2}{499}{Typing}{paragraph*.2261}{}}
\@writefile{toc}{\contentsline {paragraph}{Effects}{499}{paragraph*.2262}\protected@file@percent }
\newlabel{proof-engine/ltac2:effects}{{3.3.2}{499}{Effects}{paragraph*.2262}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard IO}{499}{subparagraph*.2263}\protected@file@percent }
\newlabel{proof-engine/ltac2:standard-io}{{3.3.2}{499}{Standard IO}{subparagraph*.2263}{}}
\@writefile{toc}{\contentsline {subparagraph}{Fatal errors}{499}{subparagraph*.2264}\protected@file@percent }
\newlabel{proof-engine/ltac2:fatal-errors}{{3.3.2}{499}{Fatal errors}{subparagraph*.2264}{}}
\@writefile{toc}{\contentsline {subparagraph}{Backtracking}{500}{subparagraph*.2265}\protected@file@percent }
\newlabel{proof-engine/ltac2:backtracking}{{3.3.2}{500}{Backtracking}{subparagraph*.2265}{}}
\@writefile{toc}{\contentsline {subparagraph}{Goals}{500}{subparagraph*.2266}\protected@file@percent }
\newlabel{proof-engine/ltac2:goals}{{3.3.2}{500}{Goals}{subparagraph*.2266}{}}
\@writefile{toc}{\contentsline {subsubsection}{Meta\sphinxhyphen {}programming}{501}{subsubsection*.2267}\protected@file@percent }
\newlabel{proof-engine/ltac2:meta-programming}{{3.3.2}{501}{Meta\sphinxhyphen {}programming}{subsubsection*.2267}{}}
\@writefile{toc}{\contentsline {paragraph}{Overview}{501}{paragraph*.2268}\protected@file@percent }
\newlabel{proof-engine/ltac2:id3}{{3.3.2}{501}{Overview}{paragraph*.2268}{}}
\@writefile{toc}{\contentsline {paragraph}{Quotations}{501}{paragraph*.2269}\protected@file@percent }
\newlabel{proof-engine/ltac2:quotations}{{3.3.2}{501}{Quotations}{paragraph*.2269}{}}
\@writefile{toc}{\contentsline {subparagraph}{Built\sphinxhyphen {}in quotations}{501}{subparagraph*.2270}\protected@file@percent }
\newlabel{proof-engine/ltac2:built-in-quotations}{{3.3.2}{501}{Built\sphinxhyphen {}in quotations}{subparagraph*.2270}{}}
\newlabel{proof-engine/ltac2:ltac2-built-in-quotations}{{3.3.2}{501}{Built\sphinxhyphen {}in quotations}{subparagraph*.2270}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_quotations}{{3.3.2}{501}{Built\sphinxhyphen {}in quotations}{section*.2273}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac1_expr_in_env}{{3.3.2}{501}{Built\sphinxhyphen {}in quotations}{section*.2274}{}}
\@writefile{toc}{\contentsline {subparagraph}{Strict vs. non\sphinxhyphen {}strict mode}{502}{subparagraph*.2275}\protected@file@percent }
\newlabel{proof-engine/ltac2:strict-vs-non-strict-mode}{{3.3.2}{502}{Strict vs. non\sphinxhyphen {}strict mode}{subparagraph*.2275}{}}
\@writefile{toc}{\contentsline {paragraph}{Term Antiquotations}{502}{paragraph*.2276}\protected@file@percent }
\newlabel{proof-engine/ltac2:term-antiquotations}{{3.3.2}{502}{Term Antiquotations}{paragraph*.2276}{}}
\@writefile{toc}{\contentsline {subparagraph}{Syntax}{502}{subparagraph*.2277}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax}{{3.3.2}{502}{Syntax}{subparagraph*.2277}{}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{502}{Syntax}{section*.2279}{}}
\@writefile{toc}{\contentsline {subparagraph}{Semantics}{502}{subparagraph*.2280}\protected@file@percent }
\newlabel{proof-engine/ltac2:semantics}{{3.3.2}{502}{Semantics}{subparagraph*.2280}{}}
\@writefile{toc}{\contentsline {subparagraph}{Static semantics}{502}{subparagraph*.2281}\protected@file@percent }
\newlabel{proof-engine/ltac2:static-semantics}{{3.3.2}{502}{Static semantics}{subparagraph*.2281}{}}
\@writefile{toc}{\contentsline {subparagraph}{Dynamic semantics}{504}{subparagraph*.2282}\protected@file@percent }
\newlabel{proof-engine/ltac2:dynamic-semantics}{{3.3.2}{504}{Dynamic semantics}{subparagraph*.2282}{}}
\newlabel{proof-engine/ltac2:grammar-token-term}{{3.3.2}{504}{Dynamic semantics}{section*.2284}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over terms}{504}{paragraph*.2285}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-terms}{{3.3.2}{504}{Match over terms}{paragraph*.2285}{}}
\newlabel{proof-engine/ltac2:coq:tacn.lazy_match!}{{3.3.2}{504}{Match over terms}{section*.2286}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match!}{{3.3.2}{504}{Match over terms}{section*.2287}{}}
\newlabel{proof-engine/ltac2:coq:tacn.multi_match!}{{3.3.2}{504}{Match over terms}{section*.2288}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_key}{{3.3.2}{504}{Match over terms}{section*.2293}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_list}{{3.3.2}{504}{Match over terms}{section*.2294}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_rule}{{3.3.2}{504}{Match over terms}{section*.2295}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_match_pattern}{{3.3.2}{504}{Match over terms}{section*.2296}{}}
\newlabel{proof-engine/ltac2:match-term-context}{{3.3.2}{505}{Match over terms}{section*.2297}{}}
\newlabel{proof-engine/ltac2:ltac2-match-vs-lazymatch-ex}{{3.3.2}{505}{Match over terms}{section*.2298}{}}
\newlabel{proof-engine/ltac2:ltac2-match-vs-multimatch-ex}{{3.3.2}{506}{Match over terms}{section*.2299}{}}
\newlabel{proof-engine/ltac2:ltac2-match-with-holes-ex}{{3.3.2}{506}{Match over terms}{section*.2300}{}}
\newlabel{proof-engine/ltac2:ltac2-match-term-context-ex}{{3.3.2}{506}{Match over terms}{section*.2301}{}}
\@writefile{toc}{\contentsline {paragraph}{Match over goals}{507}{paragraph*.2302}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-over-goals}{{3.3.2}{507}{Match over goals}{paragraph*.2302}{}}
\newlabel{proof-engine/ltac2:coq:tacn.lazy_match!-goal}{{3.3.2}{507}{Match over goals}{section*.2303}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match!-goal}{{3.3.2}{507}{Match over goals}{section*.2304}{}}
\newlabel{proof-engine/ltac2:coq:tacn.multi_match!-goal}{{3.3.2}{507}{Match over goals}{section*.2305}{}}
\newlabel{proof-engine/ltac2:grammar-token-goal_match_list}{{3.3.2}{507}{Match over goals}{section*.2310}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_rule}{{3.3.2}{507}{Match over goals}{section*.2311}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_pattern}{{3.3.2}{507}{Match over goals}{section*.2312}{}}
\newlabel{proof-engine/ltac2:grammar-token-gmatch_hyp_pattern}{{3.3.2}{507}{Match over goals}{section*.2313}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-hyps-ex}{{3.3.2}{508}{Match over goals}{section*.2314}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-hyps-rev-ex}{{3.3.2}{508}{Match over goals}{section*.2315}{}}
\newlabel{proof-engine/ltac2:ltac2-match-goal-multiple-hyps-ex}{{3.3.2}{509}{Match over goals}{section*.2316}{}}
\@writefile{toc}{\contentsline {paragraph}{Match on values}{510}{paragraph*.2317}\protected@file@percent }
\newlabel{proof-engine/ltac2:match-on-values}{{3.3.2}{510}{Match on values}{paragraph*.2317}{}}
\newlabel{proof-engine/ltac2:coq:tacn.match-(Ltac2)}{{3.3.2}{510}{Match on values}{section*.2318}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_branches}{{3.3.2}{510}{Match on values}{section*.2323}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2pat1}{{3.3.2}{510}{Match on values}{section*.2324}{}}
\newlabel{proof-engine/ltac2:grammar-token-tac2pat0}{{3.3.2}{510}{Match on values}{section*.2325}{}}
\newlabel{proof-engine/ltac2:grammar-token-atomic_tac2pat}{{3.3.2}{510}{Match on values}{section*.2326}{}}
\newlabel{proof-engine/ltac2:coq:tacn.if-then-else-(Ltac2)}{{3.3.2}{510}{Match on values}{section*.2327}{}}
\@writefile{toc}{\contentsline {subsubsection}{Notations}{510}{subsubsection*.2328}\protected@file@percent }
\newlabel{proof-engine/ltac2:notations}{{3.3.2}{510}{Notations}{subsubsection*.2328}{}}
\newlabel{proof-engine/ltac2:ltac2-notations}{{3.3.2}{510}{Notations}{subsubsection*.2328}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Notation}{{3.3.2}{510}{Notations}{section*.2329}{}}
\newlabel{proof-engine/ltac2:coq:exn.Notation-levels-must-range-between-0-and-6}{{3.3.2}{511}{Notations}{section*.2330}{}}
\@writefile{toc}{\contentsline {paragraph}{Abbreviations}{512}{paragraph*.2331}\protected@file@percent }
\newlabel{proof-engine/ltac2:abbreviations}{{3.3.2}{512}{Abbreviations}{paragraph*.2331}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Notation-(abbreviation)}{{3.3.2}{512}{Abbreviations}{section*.2332}{}}
\@writefile{toc}{\contentsline {paragraph}{Defining tactics}{512}{paragraph*.2333}\protected@file@percent }
\newlabel{proof-engine/ltac2:defining-tactics}{{3.3.2}{512}{Defining tactics}{paragraph*.2333}{}}
\newlabel{proof-engine/ltac2:id4}{{3.3.2}{512}{Defining tactics}{paragraph*.2333}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntactic classes}{513}{paragraph*.2334}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntactic-classes}{{3.3.2}{513}{Syntactic classes}{paragraph*.2334}{}}
\newlabel{proof-engine/ltac2:id5}{{3.3.2}{513}{Syntactic classes}{paragraph*.2334}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_scope}{{3.3.2}{513}{Syntactic classes}{section*.2336}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_intropatterns}{{3.3.2}{514}{Syntactic classes}{section*.2339}{}}
\newlabel{proof-engine/ltac2:grammar-token-nonsimple_intropattern}{{3.3.2}{514}{Syntactic classes}{section*.2340}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_simple_intropattern}{{3.3.2}{515}{Syntactic classes}{section*.2345}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_or_and_intropattern}{{3.3.2}{515}{Syntactic classes}{section*.2346}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_equality_intropattern}{{3.3.2}{515}{Syntactic classes}{section*.2347}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_naming_intropattern}{{3.3.2}{515}{Syntactic classes}{section*.2348}{}}
\newlabel{proof-engine/ltac2:grammar-token-ident_or_anti}{{3.3.2}{515}{Syntactic classes}{section*.2350}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_destruction_arg}{{3.3.2}{515}{Syntactic classes}{section*.2353}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_constr_with_bindings}{{3.3.2}{515}{Syntactic classes}{section*.2354}{}}
\newlabel{proof-engine/ltac2:grammar-token-q_with_bindings}{{3.3.2}{515}{Syntactic classes}{section*.2359}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_bindings}{{3.3.2}{515}{Syntactic classes}{section*.2360}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_simple_binding}{{3.3.2}{515}{Syntactic classes}{section*.2361}{}}
\newlabel{proof-engine/ltac2:grammar-token-qhyp}{{3.3.2}{515}{Syntactic classes}{section*.2362}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_reductions}{{3.3.2}{515}{Syntactic classes}{section*.2366}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_red_flag}{{3.3.2}{515}{Syntactic classes}{section*.2367}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_delta_reductions}{{3.3.2}{515}{Syntactic classes}{section*.2368}{}}
\newlabel{proof-engine/ltac2:grammar-token-refglobal}{{3.3.2}{515}{Syntactic classes}{section*.2370}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_clause}{{3.3.2}{516}{Syntactic classes}{section*.2373}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_in_clause}{{3.3.2}{516}{Syntactic classes}{section*.2374}{}}
\newlabel{proof-engine/ltac2:grammar-token-q_occurrences}{{3.3.2}{516}{Syntactic classes}{section*.2381}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_occs}{{3.3.2}{516}{Syntactic classes}{section*.2382}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_occs_nums}{{3.3.2}{516}{Syntactic classes}{section*.2383}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_concl_occ}{{3.3.2}{516}{Syntactic classes}{section*.2384}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_hypident_occ}{{3.3.2}{516}{Syntactic classes}{section*.2385}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_hypident}{{3.3.2}{516}{Syntactic classes}{section*.2386}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_induction_clause}{{3.3.2}{516}{Syntactic classes}{section*.2390}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_or_and_ipat}{{3.3.2}{516}{Syntactic classes}{section*.2391}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_eqn_ipat}{{3.3.2}{516}{Syntactic classes}{section*.2392}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_conversion}{{3.3.2}{516}{Syntactic classes}{section*.2394}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_oriented_rewriter}{{3.3.2}{516}{Syntactic classes}{section*.2397}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_rewriter}{{3.3.2}{516}{Syntactic classes}{section*.2398}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_for_each_goal}{{3.3.2}{516}{Syntactic classes}{section*.2401}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_goal_tactics}{{3.3.2}{516}{Syntactic classes}{section*.2402}{}}
\newlabel{proof-engine/ltac2:grammar-token-hintdb}{{3.3.2}{516}{Syntactic classes}{section*.2404}{}}
\newlabel{proof-engine/ltac2:grammar-token-move_location}{{3.3.2}{516}{Syntactic classes}{section*.2406}{}}
\newlabel{proof-engine/ltac2:grammar-token-pose}{{3.3.2}{516}{Syntactic classes}{section*.2409}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_name}{{3.3.2}{516}{Syntactic classes}{section*.2410}{}}
\newlabel{proof-engine/ltac2:grammar-token-assertion}{{3.3.2}{517}{Syntactic classes}{section*.2414}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_as_ipat}{{3.3.2}{517}{Syntactic classes}{section*.2415}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac2_by_tactic}{{3.3.2}{517}{Syntactic classes}{section*.2416}{}}
\@writefile{toc}{\contentsline {subsubsection}{Evaluation}{517}{subsubsection*.2417}\protected@file@percent }
\newlabel{proof-engine/ltac2:evaluation}{{3.3.2}{517}{Evaluation}{subsubsection*.2417}{}}
\newlabel{proof-engine/ltac2:coq:cmd.Ltac2-Eval}{{3.3.2}{517}{Evaluation}{section*.2418}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debug}{517}{subsubsection*.2419}\protected@file@percent }
\newlabel{proof-engine/ltac2:debug}{{3.3.2}{517}{Debug}{subsubsection*.2419}{}}
\newlabel{proof-engine/ltac2:coq:flag.Ltac2-Backtrace}{{3.3.2}{517}{Debug}{section*.2420}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compatibility layer with Ltac1}{517}{subsubsection*.2421}\protected@file@percent }
\newlabel{proof-engine/ltac2:compatibility-layer-with-ltac1}{{3.3.2}{517}{Compatibility layer with Ltac1}{subsubsection*.2421}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac1 from Ltac2}{517}{paragraph*.2422}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac1-from-ltac2}{{3.3.2}{517}{Ltac1 from Ltac2}{paragraph*.2422}{}}
\@writefile{toc}{\contentsline {subparagraph}{Simple API}{517}{subparagraph*.2423}\protected@file@percent }
\newlabel{proof-engine/ltac2:simple-api}{{3.3.2}{517}{Simple API}{subparagraph*.2423}{}}
\newlabel{proof-engine/ltac2:id6}{{3.3.2}{517}{Simple API}{subparagraph*.2423}{}}
\@writefile{toc}{\contentsline {subparagraph}{Low\sphinxhyphen {}level API}{518}{subparagraph*.2424}\protected@file@percent }
\newlabel{proof-engine/ltac2:low-level-api}{{3.3.2}{518}{Low\sphinxhyphen {}level API}{subparagraph*.2424}{}}
\newlabel{proof-engine/ltac2:id7}{{3.3.2}{518}{Low\sphinxhyphen {}level API}{subparagraph*.2424}{}}
\@writefile{toc}{\contentsline {paragraph}{Ltac2 from Ltac1}{518}{paragraph*.2425}\protected@file@percent }
\newlabel{proof-engine/ltac2:ltac2-from-ltac1}{{3.3.2}{518}{Ltac2 from Ltac1}{paragraph*.2425}{}}
\newlabel{proof-engine/ltac2:grammar-token-ltac_expr}{{3.3.2}{518}{Ltac2 from Ltac1}{section*.2427}{}}
\@writefile{toc}{\contentsline {paragraph}{Switching between Ltac languages}{519}{paragraph*.2428}\protected@file@percent }
\newlabel{proof-engine/ltac2:switching-between-ltac-languages}{{3.3.2}{519}{Switching between Ltac languages}{paragraph*.2428}{}}
\@writefile{toc}{\contentsline {subsubsection}{Transition from Ltac1}{519}{subsubsection*.2429}\protected@file@percent }
\newlabel{proof-engine/ltac2:transition-from-ltac1}{{3.3.2}{519}{Transition from Ltac1}{subsubsection*.2429}{}}
\@writefile{toc}{\contentsline {paragraph}{Syntax changes}{519}{paragraph*.2430}\protected@file@percent }
\newlabel{proof-engine/ltac2:syntax-changes}{{3.3.2}{519}{Syntax changes}{paragraph*.2430}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactic delay}{519}{paragraph*.2431}\protected@file@percent }
\newlabel{proof-engine/ltac2:tactic-delay}{{3.3.2}{519}{Tactic delay}{paragraph*.2431}{}}
\@writefile{toc}{\contentsline {paragraph}{Variable binding}{520}{paragraph*.2432}\protected@file@percent }
\newlabel{proof-engine/ltac2:variable-binding}{{3.3.2}{520}{Variable binding}{paragraph*.2432}{}}
\@writefile{toc}{\contentsline {subparagraph}{In Ltac expressions}{520}{subparagraph*.2433}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-ltac-expressions}{{3.3.2}{520}{In Ltac expressions}{subparagraph*.2433}{}}
\newlabel{proof-engine/ltac2:coq:exn.Unbound-_value|constructor_-X}{{3.3.2}{520}{In Ltac expressions}{section*.2434}{}}
\@writefile{toc}{\contentsline {subparagraph}{In quotations}{520}{subparagraph*.2435}\protected@file@percent }
\newlabel{proof-engine/ltac2:in-quotations}{{3.3.2}{520}{In quotations}{subparagraph*.2435}{}}
\newlabel{proof-engine/ltac2:coq:exn.The-reference-X-was-not-found-in-the-current-environment}{{3.3.2}{520}{In quotations}{section*.2436}{}}
\@writefile{toc}{\contentsline {paragraph}{Exception catching}{520}{paragraph*.2437}\protected@file@percent }
\newlabel{proof-engine/ltac2:exception-catching}{{3.3.2}{520}{Exception catching}{paragraph*.2437}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Using Coq}{521}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:using-coq}{{4}{521}{Using Coq}{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Libraries and plugins}{521}{section.4.1}\protected@file@percent }
\newlabel{using/libraries/index:libraries-and-plugins}{{4.1}{521}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index:libraries}{{4.1}{521}{Libraries and plugins}{section.4.1}{}}
\newlabel{using/libraries/index::doc}{{4.1}{521}{Libraries and plugins}{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}The Coq library}{521}{subsection.4.1.1}\protected@file@percent }
\newlabel{language/coq-library:the-coq-library}{{4.1.1}{521}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:thecoqlibrary}{{4.1.1}{521}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library::doc}{{4.1.1}{521}{The Coq library}{subsection.4.1.1}{}}
\newlabel{language/coq-library:term-prelude}{{4.1.1}{521}{The Coq library}{section*.2438}{}}
\newlabel{language/coq-library:term-standard-library}{{4.1.1}{521}{The Coq library}{section*.2439}{}}
\@writefile{toc}{\contentsline {subsubsection}{The prelude}{521}{subsubsection*.2440}\protected@file@percent }
\newlabel{language/coq-library:the-prelude}{{4.1.1}{521}{The prelude}{subsubsection*.2440}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations}{522}{paragraph*.2441}\protected@file@percent }
\newlabel{language/coq-library:notations}{{4.1.1}{522}{Notations}{paragraph*.2441}{}}
\newlabel{language/coq-library:init-notations}{{4.1.1}{522}{Notations}{paragraph*.2441}{}}
\@writefile{toc}{\contentsline {paragraph}{Logic}{522}{paragraph*.2442}\protected@file@percent }
\newlabel{language/coq-library:logic}{{4.1.1}{522}{Logic}{paragraph*.2442}{}}
\newlabel{language/coq-library:coq-library-logic}{{4.1.1}{522}{Logic}{paragraph*.2442}{}}
\newlabel{language/coq-library:grammar-token-form}{{4.1.1}{522}{Logic}{section*.2443}{}}
\@writefile{toc}{\contentsline {subparagraph}{Propositional Connectives}{523}{subparagraph*.2444}\protected@file@percent }
\newlabel{language/coq-library:propositional-connectives}{{4.1.1}{523}{Propositional Connectives}{subparagraph*.2444}{}}
\@writefile{toc}{\contentsline {subparagraph}{Quantifiers}{523}{subparagraph*.2445}\protected@file@percent }
\newlabel{language/coq-library:quantifiers}{{4.1.1}{523}{Quantifiers}{subparagraph*.2445}{}}
\@writefile{toc}{\contentsline {subparagraph}{Equality}{524}{subparagraph*.2446}\protected@file@percent }
\newlabel{language/coq-library:equality}{{4.1.1}{524}{Equality}{subparagraph*.2446}{}}
\newlabel{language/coq-library:coq-equality}{{4.1.1}{524}{Equality}{subparagraph*.2446}{}}
\@writefile{toc}{\contentsline {subparagraph}{Lemmas}{524}{subparagraph*.2447}\protected@file@percent }
\newlabel{language/coq-library:lemmas}{{4.1.1}{524}{Lemmas}{subparagraph*.2447}{}}
\newlabel{language/coq-library:index-4}{{4.1.1}{524}{Lemmas}{section*.2448}{}}
\@writefile{toc}{\contentsline {paragraph}{Datatypes}{525}{paragraph*.2449}\protected@file@percent }
\newlabel{language/coq-library:datatypes}{{4.1.1}{525}{Datatypes}{paragraph*.2449}{}}
\newlabel{language/coq-library:id1}{{4.1.1}{525}{Datatypes}{paragraph*.2449}{}}
\newlabel{language/coq-library:grammar-token-specif}{{4.1.1}{525}{Datatypes}{section*.2450}{}}
\@writefile{toc}{\contentsline {subparagraph}{Programming}{525}{subparagraph*.2451}\protected@file@percent }
\newlabel{language/coq-library:programming}{{4.1.1}{525}{Programming}{subparagraph*.2451}{}}
\newlabel{language/coq-library:index-7}{{4.1.1}{525}{Programming}{section*.2452}{}}
\newlabel{language/coq-library:index-8}{{4.1.1}{525}{Programming}{section*.2453}{}}
\@writefile{toc}{\contentsline {paragraph}{Specification}{526}{paragraph*.2454}\protected@file@percent }
\newlabel{language/coq-library:specification}{{4.1.1}{526}{Specification}{paragraph*.2454}{}}
\newlabel{language/coq-library:id2}{{4.1.1}{526}{Specification}{paragraph*.2454}{}}
\newlabel{language/coq-library:index-9}{{4.1.1}{526}{Specification}{section*.2455}{}}
\newlabel{language/coq-library:index-10}{{4.1.1}{526}{Specification}{section*.2456}{}}
\newlabel{language/coq-library:index-11}{{4.1.1}{526}{Specification}{section*.2457}{}}
\newlabel{language/coq-library:index-12}{{4.1.1}{526}{Specification}{section*.2458}{}}
\newlabel{language/coq-library:index-13}{{4.1.1}{526}{Specification}{section*.2459}{}}
\newlabel{language/coq-library:index-14}{{4.1.1}{527}{Specification}{section*.2460}{}}
\newlabel{language/coq-library:index-15}{{4.1.1}{527}{Specification}{section*.2461}{}}
\@writefile{toc}{\contentsline {paragraph}{Basic Arithmetic}{527}{paragraph*.2462}\protected@file@percent }
\newlabel{language/coq-library:basic-arithmetic}{{4.1.1}{527}{Basic Arithmetic}{paragraph*.2462}{}}
\newlabel{language/coq-library:index-18}{{4.1.1}{528}{Basic Arithmetic}{section*.2463}{}}
\@writefile{toc}{\contentsline {paragraph}{Well\sphinxhyphen {}founded recursion}{528}{paragraph*.2464}\protected@file@percent }
\newlabel{language/coq-library:well-founded-recursion}{{4.1.1}{528}{Well\sphinxhyphen {}founded recursion}{paragraph*.2464}{}}
\newlabel{language/coq-library:index-19}{{4.1.1}{528}{Well\sphinxhyphen {}founded recursion}{section*.2465}{}}
\newlabel{language/coq-library:index-20}{{4.1.1}{529}{Well\sphinxhyphen {}founded recursion}{section*.2466}{}}
\@writefile{toc}{\contentsline {paragraph}{Accessing the Type level}{529}{paragraph*.2467}\protected@file@percent }
\newlabel{language/coq-library:accessing-the-type-level}{{4.1.1}{529}{Accessing the Type level}{paragraph*.2467}{}}
\newlabel{language/coq-library:index-21}{{4.1.1}{529}{Accessing the Type level}{section*.2468}{}}
\newlabel{language/coq-library:index-22}{{4.1.1}{529}{Accessing the Type level}{section*.2469}{}}
\@writefile{toc}{\contentsline {paragraph}{Tactics}{529}{paragraph*.2470}\protected@file@percent }
\newlabel{language/coq-library:tactics}{{4.1.1}{529}{Tactics}{paragraph*.2470}{}}
\@writefile{toc}{\contentsline {subsubsection}{The standard library}{530}{subsubsection*.2471}\protected@file@percent }
\newlabel{language/coq-library:the-standard-library}{{4.1.1}{530}{The standard library}{subsubsection*.2471}{}}
\@writefile{toc}{\contentsline {paragraph}{Survey}{530}{paragraph*.2472}\protected@file@percent }
\newlabel{language/coq-library:survey}{{4.1.1}{530}{Survey}{paragraph*.2472}{}}
\@writefile{toc}{\contentsline {paragraph}{Peano’s arithmetic (nat)}{530}{paragraph*.2473}\protected@file@percent }
\newlabel{language/coq-library:peanos-arithmetic-nat}{{4.1.1}{530}{Peano’s arithmetic (nat)}{paragraph*.2473}{}}
\@writefile{toc}{\contentsline {paragraph}{Notations for integer arithmetic}{531}{paragraph*.2474}\protected@file@percent }
\newlabel{language/coq-library:notations-for-integer-arithmetic}{{4.1.1}{531}{Notations for integer arithmetic}{paragraph*.2474}{}}
\@writefile{toc}{\contentsline {paragraph}{Real numbers library}{532}{paragraph*.2475}\protected@file@percent }
\newlabel{language/coq-library:real-numbers-library}{{4.1.1}{532}{Real numbers library}{paragraph*.2475}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations for real numbers}{532}{subparagraph*.2476}\protected@file@percent }
\newlabel{language/coq-library:notations-for-real-numbers}{{4.1.1}{532}{Notations for real numbers}{subparagraph*.2476}{}}
\@writefile{toc}{\contentsline {subparagraph}{Some tactics for real numbers}{533}{subparagraph*.2477}\protected@file@percent }
\newlabel{language/coq-library:some-tactics-for-real-numbers}{{4.1.1}{533}{Some tactics for real numbers}{subparagraph*.2477}{}}
\newlabel{language/coq-library:coq:tacn.discrR}{{4.1.1}{533}{Some tactics for real numbers}{section*.2478}{}}
\newlabel{language/coq-library:coq:tacn.split_Rabs}{{4.1.1}{533}{Some tactics for real numbers}{section*.2479}{}}
\newlabel{language/coq-library:coq:tacn.split_Rmult}{{4.1.1}{533}{Some tactics for real numbers}{section*.2480}{}}
\@writefile{toc}{\contentsline {paragraph}{List library}{534}{paragraph*.2481}\protected@file@percent }
\newlabel{language/coq-library:list-library}{{4.1.1}{534}{List library}{paragraph*.2481}{}}
\@writefile{toc}{\contentsline {paragraph}{Floats library}{535}{paragraph*.2482}\protected@file@percent }
\newlabel{language/coq-library:floats-library}{{4.1.1}{535}{Floats library}{paragraph*.2482}{}}
\newlabel{language/coq-library:id3}{{4.1.1}{535}{Floats library}{paragraph*.2482}{}}
\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}{536}{Floats library}{section*.2483}{}}
\newlabel{language/coq-library:coq:flag.Printing-Float}{{4.1.1}{536}{Floats library}{section*.2484}{}}
\@writefile{toc}{\contentsline {subsubsection}{Users’ contributions}{537}{subsubsection*.2485}\protected@file@percent }
\newlabel{language/coq-library:users-contributions}{{4.1.1}{537}{Users’ contributions}{subsubsection*.2485}{}}
\newlabel{language/coq-library:userscontributions}{{4.1.1}{537}{Users’ contributions}{subsubsection*.2485}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Program extraction}{538}{subsection.4.1.2}\protected@file@percent }
\newlabel{addendum/extraction:program-extraction}{{4.1.2}{538}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction:extraction}{{4.1.2}{538}{Program extraction}{subsection.4.1.2}{}}
\newlabel{addendum/extraction::doc}{{4.1.2}{538}{Program extraction}{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generating ML Code}{538}{subsubsection*.2486}\protected@file@percent }
\newlabel{addendum/extraction:generating-ml-code}{{4.1.2}{538}{Generating ML Code}{subsubsection*.2486}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction}{{4.1.2}{538}{Generating ML Code}{section*.2487}{}}
\newlabel{addendum/extraction:coq:cmd.Recursive-Extraction}{{4.1.2}{538}{Generating ML Code}{section*.2488}{}}
\newlabel{addendum/extraction:id1}{{4.1.2}{538}{Generating ML Code}{section*.2489}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Library}{{4.1.2}{538}{Generating ML Code}{section*.2490}{}}
\newlabel{addendum/extraction:coq:cmd.Recursive-Extraction-Library}{{4.1.2}{538}{Generating ML Code}{section*.2491}{}}
\newlabel{addendum/extraction:coq:cmd.Separate-Extraction}{{4.1.2}{538}{Generating ML Code}{section*.2492}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-TestCompile}{{4.1.2}{538}{Generating ML Code}{section*.2493}{}}
\@writefile{toc}{\contentsline {subsubsection}{Extraction Options}{539}{subsubsection*.2494}\protected@file@percent }
\newlabel{addendum/extraction:extraction-options}{{4.1.2}{539}{Extraction Options}{subsubsection*.2494}{}}
\@writefile{toc}{\contentsline {paragraph}{Setting the target language}{539}{paragraph*.2495}\protected@file@percent }
\newlabel{addendum/extraction:setting-the-target-language}{{4.1.2}{539}{Setting the target language}{paragraph*.2495}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Language}{{4.1.2}{539}{Setting the target language}{section*.2496}{}}
\newlabel{addendum/extraction:grammar-token-language}{{4.1.2}{539}{Setting the target language}{section*.2498}{}}
\@writefile{toc}{\contentsline {paragraph}{Inlining and optimizations}{539}{paragraph*.2499}\protected@file@percent }
\newlabel{addendum/extraction:inlining-and-optimizations}{{4.1.2}{539}{Inlining and optimizations}{paragraph*.2499}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-Optimize}{{4.1.2}{539}{Inlining and optimizations}{section*.2500}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-Conservative-Types}{{4.1.2}{539}{Inlining and optimizations}{section*.2501}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-KeepSingleton}{{4.1.2}{539}{Inlining and optimizations}{section*.2502}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-AutoInline}{{4.1.2}{539}{Inlining and optimizations}{section*.2503}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Inline}{{4.1.2}{540}{Inlining and optimizations}{section*.2504}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-NoInline}{{4.1.2}{540}{Inlining and optimizations}{section*.2505}{}}
\newlabel{addendum/extraction:coq:cmd.Print-Extraction-Inline}{{4.1.2}{540}{Inlining and optimizations}{section*.2506}{}}
\newlabel{addendum/extraction:coq:cmd.Reset-Extraction-Inline}{{4.1.2}{540}{Inlining and optimizations}{section*.2507}{}}
\@writefile{toc}{\contentsline {paragraph}{Extra elimination of useless arguments}{540}{paragraph*.2508}\protected@file@percent }
\newlabel{addendum/extraction:extra-elimination-of-useless-arguments}{{4.1.2}{540}{Extra elimination of useless arguments}{paragraph*.2508}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Implicit}{{4.1.2}{540}{Extra elimination of useless arguments}{section*.2509}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-SafeImplicits}{{4.1.2}{540}{Extra elimination of useless arguments}{section*.2510}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing axioms}{541}{paragraph*.2511}\protected@file@percent }
\newlabel{addendum/extraction:realizing-axioms}{{4.1.2}{541}{Realizing axioms}{paragraph*.2511}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Constant}{{4.1.2}{541}{Realizing axioms}{section*.2512}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Inlined-Constant}{{4.1.2}{541}{Realizing axioms}{section*.2513}{}}
\@writefile{toc}{\contentsline {paragraph}{Realizing inductive types}{542}{paragraph*.2514}\protected@file@percent }
\newlabel{addendum/extraction:realizing-inductive-types}{{4.1.2}{542}{Realizing inductive types}{paragraph*.2514}{}}
\newlabel{addendum/extraction:coq:cmd.Extract-Inductive}{{4.1.2}{542}{Realizing inductive types}{section*.2515}{}}
\@writefile{toc}{\contentsline {paragraph}{Avoiding conflicts with existing filenames}{543}{paragraph*.2516}\protected@file@percent }
\newlabel{addendum/extraction:avoiding-conflicts-with-existing-filenames}{{4.1.2}{543}{Avoiding conflicts with existing filenames}{paragraph*.2516}{}}
\newlabel{addendum/extraction:coq:cmd.Extraction-Blacklist}{{4.1.2}{543}{Avoiding conflicts with existing filenames}{section*.2517}{}}
\newlabel{addendum/extraction:coq:cmd.Print-Extraction-Blacklist}{{4.1.2}{543}{Avoiding conflicts with existing filenames}{section*.2518}{}}
\newlabel{addendum/extraction:coq:cmd.Reset-Extraction-Blacklist}{{4.1.2}{543}{Avoiding conflicts with existing filenames}{section*.2519}{}}
\@writefile{toc}{\contentsline {paragraph}{Additional settings}{543}{paragraph*.2520}\protected@file@percent }
\newlabel{addendum/extraction:additional-settings}{{4.1.2}{543}{Additional settings}{paragraph*.2520}{}}
\newlabel{addendum/extraction:coq:opt.Extraction-File-Comment}{{4.1.2}{543}{Additional settings}{section*.2521}{}}
\newlabel{addendum/extraction:coq:opt.Extraction-Flag}{{4.1.2}{543}{Additional settings}{section*.2522}{}}
\newlabel{addendum/extraction:coq:flag.Extraction-TypeExpand}{{4.1.2}{543}{Additional settings}{section*.2523}{}}
\@writefile{toc}{\contentsline {subsubsection}{Differences between Coq and ML type systems}{544}{subsubsection*.2524}\protected@file@percent }
\newlabel{addendum/extraction:differences-between-coq-and-ml-type-systems}{{4.1.2}{544}{Differences between Coq and ML type systems}{subsubsection*.2524}{}}
\@writefile{toc}{\contentsline {subsubsection}{Some examples}{544}{subsubsection*.2525}\protected@file@percent }
\newlabel{addendum/extraction:some-examples}{{4.1.2}{544}{Some examples}{subsubsection*.2525}{}}
\@writefile{toc}{\contentsline {paragraph}{A detailed example: Euclidean division}{545}{paragraph*.2526}\protected@file@percent }
\newlabel{addendum/extraction:a-detailed-example-euclidean-division}{{4.1.2}{545}{A detailed example: Euclidean division}{paragraph*.2526}{}}
\@writefile{toc}{\contentsline {paragraph}{Extraction's horror museum}{546}{paragraph*.2527}\protected@file@percent }
\newlabel{addendum/extraction:extraction-s-horror-museum}{{4.1.2}{546}{Extraction's horror museum}{paragraph*.2527}{}}
\@writefile{toc}{\contentsline {paragraph}{Users' Contributions}{546}{paragraph*.2528}\protected@file@percent }
\newlabel{addendum/extraction:users-contributions}{{4.1.2}{546}{Users' Contributions}{paragraph*.2528}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Program derivation}{547}{subsection.4.1.3}\protected@file@percent }
\newlabel{addendum/miscellaneous-extensions:program-derivation}{{4.1.3}{547}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions::doc}{{4.1.3}{547}{Program derivation}{subsection.4.1.3}{}}
\newlabel{addendum/miscellaneous-extensions:coq:cmd.Derive}{{4.1.3}{547}{Program derivation}{section*.2529}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Functional induction}{549}{subsection.4.1.4}\protected@file@percent }
\newlabel{using/libraries/funind:functional-induction}{{4.1.4}{549}{Functional induction}{subsection.4.1.4}{}}
\newlabel{using/libraries/funind::doc}{{4.1.4}{549}{Functional induction}{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{Advanced recursive functions}{549}{subsubsection*.2530}\protected@file@percent }
\newlabel{using/libraries/funind:advanced-recursive-functions}{{4.1.4}{549}{Advanced recursive functions}{subsubsection*.2530}{}}
\newlabel{using/libraries/funind:id1}{{4.1.4}{549}{Advanced recursive functions}{subsubsection*.2530}{}}
\newlabel{using/libraries/funind:coq:cmd.Function}{{4.1.4}{549}{Advanced recursive functions}{section*.2531}{}}
\newlabel{using/libraries/funind:coq:exn.The-recursive-argument-must-be-specified}{{4.1.4}{551}{Advanced recursive functions}{section*.2532}{}}
\newlabel{using/libraries/funind:coq:exn.No-argument-name-_u2018ident_u2019}{{4.1.4}{551}{Advanced recursive functions}{section*.2533}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure}{{4.1.4}{551}{Advanced recursive functions}{section*.2534}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-define-graph-for-_u2018ident_u2019}{{4.1.4}{551}{Advanced recursive functions}{section*.2535}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-define-principle(s)-for-_u2018ident_u2019}{{4.1.4}{551}{Advanced recursive functions}{section*.2536}{}}
\newlabel{using/libraries/funind:coq:warn.Cannot-build-functional-inversion-principle}{{4.1.4}{551}{Advanced recursive functions}{section*.2537}{}}
\@writefile{toc}{\contentsline {subsubsection}{Tactics}{551}{subsubsection*.2538}\protected@file@percent }
\newlabel{using/libraries/funind:tactics}{{4.1.4}{551}{Tactics}{subsubsection*.2538}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-induction}{{4.1.4}{551}{Tactics}{section*.2539}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-find-induction-information-on-_u2018qualid_u2019}{{4.1.4}{552}{Tactics}{section*.2540}{}}
\newlabel{using/libraries/funind:coq:exn.Not-the-right-number-of-induction-arguments}{{4.1.4}{552}{Tactics}{section*.2541}{}}
\newlabel{using/libraries/funind:coq:tacn.functional-inversion}{{4.1.4}{552}{Tactics}{section*.2542}{}}
\newlabel{using/libraries/funind:coq:exn.Hypothesis-_u2018ident_u2019-must-contain-at-least-one-Function}{{4.1.4}{552}{Tactics}{section*.2543}{}}
\newlabel{using/libraries/funind:coq:exn.Cannot-find-inversion-information-for-hypothesis-_u2018ident_u2019}{{4.1.4}{552}{Tactics}{section*.2544}{}}
\@writefile{toc}{\contentsline {subsubsection}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{553}{subsubsection*.2545}\protected@file@percent }
\newlabel{using/libraries/funind:generation-of-induction-principles-with-functional-scheme}{{4.1.4}{553}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2545}{}}
\newlabel{using/libraries/funind:functional-scheme}{{4.1.4}{553}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{subsubsection*.2545}{}}
\newlabel{using/libraries/funind:coq:cmd.Functional-Scheme}{{4.1.4}{553}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.2546}{}}
\newlabel{using/libraries/funind:grammar-token-func_scheme_def}{{4.1.4}{553}{Generation of induction principles with \sphinxstyleliteralintitle {\sphinxupquote {Functional}} \sphinxstyleliteralintitle {\sphinxupquote {Scheme}}}{section*.2548}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}Writing Coq libraries and plugins}{557}{subsection.4.1.5}\protected@file@percent }
\newlabel{using/libraries/writing:writing-coq-libraries-and-plugins}{{4.1.5}{557}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\newlabel{using/libraries/writing::doc}{{4.1.5}{557}{Writing Coq libraries and plugins}{subsection.4.1.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Deprecating library objects or tactics}{557}{subsubsection*.2549}\protected@file@percent }
\newlabel{using/libraries/writing:deprecating-library-objects-or-tactics}{{4.1.5}{557}{Deprecating library objects or tactics}{subsubsection*.2549}{}}
\newlabel{using/libraries/writing:coq:attr.deprecated}{{4.1.5}{557}{Deprecating library objects or tactics}{section*.2550}{}}
\newlabel{using/libraries/writing:coq:warn.Tactic-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{557}{Deprecating library objects or tactics}{section*.2551}{}}
\newlabel{using/libraries/writing:coq:warn.Tactic-Notation-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{557}{Deprecating library objects or tactics}{section*.2552}{}}
\newlabel{using/libraries/writing:coq:warn.Notation-_u2018string_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{557}{Deprecating library objects or tactics}{section*.2553}{}}
\newlabel{using/libraries/writing:coq:warn.Ltac2-definition-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{557}{Deprecating library objects or tactics}{section*.2554}{}}
\newlabel{using/libraries/writing:coq:warn.Ltac2-alias-_u2018qualid_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{558}{Deprecating library objects or tactics}{section*.2555}{}}
\newlabel{using/libraries/writing:coq:warn.Ltac2-notation-_u2018ltac2_scope_u2019_u2026_u2018ltac2_scope_u2019-is-deprecated-since-_u2018string_u2019.-_u2018string_u2019}{{4.1.5}{558}{Deprecating library objects or tactics}{section*.2556}{}}
\newlabel{using/libraries/writing:compatibility-alias}{{4.1.5}{558}{Deprecating library objects or tactics}{section*.2557}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Command\sphinxhyphen {}line and graphical tools}{559}{section.4.2}\protected@file@percent }
\newlabel{using/tools/index:command-line-and-graphical-tools}{{4.2}{559}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index:tools}{{4.2}{559}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\newlabel{using/tools/index::doc}{{4.2}{559}{Command\sphinxhyphen {}line and graphical tools}{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}The Coq commands}{559}{subsection.4.2.1}\protected@file@percent }
\newlabel{practical-tools/coq-commands:the-coq-commands}{{4.2.1}{559}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands:thecoqcommands}{{4.2.1}{559}{The Coq commands}{subsection.4.2.1}{}}
\newlabel{practical-tools/coq-commands::doc}{{4.2.1}{559}{The Coq commands}{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive use (coqtop)}{559}{subsubsection*.2558}\protected@file@percent }
\newlabel{practical-tools/coq-commands:interactive-use-coqtop}{{4.2.1}{559}{Interactive use (coqtop)}{subsubsection*.2558}{}}
\newlabel{practical-tools/coq-commands:interactive-use}{{4.2.1}{559}{Interactive use (coqtop)}{subsubsection*.2558}{}}
\newlabel{practical-tools/coq-commands:coq:flag.Coqtop-Exit-On-Error}{{4.2.1}{559}{Interactive use (coqtop)}{section*.2559}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch compilation (coqc)}{559}{subsubsection*.2560}\protected@file@percent }
\newlabel{practical-tools/coq-commands:batch-compilation-coqc}{{4.2.1}{559}{Batch compilation (coqc)}{subsubsection*.2560}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customization at launch time}{560}{subsubsection*.2561}\protected@file@percent }
\newlabel{practical-tools/coq-commands:customization-at-launch-time}{{4.2.1}{560}{Customization at launch time}{subsubsection*.2561}{}}
\@writefile{toc}{\contentsline {paragraph}{By resource file}{560}{paragraph*.2562}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-resource-file}{{4.2.1}{560}{By resource file}{paragraph*.2562}{}}
\@writefile{toc}{\contentsline {paragraph}{By environment variables}{560}{paragraph*.2563}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-environment-variables}{{4.2.1}{560}{By environment variables}{paragraph*.2563}{}}
\newlabel{practical-tools/coq-commands:customization-by-environment-variables}{{4.2.1}{560}{By environment variables}{paragraph*.2563}{}}
\newlabel{practical-tools/coq-commands:coq-colors}{{4.2.1}{560}{By environment variables}{section*.2564}{}}
\newlabel{practical-tools/coq-commands:ocamlrunparam}{{4.2.1}{560}{By environment variables}{section*.2565}{}}
\@writefile{toc}{\contentsline {paragraph}{By command line options}{561}{paragraph*.2566}\protected@file@percent }
\newlabel{practical-tools/coq-commands:by-command-line-options}{{4.2.1}{561}{By command line options}{paragraph*.2566}{}}
\newlabel{practical-tools/coq-commands:command-line-options}{{4.2.1}{561}{By command line options}{paragraph*.2566}{}}
\newlabel{practical-tools/coq-commands:interleave-command-line}{{4.2.1}{561}{By command line options}{section*.2567}{}}
\newlabel{practical-tools/coq-commands:native-compiler-options}{{4.2.1}{562}{By command line options}{section*.2568}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{564}{subsubsection*.2569}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-interfaces-produced-using-vos}{{4.2.1}{564}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2569}{}}
\newlabel{practical-tools/coq-commands:compiled-interfaces}{{4.2.1}{564}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{subsubsection*.2569}{}}
\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}{565}{Compiled interfaces (produced using \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}vos}})}{section*.2570}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compiled libraries checker (coqchk)}{566}{subsubsection*.2571}\protected@file@percent }
\newlabel{practical-tools/coq-commands:compiled-libraries-checker-coqchk}{{4.2.1}{566}{Compiled libraries checker (coqchk)}{subsubsection*.2571}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Utilities}{566}{subsection.4.2.2}\protected@file@percent }
\newlabel{practical-tools/utilities:utilities}{{4.2.2}{566}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities:id1}{{4.2.2}{566}{Utilities}{subsection.4.2.2}{}}
\newlabel{practical-tools/utilities::doc}{{4.2.2}{566}{Utilities}{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Coq as a library}{567}{subsubsection*.2572}\protected@file@percent }
\newlabel{practical-tools/utilities:using-coq-as-a-library}{{4.2.2}{567}{Using Coq as a library}{subsubsection*.2572}{}}
\@writefile{toc}{\contentsline {subsubsection}{Building a Coq project}{567}{subsubsection*.2573}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project}{{4.2.2}{567}{Building a Coq project}{subsubsection*.2573}{}}
\newlabel{practical-tools/utilities:building-coq-project}{{4.2.2}{567}{Building a Coq project}{subsubsection*.2573}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with coq\_makefile}{567}{paragraph*.2574}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-coq-makefile}{{4.2.2}{567}{Building a Coq project with coq\_makefile}{paragraph*.2574}{}}
\newlabel{practical-tools/utilities:coq-makefile}{{4.2.2}{567}{Building a Coq project with coq\_makefile}{paragraph*.2574}{}}
\@writefile{toc}{\contentsline {subparagraph}{Comments}{569}{subparagraph*.2575}\protected@file@percent }
\newlabel{practical-tools/utilities:comments}{{4.2.2}{569}{Comments}{subparagraph*.2575}{}}
\@writefile{toc}{\contentsline {subparagraph}{Quoting arguments to coqc}{569}{subparagraph*.2576}\protected@file@percent }
\newlabel{practical-tools/utilities:quoting-arguments-to-coqc}{{4.2.2}{569}{Quoting arguments to coqc}{subparagraph*.2576}{}}
\@writefile{toc}{\contentsline {subparagraph}{Forbidden filenames}{570}{subparagraph*.2577}\protected@file@percent }
\newlabel{practical-tools/utilities:forbidden-filenames}{{4.2.2}{570}{Forbidden filenames}{subparagraph*.2577}{}}
\@writefile{toc}{\contentsline {subparagraph}{Warning: No common logical root}{570}{subparagraph*.2578}\protected@file@percent }
\newlabel{practical-tools/utilities:warning-no-common-logical-root}{{4.2.2}{570}{Warning: No common logical root}{subparagraph*.2578}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqMakefile.local}{570}{subparagraph*.2579}\protected@file@percent }
\newlabel{practical-tools/utilities:coqmakefile-local}{{4.2.2}{570}{CoqMakefile.local}{subparagraph*.2579}{}}
\newlabel{practical-tools/utilities:coqmakefilelocal}{{4.2.2}{570}{CoqMakefile.local}{subparagraph*.2579}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqMakefile.local\sphinxhyphen {}late}{571}{subparagraph*.2580}\protected@file@percent }
\newlabel{practical-tools/utilities:coqmakefile-local-late}{{4.2.2}{571}{CoqMakefile.local\sphinxhyphen {}late}{subparagraph*.2580}{}}
\newlabel{practical-tools/utilities:coqmakefilelocallate}{{4.2.2}{571}{CoqMakefile.local\sphinxhyphen {}late}{subparagraph*.2580}{}}
\@writefile{toc}{\contentsline {subparagraph}{Timing targets and performance testing}{572}{subparagraph*.2581}\protected@file@percent }
\newlabel{practical-tools/utilities:timing-targets-and-performance-testing}{{4.2.2}{572}{Timing targets and performance testing}{subparagraph*.2581}{}}
\@writefile{toc}{\contentsline {subparagraph}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{575}{subparagraph*.2582}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-subset-of-the-targets-with-j}{{4.2.2}{575}{Building a subset of the targets with \sphinxstyleliteralintitle {\sphinxupquote {\sphinxhyphen {}j}}}{subparagraph*.2582}{}}
\@writefile{toc}{\contentsline {subparagraph}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{576}{subparagraph*.2583}\protected@file@percent }
\newlabel{practical-tools/utilities:precompiling-for-native-compute}{{4.2.2}{576}{Precompiling for \sphinxstyleliteralintitle {\sphinxupquote {native\_compute}}}{subparagraph*.2583}{}}
\@writefile{toc}{\contentsline {subparagraph}{The grammar of \_CoqProject}{576}{subparagraph*.2584}\protected@file@percent }
\newlabel{practical-tools/utilities:the-grammar-of-coqproject}{{4.2.2}{576}{The grammar of \_CoqProject}{subparagraph*.2584}{}}
\newlabel{practical-tools/utilities:grammar-token-CoqProject}{{4.2.2}{576}{The grammar of \_CoqProject}{section*.2590}{}}
\newlabel{practical-tools/utilities:grammar-token-blank}{{4.2.2}{576}{The grammar of \_CoqProject}{section*.2591}{}}
\newlabel{practical-tools/utilities:grammar-token-comment}{{4.2.2}{576}{The grammar of \_CoqProject}{section*.2592}{}}
\newlabel{practical-tools/utilities:grammar-token-quoted_string}{{4.2.2}{576}{The grammar of \_CoqProject}{section*.2593}{}}
\newlabel{practical-tools/utilities:grammar-token-unquoted_string}{{4.2.2}{576}{The grammar of \_CoqProject}{section*.2594}{}}
\@writefile{toc}{\contentsline {paragraph}{Building a Coq project with Dune}{577}{paragraph*.2595}\protected@file@percent }
\newlabel{practical-tools/utilities:building-a-coq-project-with-dune}{{4.2.2}{577}{Building a Coq project with Dune}{paragraph*.2595}{}}
\@writefile{toc}{\contentsline {subsubsection}{Computing Module dependencies}{578}{subsubsection*.2596}\protected@file@percent }
\newlabel{practical-tools/utilities:computing-module-dependencies}{{4.2.2}{578}{Computing Module dependencies}{subsubsection*.2596}{}}
\newlabel{practical-tools/utilities:coqdep}{{4.2.2}{578}{Computing Module dependencies}{subsubsection*.2596}{}}
\@writefile{toc}{\contentsline {subsubsection}{Split compilation of native computation files}{578}{subsubsection*.2597}\protected@file@percent }
\newlabel{practical-tools/utilities:split-compilation-of-native-computation-files}{{4.2.2}{578}{Split compilation of native computation files}{subsubsection*.2597}{}}
\newlabel{practical-tools/utilities:coqnative}{{4.2.2}{578}{Split compilation of native computation files}{subsubsection*.2597}{}}
\@writefile{toc}{\contentsline {subsubsection}{Embedded Coq phrases inside LaTeX documents}{579}{subsubsection*.2598}\protected@file@percent }
\newlabel{practical-tools/utilities:embedded-coq-phrases-inside-latex-documents}{{4.2.2}{579}{Embedded Coq phrases inside LaTeX documents}{subsubsection*.2598}{}}
\@writefile{toc}{\contentsline {subsubsection}{Man pages}{579}{subsubsection*.2599}\protected@file@percent }
\newlabel{practical-tools/utilities:man-pages}{{4.2.2}{579}{Man pages}{subsubsection*.2599}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Documenting Coq files with coqdoc}{579}{subsection.4.2.3}\protected@file@percent }
\newlabel{using/tools/coqdoc:documenting-coq-files-with-coqdoc}{{4.2.3}{579}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:coqdoc}{{4.2.3}{579}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc:index-0}{{4.2.3}{579}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\newlabel{using/tools/coqdoc::doc}{{4.2.3}{579}{Documenting Coq files with coqdoc}{subsection.4.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Principles}{579}{subsubsection*.2600}\protected@file@percent }
\newlabel{using/tools/coqdoc:principles}{{4.2.3}{579}{Principles}{subsubsection*.2600}{}}
\@writefile{toc}{\contentsline {paragraph}{Coq material inside documentation.}{579}{paragraph*.2601}\protected@file@percent }
\newlabel{using/tools/coqdoc:coq-material-inside-documentation}{{4.2.3}{579}{Coq material inside documentation}{paragraph*.2601}{}}
\@writefile{toc}{\contentsline {paragraph}{Pretty\sphinxhyphen {}printing.}{580}{paragraph*.2602}\protected@file@percent }
\newlabel{using/tools/coqdoc:pretty-printing}{{4.2.3}{580}{Pretty\sphinxhyphen {}printing}{paragraph*.2602}{}}
\@writefile{toc}{\contentsline {paragraph}{Sections}{580}{paragraph*.2603}\protected@file@percent }
\newlabel{using/tools/coqdoc:sections}{{4.2.3}{580}{Sections}{paragraph*.2603}{}}
\@writefile{toc}{\contentsline {paragraph}{Lists.}{581}{paragraph*.2604}\protected@file@percent }
\newlabel{using/tools/coqdoc:lists}{{4.2.3}{581}{Lists}{paragraph*.2604}{}}
\@writefile{toc}{\contentsline {paragraph}{Rules.}{581}{paragraph*.2605}\protected@file@percent }
\newlabel{using/tools/coqdoc:rules}{{4.2.3}{581}{Rules}{paragraph*.2605}{}}
\@writefile{toc}{\contentsline {paragraph}{Emphasis.}{581}{paragraph*.2606}\protected@file@percent }
\newlabel{using/tools/coqdoc:emphasis}{{4.2.3}{581}{Emphasis}{paragraph*.2606}{}}
\@writefile{toc}{\contentsline {paragraph}{Escaping to LaTeX and HTML.}{581}{paragraph*.2607}\protected@file@percent }
\newlabel{using/tools/coqdoc:escaping-to-latex-and-html}{{4.2.3}{581}{Escaping to LaTeX and HTML}{paragraph*.2607}{}}
\@writefile{toc}{\contentsline {paragraph}{Verbatim}{582}{paragraph*.2608}\protected@file@percent }
\newlabel{using/tools/coqdoc:verbatim}{{4.2.3}{582}{Verbatim}{paragraph*.2608}{}}
\@writefile{toc}{\contentsline {paragraph}{Hyperlinks}{582}{paragraph*.2609}\protected@file@percent }
\newlabel{using/tools/coqdoc:hyperlinks}{{4.2.3}{582}{Hyperlinks}{paragraph*.2609}{}}
\@writefile{toc}{\contentsline {paragraph}{Hiding / Showing parts of the source}{582}{paragraph*.2610}\protected@file@percent }
\newlabel{using/tools/coqdoc:hiding-showing-parts-of-the-source}{{4.2.3}{582}{Hiding / Showing parts of the source}{paragraph*.2610}{}}
\newlabel{using/tools/coqdoc:coqdoc-hide-show}{{4.2.3}{582}{Hiding / Showing parts of the source}{paragraph*.2610}{}}
\@writefile{toc}{\contentsline {subsubsection}{Usage}{583}{subsubsection*.2611}\protected@file@percent }
\newlabel{using/tools/coqdoc:usage}{{4.2.3}{583}{Usage}{subsubsection*.2611}{}}
\@writefile{toc}{\contentsline {paragraph}{Command line options}{583}{paragraph*.2612}\protected@file@percent }
\newlabel{using/tools/coqdoc:command-line-options}{{4.2.3}{583}{Command line options}{paragraph*.2612}{}}
\@writefile{toc}{\contentsline {subsubsection}{The coqdoc LaTeX style file}{586}{subsubsection*.2613}\protected@file@percent }
\newlabel{using/tools/coqdoc:the-coqdoc-latex-style-file}{{4.2.3}{586}{The coqdoc LaTeX style file}{subsubsection*.2613}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Coq Integrated Development Environment}{586}{subsection.4.2.4}\protected@file@percent }
\newlabel{practical-tools/coqide:coq-integrated-development-environment}{{4.2.4}{586}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqintegrateddevelopmentenvironment}{{4.2.4}{586}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide::doc}{{4.2.4}{586}{Coq Integrated Development Environment}{subsection.4.2.4}{}}
\newlabel{practical-tools/coqide:coqide-mainscreen}{{4.2.4}{586}{Coq Integrated Development Environment}{section*.2614}{}}
\@writefile{toc}{\contentsline {subsubsection}{Managing files and buffers, basic editing}{587}{subsubsection*.2615}\protected@file@percent }
\newlabel{practical-tools/coqide:managing-files-and-buffers-basic-editing}{{4.2.4}{587}{Managing files and buffers, basic editing}{subsubsection*.2615}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive navigation into Coq scripts}{588}{subsubsection*.2616}\protected@file@percent }
\newlabel{practical-tools/coqide:interactive-navigation-into-coq-scripts}{{4.2.4}{588}{Interactive navigation into Coq scripts}{subsubsection*.2616}{}}
\@writefile{toc}{\contentsline {subsubsection}{Commands and templates}{589}{subsubsection*.2617}\protected@file@percent }
\newlabel{practical-tools/coqide:commands-and-templates}{{4.2.4}{589}{Commands and templates}{subsubsection*.2617}{}}
\@writefile{toc}{\contentsline {subsubsection}{Queries}{589}{subsubsection*.2618}\protected@file@percent }
\newlabel{practical-tools/coqide:queries}{{4.2.4}{589}{Queries}{subsubsection*.2618}{}}
\@writefile{toc}{\contentsline {subsubsection}{Compilation}{590}{subsubsection*.2619}\protected@file@percent }
\newlabel{practical-tools/coqide:compilation}{{4.2.4}{590}{Compilation}{subsubsection*.2619}{}}
\@writefile{toc}{\contentsline {subsubsection}{Customizations}{590}{subsubsection*.2620}\protected@file@percent }
\newlabel{practical-tools/coqide:customizations}{{4.2.4}{590}{Customizations}{subsubsection*.2620}{}}
\@writefile{toc}{\contentsline {subsubsection}{Using Unicode symbols}{591}{subsubsection*.2621}\protected@file@percent }
\newlabel{practical-tools/coqide:using-unicode-symbols}{{4.2.4}{591}{Using Unicode symbols}{subsubsection*.2621}{}}
\@writefile{toc}{\contentsline {paragraph}{Displaying Unicode symbols}{591}{paragraph*.2622}\protected@file@percent }
\newlabel{practical-tools/coqide:displaying-unicode-symbols}{{4.2.4}{591}{Displaying Unicode symbols}{paragraph*.2622}{}}
\@writefile{toc}{\contentsline {paragraph}{Bindings for input of Unicode symbols}{591}{paragraph*.2623}\protected@file@percent }
\newlabel{practical-tools/coqide:bindings-for-input-of-unicode-symbols}{{4.2.4}{591}{Bindings for input of Unicode symbols}{paragraph*.2623}{}}
\newlabel{practical-tools/coqide:coqide-unicode}{{4.2.4}{591}{Bindings for input of Unicode symbols}{paragraph*.2623}{}}
\@writefile{toc}{\contentsline {paragraph}{Adding custom bindings}{591}{paragraph*.2624}\protected@file@percent }
\newlabel{practical-tools/coqide:adding-custom-bindings}{{4.2.4}{591}{Adding custom bindings}{paragraph*.2624}{}}
\@writefile{toc}{\contentsline {paragraph}{Character encoding for saved files}{592}{paragraph*.2625}\protected@file@percent }
\newlabel{practical-tools/coqide:character-encoding-for-saved-files}{{4.2.4}{592}{Character encoding for saved files}{paragraph*.2625}{}}
\newlabel{practical-tools/coqide:character-encoding-saved-files}{{4.2.4}{592}{Character encoding for saved files}{paragraph*.2625}{}}
\@writefile{toc}{\contentsline {subsubsection}{Debugger}{592}{subsubsection*.2626}\protected@file@percent }
\newlabel{practical-tools/coqide:debugger}{{4.2.4}{592}{Debugger}{subsubsection*.2626}{}}
\newlabel{practical-tools/coqide:coqide-debugger}{{4.2.4}{592}{Debugger}{subsubsection*.2626}{}}
\@writefile{toc}{\contentsline {paragraph}{Breakpoints}{593}{paragraph*.2627}\protected@file@percent }
\newlabel{practical-tools/coqide:breakpoints}{{4.2.4}{593}{Breakpoints}{paragraph*.2627}{}}
\@writefile{toc}{\contentsline {paragraph}{Call Stack and Variables}{594}{paragraph*.2628}\protected@file@percent }
\newlabel{practical-tools/coqide:call-stack-and-variables}{{4.2.4}{594}{Call Stack and Variables}{paragraph*.2628}{}}
\@writefile{toc}{\contentsline {paragraph}{Supported use cases}{595}{paragraph*.2629}\protected@file@percent }
\newlabel{practical-tools/coqide:supported-use-cases}{{4.2.4}{595}{Supported use cases}{paragraph*.2629}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Asynchronous and Parallel Proof Processing}{595}{subsection.4.2.5}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:asynchronous-and-parallel-proof-processing}{{4.2.5}{595}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing:asynchronousandparallelproofprocessing}{{4.2.5}{595}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\newlabel{addendum/parallel-proof-processing::doc}{{4.2.5}{595}{Asynchronous and Parallel Proof Processing}{subsection.4.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof annotations}{596}{subsubsection*.2630}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-annotations}{{4.2.5}{596}{Proof annotations}{subsubsection*.2630}{}}
\@writefile{toc}{\contentsline {paragraph}{Automatic suggestion of proof annotations}{596}{paragraph*.2631}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:automatic-suggestion-of-proof-annotations}{{4.2.5}{596}{Automatic suggestion of proof annotations}{paragraph*.2631}{}}
\@writefile{toc}{\contentsline {subsubsection}{Proof blocks and error resilience}{596}{subsubsection*.2632}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:proof-blocks-and-error-resilience}{{4.2.5}{596}{Proof blocks and error resilience}{subsubsection*.2632}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{596}{paragraph*.2633}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:caveats}{{4.2.5}{596}{Caveats}{paragraph*.2633}{}}
\@writefile{toc}{\contentsline {subsubsection}{Interactive mode}{597}{subsubsection*.2634}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:interactive-mode}{{4.2.5}{597}{Interactive mode}{subsubsection*.2634}{}}
\newlabel{addendum/parallel-proof-processing:id1}{{4.2.5}{597}{Interactive mode}{subsubsection*.2634}{}}
\@writefile{toc}{\contentsline {paragraph}{Caveats}{597}{paragraph*.2635}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:id2}{{4.2.5}{597}{Caveats}{paragraph*.2635}{}}
\@writefile{toc}{\contentsline {subsubsection}{Batch mode}{597}{subsubsection*.2636}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:batch-mode}{{4.2.5}{597}{Batch mode}{subsubsection*.2636}{}}
\@writefile{toc}{\contentsline {subsubsection}{Limiting the number of parallel workers}{598}{subsubsection*.2637}\protected@file@percent }
\newlabel{addendum/parallel-proof-processing:limiting-the-number-of-parallel-workers}{{4.2.5}{598}{Limiting the number of parallel workers}{subsubsection*.2637}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Appendix}{599}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:appendix}{{5}{599}{Appendix}{chapter.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}History and recent changes}{599}{section.5.1}\protected@file@percent }
\newlabel{appendix/history-and-changes/index:history-and-recent-changes}{{5.1}{599}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index:history-and-changes}{{5.1}{599}{History and recent changes}{section.5.1}{}}
\newlabel{appendix/history-and-changes/index::doc}{{5.1}{599}{History and recent changes}{section.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Early history of Coq}{599}{subsection.5.1.1}\protected@file@percent }
\newlabel{history:early-history-of-coq}{{5.1.1}{599}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history:history}{{5.1.1}{599}{Early history of Coq}{subsection.5.1.1}{}}
\newlabel{history::doc}{{5.1.1}{599}{Early history of Coq}{subsection.5.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Historical roots}{599}{subsubsection*.2638}\protected@file@percent }
\newlabel{history:historical-roots}{{5.1.1}{599}{Historical roots}{subsubsection*.2638}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 1 to 5}{600}{subsubsection*.2639}\protected@file@percent }
\newlabel{history:versions-1-to-5}{{5.1.1}{600}{Versions 1 to 5}{subsubsection*.2639}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 1}{602}{paragraph*.2640}\protected@file@percent }
\newlabel{history:version-1}{{5.1.1}{602}{Version 1}{paragraph*.2640}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 2}{602}{paragraph*.2641}\protected@file@percent }
\newlabel{history:version-2}{{5.1.1}{602}{Version 2}{paragraph*.2641}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 3}{603}{paragraph*.2642}\protected@file@percent }
\newlabel{history:version-3}{{5.1.1}{603}{Version 3}{paragraph*.2642}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 4}{603}{paragraph*.2643}\protected@file@percent }
\newlabel{history:version-4}{{5.1.1}{603}{Version 4}{paragraph*.2643}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 5}{605}{paragraph*.2644}\protected@file@percent }
\newlabel{history:version-5}{{5.1.1}{605}{Version 5}{paragraph*.2644}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 6}{605}{subsubsection*.2645}\protected@file@percent }
\newlabel{history:versions-6}{{5.1.1}{605}{Versions 6}{subsubsection*.2645}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.1}{605}{paragraph*.2646}\protected@file@percent }
\newlabel{history:version-6-1}{{5.1.1}{605}{Version 6.1}{paragraph*.2646}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.2}{606}{paragraph*.2647}\protected@file@percent }
\newlabel{history:version-6-2}{{5.1.1}{606}{Version 6.2}{paragraph*.2647}{}}
\@writefile{toc}{\contentsline {paragraph}{Version 6.3}{606}{paragraph*.2648}\protected@file@percent }
\newlabel{history:version-6-3}{{5.1.1}{606}{Version 6.3}{paragraph*.2648}{}}
\@writefile{toc}{\contentsline {subsubsection}{Versions 7}{607}{subsubsection*.2649}\protected@file@percent }
\newlabel{history:versions-7}{{5.1.1}{607}{Versions 7}{subsubsection*.2649}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{607}{paragraph*.2650}\protected@file@percent }
\newlabel{history:summary-of-changes}{{5.1.1}{607}{Summary of changes}{paragraph*.2650}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.0 and 7.1}{608}{paragraph*.2651}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-0-and-7-1}{{5.1.1}{608}{Details of changes in 7.0 and 7.1}{paragraph*.2651}{}}
\@writefile{toc}{\contentsline {subparagraph}{Main novelties}{608}{subparagraph*.2652}\protected@file@percent }
\newlabel{history:main-novelties}{{5.1.1}{608}{Main novelties}{subparagraph*.2652}{}}
\@writefile{toc}{\contentsline {subparagraph}{Details of changes}{609}{subparagraph*.2653}\protected@file@percent }
\newlabel{history:details-of-changes}{{5.1.1}{609}{Details of changes}{subparagraph*.2653}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: new "let\sphinxhyphen {}in" construction}{609}{subparagraph*.2654}\protected@file@percent }
\newlabel{history:language-new-let-in-construction}{{5.1.1}{609}{Language: new "let\sphinxhyphen {}in" construction}{subparagraph*.2654}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: long names}{609}{subparagraph*.2655}\protected@file@percent }
\newlabel{history:language-long-names}{{5.1.1}{609}{Language: long names}{subparagraph*.2655}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: miscellaneous}{609}{subparagraph*.2656}\protected@file@percent }
\newlabel{history:language-miscellaneous}{{5.1.1}{609}{Language: miscellaneous}{subparagraph*.2656}{}}
\@writefile{toc}{\contentsline {subparagraph}{Language: Cases}{609}{subparagraph*.2657}\protected@file@percent }
\newlabel{history:language-cases}{{5.1.1}{609}{Language: Cases}{subparagraph*.2657}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reduction}{610}{subparagraph*.2658}\protected@file@percent }
\newlabel{history:reduction}{{5.1.1}{610}{Reduction}{subparagraph*.2658}{}}
\@writefile{toc}{\contentsline {subparagraph}{New tactics}{610}{subparagraph*.2659}\protected@file@percent }
\newlabel{history:new-tactics}{{5.1.1}{610}{New tactics}{subparagraph*.2659}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing tactics}{610}{subparagraph*.2660}\protected@file@percent }
\newlabel{history:changes-in-existing-tactics}{{5.1.1}{610}{Changes in existing tactics}{subparagraph*.2660}{}}
\@writefile{toc}{\contentsline {subparagraph}{Efficiency}{611}{subparagraph*.2661}\protected@file@percent }
\newlabel{history:efficiency}{{5.1.1}{611}{Efficiency}{subparagraph*.2661}{}}
\@writefile{toc}{\contentsline {subparagraph}{Concrete syntax of constructions}{611}{subparagraph*.2662}\protected@file@percent }
\newlabel{history:concrete-syntax-of-constructions}{{5.1.1}{611}{Concrete syntax of constructions}{subparagraph*.2662}{}}
\@writefile{toc}{\contentsline {subparagraph}{Parsing and grammar extension}{611}{subparagraph*.2663}\protected@file@percent }
\newlabel{history:parsing-and-grammar-extension}{{5.1.1}{611}{Parsing and grammar extension}{subparagraph*.2663}{}}
\@writefile{toc}{\contentsline {subparagraph}{New commands}{612}{subparagraph*.2664}\protected@file@percent }
\newlabel{history:new-commands}{{5.1.1}{612}{New commands}{subparagraph*.2664}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in existing commands}{612}{subparagraph*.2665}\protected@file@percent }
\newlabel{history:changes-in-existing-commands}{{5.1.1}{612}{Changes in existing commands}{subparagraph*.2665}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{612}{subparagraph*.2666}\protected@file@percent }
\newlabel{history:tools}{{5.1.1}{612}{Tools}{subparagraph*.2666}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{613}{subparagraph*.2667}\protected@file@percent }
\newlabel{history:extraction}{{5.1.1}{613}{Extraction}{subparagraph*.2667}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{613}{subparagraph*.2668}\protected@file@percent }
\newlabel{history:standard-library}{{5.1.1}{613}{Standard library}{subparagraph*.2668}{}}
\@writefile{toc}{\contentsline {subparagraph}{New user contributions}{613}{subparagraph*.2669}\protected@file@percent }
\newlabel{history:new-user-contributions}{{5.1.1}{613}{New user contributions}{subparagraph*.2669}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.2}{613}{paragraph*.2670}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-2}{{5.1.1}{613}{Details of changes in 7.2}{paragraph*.2670}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.3}{615}{paragraph*.2671}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-3}{{5.1.1}{615}{Details of changes in 7.3}{paragraph*.2671}{}}
\@writefile{toc}{\contentsline {subparagraph}{Changes in 7.3.1}{616}{subparagraph*.2672}\protected@file@percent }
\newlabel{history:changes-in-7-3-1}{{5.1.1}{616}{Changes in 7.3.1}{subparagraph*.2672}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 7.4}{617}{paragraph*.2673}\protected@file@percent }
\newlabel{history:details-of-changes-in-7-4}{{5.1.1}{617}{Details of changes in 7.4}{paragraph*.2673}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Recent changes}{619}{subsection.5.1.2}\protected@file@percent }
\newlabel{changes:recent-changes}{{5.1.2}{619}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes:changes}{{5.1.2}{619}{Recent changes}{subsection.5.1.2}{}}
\newlabel{changes::doc}{{5.1.2}{619}{Recent changes}{subsection.5.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.15}{619}{subsubsection*.2674}\protected@file@percent }
\newlabel{changes:version-8-15}{{5.1.2}{619}{Version 8.15}{subsubsection*.2674}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{619}{paragraph*.2675}\protected@file@percent }
\newlabel{changes:summary-of-changes}{{5.1.2}{619}{Summary of changes}{paragraph*.2675}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.15.0}{621}{paragraph*.2676}\protected@file@percent }
\newlabel{changes:changes-in-8-15-0}{{5.1.2}{621}{Changes in 8.15.0}{paragraph*.2676}{}}
\newlabel{changes:id1131}{{5.1.2}{621}{Changes in 8.15.0}{section*.2677}{}}
\newlabel{changes:id1132}{{5.1.2}{621}{Changes in 8.15.0}{section*.2678}{}}
\newlabel{changes:id1133}{{5.1.2}{621}{Changes in 8.15.0}{section*.2679}{}}
\newlabel{changes:id1134}{{5.1.2}{621}{Changes in 8.15.0}{section*.2680}{}}
\newlabel{changes:id1135}{{5.1.2}{621}{Changes in 8.15.0}{section*.2681}{}}
\newlabel{changes:id1136}{{5.1.2}{621}{Changes in 8.15.0}{section*.2682}{}}
\newlabel{changes:id1137}{{5.1.2}{621}{Changes in 8.15.0}{section*.2683}{}}
\newlabel{changes:id1138}{{5.1.2}{621}{Changes in 8.15.0}{section*.2684}{}}
\newlabel{changes:id1139}{{5.1.2}{621}{Changes in 8.15.0}{section*.2685}{}}
\newlabel{changes:id1140}{{5.1.2}{621}{Changes in 8.15.0}{section*.2686}{}}
\newlabel{changes:id1141}{{5.1.2}{621}{Changes in 8.15.0}{section*.2687}{}}
\newlabel{changes:id1142}{{5.1.2}{621}{Changes in 8.15.0}{section*.2688}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{621}{subparagraph*.2689}\protected@file@percent }
\newlabel{changes:id1}{{5.1.2}{621}{Kernel}{subparagraph*.2689}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{621}{subparagraph*.2690}\protected@file@percent }
\newlabel{changes:id4}{{5.1.2}{621}{Specification language, type inference}{subparagraph*.2690}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{622}{subparagraph*.2691}\protected@file@percent }
\newlabel{changes:id15}{{5.1.2}{622}{Notations}{subparagraph*.2691}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{623}{subparagraph*.2692}\protected@file@percent }
\newlabel{changes:id32}{{5.1.2}{623}{Tactics}{subparagraph*.2692}{}}
\newlabel{changes:applywith}{{5.1.2}{623}{Tactics}{section*.2693}{}}
\newlabel{changes:auto}{{5.1.2}{623}{Tactics}{section*.2694}{}}
\newlabel{changes:besteffort}{{5.1.2}{624}{Tactics}{section*.2695}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{625}{subparagraph*.2696}\protected@file@percent }
\newlabel{changes:id79}{{5.1.2}{625}{Tactic language}{subparagraph*.2696}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{625}{subparagraph*.2697}\protected@file@percent }
\newlabel{changes:id82}{{5.1.2}{625}{SSReflect}{subparagraph*.2697}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{626}{subparagraph*.2698}\protected@file@percent }
\newlabel{changes:id91}{{5.1.2}{626}{Commands and options}{subparagraph*.2698}{}}
\newlabel{changes:commands}{{5.1.2}{626}{Commands and options}{section*.2699}{}}
\newlabel{changes:import}{{5.1.2}{627}{Commands and options}{section*.2700}{}}
\@writefile{toc}{\contentsline {subparagraph}{Command\sphinxhyphen {}line tools}{627}{subparagraph*.2701}\protected@file@percent }
\newlabel{changes:id123}{{5.1.2}{627}{Command\sphinxhyphen {}line tools}{subparagraph*.2701}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{628}{subparagraph*.2702}\protected@file@percent }
\newlabel{changes:id138}{{5.1.2}{628}{CoqIDE}{subparagraph*.2702}{}}
\newlabel{changes:ltacdebugger}{{5.1.2}{628}{CoqIDE}{section*.2703}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{628}{subparagraph*.2704}\protected@file@percent }
\newlabel{changes:id145}{{5.1.2}{628}{Standard library}{subparagraph*.2704}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{629}{subparagraph*.2705}\protected@file@percent }
\newlabel{changes:id158}{{5.1.2}{629}{Infrastructure and dependencies}{subparagraph*.2705}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{630}{subparagraph*.2706}\protected@file@percent }
\newlabel{changes:extraction}{{5.1.2}{630}{Extraction}{subparagraph*.2706}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.14}{630}{subsubsection*.2707}\protected@file@percent }
\newlabel{changes:version-8-14}{{5.1.2}{630}{Version 8.14}{subsubsection*.2707}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{630}{paragraph*.2708}\protected@file@percent }
\newlabel{changes:id167}{{5.1.2}{630}{Summary of changes}{paragraph*.2708}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.14.0}{632}{paragraph*.2709}\protected@file@percent }
\newlabel{changes:changes-in-8-14-0}{{5.1.2}{632}{Changes in 8.14.0}{paragraph*.2709}{}}
\newlabel{changes:id1143}{{5.1.2}{632}{Changes in 8.14.0}{section*.2710}{}}
\newlabel{changes:id1144}{{5.1.2}{632}{Changes in 8.14.0}{section*.2711}{}}
\newlabel{changes:id1145}{{5.1.2}{632}{Changes in 8.14.0}{section*.2712}{}}
\newlabel{changes:id1146}{{5.1.2}{632}{Changes in 8.14.0}{section*.2713}{}}
\newlabel{changes:id1147}{{5.1.2}{632}{Changes in 8.14.0}{section*.2714}{}}
\newlabel{changes:id1148}{{5.1.2}{632}{Changes in 8.14.0}{section*.2715}{}}
\newlabel{changes:id1149}{{5.1.2}{632}{Changes in 8.14.0}{section*.2716}{}}
\newlabel{changes:id1150}{{5.1.2}{632}{Changes in 8.14.0}{section*.2717}{}}
\newlabel{changes:id1151}{{5.1.2}{632}{Changes in 8.14.0}{section*.2718}{}}
\newlabel{changes:id1152}{{5.1.2}{632}{Changes in 8.14.0}{section*.2719}{}}
\newlabel{changes:id1153}{{5.1.2}{632}{Changes in 8.14.0}{section*.2720}{}}
\newlabel{changes:id1154}{{5.1.2}{632}{Changes in 8.14.0}{section*.2721}{}}
\newlabel{changes:id1155}{{5.1.2}{632}{Changes in 8.14.0}{section*.2722}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{632}{subparagraph*.2723}\protected@file@percent }
\newlabel{changes:id174}{{5.1.2}{632}{Kernel}{subparagraph*.2723}{}}
\newlabel{changes:caserepresentation}{{5.1.2}{632}{Kernel}{section*.2724}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{633}{subparagraph*.2725}\protected@file@percent }
\newlabel{changes:id181}{{5.1.2}{633}{Specification language, type inference}{subparagraph*.2725}{}}
\newlabel{changes:tccanon}{{5.1.2}{633}{Specification language, type inference}{section*.2726}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{633}{subparagraph*.2727}\protected@file@percent }
\newlabel{changes:id192}{{5.1.2}{633}{Notations}{subparagraph*.2727}{}}
\newlabel{changes:id193}{{5.1.2}{633}{Notations}{section*.2728}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{634}{subparagraph*.2729}\protected@file@percent }
\newlabel{changes:id209}{{5.1.2}{634}{Tactics}{subparagraph*.2729}{}}
\newlabel{changes:id210}{{5.1.2}{634}{Tactics}{section*.2730}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{636}{subparagraph*.2731}\protected@file@percent }
\newlabel{changes:id246}{{5.1.2}{636}{Tactic language}{subparagraph*.2731}{}}
\newlabel{changes:ltac2}{{5.1.2}{636}{Tactic language}{section*.2732}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{637}{subparagraph*.2733}\protected@file@percent }
\newlabel{changes:id265}{{5.1.2}{637}{SSReflect}{subparagraph*.2733}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{637}{subparagraph*.2734}\protected@file@percent }
\newlabel{changes:id268}{{5.1.2}{637}{Commands and options}{subparagraph*.2734}{}}
\@writefile{toc}{\contentsline {subparagraph}{Command\sphinxhyphen {}line tools}{638}{subparagraph*.2735}\protected@file@percent }
\newlabel{changes:id291}{{5.1.2}{638}{Command\sphinxhyphen {}line tools}{subparagraph*.2735}{}}
\@writefile{toc}{\contentsline {subparagraph}{Native Compilation}{639}{subparagraph*.2736}\protected@file@percent }
\newlabel{changes:native-compilation}{{5.1.2}{639}{Native Compilation}{subparagraph*.2736}{}}
\newlabel{changes:coqnative}{{5.1.2}{639}{Native Compilation}{section*.2737}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{639}{subparagraph*.2738}\protected@file@percent }
\newlabel{changes:id306}{{5.1.2}{639}{CoqIDE}{subparagraph*.2738}{}}
\newlabel{changes:id307}{{5.1.2}{639}{CoqIDE}{section*.2739}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{639}{subparagraph*.2740}\protected@file@percent }
\newlabel{changes:id310}{{5.1.2}{639}{Standard library}{subparagraph*.2740}{}}
\newlabel{changes:stdlib}{{5.1.2}{639}{Standard library}{section*.2741}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{642}{subparagraph*.2742}\protected@file@percent }
\newlabel{changes:id336}{{5.1.2}{642}{Infrastructure and dependencies}{subparagraph*.2742}{}}
\newlabel{changes:dune}{{5.1.2}{642}{Infrastructure and dependencies}{section*.2743}{}}
\@writefile{toc}{\contentsline {subparagraph}{Miscellaneous}{642}{subparagraph*.2744}\protected@file@percent }
\newlabel{changes:id342}{{5.1.2}{642}{Miscellaneous}{subparagraph*.2744}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.14.1}{643}{paragraph*.2745}\protected@file@percent }
\newlabel{changes:changes-in-8-14-1}{{5.1.2}{643}{Changes in 8.14.1}{paragraph*.2745}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{643}{subparagraph*.2746}\protected@file@percent }
\newlabel{changes:id345}{{5.1.2}{643}{Kernel}{subparagraph*.2746}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{643}{subparagraph*.2747}\protected@file@percent }
\newlabel{changes:id348}{{5.1.2}{643}{Specification language, type inference}{subparagraph*.2747}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{643}{subparagraph*.2748}\protected@file@percent }
\newlabel{changes:id351}{{5.1.2}{643}{Tactics}{subparagraph*.2748}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{643}{subparagraph*.2749}\protected@file@percent }
\newlabel{changes:id356}{{5.1.2}{643}{Commands and options}{subparagraph*.2749}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.13}{643}{subsubsection*.2750}\protected@file@percent }
\newlabel{changes:version-8-13}{{5.1.2}{643}{Version 8.13}{subsubsection*.2750}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{643}{paragraph*.2751}\protected@file@percent }
\newlabel{changes:id361}{{5.1.2}{643}{Summary of changes}{paragraph*.2751}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13+beta1}{645}{paragraph*.2752}\protected@file@percent }
\newlabel{changes:changes-in-8-13-beta1}{{5.1.2}{645}{Changes in 8.13+beta1}{paragraph*.2752}{}}
\newlabel{changes:id1156}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2753}{}}
\newlabel{changes:id1157}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2754}{}}
\newlabel{changes:id1158}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2755}{}}
\newlabel{changes:id1159}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2756}{}}
\newlabel{changes:id1160}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2757}{}}
\newlabel{changes:id1161}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2758}{}}
\newlabel{changes:id1162}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2759}{}}
\newlabel{changes:id1163}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2760}{}}
\newlabel{changes:id1164}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2761}{}}
\newlabel{changes:id1165}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2762}{}}
\newlabel{changes:id1166}{{5.1.2}{645}{Changes in 8.13+beta1}{section*.2763}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{645}{subparagraph*.2764}\protected@file@percent }
\newlabel{changes:id366}{{5.1.2}{645}{Kernel}{subparagraph*.2764}{}}
\newlabel{changes:uip}{{5.1.2}{645}{Kernel}{section*.2765}{}}
\newlabel{changes:primarrays}{{5.1.2}{645}{Kernel}{section*.2766}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{646}{subparagraph*.2767}\protected@file@percent }
\newlabel{changes:id376}{{5.1.2}{646}{Specification language, type inference}{subparagraph*.2767}{}}
\newlabel{changes:booleanattrs}{{5.1.2}{646}{Specification language, type inference}{section*.2768}{}}
\newlabel{changes:variancedecl}{{5.1.2}{646}{Specification language, type inference}{section*.2769}{}}
\newlabel{changes:unusedvar}{{5.1.2}{646}{Specification language, type inference}{section*.2770}{}}
\newlabel{changes:typingflags}{{5.1.2}{646}{Specification language, type inference}{section*.2771}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{647}{subparagraph*.2772}\protected@file@percent }
\newlabel{changes:id405}{{5.1.2}{647}{Notations}{subparagraph*.2772}{}}
\newlabel{changes:id406}{{5.1.2}{647}{Notations}{subparagraph*.2772}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{649}{subparagraph*.2773}\protected@file@percent }
\newlabel{changes:id438}{{5.1.2}{649}{Tactics}{subparagraph*.2773}{}}
\newlabel{changes:id439}{{5.1.2}{649}{Tactics}{subparagraph*.2773}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{650}{subparagraph*.2774}\protected@file@percent }
\newlabel{changes:id459}{{5.1.2}{650}{Tactic language}{subparagraph*.2774}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{650}{subparagraph*.2775}\protected@file@percent }
\newlabel{changes:id465}{{5.1.2}{650}{SSReflect}{subparagraph*.2775}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{650}{subparagraph*.2776}\protected@file@percent }
\newlabel{changes:id469}{{5.1.2}{650}{Commands and options}{subparagraph*.2776}{}}
\newlabel{changes:hintwarning}{{5.1.2}{650}{Commands and options}{section*.2777}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{651}{subparagraph*.2778}\protected@file@percent }
\newlabel{changes:tools}{{5.1.2}{651}{Tools}{subparagraph*.2778}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{651}{subparagraph*.2779}\protected@file@percent }
\newlabel{changes:id487}{{5.1.2}{651}{CoqIDE}{subparagraph*.2779}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{652}{subparagraph*.2780}\protected@file@percent }
\newlabel{changes:id490}{{5.1.2}{652}{Standard library}{subparagraph*.2780}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{653}{subparagraph*.2781}\protected@file@percent }
\newlabel{changes:id505}{{5.1.2}{653}{Infrastructure and dependencies}{subparagraph*.2781}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13.0}{653}{paragraph*.2782}\protected@file@percent }
\newlabel{changes:changes-in-8-13-0}{{5.1.2}{653}{Changes in 8.13.0}{paragraph*.2782}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands and options}{653}{subparagraph*.2783}\protected@file@percent }
\newlabel{changes:id511}{{5.1.2}{653}{Commands and options}{subparagraph*.2783}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13.1}{653}{paragraph*.2784}\protected@file@percent }
\newlabel{changes:changes-in-8-13-1}{{5.1.2}{653}{Changes in 8.13.1}{paragraph*.2784}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{653}{subparagraph*.2785}\protected@file@percent }
\newlabel{changes:id513}{{5.1.2}{653}{Kernel}{subparagraph*.2785}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{653}{subparagraph*.2786}\protected@file@percent }
\newlabel{changes:id515}{{5.1.2}{653}{CoqIDE}{subparagraph*.2786}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.13.2}{653}{paragraph*.2787}\protected@file@percent }
\newlabel{changes:changes-in-8-13-2}{{5.1.2}{653}{Changes in 8.13.2}{paragraph*.2787}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{653}{subparagraph*.2788}\protected@file@percent }
\newlabel{changes:id517}{{5.1.2}{653}{Kernel}{subparagraph*.2788}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{654}{subparagraph*.2789}\protected@file@percent }
\newlabel{changes:id522}{{5.1.2}{654}{Tactic language}{subparagraph*.2789}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.12}{654}{subsubsection*.2790}\protected@file@percent }
\newlabel{changes:version-8-12}{{5.1.2}{654}{Version 8.12}{subsubsection*.2790}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{654}{paragraph*.2791}\protected@file@percent }
\newlabel{changes:id525}{{5.1.2}{654}{Summary of changes}{paragraph*.2791}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12+beta1}{655}{paragraph*.2792}\protected@file@percent }
\newlabel{changes:changes-in-8-12-beta1}{{5.1.2}{655}{Changes in 8.12+beta1}{paragraph*.2792}{}}
\newlabel{changes:id1167}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2793}{}}
\newlabel{changes:id1168}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2794}{}}
\newlabel{changes:id1169}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2795}{}}
\newlabel{changes:id1170}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2796}{}}
\newlabel{changes:id1171}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2797}{}}
\newlabel{changes:id1172}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2798}{}}
\newlabel{changes:id1173}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2799}{}}
\newlabel{changes:id1174}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2800}{}}
\newlabel{changes:id1175}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2801}{}}
\newlabel{changes:id1176}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2802}{}}
\newlabel{changes:id1177}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2803}{}}
\newlabel{changes:id1178}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2804}{}}
\newlabel{changes:id1179}{{5.1.2}{655}{Changes in 8.12+beta1}{section*.2805}{}}
\newlabel{changes:id1180}{{5.1.2}{656}{Changes in 8.12+beta1}{section*.2806}{}}
\newlabel{changes:id1181}{{5.1.2}{656}{Changes in 8.12+beta1}{section*.2807}{}}
\@writefile{toc}{\contentsline {subparagraph}{Kernel}{656}{subparagraph*.2808}\protected@file@percent }
\newlabel{changes:id531}{{5.1.2}{656}{Kernel}{subparagraph*.2808}{}}
\@writefile{toc}{\contentsline {subparagraph}{Specification language, type inference}{656}{subparagraph*.2809}\protected@file@percent }
\newlabel{changes:id534}{{5.1.2}{656}{Specification language, type inference}{subparagraph*.2809}{}}
\newlabel{changes:implicit}{{5.1.2}{656}{Specification language, type inference}{section*.2810}{}}
\newlabel{changes:uniform}{{5.1.2}{656}{Specification language, type inference}{section*.2811}{}}
\newlabel{changes:implicitinductive}{{5.1.2}{656}{Specification language, type inference}{section*.2812}{}}
\@writefile{toc}{\contentsline {subparagraph}{Notations}{657}{subparagraph*.2813}\protected@file@percent }
\newlabel{changes:id555}{{5.1.2}{657}{Notations}{subparagraph*.2813}{}}
\newlabel{changes:id556}{{5.1.2}{657}{Notations}{subparagraph*.2813}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactics}{658}{subparagraph*.2814}\protected@file@percent }
\newlabel{changes:id576}{{5.1.2}{658}{Tactics}{subparagraph*.2814}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tactic language}{660}{subparagraph*.2815}\protected@file@percent }
\newlabel{changes:id617}{{5.1.2}{660}{Tactic language}{subparagraph*.2815}{}}
\@writefile{toc}{\contentsline {subparagraph}{SSReflect}{661}{subparagraph*.2816}\protected@file@percent }
\newlabel{changes:id626}{{5.1.2}{661}{SSReflect}{subparagraph*.2816}{}}
\newlabel{changes:ssrsearch}{{5.1.2}{661}{SSReflect}{section*.2817}{}}
\@writefile{toc}{\contentsline {subparagraph}{Flags, options and attributes}{661}{subparagraph*.2818}\protected@file@percent }
\newlabel{changes:flags-options-and-attributes}{{5.1.2}{661}{Flags, options and attributes}{subparagraph*.2818}{}}
\@writefile{toc}{\contentsline {subparagraph}{Commands}{662}{subparagraph*.2819}\protected@file@percent }
\newlabel{changes:id640}{{5.1.2}{662}{Commands}{subparagraph*.2819}{}}
\newlabel{changes:coercions}{{5.1.2}{662}{Commands}{section*.2820}{}}
\newlabel{changes:search}{{5.1.2}{663}{Commands}{section*.2821}{}}
\@writefile{toc}{\contentsline {subparagraph}{Tools}{663}{subparagraph*.2822}\protected@file@percent }
\newlabel{changes:id658}{{5.1.2}{663}{Tools}{subparagraph*.2822}{}}
\@writefile{toc}{\contentsline {subparagraph}{CoqIDE}{665}{subparagraph*.2823}\protected@file@percent }
\newlabel{changes:id693}{{5.1.2}{665}{CoqIDE}{subparagraph*.2823}{}}
\@writefile{toc}{\contentsline {subparagraph}{Standard library}{665}{subparagraph*.2824}\protected@file@percent }
\newlabel{changes:id696}{{5.1.2}{665}{Standard library}{subparagraph*.2824}{}}
\newlabel{changes:id697}{{5.1.2}{665}{Standard library}{subparagraph*.2824}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reals library}{668}{subparagraph*.2825}\protected@file@percent }
\newlabel{changes:reals-library}{{5.1.2}{668}{Reals library}{subparagraph*.2825}{}}
\@writefile{toc}{\contentsline {subparagraph}{Extraction}{669}{subparagraph*.2826}\protected@file@percent }
\newlabel{changes:id733}{{5.1.2}{669}{Extraction}{subparagraph*.2826}{}}
\@writefile{toc}{\contentsline {subparagraph}{Reference manual}{669}{subparagraph*.2827}\protected@file@percent }
\newlabel{changes:refman}{{5.1.2}{669}{Reference manual}{subparagraph*.2827}{}}
\newlabel{changes:id738}{{5.1.2}{669}{Reference manual}{subparagraph*.2827}{}}
\@writefile{toc}{\contentsline {subparagraph}{Infrastructure and dependencies}{670}{subparagraph*.2828}\protected@file@percent }
\newlabel{changes:id771}{{5.1.2}{670}{Infrastructure and dependencies}{subparagraph*.2828}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.0}{670}{paragraph*.2829}\protected@file@percent }
\newlabel{changes:changes-in-8-12-0}{{5.1.2}{670}{Changes in 8.12.0}{paragraph*.2829}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.1}{671}{paragraph*.2830}\protected@file@percent }
\newlabel{changes:changes-in-8-12-1}{{5.1.2}{671}{Changes in 8.12.1}{paragraph*.2830}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.12.2}{673}{paragraph*.2831}\protected@file@percent }
\newlabel{changes:changes-in-8-12-2}{{5.1.2}{673}{Changes in 8.12.2}{paragraph*.2831}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.11}{673}{subsubsection*.2832}\protected@file@percent }
\newlabel{changes:version-8-11}{{5.1.2}{673}{Version 8.11}{subsubsection*.2832}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{673}{paragraph*.2833}\protected@file@percent }
\newlabel{changes:id831}{{5.1.2}{673}{Summary of changes}{paragraph*.2833}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11+beta1}{675}{paragraph*.2834}\protected@file@percent }
\newlabel{changes:changes-in-8-11-beta1}{{5.1.2}{675}{Changes in 8.11+beta1}{paragraph*.2834}{}}
\newlabel{changes:primitivefloats}{{5.1.2}{675}{Changes in 8.11+beta1}{section*.2835}{}}
\newlabel{changes:sections}{{5.1.2}{675}{Changes in 8.11+beta1}{section*.2836}{}}
\newlabel{changes:bidirarguments}{{5.1.2}{675}{Changes in 8.11+beta1}{section*.2837}{}}
\newlabel{changes:refineinstance}{{5.1.2}{676}{Changes in 8.11+beta1}{section*.2838}{}}
\newlabel{changes:id871}{{5.1.2}{677}{Changes in 8.11+beta1}{section*.2839}{}}
\newlabel{changes:ssrunderover}{{5.1.2}{678}{Changes in 8.11+beta1}{section*.2840}{}}
\newlabel{changes:unsafeflags}{{5.1.2}{678}{Changes in 8.11+beta1}{section*.2841}{}}
\newlabel{changes:exportbug}{{5.1.2}{678}{Changes in 8.11+beta1}{section*.2842}{}}
\newlabel{changes:vos}{{5.1.2}{679}{Changes in 8.11+beta1}{section*.2843}{}}
\newlabel{changes:reals}{{5.1.2}{679}{Changes in 8.11+beta1}{section*.2844}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.0}{680}{paragraph*.2845}\protected@file@percent }
\newlabel{changes:changes-in-8-11-0}{{5.1.2}{680}{Changes in 8.11.0}{paragraph*.2845}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.1}{682}{paragraph*.2846}\protected@file@percent }
\newlabel{changes:changes-in-8-11-1}{{5.1.2}{682}{Changes in 8.11.1}{paragraph*.2846}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.11.2}{683}{paragraph*.2847}\protected@file@percent }
\newlabel{changes:changes-in-8-11-2}{{5.1.2}{683}{Changes in 8.11.2}{paragraph*.2847}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.10}{683}{subsubsection*.2848}\protected@file@percent }
\newlabel{changes:version-8-10}{{5.1.2}{683}{Version 8.10}{subsubsection*.2848}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{683}{paragraph*.2849}\protected@file@percent }
\newlabel{changes:id969}{{5.1.2}{683}{Summary of changes}{paragraph*.2849}{}}
\@writefile{toc}{\contentsline {paragraph}{Other changes in 8.10+beta1}{686}{paragraph*.2850}\protected@file@percent }
\newlabel{changes:other-changes-in-8-10-beta1}{{5.1.2}{686}{Other changes in 8.10+beta1}{paragraph*.2850}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta2}{692}{paragraph*.2851}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta2}{{5.1.2}{692}{Changes in 8.10+beta2}{paragraph*.2851}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10+beta3}{692}{paragraph*.2852}\protected@file@percent }
\newlabel{changes:changes-in-8-10-beta3}{{5.1.2}{692}{Changes in 8.10+beta3}{paragraph*.2852}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.0}{693}{paragraph*.2853}\protected@file@percent }
\newlabel{changes:changes-in-8-10-0}{{5.1.2}{693}{Changes in 8.10.0}{paragraph*.2853}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.1}{693}{paragraph*.2854}\protected@file@percent }
\newlabel{changes:changes-in-8-10-1}{{5.1.2}{693}{Changes in 8.10.1}{paragraph*.2854}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.10.2}{694}{paragraph*.2855}\protected@file@percent }
\newlabel{changes:changes-in-8-10-2}{{5.1.2}{694}{Changes in 8.10.2}{paragraph*.2855}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.9}{695}{subsubsection*.2856}\protected@file@percent }
\newlabel{changes:version-8-9}{{5.1.2}{695}{Version 8.9}{subsubsection*.2856}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{695}{paragraph*.2857}\protected@file@percent }
\newlabel{changes:id1116}{{5.1.2}{695}{Summary of changes}{paragraph*.2857}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.9+beta1}{697}{paragraph*.2858}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-9-beta1}{{5.1.2}{697}{Details of changes in 8.9+beta1}{paragraph*.2858}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.0}{699}{paragraph*.2859}\protected@file@percent }
\newlabel{changes:changes-in-8-8-0}{{5.1.2}{699}{Changes in 8.8.0}{paragraph*.2859}{}}
\@writefile{toc}{\contentsline {paragraph}{Changes in 8.8.1}{700}{paragraph*.2860}\protected@file@percent }
\newlabel{changes:changes-in-8-8-1}{{5.1.2}{700}{Changes in 8.8.1}{paragraph*.2860}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.8}{700}{subsubsection*.2861}\protected@file@percent }
\newlabel{changes:version-8-8}{{5.1.2}{700}{Version 8.8}{subsubsection*.2861}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{700}{paragraph*.2862}\protected@file@percent }
\newlabel{changes:id1118}{{5.1.2}{700}{Summary of changes}{paragraph*.2862}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8+beta1}{701}{paragraph*.2863}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-beta1}{{5.1.2}{701}{Details of changes in 8.8+beta1}{paragraph*.2863}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.0}{704}{paragraph*.2864}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-0}{{5.1.2}{704}{Details of changes in 8.8.0}{paragraph*.2864}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.1}{704}{paragraph*.2865}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-1}{{5.1.2}{704}{Details of changes in 8.8.1}{paragraph*.2865}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.8.2}{705}{paragraph*.2866}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-8-2}{{5.1.2}{705}{Details of changes in 8.8.2}{paragraph*.2866}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.7}{705}{subsubsection*.2867}\protected@file@percent }
\newlabel{changes:version-8-7}{{5.1.2}{705}{Version 8.7}{subsubsection*.2867}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{705}{paragraph*.2868}\protected@file@percent }
\newlabel{changes:id1119}{{5.1.2}{705}{Summary of changes}{paragraph*.2868}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential compatibility issues}{707}{paragraph*.2869}\protected@file@percent }
\newlabel{changes:potential-compatibility-issues}{{5.1.2}{707}{Potential compatibility issues}{paragraph*.2869}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta1}{707}{paragraph*.2870}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta1}{{5.1.2}{707}{Details of changes in 8.7+beta1}{paragraph*.2870}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7+beta2}{709}{paragraph*.2871}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-beta2}{{5.1.2}{709}{Details of changes in 8.7+beta2}{paragraph*.2871}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.0}{710}{paragraph*.2872}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-0}{{5.1.2}{710}{Details of changes in 8.7.0}{paragraph*.2872}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.1}{710}{paragraph*.2873}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-1}{{5.1.2}{710}{Details of changes in 8.7.1}{paragraph*.2873}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.7.2}{710}{paragraph*.2874}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-7-2}{{5.1.2}{710}{Details of changes in 8.7.2}{paragraph*.2874}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.6}{710}{subsubsection*.2875}\protected@file@percent }
\newlabel{changes:version-8-6}{{5.1.2}{710}{Version 8.6}{subsubsection*.2875}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{710}{paragraph*.2876}\protected@file@percent }
\newlabel{changes:id1120}{{5.1.2}{710}{Summary of changes}{paragraph*.2876}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{712}{paragraph*.2877}\protected@file@percent }
\newlabel{changes:potential-sources-of-incompatibilities}{{5.1.2}{712}{Potential sources of incompatibilities}{paragraph*.2877}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6beta1}{712}{paragraph*.2878}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6beta1}{{5.1.2}{712}{Details of changes in 8.6beta1}{paragraph*.2878}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6}{714}{paragraph*.2879}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6}{{5.1.2}{714}{Details of changes in 8.6}{paragraph*.2879}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.6.1}{714}{paragraph*.2880}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-6-1}{{5.1.2}{714}{Details of changes in 8.6.1}{paragraph*.2880}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.5}{716}{subsubsection*.2881}\protected@file@percent }
\newlabel{changes:version-8-5}{{5.1.2}{716}{Version 8.5}{subsubsection*.2881}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{716}{paragraph*.2882}\protected@file@percent }
\newlabel{changes:id1121}{{5.1.2}{716}{Summary of changes}{paragraph*.2882}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{718}{paragraph*.2883}\protected@file@percent }
\newlabel{changes:id1122}{{5.1.2}{718}{Potential sources of incompatibilities}{paragraph*.2883}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta1}{719}{paragraph*.2884}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta1}{{5.1.2}{719}{Details of changes in 8.5beta1}{paragraph*.2884}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta2}{726}{paragraph*.2885}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta2}{{5.1.2}{726}{Details of changes in 8.5beta2}{paragraph*.2885}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5beta3}{726}{paragraph*.2886}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5beta3}{{5.1.2}{726}{Details of changes in 8.5beta3}{paragraph*.2886}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5}{728}{paragraph*.2887}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5}{{5.1.2}{728}{Details of changes in 8.5}{paragraph*.2887}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl1}{728}{paragraph*.2888}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl1}{{5.1.2}{728}{Details of changes in 8.5pl1}{paragraph*.2888}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl2}{730}{paragraph*.2889}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl2}{{5.1.2}{730}{Details of changes in 8.5pl2}{paragraph*.2889}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.5pl3}{731}{paragraph*.2890}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-5pl3}{{5.1.2}{731}{Details of changes in 8.5pl3}{paragraph*.2890}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.4}{732}{subsubsection*.2891}\protected@file@percent }
\newlabel{changes:version-8-4}{{5.1.2}{732}{Version 8.4}{subsubsection*.2891}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{732}{paragraph*.2892}\protected@file@percent }
\newlabel{changes:id1123}{{5.1.2}{732}{Summary of changes}{paragraph*.2892}{}}
\@writefile{toc}{\contentsline {paragraph}{Potential sources of incompatibilities}{734}{paragraph*.2893}\protected@file@percent }
\newlabel{changes:id1125}{{5.1.2}{734}{Potential sources of incompatibilities}{paragraph*.2893}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta}{735}{paragraph*.2894}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta}{{5.1.2}{735}{Details of changes in 8.4beta}{paragraph*.2894}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4beta2}{739}{paragraph*.2895}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4beta2}{{5.1.2}{739}{Details of changes in 8.4beta2}{paragraph*.2895}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.4}{740}{paragraph*.2896}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-4}{{5.1.2}{740}{Details of changes in 8.4}{paragraph*.2896}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.3}{740}{subsubsection*.2897}\protected@file@percent }
\newlabel{changes:version-8-3}{{5.1.2}{740}{Version 8.3}{subsubsection*.2897}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{740}{paragraph*.2898}\protected@file@percent }
\newlabel{changes:id1126}{{5.1.2}{740}{Summary of changes}{paragraph*.2898}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{741}{paragraph*.2899}\protected@file@percent }
\newlabel{changes:details-of-changes}{{5.1.2}{741}{Details of changes}{paragraph*.2899}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.2}{747}{subsubsection*.2900}\protected@file@percent }
\newlabel{changes:version-8-2}{{5.1.2}{747}{Version 8.2}{subsubsection*.2900}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{747}{paragraph*.2901}\protected@file@percent }
\newlabel{changes:id1127}{{5.1.2}{747}{Summary of changes}{paragraph*.2901}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes}{748}{paragraph*.2902}\protected@file@percent }
\newlabel{changes:id1128}{{5.1.2}{748}{Details of changes}{paragraph*.2902}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.1}{756}{subsubsection*.2903}\protected@file@percent }
\newlabel{changes:version-8-1}{{5.1.2}{756}{Version 8.1}{subsubsection*.2903}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{756}{paragraph*.2904}\protected@file@percent }
\newlabel{changes:id1129}{{5.1.2}{756}{Summary of changes}{paragraph*.2904}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1beta}{757}{paragraph*.2905}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1beta}{{5.1.2}{757}{Details of changes in 8.1beta}{paragraph*.2905}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1gamma}{760}{paragraph*.2906}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1gamma}{{5.1.2}{760}{Details of changes in 8.1gamma}{paragraph*.2906}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.1}{761}{paragraph*.2907}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-1}{{5.1.2}{761}{Details of changes in 8.1}{paragraph*.2907}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version 8.0}{762}{subsubsection*.2908}\protected@file@percent }
\newlabel{changes:version-8-0}{{5.1.2}{762}{Version 8.0}{subsubsection*.2908}{}}
\@writefile{toc}{\contentsline {paragraph}{Summary of changes}{762}{paragraph*.2909}\protected@file@percent }
\newlabel{changes:id1130}{{5.1.2}{762}{Summary of changes}{paragraph*.2909}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta old syntax}{763}{paragraph*.2910}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-old-syntax}{{5.1.2}{763}{Details of changes in 8.0beta old syntax}{paragraph*.2910}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0beta new syntax}{766}{paragraph*.2911}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0beta-new-syntax}{{5.1.2}{766}{Details of changes in 8.0beta new syntax}{paragraph*.2911}{}}
\@writefile{toc}{\contentsline {paragraph}{Details of changes in 8.0}{767}{paragraph*.2912}\protected@file@percent }
\newlabel{changes:details-of-changes-in-8-0}{{5.1.2}{767}{Details of changes in 8.0}{paragraph*.2912}{}}
\newlabel{zebibliography:bibliography}{{5.1.2}{768}{Details of changes in 8.0}{section*.2913}{}}
\bibcite{zebibliography:id55}{AC19}
\bibcite{zebibliography:id3}{Bar81}
\bibcite{zebibliography:id53}{BDenesGregoire11}
\bibcite{zebibliography:id4}{Bou97}
\bibcite{zebibliography:id56}{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}{769}{chapter*.2914}\protected@file@percent }
\bibcite{zebibliography:id15}{CFC58}
\bibcite{zebibliography:id54}{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:id52}{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:id47}{ROS98}
\bibcite{zebibliography:id48}{Soz07}
\bibcite{zebibliography:id49}{SO08}
\bibcite{zebibliography:id35}{Vis01}
\bibcite{zebibliography:id34}{VBT98}
\bibcite{zebibliography:id51}{Wer94}
\@writefile{toc}{\contentsline {chapter}{Glossary}{773}{section*.2915}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Command Index}{775}{section*.2916}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Tactic Index}{779}{section*.2917}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Flags, options and Tables Index}{783}{section*.2918}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Gallina Index}{785}{section*.2919}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Errors and Warnings Index}{786}{section*.2920}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Attribute Index}{793}{section*.2921}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{794}{section*.2922}\protected@file@percent }
\gdef \@abspage@last{811}
